Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 50a6b600bf | |||
| 465f31ba87 | |||
| 90c5387613 | |||
| 6bf10a6901 |
+1
-1
@@ -1,4 +1,4 @@
|
||||
m4_define([pkg_version], [0.14])
|
||||
m4_define([pkg_version], [0.15])
|
||||
#m4_define([pkg_revision], [005])
|
||||
m4_define([pkg_version], m4_ifdef([pkg_revision], [pkg_version.pkg_revision], [pkg_version]))
|
||||
|
||||
|
||||
+2
-1
@@ -60,11 +60,12 @@ extern void telnet_rfc2217_ctl(tn_ctx_t * tcc, unsigned int val);
|
||||
|
||||
/*RFC2217 control commands*/
|
||||
#define TNS_CTL_NOFLOW 1
|
||||
#define TNS_CTL_XONOFF 2
|
||||
#define TNS_CTL_XONOFF_OUT 2
|
||||
#define TNS_CTL_CTSRTS 3
|
||||
#define TNS_CTL_DTR_ON 8
|
||||
#define TNS_CTL_DTR_OFF 9
|
||||
#define TNS_CTL_RTS_ON 11
|
||||
#define TNS_CTL_RTS_OFF 12
|
||||
#define TNS_CTL_XONOFF_IN 15
|
||||
|
||||
#endif /*TELNET_H */
|
||||
|
||||
+13
-5
@@ -855,6 +855,14 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
tty->master_suspended = (tty->smcr & TIOCM_CTS) ? 0 : 1;
|
||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_CTSRTS);
|
||||
}
|
||||
else if (tio->c_iflag & (IXON | IXOFF))
|
||||
{
|
||||
tty->master_suspended = 0;
|
||||
if (tio->c_iflag & IXON)
|
||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_OUT);
|
||||
if (tio->c_iflag & IXOFF)
|
||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_IN);
|
||||
}
|
||||
else
|
||||
{
|
||||
tty->master_suspended = 0;
|
||||
@@ -944,7 +952,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
break;
|
||||
case TIOCMBIS:
|
||||
CHECK_BUF_IN(sizeof(int));
|
||||
tiocm = *(unsigned int *)in_buf;
|
||||
tiocm = *(const unsigned int *)in_buf;
|
||||
fuse_reply_ioctl(req, 0, 0, 0);
|
||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||
if (tiocm & TIOCM_RTS)
|
||||
@@ -960,7 +968,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
goto show_mctl;
|
||||
case TIOCMBIC:
|
||||
CHECK_BUF_IN(sizeof(int));
|
||||
tiocm = *(unsigned int *)in_buf;
|
||||
tiocm = *(const unsigned int *)in_buf;
|
||||
fuse_reply_ioctl(req, 0, 0, 0);
|
||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||
if (tiocm & TIOCM_RTS)
|
||||
@@ -976,7 +984,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
goto show_mctl;
|
||||
case TIOCMSET:
|
||||
CHECK_BUF_IN(sizeof(int));
|
||||
tiocm = *(unsigned int *)in_buf;
|
||||
tiocm = *(const unsigned int *)in_buf;
|
||||
fuse_reply_ioctl(req, 0, 0, 0);
|
||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||
tty->cmcr &= ~(TIOCM_RTS | TIOCM_DTR);
|
||||
@@ -1006,7 +1014,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
break;
|
||||
case TIOCSWINSZ:
|
||||
CHECK_BUF_IN(sizeof(struct winsize));
|
||||
ws = *(struct winsize *)in_buf;
|
||||
ws = *(const struct winsize *)in_buf;
|
||||
res = ioctl(tty->fds[FD_SLAVE].fd, TIOCSWINSZ, &ws);
|
||||
if (res < 0)
|
||||
{
|
||||
@@ -1030,7 +1038,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
||||
break;
|
||||
case TIOCSETD:
|
||||
CHECK_BUF_IN(sizeof(int));
|
||||
val = *(int *)in_buf;
|
||||
val = *(const int *)in_buf;
|
||||
res = ioctl(tty->fds[FD_SLAVE].fd, TIOCSETD, &val);
|
||||
if (res < 0)
|
||||
fuse_reply_err(req, errno);
|
||||
|
||||
Reference in New Issue
Block a user