cae36a52 |
1 | enum { |
2 | O_ACCMODE = 0003, |
3 | O_RDONLY = 00, |
4 | O_WRONLY = 01, |
5 | O_RDWR = 02, |
6 | O_CREAT = 0100, |
7 | O_EXCL = 0200, |
8 | O_NOCTTY = 0400, |
9 | O_TRUNC = 01000, |
10 | O_APPEND = 02000, |
11 | O_NONBLOCK = 04000, |
12 | O_NDELAY = 04000, |
13 | O_SYNC = 010000, |
14 | FASYNC = 020000, |
15 | }; |
16 | |
17 | enum { |
18 | FD_CLOEXEC = 1, |
19 | }; |
20 | |
21 | enum { |
22 | F_DUPFD = 0, |
23 | F_GETFD, |
24 | F_SETFD, |
25 | F_GETFL, |
26 | F_SETFL, |
27 | F_GETLK, |
28 | F_SETLK, |
29 | F_SETLKW, |
30 | F_SETOWN, |
31 | F_GETOWN, |
32 | F_GETSIG, |
33 | F_GETLK64 = 12, |
34 | F_SETLK64 = 13, |
35 | }; |
36 | |
37 | enum { |
38 | S_IFMT = 0170000, |
39 | S_IFSOCK = 0140000, |
40 | S_IFLNK = 0120000, |
41 | S_IFREG = 0100000, |
42 | S_IFBLK = 0060000, |
43 | S_IFDIR = 0040000, |
44 | S_IFCHR = 0020000, |
45 | S_IFIFO = 0010000, |
46 | S_ISUID = 0004000, |
47 | S_ISGID = 0002000, |
48 | S_ISVTX = 0001000, |
49 | }; |
50 | |
51 | enum { |
52 | PROT_READ = 0x01, |
53 | PROT_WRITE = 0x02, |
54 | PROT_EXEC = 0x04, |
55 | PROT_SEM = 0x08, |
56 | PROT_NONE = 0x00, |
57 | PROT_GROWSDOWN = 0x01000000, |
58 | PROT_GROWSUP = 0x02000000, |
59 | MAP_SHARED = 0x01, |
60 | MAP_PRIVATE = 0x02, |
61 | MAP_TYPE = 0x0f, |
62 | MAP_FIXED = 0x10, |
63 | MAP_ANONYMOUS = 0x20, |
64 | |
65 | MREMAP_MAYMOVE = 1, |
66 | MREMAP_FIXED = 2, |
67 | }; |
68 | |
69 | enum { |
70 | CLONE_VM = 0x00000100, |
71 | CLONE_FS = 0x00000200, |
72 | CLONE_FILES = 0x00000400, |
73 | CLONE_SIGHAND = 0x00000800, |
74 | CLONE_PTRACE = 0x00002000, |
75 | CLONE_VFORK = 0x00004000, |
76 | CLONE_PARENT = 0x00008000, |
77 | CLONE_THREAD = 0x00010000, |
78 | CLONE_NEWNS = 0x00020000, |
79 | CLONE_SYSVSEM = 0x00040000, |
80 | CLONE_SETTLS = 0x00080000, |
81 | CLONE_PARENT_SETTID = 0x00100000, |
82 | CLONE_CHILD_CLEARTID = 0x00200000, |
83 | CLONE_DETACHED = 0x00400000, |
84 | CLONE_UNTRACED = 0x00800000, |
85 | CLONE_CHILD_SETTID = 0x01000000, |
86 | CLONE_STOPPED = 0x02000000, |
87 | }; |
88 | |
89 | enum { |
90 | EPERM = 1, |
91 | ENOENT = 2, |
92 | ESRCH = 3, |
93 | EINTR = 4, |
94 | EIO = 5, |
95 | ENXIO = 6, |
96 | E2BIG = 7, |
97 | ENOEXEC = 8, |
98 | EBADF = 9, |
99 | ECHILD = 10, |
100 | EAGAIN = 11, |
101 | ENOMEM = 12, |
102 | EACCES = 13, |
103 | EFAULT = 14, |
104 | ENOTBLK = 15, |
105 | EBUSY = 16, |
106 | EEXIST = 17, |
107 | EXDEV = 18, |
108 | ENODEV = 19, |
109 | ENOTDIR = 20, |
110 | EISDIR = 21, |
111 | EINVAL = 22, |
112 | ENFILE = 23, |
113 | EMFILE = 24, |
114 | ENOTTY = 25, |
115 | ETXTBSY = 26, |
116 | EFBIG = 27, |
117 | ENOSPC = 28, |
118 | ESPIPE = 29, |
119 | EROFS = 30, |
120 | EMLINK = 31, |
121 | EPIPE = 32, |
122 | EDOM = 33, |
123 | ERANGE = 34, |
124 | EDEADLK = 35, |
125 | ENAMETOOLONG = 36, |
126 | ENOLCK = 37, |
127 | ENOSYS = 38, |
128 | ENOTEMPTY = 39, |
129 | ELOOP = 40, |
130 | ENOMSG = 42, |
131 | EIDRM = 43, |
132 | ECHRNG = 44, |
133 | EL2NSYNC = 45, |
134 | EL3HLT = 46, |
135 | EL3RST = 47, |
136 | ELNRNG = 48, |
137 | EUNATCH = 49, |
138 | ENOCSI = 50, |
139 | EL2HLT = 51, |
140 | EBADE = 52, |
141 | EBADR = 53, |
142 | EXFULL = 54, |
143 | ENOANO = 55, |
144 | EBADRQC = 56, |
145 | EBADSLT = 57, |
146 | EBFONT = 59, |
147 | ENOSTR = 60, |
148 | ENODATA = 61, |
149 | ETIME = 62, |
150 | ENOSR = 63, |
151 | ENONET = 64, |
152 | ENOPKG = 65, |
153 | EREMOTE = 66, |
154 | ENOLINK = 67, |
155 | EADV = 68, |
156 | ESRMNT = 69, |
157 | ECOMM = 70, |
158 | EPROTO = 71, |
159 | EMULTIHOP = 72, |
160 | EDOTDOT = 73, |
161 | EBADMSG = 74, |
162 | EOVERFLOW = 75, |
163 | ENOTUNIQ = 76, |
164 | EBADFD = 77, |
165 | EREMCHG = 78, |
166 | ELIBACC = 79, |
167 | ELIBBAD = 80, |
168 | ELIBSCN = 81, |
169 | ELIBMAX = 82, |
170 | ELIBEXEC = 83, |
171 | EILSEQ = 84, |
172 | ERESTART = 85, |
173 | ESTRPIPE = 86, |
174 | EUSERS = 87, |
175 | ENOTSOCK = 88, |
176 | EDESTADDRREQ = 89, |
177 | EMSGSIZE = 90, |
178 | EPROTOTYPE = 91, |
179 | ENOPROTOOPT = 92, |
180 | EPROTONOSUPPORT = 93, |
181 | ESOCKTNOSUPPORT = 94, |
182 | EOPNOTSUPP = 95, |
183 | EPFNOSUPPORT = 96, |
184 | EAFNOSUPPORT = 97, |
185 | EADDRINUSE = 98, |
186 | EADDRNOTAVAIL = 99, |
187 | ENETDOWN = 100, |
188 | ENETUNREACH = 101, |
189 | ENETRESET = 102, |
190 | ECONNABORTED = 103, |
191 | ECONNRESET = 104, |
192 | ENOBUFS = 105, |
193 | EISCONN = 106, |
194 | ENOTCONN = 107, |
195 | ESHUTDOWN = 108, |
196 | ETOOMANYREFS = 109, |
197 | ETIMEDOUT = 110, |
198 | ECONNREFUSED = 111, |
199 | EHOSTDOWN = 112, |
200 | EHOSTUNREACH = 113, |
201 | EALREADY = 114, |
202 | EINPROGRESS = 115, |
203 | ESTALE = 116, |
204 | EUCLEAN = 117, |
205 | ENOTNAM = 118, |
206 | ENAVAIL = 119, |
207 | EISNAM = 120, |
208 | EREMOTEIO = 121, |
209 | EDQUOT = 122, |
210 | ENOMEDIUM = 123, |
211 | EMEDIUMTYPE = 124, |
212 | EMAX = 125, |
213 | }; |
214 | |
215 | #define EWOULDBLOCK EAGAIN |
216 | #define EDEADLOCK EDEADLK |
217 | #define ENOATTR ENODATA |
218 | |
219 | enum { |
220 | POLLIN = (1<<0), |
221 | POLLPRI = (1<<1), |
222 | POLLOUT = (1<<2), |
223 | POLLERR = (1<<3), |
224 | POLLHUP = (1<<4), |
225 | POLLNVAL = (1<<5), |
226 | POLLRDNORM = (1<<6), |
227 | POLLRDBAND = (1<<7), |
228 | POLLWRNORM = (1<<8), |
229 | POLLWRBAND = (1<<9), |
230 | POLLMSG = (1<<10), |
231 | POLLREMOVE = (1<<11), |
232 | POLLRDHUP = 0x2000, |
233 | EPOLLONESHOT = (1<<30), |
234 | EPOLLET = (1<<31), |
235 | }; |
236 | |
237 | enum { |
238 | SIGHUP = 1, |
239 | SIGINT = 2, |
240 | SIGQUIT = 3, |
241 | SIGILL = 4, |
242 | SIGTRAP = 5, |
243 | SIGABRT = 6, |
244 | SIGIOT = 6, |
245 | SIGBUS = 7, |
246 | SIGFPE = 8, |
247 | SIGKILL = 9, |
248 | SIGUSR1 = 10, |
249 | SIGSEGV = 11, |
250 | SIGUSR2 = 12, |
251 | SIGPIPE = 13, |
252 | SIGALRM = 14, |
253 | SIGTERM = 15, |
254 | SIGSTKFLT = 16, |
255 | SIGCHLD = 17, |
256 | SIGCONT = 18, |
257 | SIGSTOP = 19, |
258 | SIGTSTP = 20, |
259 | SIGTTIN = 21, |
260 | SIGTTOU = 22, |
261 | SIGURG = 23, |
262 | SIGXCPU = 24, |
263 | SIGXFSZ = 25, |
264 | SIGVTALRM = 26, |
265 | SIGPROF = 27, |
266 | SIGWINCH = 28, |
267 | SIGIO = 29, |
268 | SIGPOLL = 29, |
269 | SIGLOST = 29, |
270 | SIGPWR = 30, |
271 | SIGSYS = 31, |
272 | |
273 | SIGRT1 = 32, |
274 | SIGRT2 = 33, |
275 | SIGRT3 = 34, |
276 | SIGRT4 = 35, |
277 | SIGRT5 = 36, |
278 | SIGRT6 = 37, |
279 | SIGRT7 = 38, |
280 | SIGRT8 = 39, |
281 | |
282 | SIGMAX = 40, |
283 | }; |
284 | |
285 | enum { |
286 | SI_USER = 0, |
287 | SI_QUEUE = -1, |
288 | SI_TIMER = -2, |
289 | SI_MESGQ = -3, |
290 | SI_ASYNCIO = -4, |
291 | SI_SIGIO = -5, |
292 | SI_TKILL = -6, |
293 | SI_DETHREAD = -7, |
294 | }; |
295 | |
296 | enum { |
297 | ILL_ILLOPC = 1, |
298 | ILL_ILLOPN, |
299 | ILL_ILLADR, |
300 | ILL_ILLTRP, |
301 | ILL_PROVOPC, |
302 | ILL_PRVREG, |
303 | ILL_COPROC, |
304 | ILL_BADSTK, |
305 | }; |
306 | |
307 | enum { |
308 | FPE_INTDIV = 1, |
309 | FPE_INTOVF, |
310 | FPE_FLTDIV, |
311 | FPE_FLTOVF, |
312 | FPE_FLTUND, |
313 | FPE_FLTRES, |
314 | FPE_FLTINV, |
315 | FPE_FLTSUB, |
316 | }; |
317 | |
318 | enum { |
319 | WNOHANG =0x00000001, |
320 | WUNTRACED =0x00000002, |
321 | WSTOPPED =0x00000002, |
322 | WEXITED =0x00000004, |
323 | WCONTINUED =0x00000008, |
324 | WNOWAIT =0x01000000, |
325 | WNOTHREAD =0x20000000, |
326 | WALL =0x40000000, |
327 | WCLONE =0x80000000, |
328 | }; |
329 | |
330 | struct linux_timeval |
331 | { |
332 | long tv_sec; |
333 | long tv_usec; |
334 | }; |
335 | |
336 | struct linux_timespec |
337 | { |
338 | long tv_sec; |
339 | long tv_nsec; |
340 | }; |
341 | |
342 | struct linux_user_desc { |
343 | uint entry_number; |
344 | ulong base_addr; |
345 | uint limit; |
346 | uint seg_32bit:1; |
347 | int contents:2; |
348 | uint read_exec_only:1; |
349 | uint limit_in_pages:1; |
350 | uint seg_not_present:1; |
351 | uint useable:1; |
352 | }; |