]> gitweb.factorcode.org Git - factor.git/blob - extra/serial/unix/bsd/bsd.factor
Fixing basis -> extra dependencies
[factor.git] / extra / serial / unix / bsd / bsd.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.syntax kernel math.bitwise sequences system serial ;
4 IN: serial.unix
5
6 M: bsd lookup-baud ( m -- n )
7     dup {
8         0 50 75 110 134 150 200 300 600 1200 1800 2400 4800
9         7200 9600 14400 19200 28800 38400 57600 76800 115200
10         230400 460800 921600
11     } member? [ invalid-baud ] unless ;
12
13 : TCSANOW     0 ; inline
14 : TCSADRAIN   1 ; inline
15 : TCSAFLUSH   2 ; inline
16 : TCSASOFT    HEX: 10 ; inline
17
18 : TCIFLUSH    1 ; inline
19 : TCOFLUSH    2 ; inline
20 : TCIOFLUSH   3 ; inline
21 : TCOOFF      1 ; inline
22 : TCOON       2 ; inline
23 : TCIOFF      3 ; inline
24 : TCION       4 ; inline
25
26 ! iflags
27 : IGNBRK      HEX: 00000001 ; inline
28 : BRKINT      HEX: 00000002 ; inline
29 : IGNPAR      HEX: 00000004 ; inline
30 : PARMRK      HEX: 00000008 ; inline
31 : INPCK       HEX: 00000010 ; inline
32 : ISTRIP      HEX: 00000020 ; inline
33 : INLCR       HEX: 00000040 ; inline
34 : IGNCR       HEX: 00000080 ; inline
35 : ICRNL       HEX: 00000100 ; inline
36 : IXON        HEX: 00000200 ; inline
37 : IXOFF       HEX: 00000400 ; inline
38 : IXANY       HEX: 00000800 ; inline
39 : IMAXBEL     HEX: 00002000 ; inline
40 : IUTF8       HEX: 00004000 ; inline
41
42 ! oflags
43 : OPOST       HEX: 00000001 ; inline
44 : ONLCR       HEX: 00000002 ; inline
45 : OXTABS      HEX: 00000004 ; inline
46 : ONOEOT      HEX: 00000008 ; inline
47
48 ! cflags
49 : CIGNORE     HEX: 00000001 ; inline
50 : CSIZE       HEX: 00000300 ; inline
51 : CS5         HEX: 00000000 ; inline
52 : CS6         HEX: 00000100 ; inline
53 : CS7         HEX: 00000200 ; inline
54 : CS8         HEX: 00000300 ; inline
55 : CSTOPB      HEX: 00000400 ; inline
56 : CREAD       HEX: 00000800 ; inline
57 : PARENB      HEX: 00001000 ; inline
58 : PARODD      HEX: 00002000 ; inline
59 : HUPCL       HEX: 00004000 ; inline
60 : CLOCAL      HEX: 00008000 ; inline
61 : CCTS_OFLOW  HEX: 00010000 ; inline
62 : CRTS_IFLOW  HEX: 00020000 ; inline
63 : CRTSCTS     { CCTS_OFLOW CRTS_IFLOW } flags ; inline
64 : CDTR_IFLOW  HEX: 00040000 ; inline
65 : CDSR_OFLOW  HEX: 00080000 ; inline
66 : CCAR_OFLOW  HEX: 00100000 ; inline
67 : MDMBUF      HEX: 00100000 ; inline
68
69 ! lflags
70 : ECHOKE      HEX: 00000001 ; inline
71 : ECHOE       HEX: 00000002 ; inline
72 : ECHOK       HEX: 00000004 ; inline
73 : ECHO        HEX: 00000008 ; inline
74 : ECHONL      HEX: 00000010 ; inline
75 : ECHOPRT     HEX: 00000020 ; inline
76 : ECHOCTL     HEX: 00000040 ; inline
77 : ISIG        HEX: 00000080 ; inline
78 : ICANON      HEX: 00000100 ; inline
79 : ALTWERASE   HEX: 00000200 ; inline
80 : IEXTEN      HEX: 00000400 ; inline
81 : EXTPROC     HEX: 00000800 ; inline
82 : TOSTOP      HEX: 00400000 ; inline
83 : FLUSHO      HEX: 00800000 ; inline
84 : NOKERNINFO  HEX: 02000000 ; inline
85 : PENDIN      HEX: 20000000 ; inline
86 : NOFLSH      HEX: 80000000 ; inline