mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 18:50:28 +09:00
ttyopts: make non-POSIX defines optional
This file uses a bunch of defines that, while common, are not in POSIX. https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html Add more ifdef checks around them to fix building on platforms that omit them. Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
This commit is contained in:
committed by
Jakub Jelen
parent
e93c1f6a61
commit
66e8491f73
@@ -172,12 +172,18 @@ baud2speed(int baudrate)
|
|||||||
return 19200;
|
return 19200;
|
||||||
case B38400:
|
case B38400:
|
||||||
return 38400;
|
return 38400;
|
||||||
|
#ifdef B57600
|
||||||
case B57600:
|
case B57600:
|
||||||
return 57600;
|
return 57600;
|
||||||
|
#endif
|
||||||
|
#ifdef B115200
|
||||||
case B115200:
|
case B115200:
|
||||||
return 115200;
|
return 115200;
|
||||||
|
#endif
|
||||||
|
#ifdef B230400
|
||||||
case B230400:
|
case B230400:
|
||||||
return 230400;
|
return 230400;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +228,9 @@ encode_termios_opts(struct termios *attr, unsigned char *buf, size_t buflen)
|
|||||||
SSH_ENCODE_INPUT_OPT(IXON)
|
SSH_ENCODE_INPUT_OPT(IXON)
|
||||||
SSH_ENCODE_INPUT_OPT(IXANY)
|
SSH_ENCODE_INPUT_OPT(IXANY)
|
||||||
SSH_ENCODE_INPUT_OPT(IXOFF)
|
SSH_ENCODE_INPUT_OPT(IXOFF)
|
||||||
|
#ifdef IMAXBEL
|
||||||
SSH_ENCODE_INPUT_OPT(IMAXBEL)
|
SSH_ENCODE_INPUT_OPT(IMAXBEL)
|
||||||
|
#endif
|
||||||
#ifdef IUTF8
|
#ifdef IUTF8
|
||||||
SSH_ENCODE_INPUT_OPT(IUTF8)
|
SSH_ENCODE_INPUT_OPT(IUTF8)
|
||||||
#endif
|
#endif
|
||||||
@@ -262,8 +270,12 @@ encode_termios_opts(struct termios *attr, unsigned char *buf, size_t buflen)
|
|||||||
SSH_ENCODE_LOCAL_OPT(NOFLSH)
|
SSH_ENCODE_LOCAL_OPT(NOFLSH)
|
||||||
SSH_ENCODE_LOCAL_OPT(TOSTOP)
|
SSH_ENCODE_LOCAL_OPT(TOSTOP)
|
||||||
SSH_ENCODE_LOCAL_OPT(IEXTEN)
|
SSH_ENCODE_LOCAL_OPT(IEXTEN)
|
||||||
|
#ifdef ECHOCTL
|
||||||
SSH_ENCODE_LOCAL_OPT(ECHOCTL)
|
SSH_ENCODE_LOCAL_OPT(ECHOCTL)
|
||||||
|
#endif
|
||||||
|
#ifdef ECHOKE
|
||||||
SSH_ENCODE_LOCAL_OPT(ECHOKE)
|
SSH_ENCODE_LOCAL_OPT(ECHOKE)
|
||||||
|
#endif
|
||||||
#ifdef PENDIN
|
#ifdef PENDIN
|
||||||
SSH_ENCODE_LOCAL_OPT(PENDIN)
|
SSH_ENCODE_LOCAL_OPT(PENDIN)
|
||||||
#endif
|
#endif
|
||||||
@@ -276,16 +288,24 @@ encode_termios_opts(struct termios *attr, unsigned char *buf, size_t buflen)
|
|||||||
SSH_ENCODE_CC_OPT(VKILL)
|
SSH_ENCODE_CC_OPT(VKILL)
|
||||||
SSH_ENCODE_CC_OPT(VEOF)
|
SSH_ENCODE_CC_OPT(VEOF)
|
||||||
SSH_ENCODE_CC_OPT(VEOL)
|
SSH_ENCODE_CC_OPT(VEOL)
|
||||||
|
#ifdef VEOL2
|
||||||
SSH_ENCODE_CC_OPT(VEOL2)
|
SSH_ENCODE_CC_OPT(VEOL2)
|
||||||
|
#endif
|
||||||
SSH_ENCODE_CC_OPT(VSTART)
|
SSH_ENCODE_CC_OPT(VSTART)
|
||||||
SSH_ENCODE_CC_OPT(VSTOP)
|
SSH_ENCODE_CC_OPT(VSTOP)
|
||||||
SSH_ENCODE_CC_OPT(VSUSP)
|
SSH_ENCODE_CC_OPT(VSUSP)
|
||||||
#ifdef VDSUSP
|
#ifdef VDSUSP
|
||||||
SSH_ENCODE_CC_OPT(VDSUSP)
|
SSH_ENCODE_CC_OPT(VDSUSP)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef VREPRINT
|
||||||
SSH_ENCODE_CC_OPT(VREPRINT)
|
SSH_ENCODE_CC_OPT(VREPRINT)
|
||||||
|
#endif
|
||||||
|
#ifdef VWERASE
|
||||||
SSH_ENCODE_CC_OPT(VWERASE)
|
SSH_ENCODE_CC_OPT(VWERASE)
|
||||||
|
#endif
|
||||||
|
#ifdef VLNEXT
|
||||||
SSH_ENCODE_CC_OPT(VLNEXT)
|
SSH_ENCODE_CC_OPT(VLNEXT)
|
||||||
|
#endif
|
||||||
#ifdef VFLUSH
|
#ifdef VFLUSH
|
||||||
SSH_ENCODE_CC_OPT(VFLUSH)
|
SSH_ENCODE_CC_OPT(VFLUSH)
|
||||||
#endif
|
#endif
|
||||||
@@ -295,7 +315,9 @@ encode_termios_opts(struct termios *attr, unsigned char *buf, size_t buflen)
|
|||||||
#ifdef VSTATUS
|
#ifdef VSTATUS
|
||||||
SSH_ENCODE_CC_OPT(VSTATUS)
|
SSH_ENCODE_CC_OPT(VSTATUS)
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef VDISCARD
|
||||||
SSH_ENCODE_CC_OPT(VDISCARD)
|
SSH_ENCODE_CC_OPT(VDISCARD)
|
||||||
|
#endif
|
||||||
#undef SSH_ENCODE_CC_OPT
|
#undef SSH_ENCODE_CC_OPT
|
||||||
|
|
||||||
SSH_ENCODE_OPT(TTY_OP_ISPEED, baud2speed(cfgetispeed(attr)))
|
SSH_ENCODE_OPT(TTY_OP_ISPEED, baud2speed(cfgetispeed(attr)))
|
||||||
|
|||||||
Reference in New Issue
Block a user