Working on better POST and PUT requests
[factor/jcg.git] / extra / serial / unix / linux / linux.factor
blob3ad5088fc8e4cfb93d1d24134e8c8bbeede7e9db
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 ;
4 IN: serial.unix
6 : TCSANOW     0 ; inline
7 : TCSADRAIN   1 ; inline
8 : TCSAFLUSH   2 ; inline
10 : TCIFLUSH    0 ; inline
11 : TCOFLUSH    1 ; inline
12 : TCIOFLUSH   2 ; inline
14 : TCOOFF      0 ; inline
15 : TCOON       1 ; inline
16 : TCIOFF      2 ; inline
17 : TCION       3 ; inline
19 ! iflag
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
36 ! oflag
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
65 ! cflags
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
80 ! lflags
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 )
98     dup H{
99         { 0 OCT: 0000000 }
100         { 50    OCT: 0000001 }
101         { 75    OCT: 0000002 }
102         { 110   OCT: 0000003 }
103         { 134   OCT: 0000004 }
104         { 150   OCT: 0000005 }
105         { 200   OCT: 0000006 }
106         { 300   OCT: 0000007 }
107         { 600   OCT: 0000010 }
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 ;