1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs alien.syntax kernel serial system unix ;
12 : TCIOFLUSH 2 ; inline
20 : IGNBRK OCT: 0000001 ; inline
21 : BRKINT OCT: 0000002 ; inline
22 : IGNPAR OCT: 0000004 ; inline
23 : PARMRK OCT: 0000010 ; inline
24 : INPCK OCT: 0000020 ; inline
25 : ISTRIP OCT: 0000040 ; inline
26 : INLCR OCT: 0000100 ; inline
27 : IGNCR OCT: 0000200 ; inline
28 : ICRNL OCT: 0000400 ; inline
29 : IUCLC OCT: 0001000 ; inline
30 : IXON OCT: 0002000 ; inline
31 : IXANY OCT: 0004000 ; inline
32 : IXOFF OCT: 0010000 ; inline
33 : IMAXBEL OCT: 0020000 ; inline
34 : IUTF8 OCT: 0040000 ; inline
37 : OPOST OCT: 0000001 ; inline
38 : OLCUC OCT: 0000002 ; inline
39 : ONLCR OCT: 0000004 ; inline
40 : OCRNL OCT: 0000010 ; inline
41 : ONOCR OCT: 0000020 ; inline
42 : ONLRET OCT: 0000040 ; inline
43 : OFILL OCT: 0000100 ; inline
44 : OFDEL OCT: 0000200 ; inline
45 : NLDLY OCT: 0000400 ; inline
46 : NL0 OCT: 0000000 ; inline
47 : NL1 OCT: 0000400 ; inline
48 : CRDLY OCT: 0003000 ; inline
49 : CR0 OCT: 0000000 ; inline
50 : CR1 OCT: 0001000 ; inline
51 : CR2 OCT: 0002000 ; inline
52 : CR3 OCT: 0003000 ; inline
53 : TABDLY OCT: 0014000 ; inline
54 : TAB0 OCT: 0000000 ; inline
55 : TAB1 OCT: 0004000 ; inline
56 : TAB2 OCT: 0010000 ; inline
57 : TAB3 OCT: 0014000 ; inline
58 : BSDLY OCT: 0020000 ; inline
59 : BS0 OCT: 0000000 ; inline
60 : BS1 OCT: 0020000 ; inline
61 : FFDLY OCT: 0100000 ; inline
62 : FF0 OCT: 0000000 ; inline
63 : FF1 OCT: 0100000 ; inline
66 : CSIZE OCT: 0000060 ; inline
67 : CS5 OCT: 0000000 ; inline
68 : CS6 OCT: 0000020 ; inline
69 : CS7 OCT: 0000040 ; inline
70 : CS8 OCT: 0000060 ; inline
71 : CSTOPB OCT: 0000100 ; inline
72 : CREAD OCT: 0000200 ; inline
73 : PARENB OCT: 0000400 ; inline
74 : PARODD OCT: 0001000 ; inline
75 : HUPCL OCT: 0002000 ; inline
76 : CLOCAL OCT: 0004000 ; inline
77 : CIBAUD OCT: 002003600000 ; inline
78 : CRTSCTS OCT: 020000000000 ; inline
81 : ISIG OCT: 0000001 ; inline
82 : ICANON OCT: 0000002 ; inline
83 : XCASE OCT: 0000004 ; inline
84 : ECHO OCT: 0000010 ; inline
85 : ECHOE OCT: 0000020 ; inline
86 : ECHOK OCT: 0000040 ; inline
87 : ECHONL OCT: 0000100 ; inline
88 : NOFLSH OCT: 0000200 ; inline
89 : TOSTOP OCT: 0000400 ; inline
90 : ECHOCTL OCT: 0001000 ; inline
91 : ECHOPRT OCT: 0002000 ; inline
92 : ECHOKE OCT: 0004000 ; inline
93 : FLUSHO OCT: 0010000 ; inline
94 : PENDIN OCT: 0040000 ; inline
95 : IEXTEN OCT: 0100000 ; inline
97 M: linux lookup-baud ( n -- n )
108 { 1200 OCT: 0000011 }
109 { 1800 OCT: 0000012 }
110 { 2400 OCT: 0000013 }
111 { 4800 OCT: 0000014 }
112 { 9600 OCT: 0000015 }
113 { 19200 OCT: 0000016 }
114 { 38400 OCT: 0000017 }
115 { 57600 OCT: 0010001 }
116 { 115200 OCT: 0010002 }
117 { 230400 OCT: 0010003 }
118 { 460800 OCT: 0010004 }
119 { 500000 OCT: 0010005 }
120 { 576000 OCT: 0010006 }
121 { 921600 OCT: 0010007 }
122 { 1000000 OCT: 0010010 }
123 { 1152000 OCT: 0010011 }
124 { 1500000 OCT: 0010012 }
125 { 2000000 OCT: 0010013 }
126 { 2500000 OCT: 0010014 }
127 { 3000000 OCT: 0010015 }
128 { 3500000 OCT: 0010016 }
129 { 4000000 OCT: 0010017 }
130 } at* [ nip ] [ drop invalid-baud ] if ;