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_revision], [005])
|
||||||
m4_define([pkg_version], m4_ifdef([pkg_revision], [pkg_version.pkg_revision], [pkg_version]))
|
m4_define([pkg_version], m4_ifdef([pkg_revision], [pkg_version.pkg_revision], [pkg_version]))
|
||||||
|
|
||||||
|
|||||||
+12
-18
@@ -855,21 +855,13 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
tty->master_suspended = (tty->smcr & TIOCM_CTS) ? 0 : 1;
|
tty->master_suspended = (tty->smcr & TIOCM_CTS) ? 0 : 1;
|
||||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_CTSRTS);
|
telnet_rfc2217_ctl(tty->tn, TNS_CTL_CTSRTS);
|
||||||
}
|
}
|
||||||
else if ((tio->c_iflag & IXON) && (tio->c_iflag & IXOFF))
|
else if (tio->c_iflag & (IXON | IXOFF))
|
||||||
{
|
{
|
||||||
tty->master_suspended = 0;
|
tty->master_suspended = 0;
|
||||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_OUT);
|
if (tio->c_iflag & IXON)
|
||||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_IN);
|
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_OUT);
|
||||||
}
|
if (tio->c_iflag & IXOFF)
|
||||||
else if (tio->c_iflag & IXON)
|
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_IN);
|
||||||
{
|
|
||||||
tty->master_suspended = 0;
|
|
||||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_OUT);
|
|
||||||
}
|
|
||||||
else if (tio->c_iflag & IXOFF)
|
|
||||||
{
|
|
||||||
tty->master_suspended = 0;
|
|
||||||
telnet_rfc2217_ctl(tty->tn, TNS_CTL_XONOFF_IN);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -934,6 +926,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
case TCIFLUSH:
|
case TCIFLUSH:
|
||||||
byte = 1;
|
byte = 1;
|
||||||
tty->slave_suspended = 0; /* Re-enable polling of Slave */
|
tty->slave_suspended = 0; /* Re-enable polling of Slave */
|
||||||
|
tty->pollin = 0;
|
||||||
break;
|
break;
|
||||||
case TCOFLUSH:
|
case TCOFLUSH:
|
||||||
byte = 2;
|
byte = 2;
|
||||||
@@ -943,6 +936,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
byte = 3;
|
byte = 3;
|
||||||
tty->slave_suspended = 0; /* Re-enable polling of Slave */
|
tty->slave_suspended = 0; /* Re-enable polling of Slave */
|
||||||
tty->pollout = 1;
|
tty->pollout = 1;
|
||||||
|
tty->pollin = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
telnet_rfc2217_cfg(tty->tn, TNS_SET_PURGE, &byte, 1);
|
telnet_rfc2217_cfg(tty->tn, TNS_SET_PURGE, &byte, 1);
|
||||||
@@ -958,7 +952,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
break;
|
break;
|
||||||
case TIOCMBIS:
|
case TIOCMBIS:
|
||||||
CHECK_BUF_IN(sizeof(int));
|
CHECK_BUF_IN(sizeof(int));
|
||||||
tiocm = *(unsigned int *)in_buf;
|
tiocm = *(const unsigned int *)in_buf;
|
||||||
fuse_reply_ioctl(req, 0, 0, 0);
|
fuse_reply_ioctl(req, 0, 0, 0);
|
||||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||||
if (tiocm & TIOCM_RTS)
|
if (tiocm & TIOCM_RTS)
|
||||||
@@ -974,7 +968,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
goto show_mctl;
|
goto show_mctl;
|
||||||
case TIOCMBIC:
|
case TIOCMBIC:
|
||||||
CHECK_BUF_IN(sizeof(int));
|
CHECK_BUF_IN(sizeof(int));
|
||||||
tiocm = *(unsigned int *)in_buf;
|
tiocm = *(const unsigned int *)in_buf;
|
||||||
fuse_reply_ioctl(req, 0, 0, 0);
|
fuse_reply_ioctl(req, 0, 0, 0);
|
||||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||||
if (tiocm & TIOCM_RTS)
|
if (tiocm & TIOCM_RTS)
|
||||||
@@ -990,7 +984,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
goto show_mctl;
|
goto show_mctl;
|
||||||
case TIOCMSET:
|
case TIOCMSET:
|
||||||
CHECK_BUF_IN(sizeof(int));
|
CHECK_BUF_IN(sizeof(int));
|
||||||
tiocm = *(unsigned int *)in_buf;
|
tiocm = *(const unsigned int *)in_buf;
|
||||||
fuse_reply_ioctl(req, 0, 0, 0);
|
fuse_reply_ioctl(req, 0, 0, 0);
|
||||||
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
DBG("%s: cmd=%s tiocm=%#x\n", __func__, _ioctl_name(cmd), tiocm);
|
||||||
tty->cmcr &= ~(TIOCM_RTS | TIOCM_DTR);
|
tty->cmcr &= ~(TIOCM_RTS | TIOCM_DTR);
|
||||||
@@ -1020,7 +1014,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
break;
|
break;
|
||||||
case TIOCSWINSZ:
|
case TIOCSWINSZ:
|
||||||
CHECK_BUF_IN(sizeof(struct winsize));
|
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);
|
res = ioctl(tty->fds[FD_SLAVE].fd, TIOCSWINSZ, &ws);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
{
|
{
|
||||||
@@ -1044,7 +1038,7 @@ ttynvt_ioctl(fuse_req_t req, int cmd, void *arg,
|
|||||||
break;
|
break;
|
||||||
case TIOCSETD:
|
case TIOCSETD:
|
||||||
CHECK_BUF_IN(sizeof(int));
|
CHECK_BUF_IN(sizeof(int));
|
||||||
val = *(int *)in_buf;
|
val = *(const int *)in_buf;
|
||||||
res = ioctl(tty->fds[FD_SLAVE].fd, TIOCSETD, &val);
|
res = ioctl(tty->fds[FD_SLAVE].fd, TIOCSETD, &val);
|
||||||
if (res < 0)
|
if (res < 0)
|
||||||
fuse_reply_err(req, errno);
|
fuse_reply_err(req, errno);
|
||||||
|
|||||||
Reference in New Issue
Block a user