/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos72Q src/bos/usr/include/termios.h 1.28.1.1 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1989,2019 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)60 1.28.1.1 src/bos/usr/include/termios.h, cmdtty, bos72Q, q2019_13A4 2/5/19 03:06:58 */ /* * COMPONENT_NAME: (CMDTTY) * * FUNCTIONS: * * ORIGINS: 3, 9, 27, 83 * * (C) COPYRIGHT International Business Machines Corp. 1989, 1995 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* * LEVEL 1, 5 Years Bull Confidential Information */ #ifndef _H_TERMIOS #define _H_TERMIOS #ifndef _H_STANDARDS #include #endif #include #ifndef _H_TYPES #include #endif #include #ifdef __cplusplus extern "C" { #endif /* * POSIX requires that certain values be included in termios.h. It also * requires that when _POSIX_SOURCE is defined only those standard * specific values are present. This header includes all the POSIX */ #ifdef _POSIX_SOURCE typedef unsigned int tcflag_t; typedef unsigned char cc_t; #define NCCS 16 typedef unsigned int speed_t; /* * Ioctl control packet */ struct termios { tcflag_t c_iflag; /* input modes */ tcflag_t c_oflag; /* output modes */ tcflag_t c_cflag; /* control modes */ tcflag_t c_lflag; /* line discipline modes */ cc_t c_cc[NCCS]; /* control chars */ }; #ifdef _NO_PROTO extern int tcgetattr(); #if _XOPEN_SOURCE_EXTENDED==1 extern pid_t tcgetsid(); #endif /* _XOPEN_SOURCE_EXTENDED */ extern int tcsetattr(); extern int tcsendbreak(); extern int tcdrain(); extern int tcflush(); extern int tcflow(); extern speed_t cfgetospeed(); extern speed_t cfgetispeed(); extern int cfsetospeed(); extern int cfsetispeed(); #ifdef _ALL_SOURCE extern int setcsmap(); extern int cfmakeraw(); extern int cfsetspeed(); #endif #else /* use POSIX required prototypes */ extern int tcgetattr(int, struct termios *); #if _XOPEN_SOURCE_EXTENDED==1 extern pid_t tcgetsid(int); #endif /* _XOPEN_SOURCE_EXTENDED */ extern int tcsetattr(int, int, const struct termios *); extern int tcsendbreak(int, int); extern int tcdrain(int); extern int tcflush(int, int); extern int tcflow(int, int); extern speed_t cfgetospeed(const struct termios *); extern speed_t cfgetispeed(const struct termios *); extern int cfsetospeed(struct termios *, speed_t); extern int cfsetispeed(struct termios *, speed_t); /* Read a terminal code set map file, generate a struct csmap and */ /* install it for stdin. The pathname of the file is usually composed */ /* by forming a string with the csmap directory and the code set needed,*/ /* e.g. */ /* n = sprintf(path, "%s%s", CSMAP_DIR, nl_langinfo(CODESET)); */ #ifdef _ALL_SOURCE extern int /* If successful, 0 is returned. */ /* Otherwise, -1 is returned. */ setcsmap( const char *path); /* pathname of the code set map file */ extern int cfmakeraw(struct termios *); extern int cfsetspeed(struct termios *, speed_t); #endif #endif /* _NO_PROTO */ #ifdef _ALL_SOURCE #define CSMAP_DIR "/usr/lib/nls/csmap/" #endif /* mask name symbols for c_lflag */ /* values for optional_actions arguments to tcsetattr() */ #define TCSANOW 0 #define TCSADRAIN 1 #define TCSAFLUSH 2 /* values for the queue_selector argument to tcflush() */ #define TCIFLUSH 0 #define TCOFLUSH 1 #define TCIOFLUSH 2 /* values for the action argument to tcflow() */ #define TCOOFF 0 #define TCOON 1 #define TCIOFF 2 #define TCION 3 /* control characters */ #define VINTR 0 #define VQUIT 1 #define VERASE 2 #define VKILL 3 #define VEOF 4 #define VEOL 5 #define VSTART 7 #define VSTOP 8 #define VSUSP 9 #define VMIN 4 #define VTIME 5 #ifdef _ALL_SOURCE #define VEOL2 6 #define VDSUSP 10 #define VREPRINT 11 #define VDISCRD 12 #define VWERSE 13 #define VLNEXT 14 #define VSTRT VSTART /* 5.4 compatability */ #endif /* _ALL_SOURCE */ #define B0 0x00000000 #define B50 0x00000001 #define B75 0x00000002 #define B110 0x00000003 #define B134 0x00000004 #define B150 0x00000005 #define B200 0x00000006 #define B300 0x00000007 #define B600 0x00000008 #define B1200 0x00000009 #define B1800 0x0000000a #define B2400 0x0000000b #define B4800 0x0000000c #define B9600 0x0000000d #define B19200 0x0000000e #define B38400 0x0000000f #ifdef _ALL_SOURCE #define EXTA B19200 #define EXTB B38400 #endif /* _ALL_SOURCE */ /* c_iflag bits */ #define IGNBRK 0x00000001 #define BRKINT 0x00000002 #define IGNPAR 0x00000004 #define PARMRK 0x00000008 #define INPCK 0x00000010 #define ISTRIP 0x00000020 #define INLCR 0x00000040 #define IGNCR 0x00000080 #define ICRNL 0x00000100 #define IXON 0x00000200 #define IXOFF 0x00000400 #ifdef _XOPEN_SOURCE #if (_XOPEN_SOURCE < 600) || defined (_ALL_SOURCE) #define IUCLC 0x00000800 #endif /* _XOPEN_SOURCE < 600 || _ALL_SOURCE */ #define IXANY 0x00001000 #ifdef _ALL_SOURCE #define IMAXBEL 0x00010000 #endif /* _ALL_SOURCE */ #endif /* _XOPEN_SOURCE */ /* c_oflag bits */ #define OPOST 0x00000001 #ifdef _XOPEN_SOURCE #if (_XOPEN_SOURCE < 600) || defined (_ALL_SOURCE) #define OLCUC 0x00000002 #endif /* _XOPEN_SOURCE < 600 || _ALL_SOURCE */ #define ONLCR 0x00000004 #define OCRNL 0x00000008 #define ONOCR 0x00000010 #define ONLRET 0x00000020 #define OFILL 0x00000040 #define OFDEL 0x00000080 #define CRDLY 0x00000300 #define CR0 0x00000000 #define CR1 0x00000100 #define CR2 0x00000200 #define CR3 0x00000300 #define TABDLY 0x00000c00 #define TAB0 0x00000000 #define TAB1 0x00000400 #define TAB2 0x00000800 #define TAB3 0x00000c00 #define BSDLY 0x00001000 #define BS0 0x00000000 #define BS1 0x00001000 #define FFDLY 0x00002000 #define FF0 0x00000000 #define FF1 0x00002000 #define NLDLY 0x00004000 #define NL0 0x00000000 #define NL1 0x00004000 #define VTDLY 0x00008000 #define VT0 0x00000000 #define VT1 0x00008000 #ifdef _ALL_SOURCE #define DLY_MASK (NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY) #define OXTABS 0x00040000 /* expand tabs to spaces added */ /* on 08/05/92. */ #define ONOEOT 0x00080000 /* discard EOT's (^D) on output */ /* added on 08/05/92. */ #endif /* _ALL_SO0URCE */ #endif /* _XOPEN_SOURCE */ /* c_cflag bits */ #ifdef _ALL_SOURCE #define CBAUD _CBAUD #endif /* _ALL_SOURCE */ #define _CBAUD 0x0000000f #define CSIZE 0x00000030 #define CS5 0x00000000 #define CS6 0x00000010 #define CS7 0x00000020 #define CS8 0x00000030 #define CSTOPB 0x00000040 #define CREAD 0x00000080 #define PARENB 0x00000100 #define PARODD 0x00000200 #define HUPCL 0x00000400 #define CLOCAL 0x00000800 #define _CIBAUD 0x000f0000 #define _IBSHIFT 16 #ifdef _ALL_SOURCE #define CIBAUD _CIBAUD #define IBSHIFT _IBSHIFT #define PAREXT 0x00100000 #endif /* _ALL_SOURCE */ /* c_lflag bits */ #define ISIG 0x00000001 #define ICANON 0x00000002 #ifdef _XOPEN_SOURCE #if (_XOPEN_SOURCE < 600) || defined (_ALL_SOURCE) #define XCASE 0x00000004 #endif /* _XOPEN_SOURCE < 600 || _ALL_SOURCE */ #endif /* _XOPEN_SOURCE */ #define ECHO 0x00000008 #define ECHOE 0x00000010 #define ECHOK 0x00000020 #define ECHONL 0x00000040 #define NOFLSH 0x00000080 #define TOSTOP 0x00010000 #ifdef _ALL_SOURCE #define ECHOCTL 0x00020000 #define ECHOPRT 0x00040000 #define ECHOKE 0x00080000 #define FLUSHO 0x00100000 #define ALTWERASE 0x00400000 /* use alternate WERASE */ /* algorithm, added ALTWERASE */ /* on 08/05/92. */ #define PENDIN 0x20000000 #endif /* ALL_SOURCE */ #define IEXTEN 0x00200000 #endif /* _POSIX_SOURCE */ #ifdef __cplusplus } #endif #endif /* _H_TERMIOS */