Source file
src/syscall/tables_js.go
Documentation: syscall
1
2
3
4
5
6
7
8 package syscall
9
10 import "runtime"
11
12
13
14
15
16
17 const (
18 sys_null = 1
19 sys_nameservice = 2
20 sys_dup = 8
21 sys_dup2 = 9
22 sys_open = 10
23 sys_close = 11
24 sys_read = 12
25 sys_write = 13
26 sys_lseek = 14
27 sys_stat = 16
28 sys_fstat = 17
29 sys_chmod = 18
30 sys_isatty = 19
31 sys_brk = 20
32 sys_mmap = 21
33 sys_munmap = 22
34 sys_getdents = 23
35 sys_mprotect = 24
36 sys_list_mappings = 25
37 sys_exit = 30
38 sys_getpid = 31
39 sys_sched_yield = 32
40 sys_sysconf = 33
41 sys_gettimeofday = 40
42 sys_clock = 41
43 sys_nanosleep = 42
44 sys_clock_getres = 43
45 sys_clock_gettime = 44
46 sys_mkdir = 45
47 sys_rmdir = 46
48 sys_chdir = 47
49 sys_getcwd = 48
50 sys_unlink = 49
51 sys_imc_makeboundsock = 60
52 sys_imc_accept = 61
53 sys_imc_connect = 62
54 sys_imc_sendmsg = 63
55 sys_imc_recvmsg = 64
56 sys_imc_mem_obj_create = 65
57 sys_imc_socketpair = 66
58 sys_mutex_create = 70
59 sys_mutex_lock = 71
60 sys_mutex_trylock = 72
61 sys_mutex_unlock = 73
62 sys_cond_create = 74
63 sys_cond_wait = 75
64 sys_cond_signal = 76
65 sys_cond_broadcast = 77
66 sys_cond_timed_wait_abs = 79
67 sys_thread_create = 80
68 sys_thread_exit = 81
69 sys_tls_init = 82
70 sys_thread_nice = 83
71 sys_tls_get = 84
72 sys_second_tls_set = 85
73 sys_second_tls_get = 86
74 sys_exception_handler = 87
75 sys_exception_stack = 88
76 sys_exception_clear_flag = 89
77 sys_sem_create = 100
78 sys_sem_wait = 101
79 sys_sem_post = 102
80 sys_sem_get_value = 103
81 sys_dyncode_create = 104
82 sys_dyncode_modify = 105
83 sys_dyncode_delete = 106
84 sys_test_infoleak = 109
85 sys_test_crash = 110
86 sys_test_syscall_1 = 111
87 sys_test_syscall_2 = 112
88 sys_futex_wait_abs = 120
89 sys_futex_wake = 121
90 sys_pread = 130
91 sys_pwrite = 131
92 sys_truncate = 140
93 sys_lstat = 141
94 sys_link = 142
95 sys_rename = 143
96 sys_symlink = 144
97 sys_access = 145
98 sys_readlink = 146
99 sys_utimes = 147
100 sys_get_random_bytes = 150
101 )
102
103
104 const (
105
106
107 EPERM Errno = 1
108 ENOENT Errno = 2
109 ESRCH Errno = 3
110 EINTR Errno = 4
111 EIO Errno = 5
112 ENXIO Errno = 6
113 E2BIG Errno = 7
114 ENOEXEC Errno = 8
115 EBADF Errno = 9
116 ECHILD Errno = 10
117 EAGAIN Errno = 11
118 ENOMEM Errno = 12
119 EACCES Errno = 13
120 EFAULT Errno = 14
121 EBUSY Errno = 16
122 EEXIST Errno = 17
123 EXDEV Errno = 18
124 ENODEV Errno = 19
125 ENOTDIR Errno = 20
126 EISDIR Errno = 21
127 EINVAL Errno = 22
128 ENFILE Errno = 23
129 EMFILE Errno = 24
130 ENOTTY Errno = 25
131 EFBIG Errno = 27
132 ENOSPC Errno = 28
133 ESPIPE Errno = 29
134 EROFS Errno = 30
135 EMLINK Errno = 31
136 EPIPE Errno = 32
137 ENAMETOOLONG Errno = 36
138 ENOSYS Errno = 38
139 EDQUOT Errno = 122
140 EDOM Errno = 33
141 ERANGE Errno = 34
142 EDEADLK Errno = 35
143 ENOLCK Errno = 37
144 ENOTEMPTY Errno = 39
145 ELOOP Errno = 40
146 ENOMSG Errno = 42
147 EIDRM Errno = 43
148 ECHRNG Errno = 44
149 EL2NSYNC Errno = 45
150 EL3HLT Errno = 46
151 EL3RST Errno = 47
152 ELNRNG Errno = 48
153 EUNATCH Errno = 49
154 ENOCSI Errno = 50
155 EL2HLT Errno = 51
156 EBADE Errno = 52
157 EBADR Errno = 53
158 EXFULL Errno = 54
159 ENOANO Errno = 55
160 EBADRQC Errno = 56
161 EBADSLT Errno = 57
162 EDEADLOCK Errno = EDEADLK
163 EBFONT Errno = 59
164 ENOSTR Errno = 60
165 ENODATA Errno = 61
166 ETIME Errno = 62
167 ENOSR Errno = 63
168 ENONET Errno = 64
169 ENOPKG Errno = 65
170 EREMOTE Errno = 66
171 ENOLINK Errno = 67
172 EADV Errno = 68
173 ESRMNT Errno = 69
174 ECOMM Errno = 70
175 EPROTO Errno = 71
176 EMULTIHOP Errno = 72
177 EDOTDOT Errno = 73
178 EBADMSG Errno = 74
179 EOVERFLOW Errno = 75
180 ENOTUNIQ Errno = 76
181 EBADFD Errno = 77
182 EREMCHG Errno = 78
183 ELIBACC Errno = 79
184 ELIBBAD Errno = 80
185 ELIBSCN Errno = 81
186 ELIBMAX Errno = 82
187 ELIBEXEC Errno = 83
188 EILSEQ Errno = 84
189 EUSERS Errno = 87
190 ENOTSOCK Errno = 88
191 EDESTADDRREQ Errno = 89
192 EMSGSIZE Errno = 90
193 EPROTOTYPE Errno = 91
194 ENOPROTOOPT Errno = 92
195 EPROTONOSUPPORT Errno = 93
196 ESOCKTNOSUPPORT Errno = 94
197 EOPNOTSUPP Errno = 95
198 EPFNOSUPPORT Errno = 96
199 EAFNOSUPPORT Errno = 97
200 EADDRINUSE Errno = 98
201 EADDRNOTAVAIL Errno = 99
202 ENETDOWN Errno = 100
203 ENETUNREACH Errno = 101
204 ENETRESET Errno = 102
205 ECONNABORTED Errno = 103
206 ECONNRESET Errno = 104
207 ENOBUFS Errno = 105
208 EISCONN Errno = 106
209 ENOTCONN Errno = 107
210 ESHUTDOWN Errno = 108
211 ETOOMANYREFS Errno = 109
212 ETIMEDOUT Errno = 110
213 ECONNREFUSED Errno = 111
214 EHOSTDOWN Errno = 112
215 EHOSTUNREACH Errno = 113
216 EALREADY Errno = 114
217 EINPROGRESS Errno = 115
218 ESTALE Errno = 116
219 ENOTSUP Errno = EOPNOTSUPP
220 ENOMEDIUM Errno = 123
221 ECANCELED Errno = 125
222 ELBIN Errno = 2048
223 EFTYPE Errno = 2049
224 ENMFILE Errno = 2050
225 EPROCLIM Errno = 2051
226 ENOSHARE Errno = 2052
227 ECASECLASH Errno = 2053
228 EWOULDBLOCK Errno = EAGAIN
229 )
230
231
232 var errorstr = [...]string{
233 EPERM: "Operation not permitted",
234 ENOENT: "No such file or directory",
235 ESRCH: "No such process",
236 EINTR: "Interrupted system call",
237 EIO: "I/O error",
238 ENXIO: "No such device or address",
239 E2BIG: "Argument list too long",
240 ENOEXEC: "Exec format error",
241 EBADF: "Bad file number",
242 ECHILD: "No child processes",
243 EAGAIN: "Try again",
244 ENOMEM: "Out of memory",
245 EACCES: "Permission denied",
246 EFAULT: "Bad address",
247 EBUSY: "Device or resource busy",
248 EEXIST: "File exists",
249 EXDEV: "Cross-device link",
250 ENODEV: "No such device",
251 ENOTDIR: "Not a directory",
252 EISDIR: "Is a directory",
253 EINVAL: "Invalid argument",
254 ENFILE: "File table overflow",
255 EMFILE: "Too many open files",
256 ENOTTY: "Not a typewriter",
257 EFBIG: "File too large",
258 ENOSPC: "No space left on device",
259 ESPIPE: "Illegal seek",
260 EROFS: "Read-only file system",
261 EMLINK: "Too many links",
262 EPIPE: "Broken pipe",
263 ENAMETOOLONG: "File name too long",
264 ENOSYS: "not implemented on " + runtime.GOOS,
265 EDQUOT: "Quota exceeded",
266 EDOM: "Math arg out of domain of func",
267 ERANGE: "Math result not representable",
268 EDEADLK: "Deadlock condition",
269 ENOLCK: "No record locks available",
270 ENOTEMPTY: "Directory not empty",
271 ELOOP: "Too many symbolic links",
272 ENOMSG: "No message of desired type",
273 EIDRM: "Identifier removed",
274 ECHRNG: "Channel number out of range",
275 EL2NSYNC: "Level 2 not synchronized",
276 EL3HLT: "Level 3 halted",
277 EL3RST: "Level 3 reset",
278 ELNRNG: "Link number out of range",
279 EUNATCH: "Protocol driver not attached",
280 ENOCSI: "No CSI structure available",
281 EL2HLT: "Level 2 halted",
282 EBADE: "Invalid exchange",
283 EBADR: "Invalid request descriptor",
284 EXFULL: "Exchange full",
285 ENOANO: "No anode",
286 EBADRQC: "Invalid request code",
287 EBADSLT: "Invalid slot",
288 EBFONT: "Bad font file fmt",
289 ENOSTR: "Device not a stream",
290 ENODATA: "No data (for no delay io)",
291 ETIME: "Timer expired",
292 ENOSR: "Out of streams resources",
293 ENONET: "Machine is not on the network",
294 ENOPKG: "Package not installed",
295 EREMOTE: "The object is remote",
296 ENOLINK: "The link has been severed",
297 EADV: "Advertise error",
298 ESRMNT: "Srmount error",
299 ECOMM: "Communication error on send",
300 EPROTO: "Protocol error",
301 EMULTIHOP: "Multihop attempted",
302 EDOTDOT: "Cross mount point (not really error)",
303 EBADMSG: "Trying to read unreadable message",
304 EOVERFLOW: "Value too large for defined data type",
305 ENOTUNIQ: "Given log. name not unique",
306 EBADFD: "f.d. invalid for this operation",
307 EREMCHG: "Remote address changed",
308 ELIBACC: "Can't access a needed shared lib",
309 ELIBBAD: "Accessing a corrupted shared lib",
310 ELIBSCN: ".lib section in a.out corrupted",
311 ELIBMAX: "Attempting to link in too many libs",
312 ELIBEXEC: "Attempting to exec a shared library",
313 ENOTSOCK: "Socket operation on non-socket",
314 EDESTADDRREQ: "Destination address required",
315 EMSGSIZE: "Message too long",
316 EPROTOTYPE: "Protocol wrong type for socket",
317 ENOPROTOOPT: "Protocol not available",
318 EPROTONOSUPPORT: "Unknown protocol",
319 ESOCKTNOSUPPORT: "Socket type not supported",
320 EOPNOTSUPP: "Operation not supported on transport endpoint",
321 EPFNOSUPPORT: "Protocol family not supported",
322 EAFNOSUPPORT: "Address family not supported by protocol family",
323 EADDRINUSE: "Address already in use",
324 EADDRNOTAVAIL: "Address not available",
325 ENETDOWN: "Network interface is not configured",
326 ENETUNREACH: "Network is unreachable",
327 ECONNABORTED: "Connection aborted",
328 ECONNRESET: "Connection reset by peer",
329 ENOBUFS: "No buffer space available",
330 EISCONN: "Socket is already connected",
331 ENOTCONN: "Socket is not connected",
332 ESHUTDOWN: "Can't send after socket shutdown",
333 ETIMEDOUT: "Connection timed out",
334 ECONNREFUSED: "Connection refused",
335 EHOSTDOWN: "Host is down",
336 EHOSTUNREACH: "Host is unreachable",
337 EALREADY: "Socket already connected",
338 EINPROGRESS: "Connection already in progress",
339 ENOMEDIUM: "No medium (in tape drive)",
340 ECANCELED: "Operation canceled.",
341 ELBIN: "Inode is remote (not really error)",
342 EFTYPE: "Inappropriate file type or format",
343 ENMFILE: "No more files",
344 ENOSHARE: "No such host or network path",
345 ECASECLASH: "Filename exists with different case",
346 }
347
348
349
350 var (
351 errEAGAIN error = EAGAIN
352 errEINVAL error = EINVAL
353 errENOENT error = ENOENT
354 )
355
356
357
358 func errnoErr(e Errno) error {
359 switch e {
360 case 0:
361 return nil
362 case EAGAIN:
363 return errEAGAIN
364 case EINVAL:
365 return errEINVAL
366 case ENOENT:
367 return errENOENT
368 }
369 return e
370 }
371
372 var errnoByCode = map[string]Errno{
373 "EPERM": EPERM,
374 "ENOENT": ENOENT,
375 "ESRCH": ESRCH,
376 "EINTR": EINTR,
377 "EIO": EIO,
378 "ENXIO": ENXIO,
379 "E2BIG": E2BIG,
380 "ENOEXEC": ENOEXEC,
381 "EBADF": EBADF,
382 "ECHILD": ECHILD,
383 "EAGAIN": EAGAIN,
384 "ENOMEM": ENOMEM,
385 "EACCES": EACCES,
386 "EFAULT": EFAULT,
387 "EBUSY": EBUSY,
388 "EEXIST": EEXIST,
389 "EXDEV": EXDEV,
390 "ENODEV": ENODEV,
391 "ENOTDIR": ENOTDIR,
392 "EISDIR": EISDIR,
393 "EINVAL": EINVAL,
394 "ENFILE": ENFILE,
395 "EMFILE": EMFILE,
396 "ENOTTY": ENOTTY,
397 "EFBIG": EFBIG,
398 "ENOSPC": ENOSPC,
399 "ESPIPE": ESPIPE,
400 "EROFS": EROFS,
401 "EMLINK": EMLINK,
402 "EPIPE": EPIPE,
403 "ENAMETOOLONG": ENAMETOOLONG,
404 "ENOSYS": ENOSYS,
405 "EDQUOT": EDQUOT,
406 "EDOM": EDOM,
407 "ERANGE": ERANGE,
408 "EDEADLK": EDEADLK,
409 "ENOLCK": ENOLCK,
410 "ENOTEMPTY": ENOTEMPTY,
411 "ELOOP": ELOOP,
412 "ENOMSG": ENOMSG,
413 "EIDRM": EIDRM,
414 "ECHRNG": ECHRNG,
415 "EL2NSYNC": EL2NSYNC,
416 "EL3HLT": EL3HLT,
417 "EL3RST": EL3RST,
418 "ELNRNG": ELNRNG,
419 "EUNATCH": EUNATCH,
420 "ENOCSI": ENOCSI,
421 "EL2HLT": EL2HLT,
422 "EBADE": EBADE,
423 "EBADR": EBADR,
424 "EXFULL": EXFULL,
425 "ENOANO": ENOANO,
426 "EBADRQC": EBADRQC,
427 "EBADSLT": EBADSLT,
428 "EDEADLOCK": EDEADLOCK,
429 "EBFONT": EBFONT,
430 "ENOSTR": ENOSTR,
431 "ENODATA": ENODATA,
432 "ETIME": ETIME,
433 "ENOSR": ENOSR,
434 "ENONET": ENONET,
435 "ENOPKG": ENOPKG,
436 "EREMOTE": EREMOTE,
437 "ENOLINK": ENOLINK,
438 "EADV": EADV,
439 "ESRMNT": ESRMNT,
440 "ECOMM": ECOMM,
441 "EPROTO": EPROTO,
442 "EMULTIHOP": EMULTIHOP,
443 "EDOTDOT": EDOTDOT,
444 "EBADMSG": EBADMSG,
445 "EOVERFLOW": EOVERFLOW,
446 "ENOTUNIQ": ENOTUNIQ,
447 "EBADFD": EBADFD,
448 "EREMCHG": EREMCHG,
449 "ELIBACC": ELIBACC,
450 "ELIBBAD": ELIBBAD,
451 "ELIBSCN": ELIBSCN,
452 "ELIBMAX": ELIBMAX,
453 "ELIBEXEC": ELIBEXEC,
454 "EILSEQ": EILSEQ,
455 "EUSERS": EUSERS,
456 "ENOTSOCK": ENOTSOCK,
457 "EDESTADDRREQ": EDESTADDRREQ,
458 "EMSGSIZE": EMSGSIZE,
459 "EPROTOTYPE": EPROTOTYPE,
460 "ENOPROTOOPT": ENOPROTOOPT,
461 "EPROTONOSUPPORT": EPROTONOSUPPORT,
462 "ESOCKTNOSUPPORT": ESOCKTNOSUPPORT,
463 "EOPNOTSUPP": EOPNOTSUPP,
464 "EPFNOSUPPORT": EPFNOSUPPORT,
465 "EAFNOSUPPORT": EAFNOSUPPORT,
466 "EADDRINUSE": EADDRINUSE,
467 "EADDRNOTAVAIL": EADDRNOTAVAIL,
468 "ENETDOWN": ENETDOWN,
469 "ENETUNREACH": ENETUNREACH,
470 "ENETRESET": ENETRESET,
471 "ECONNABORTED": ECONNABORTED,
472 "ECONNRESET": ECONNRESET,
473 "ENOBUFS": ENOBUFS,
474 "EISCONN": EISCONN,
475 "ENOTCONN": ENOTCONN,
476 "ESHUTDOWN": ESHUTDOWN,
477 "ETOOMANYREFS": ETOOMANYREFS,
478 "ETIMEDOUT": ETIMEDOUT,
479 "ECONNREFUSED": ECONNREFUSED,
480 "EHOSTDOWN": EHOSTDOWN,
481 "EHOSTUNREACH": EHOSTUNREACH,
482 "EALREADY": EALREADY,
483 "EINPROGRESS": EINPROGRESS,
484 "ESTALE": ESTALE,
485 "ENOTSUP": ENOTSUP,
486 "ENOMEDIUM": ENOMEDIUM,
487 "ECANCELED": ECANCELED,
488 "ELBIN": ELBIN,
489 "EFTYPE": EFTYPE,
490 "ENMFILE": ENMFILE,
491 "EPROCLIM": EPROCLIM,
492 "ENOSHARE": ENOSHARE,
493 "ECASECLASH": ECASECLASH,
494 "EWOULDBLOCK": EWOULDBLOCK,
495 }
496
View as plain text