Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | signature POSIX_TTY_1997 = |
2 | sig | |
3 | eqtype pid | |
4 | eqtype file_desc | |
5 | ||
6 | structure V: | |
7 | sig | |
8 | val eof: int | |
9 | val eol: int | |
10 | val erase: int | |
11 | val intr: int | |
12 | val kill: int | |
13 | val min: int | |
14 | val quit: int | |
15 | val susp: int | |
16 | val time: int | |
17 | val start: int | |
18 | val stop: int | |
19 | val nccs: int | |
20 | ||
21 | type cc | |
22 | val cc: (int * char) list -> cc | |
23 | val update: cc * (int * char) list -> cc | |
24 | val sub: cc * int -> char | |
25 | end | |
26 | ||
27 | structure I: | |
28 | sig | |
29 | include POSIX_FLAGS_1997 | |
30 | val brkint: flags | |
31 | val icrnl: flags | |
32 | val ignbrk: flags | |
33 | val igncr: flags | |
34 | val ignpar: flags | |
35 | val inlcr: flags | |
36 | val inpck: flags | |
37 | val istrip: flags | |
38 | val ixoff: flags | |
39 | val ixon: flags | |
40 | val parmrk: flags | |
41 | end | |
42 | ||
43 | structure O: | |
44 | sig | |
45 | include POSIX_FLAGS_1997 | |
46 | val opost: flags | |
47 | end | |
48 | ||
49 | structure C: | |
50 | sig | |
51 | include POSIX_FLAGS_1997 | |
52 | val clocal: flags | |
53 | val cread: flags | |
54 | val cs5: flags | |
55 | val cs6: flags | |
56 | val cs7: flags | |
57 | val cs8: flags | |
58 | val csize: flags | |
59 | val cstopb: flags | |
60 | val hupcl: flags | |
61 | val parenb: flags | |
62 | val parodd: flags | |
63 | end | |
64 | ||
65 | structure L: | |
66 | sig | |
67 | include POSIX_FLAGS_1997 | |
68 | val echo: flags | |
69 | val echoe: flags | |
70 | val echok: flags | |
71 | val echonl: flags | |
72 | val icanon: flags | |
73 | val iexten: flags | |
74 | val isig: flags | |
75 | val noflsh: flags | |
76 | val tostop: flags | |
77 | end | |
78 | ||
79 | eqtype speed | |
80 | ||
81 | val compareSpeed: speed * speed -> order | |
82 | val speedToWord: speed -> SysWord.word | |
83 | val wordToSpeed: SysWord.word -> speed | |
84 | ||
85 | val b0: speed | |
86 | val b50: speed | |
87 | val b75: speed | |
88 | val b110: speed | |
89 | val b134: speed | |
90 | val b150: speed | |
91 | val b200: speed | |
92 | val b300: speed | |
93 | val b600: speed | |
94 | val b1200: speed | |
95 | val b1800: speed | |
96 | val b2400: speed | |
97 | val b4800: speed | |
98 | val b9600: speed | |
99 | val b19200: speed | |
100 | val b38400: speed | |
101 | ||
102 | type termios | |
103 | ||
104 | val termios: {iflag: I.flags, | |
105 | oflag: O.flags, | |
106 | cflag: C.flags, | |
107 | lflag: L.flags, | |
108 | cc: V.cc, | |
109 | ispeed: speed, | |
110 | ospeed: speed} -> termios | |
111 | ||
112 | val fieldsOf: termios -> {iflag: I.flags, | |
113 | oflag: O.flags, | |
114 | cflag: C.flags, | |
115 | lflag: L.flags, | |
116 | cc: V.cc, | |
117 | ispeed: speed, | |
118 | ospeed: speed} | |
119 | val getiflag: termios -> I.flags | |
120 | val getoflag: termios -> O.flags | |
121 | val getcflag: termios -> C.flags | |
122 | val getlflag: termios -> L.flags | |
123 | val getcc: termios -> V.cc | |
124 | ||
125 | structure CF: | |
126 | sig | |
127 | val getospeed: termios -> speed | |
128 | val setospeed: termios * speed -> termios | |
129 | val getispeed: termios -> speed | |
130 | val setispeed: termios * speed -> termios | |
131 | end | |
132 | ||
133 | structure TC: | |
134 | sig | |
135 | eqtype set_action | |
136 | ||
137 | val sanow: set_action | |
138 | val sadrain: set_action | |
139 | val saflush: set_action | |
140 | ||
141 | eqtype flow_action | |
142 | ||
143 | val ooff: flow_action | |
144 | val oon: flow_action | |
145 | val ioff: flow_action | |
146 | val ion: flow_action | |
147 | ||
148 | eqtype queue_sel | |
149 | ||
150 | val iflush: queue_sel | |
151 | val oflush: queue_sel | |
152 | val ioflush: queue_sel | |
153 | end | |
154 | ||
155 | val getattr: file_desc -> termios | |
156 | val setattr: file_desc * TC.set_action * termios -> unit | |
157 | ||
158 | val sendbreak: file_desc * int -> unit | |
159 | val drain: file_desc -> unit | |
160 | val flush: file_desc * TC.queue_sel -> unit | |
161 | val flow: file_desc * TC.flow_action -> unit | |
162 | ||
163 | val getpgrp: file_desc -> pid | |
164 | val setpgrp: file_desc * pid -> unit | |
165 | end |