2 * D header file for POSIX.
4 * Copyright: Copyright Sean Kelly 2005 - 2009.
5 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
6 * Authors: Sean Kelly, Alex Rønne Petersen
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
10 /* Copyright Sean Kelly 2005 - 2009.
11 * Distributed under the Boost Software License, Version 1.0.
12 * (See accompanying file LICENSE or copy at
13 * http://www.boost.org/LICENSE_1_0.txt)
15 module core
.sys
.posix
.termios
;
17 import core
.sys
.posix
.config
;
18 public import core
.sys
.posix
.sys
.types
; // for pid_t
26 else version (WatchOS
)
165 enum BRKINT
= 0x0000002; // 0000002
166 enum ICRNL
= 0x0000100; // 0000400
167 enum IGNBRK
= 0x0000001; // 0000001
168 enum IGNCR
= 0x0000080; // 0000200
169 enum IGNPAR
= 0x0000004; // 0000004
170 enum INLCR
= 0x0000040; // 0000100
171 enum INPCK
= 0x0000010; // 0000020
172 enum ISTRIP
= 0x0000020; // 0000040
173 enum IXOFF
= 0x0001000; // 0010000
174 enum IXON
= 0x0000400; // 0002000
175 enum PARMRK
= 0x0000008; // 0000010
177 enum OPOST
= 0x0000001; // 0000001
179 enum B0
= 0x0000000; // 0000000
180 enum B50
= 0x0000001; // 0000001
181 enum B75
= 0x0000002; // 0000002
182 enum B110
= 0x0000003; // 0000003
183 enum B134
= 0x0000004; // 0000004
184 enum B150
= 0x0000005; // 0000005
185 enum B200
= 0x0000006; // 0000006
186 enum B300
= 0x0000007; // 0000007
187 enum B600
= 0x0000008; // 0000010
188 enum B1200
= 0x0000009; // 0000011
189 enum B1800
= 0x000000A; // 0000012
190 enum B2400
= 0x000000B; // 0000013
191 enum B4800
= 0x000000C; // 0000014
192 enum B9600
= 0x000000D; // 0000015
193 enum B19200
= 0x000000E; // 0000016
194 enum B38400
= 0x000000F; // 0000017
196 enum CSIZE
= 0x0000030; // 0000060
197 enum CS5
= 0x0000000; // 0000000
198 enum CS6
= 0x0000010; // 0000020
199 enum CS7
= 0x0000020; // 0000040
200 enum CS8
= 0x0000030; // 0000060
201 enum CSTOPB
= 0x0000040; // 0000100
202 enum CREAD
= 0x0000080; // 0000200
203 enum PARENB
= 0x0000100; // 0000400
204 enum PARODD
= 0x0000200; // 0001000
205 enum HUPCL
= 0x0000400; // 0002000
206 enum CLOCAL
= 0x0000800; // 0004000
208 enum ECHO
= 0x0000008; // 0000010
209 enum ECHOE
= 0x0000010; // 0000020
210 enum ECHOK
= 0x0000020; // 0000040
211 enum ECHONL
= 0x0000040; // 0000100
212 enum ICANON
= 0x0000002; // 0000002
213 enum IEXTEN
= 0x0008000; // 0100000
214 enum ISIG
= 0x0000001; // 0000001
215 enum NOFLSH
= 0x0000080; // 0000200
216 enum TOSTOP
= 0x0000100; // 0000400
231 else version (Darwin
)
234 alias c_ulong speed_t
;
235 alias c_ulong tcflag_t
;
262 enum BRKINT
= 0x0000002;
263 enum ICRNL
= 0x0000100;
264 enum IGNBRK
= 0x0000001;
265 enum IGNCR
= 0x0000080;
266 enum IGNPAR
= 0x0000004;
267 enum INLCR
= 0x0000040;
268 enum INPCK
= 0x0000010;
269 enum ISTRIP
= 0x0000020;
270 enum IXOFF
= 0x0000400;
271 enum IXON
= 0x0000200;
272 enum PARMRK
= 0x0000008;
274 enum OPOST
= 0x0000001;
293 enum CSIZE
= 0x0000300;
294 enum CS5
= 0x0000000;
295 enum CS6
= 0x0000100;
296 enum CS7
= 0x0000200;
297 enum CS8
= 0x0000300;
298 enum CSTOPB
= 0x0000400;
299 enum CREAD
= 0x0000800;
300 enum PARENB
= 0x0001000;
301 enum PARODD
= 0x0002000;
302 enum HUPCL
= 0x0004000;
303 enum CLOCAL
= 0x0008000;
305 enum ECHO
= 0x00000008;
306 enum ECHOE
= 0x00000002;
307 enum ECHOK
= 0x00000004;
308 enum ECHONL
= 0x00000010;
309 enum ICANON
= 0x00000100;
310 enum IEXTEN
= 0x00000400;
311 enum ISIG
= 0x00000080;
312 enum NOFLSH
= 0x80000000;
313 enum TOSTOP
= 0x00400000;
328 else version (FreeBSD
)
359 enum BRKINT
= 0x0000002;
360 enum ICRNL
= 0x0000100;
361 enum IGNBRK
= 0x0000001;
362 enum IGNCR
= 0x0000080;
363 enum IGNPAR
= 0x0000004;
364 enum INLCR
= 0x0000040;
365 enum INPCK
= 0x0000010;
366 enum ISTRIP
= 0x0000020;
367 enum IXOFF
= 0x0000400;
368 enum IXON
= 0x0000200;
369 enum PARMRK
= 0x0000008;
371 enum OPOST
= 0x0000001;
390 enum CSIZE
= 0x0000300;
391 enum CS5
= 0x0000000;
392 enum CS6
= 0x0000100;
393 enum CS7
= 0x0000200;
394 enum CS8
= 0x0000300;
395 enum CSTOPB
= 0x0000400;
396 enum CREAD
= 0x0000800;
397 enum PARENB
= 0x0001000;
398 enum PARODD
= 0x0002000;
399 enum HUPCL
= 0x0004000;
400 enum CLOCAL
= 0x0008000;
402 enum ECHO
= 0x00000008;
403 enum ECHOE
= 0x00000002;
404 enum ECHOK
= 0x00000004;
405 enum ECHONL
= 0x00000010;
406 enum ICANON
= 0x00000100;
407 enum IEXTEN
= 0x00000400;
408 enum ISIG
= 0x00000080;
409 enum NOFLSH
= 0x80000000;
410 enum TOSTOP
= 0x00400000;
425 else version (DragonFlyBSD
)
456 enum BRKINT
= 0x0000002;
457 enum ICRNL
= 0x0000100;
458 enum IGNBRK
= 0x0000001;
459 enum IGNCR
= 0x0000080;
460 enum IGNPAR
= 0x0000004;
461 enum INLCR
= 0x0000040;
462 enum INPCK
= 0x0000010;
463 enum ISTRIP
= 0x0000020;
464 enum IXOFF
= 0x0000400;
465 enum IXON
= 0x0000200;
466 enum PARMRK
= 0x0000008;
468 enum OPOST
= 0x0000001;
487 enum CSIZE
= 0x0000300;
488 enum CS5
= 0x0000000;
489 enum CS6
= 0x0000100;
490 enum CS7
= 0x0000200;
491 enum CS8
= 0x0000300;
492 enum CSTOPB
= 0x0000400;
493 enum CREAD
= 0x0000800;
494 enum PARENB
= 0x0001000;
495 enum PARODD
= 0x0002000;
496 enum HUPCL
= 0x0004000;
497 enum CLOCAL
= 0x0008000;
499 enum ECHO
= 0x00000008;
500 enum ECHOE
= 0x00000002;
501 enum ECHOK
= 0x00000004;
502 enum ECHONL
= 0x00000010;
503 enum ICANON
= 0x00000100;
504 enum IEXTEN
= 0x00000400;
505 enum ISIG
= 0x00000080;
506 enum NOFLSH
= 0x80000000;
507 enum TOSTOP
= 0x00400000;
522 else version (NetBSD
)
553 enum BRKINT
= 0x0000002;
554 enum ICRNL
= 0x0000100;
555 enum IGNBRK
= 0x0000001;
556 enum IGNCR
= 0x0000080;
557 enum IGNPAR
= 0x0000004;
558 enum INLCR
= 0x0000040;
559 enum INPCK
= 0x0000010;
560 enum ISTRIP
= 0x0000020;
561 enum IXOFF
= 0x0000400;
562 enum IXON
= 0x0000200;
563 enum PARMRK
= 0x0000008;
565 enum OPOST
= 0x0000001;
584 enum CSIZE
= 0x0000300;
585 enum CS5
= 0x0000000;
586 enum CS6
= 0x0000100;
587 enum CS7
= 0x0000200;
588 enum CS8
= 0x0000300;
589 enum CSTOPB
= 0x0000400;
590 enum CREAD
= 0x0000800;
591 enum PARENB
= 0x0001000;
592 enum PARODD
= 0x0002000;
593 enum HUPCL
= 0x0004000;
594 enum CLOCAL
= 0x0008000;
596 enum ECHO
= 0x00000008;
597 enum ECHOE
= 0x00000002;
598 enum ECHOK
= 0x00000004;
599 enum ECHONL
= 0x00000010;
600 enum ICANON
= 0x00000100;
601 enum IEXTEN
= 0x00000400;
602 enum ISIG
= 0x00000080;
603 enum NOFLSH
= 0x80000000;
604 enum TOSTOP
= 0x00400000;
619 else version (OpenBSD
)
650 enum BRKINT
= 0x0000002;
651 enum ICRNL
= 0x0000100;
652 enum IGNBRK
= 0x0000001;
653 enum IGNCR
= 0x0000080;
654 enum IGNPAR
= 0x0000004;
655 enum INLCR
= 0x0000040;
656 enum INPCK
= 0x0000010;
657 enum ISTRIP
= 0x0000020;
658 enum IXOFF
= 0x0000400;
659 enum IXON
= 0x0000200;
660 enum PARMRK
= 0x0000008;
662 enum OPOST
= 0x0000001;
681 enum CSIZE
= 0x0000300;
682 enum CS5
= 0x0000000;
683 enum CS6
= 0x0000100;
684 enum CS7
= 0x0000200;
685 enum CS8
= 0x0000300;
686 enum CSTOPB
= 0x0000400;
687 enum CREAD
= 0x0000800;
688 enum PARENB
= 0x0001000;
689 enum PARODD
= 0x0002000;
690 enum HUPCL
= 0x0004000;
691 enum CLOCAL
= 0x0008000;
693 enum ECHO
= 0x00000008;
694 enum ECHOE
= 0x00000002;
695 enum ECHOK
= 0x00000004;
696 enum ECHONL
= 0x00000010;
697 enum ICANON
= 0x00000100;
698 enum IEXTEN
= 0x00000400;
699 enum ISIG
= 0x00000080;
700 enum NOFLSH
= 0x80000000;
701 enum TOSTOP
= 0x00400000;
716 else version (Solaris
)
718 alias tcflag_t
= uint;
720 alias speed_t
= uint;
726 tcflag_t c_iflag
; /* input modes */
727 tcflag_t c_oflag
; /* output modes */
728 tcflag_t c_cflag
; /* control modes */
729 tcflag_t c_lflag
; /* line discipline modes */
730 cc_t
[NCCS
] c_cc
; /* control chars */
733 /* control characters */
747 enum IGNBRK
= 0x000001;
748 enum BRKINT
= 0x000002;
749 enum IGNPAR
= 0x000004;
750 enum PARMRK
= 0x000008;
751 enum INPCK
= 0x000010;
752 enum ISTRIP
= 0x000020;
753 enum INLCR
= 0x000040;
754 enum IGNCR
= 0x000080;
755 enum ICRNL
= 0x000100;
756 enum IXON
= 0x000400;
757 enum IXOFF
= 0x001000;
760 enum OPOST
= 0x000001;
763 enum CSIZE
= 0x000030;
768 enum CSTOPB
= 0x000040;
769 enum CREAD
= 0x000080;
770 enum PARENB
= 0x000100;
771 enum PARODD
= 0x000200;
772 enum HUPCL
= 0x000400;
773 enum CLOCAL
= 0x000800;
775 enum CRTSCTS
= 0x10000000;
777 /* line discipline 0 modes */
778 enum ISIG
= 0x000001;
779 enum ICANON
= 0x000002;
780 enum ECHO
= 0x000008;
781 enum ECHOE
= 0x000010;
782 enum ECHOK
= 0x000020;
783 enum ECHONL
= 0x000040;
784 enum NOFLSH
= 0x000080;
785 enum TOSTOP
= 0x000100;
787 enum ECHOCTL
= 0x000200;
788 enum ECHOPRT
= 0x000400;
789 enum ECHOKE
= 0x000800;
791 enum IEXTEN
= 0x008000; /* POSIX flag - enable POSIX extensions */
793 enum _TIOC
= ('T'<<8);
794 enum TCSANOW
= (_TIOC|
14);
795 enum TCSADRAIN
= (_TIOC|
15);
796 enum TCSAFLUSH
= (_TIOC|
16);
798 /* termios option flags */
799 enum TCIFLUSH
= 0; /* flush data received but not read */
800 enum TCOFLUSH
= 1; /* flush data written but not transmitted */
801 enum TCIOFLUSH
= 2; /* flush both data both input and output queues */
803 enum TCOOFF
= 0; /* suspend output */
804 enum TCOON
= 1; /* restart suspended output */
805 enum TCIOFF
= 2; /* suspend input */
806 enum TCION
= 3; /* restart suspended input */
836 speed_t cfgetispeed(const scope termios*);
837 speed_t cfgetospeed(const scope termios*);
838 int cfsetispeed(termios*, speed_t);
839 int cfsetospeed(termios*, speed_t);
841 int tcflow(int, int);
842 int tcflush(int, int);
843 int tcgetattr(int, termios*);
844 int tcsendbreak(int, int);
845 int tcsetattr(int, int, const scope termios*);
848 version (CRuntime_Glibc
)
850 speed_t
cfgetispeed(const scope termios
*);
851 speed_t
cfgetospeed(const scope termios
*);
852 int cfsetispeed(termios
*, speed_t
);
853 int cfsetospeed(termios
*, speed_t
);
855 int tcflow(int, int);
856 int tcflush(int, int);
857 int tcgetattr(int, termios
*);
858 int tcsendbreak(int, int);
859 int tcsetattr(int, int, const scope termios
*);
861 else version (Darwin
)
863 speed_t
cfgetispeed(const scope termios
*);
864 speed_t
cfgetospeed(const scope termios
*);
865 int cfsetispeed(termios
*, speed_t
);
866 int cfsetospeed(termios
*, speed_t
);
868 int tcflow(int, int);
869 int tcflush(int, int);
870 int tcgetattr(int, termios
*);
871 int tcsendbreak(int, int);
872 int tcsetattr(int, int, const scope termios
*);
875 else version (FreeBSD
)
877 speed_t
cfgetispeed(const scope termios
*);
878 speed_t
cfgetospeed(const scope termios
*);
879 int cfsetispeed(termios
*, speed_t
);
880 int cfsetospeed(termios
*, speed_t
);
882 int tcflow(int, int);
883 int tcflush(int, int);
884 int tcgetattr(int, termios
*);
885 int tcsendbreak(int, int);
886 int tcsetattr(int, int, const scope termios
*);
888 else version (DragonFlyBSD
)
890 speed_t
cfgetispeed(const scope termios
*);
891 speed_t
cfgetospeed(const scope termios
*);
892 int cfsetispeed(termios
*, speed_t
);
893 int cfsetospeed(termios
*, speed_t
);
895 int tcflow(int, int);
896 int tcflush(int, int);
897 int tcgetattr(int, termios
*);
898 int tcsendbreak(int, int);
899 int tcsetattr(int, int, const scope termios
*);
901 else version (NetBSD
)
903 speed_t
cfgetispeed(const scope termios
*);
904 speed_t
cfgetospeed(const scope termios
*);
905 int cfsetispeed(termios
*, speed_t
);
906 int cfsetospeed(termios
*, speed_t
);
908 int tcflow(int, int);
909 int tcflush(int, int);
910 int tcgetattr(int, termios
*);
911 int tcsendbreak(int, int);
912 int tcsetattr(int, int, const scope termios
*);
914 else version (OpenBSD
)
916 speed_t
cfgetispeed(const scope termios
*);
917 speed_t
cfgetospeed(const scope termios
*);
918 int cfsetispeed(termios
*, speed_t
);
919 int cfsetospeed(termios
*, speed_t
);
921 int tcflow(int, int);
922 int tcflush(int, int);
923 int tcgetattr(int, termios
*);
924 int tcsendbreak(int, int);
925 int tcsetattr(int, int, const scope termios
*);
927 else version (Solaris
)
929 speed_t
cfgetospeed(const scope termios
*);
930 int cfsetospeed(termios
*, speed_t
);
931 speed_t
cfgetispeed(const scope termios
*);
932 int cfsetispeed(termios
*, speed_t
);
933 int tcgetattr(int, termios
*);
934 int tcsetattr(int, int, const scope termios
*);
935 int tcsendbreak(int, int);
937 int tcflush(int, int);
938 int tcflow(int, int);
940 else version (CRuntime_UClibc
)
942 speed_t
cfgetispeed(const scope termios
*);
943 speed_t
cfgetospeed(const scope termios
*);
944 int cfsetispeed(termios
*, speed_t
);
945 int cfsetospeed(termios
*, speed_t
);
947 int tcflow(int, int);
948 int tcflush(int, int);
949 int tcgetattr(int, termios
*);
950 int tcsendbreak(int, int);
951 int tcsetattr(int, int, const scope termios
*);
991 version (CRuntime_Glibc
)
993 enum IXANY
= 0x0000800; // 0004000
995 enum ONLCR
= 0x0000004; // 0000004
996 enum OCRNL
= 0x0000008; // 0000010
997 enum ONOCR
= 0x0000010; // 0000020
998 enum ONLRET
= 0x0000020; // 0000040
999 enum OFILL
= 0x0000040; // 0000100
1000 enum NLDLY
= 0x0000100; // 0000400
1001 enum NL0
= 0x0000000; // 0000000
1002 enum NL1
= 0x0000100; // 0000400
1003 enum CRDLY
= 0x0000600; // 0003000
1004 enum CR0
= 0x0000000; // 0000000
1005 enum CR1
= 0x0000200; // 0001000
1006 enum CR2
= 0x0000400; // 0002000
1007 enum CR3
= 0x0000600; // 0003000
1008 enum TABDLY
= 0x0001800; // 0014000
1009 enum TAB0
= 0x0000000; // 0000000
1010 enum TAB1
= 0x0000800; // 0004000
1011 enum TAB2
= 0x0001000; // 0010000
1012 enum TAB3
= 0x0001800; // 0014000
1013 enum BSDLY
= 0x0002000; // 0020000
1014 enum BS0
= 0x0000000; // 0000000
1015 enum BS1
= 0x0002000; // 0020000
1016 enum VTDLY
= 0x0004000; // 0040000
1017 enum VT0
= 0x0000000; // 0000000
1018 enum VT1
= 0x0004000; // 0040000
1019 enum FFDLY
= 0x0008000; // 0100000
1020 enum FF0
= 0x0000000; // 0000000
1021 enum FF1
= 0x0008000; // 0100000
1023 pid_t
tcgetsid(int);
1026 else version (Darwin
)
1028 enum IXANY
= 0x00000800;
1030 enum ONLCR
= 0x00000002;
1031 enum OCRNL
= 0x00000010;
1032 enum ONOCR
= 0x00000020;
1033 enum ONLRET
= 0x00000040;
1034 enum OFILL
= 0x00000080;
1035 enum NLDLY
= 0x00000300;
1036 enum NL0
= 0x00000000;
1037 enum NL1
= 0x00000100;
1038 enum CRDLY
= 0x00003000;
1039 enum CR0
= 0x00000000;
1040 enum CR1
= 0x00001000;
1041 enum CR2
= 0x00002000;
1042 enum CR3
= 0x00003000;
1043 enum TABDLY
= 0x00000c04;
1044 enum TAB0
= 0x00000000;
1045 enum TAB1
= 0x00000400;
1046 enum TAB2
= 0x00000800;
1047 enum TAB3
= 0x00000004;
1048 enum BSDLY
= 0x00008000;
1049 enum BS0
= 0x00000000;
1050 enum BS1
= 0x00008000;
1051 enum VTDLY
= 0x00010000;
1052 enum VT0
= 0x00000000;
1053 enum VT1
= 0x00010000;
1054 enum FFDLY
= 0x00004000;
1055 enum FF0
= 0x00000000;
1056 enum FF1
= 0x00004000;
1058 pid_t
tcgetsid (int);
1061 else version (FreeBSD
)
1063 enum IXANY
= 0x00000800;
1065 enum ONLCR
= 0x00000002;
1066 enum OCRNL
= 0x00000010;
1067 enum ONOCR
= 0x00000020;
1068 enum ONLRET
= 0x00000040;
1078 enum TABDLY
= 0x00000004;
1079 enum TAB0
= 0x00000000;
1082 enum TAB3
= 0x00000004;
1093 pid_t
tcgetsid(int);
1095 else version (DragonFlyBSD
)
1097 enum IXANY
= 0x00000800;
1099 enum ONLCR
= 0x00000002;
1100 enum OCRNL
= 0x00000010;
1101 enum ONOCR
= 0x00000020;
1102 enum ONLRET
= 0x00000040;
1112 enum TABDLY
= 0x00000004;
1113 enum TAB0
= 0x00000000;
1116 enum TAB3
= 0x00000004;
1127 pid_t
tcgetsid(int);
1129 else version (NetBSD
)
1131 enum IXANY
= 0x00000800;
1133 enum ONLCR
= 0x00000002;
1134 enum OCRNL
= 0x00000010;
1135 enum ONOCR
= 0x00000020;
1136 enum ONLRET
= 0x00000040;
1146 enum TABDLY
= 0x00000004;
1147 enum TAB0
= 0x00000000;
1150 enum TAB3
= 0x00000004;
1161 pid_t
tcgetsid(int);
1163 else version (OpenBSD
)
1165 enum IXANY
= 0x00000800;
1167 enum ONLCR
= 0x00000002;
1168 enum OCRNL
= 0x00000010;
1169 enum ONOCR
= 0x00000040;
1170 enum ONLRET
= 0x00000080;
1195 pid_t
tcgetsid(int);
1197 else version (Solaris
)
1199 enum IXANY
= 0x0000800;
1201 enum ONLCR
= 0x0000004;
1202 enum OCRNL
= 0x0000008;
1203 enum ONOCR
= 0x0000010;
1204 enum ONLRET
= 0x0000020;
1205 enum OFILL
= 0x0000040;
1206 enum OFDEL
= 0x0000080;
1207 enum NLDLY
= 0x0000100;
1208 enum NL0
= 0x0000000;
1209 enum NL1
= 0x0000100;
1210 enum CRDLY
= 0x0000600;
1211 enum CR0
= 0x0000000;
1212 enum CR1
= 0x0000200;
1213 enum CR2
= 0x0000400;
1214 enum CR3
= 0x0000600;
1215 enum TABDLY
= 0x0001800;
1216 enum TAB0
= 0x0000000;
1217 enum TAB1
= 0x0000800;
1218 enum TAB2
= 0x0001000;
1219 enum TAB3
= 0x0001800;
1220 enum BSDLY
= 0x0002000;
1221 enum BS0
= 0x0000000;
1222 enum BS1
= 0x0002000;
1223 enum VTDLY
= 0x0004000;
1224 enum VT0
= 0x0000000;
1225 enum VT1
= 0x0004000;
1226 enum FFDLY
= 0x0008000;
1227 enum FF0
= 0x0000000;
1228 enum FF1
= 0x0008000;
1229 enum XCASE
= 0x0000004;
1231 pid_t
tcgetsid(int);
1233 else version (CRuntime_UClibc
)
1235 enum IXANY
= 0x0000800; // 0004000
1237 enum ONLCR
= 0x0000004; // 0000004
1238 enum OCRNL
= 0x0000008; // 0000010
1239 enum ONOCR
= 0x0000010; // 0000020
1240 enum ONLRET
= 0x0000020; // 0000040
1241 enum OFILL
= 0x0000040; // 0000100
1242 enum NLDLY
= 0x0000100; // 0000400
1243 enum NL0
= 0x0000000; // 0000000
1244 enum NL1
= 0x0000100; // 0000400
1245 enum CRDLY
= 0x0000600; // 0003000
1246 enum CR0
= 0x0000000; // 0000000
1247 enum CR1
= 0x0000200; // 0001000
1248 enum CR2
= 0x0000400; // 0002000
1249 enum CR3
= 0x0000600; // 0003000
1250 enum TABDLY
= 0x0001800; // 0014000
1251 enum TAB0
= 0x0000000; // 0000000
1252 enum TAB1
= 0x0000800; // 0004000
1253 enum TAB2
= 0x0001000; // 0010000
1254 enum TAB3
= 0x0001800; // 0014000
1255 enum BSDLY
= 0x0002000; // 0020000
1256 enum BS0
= 0x0000000; // 0000000
1257 enum BS1
= 0x0002000; // 0020000
1258 enum VTDLY
= 0x0004000; // 0040000
1259 enum VT0
= 0x0000000; // 0000000
1260 enum VT1
= 0x0004000; // 0040000
1261 enum FFDLY
= 0x0008000; // 0100000
1262 enum FF0
= 0x0000000; // 0000000
1263 enum FF1
= 0x0008000; // 0100000
1265 pid_t
tcgetsid(int);