Black Lives Matter. Support the Equal Justice Initiative.

Source file src/syscall/tables_js.go

Documentation: syscall

     1  // Copyright 2013 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build js && wasm
     6  // +build js,wasm
     7  
     8  package syscall
     9  
    10  import "runtime"
    11  
    12  // These were originally used by Nacl, then later also used by
    13  // js/wasm. Now that they're only used by js/wasm, these numbers are
    14  // just arbitrary.
    15  //
    16  // TODO: delete? replace with something meaningful?
    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  // TODO: Auto-generate some day. (Hard-coded in binaries so not likely to change.)
   104  const (
   105  	// native_client/src/trusted/service_runtime/include/sys/errno.h
   106  	// The errors are mainly copied from Linux.
   107  	EPERM           Errno = 1       /* Operation not permitted */
   108  	ENOENT          Errno = 2       /* No such file or directory */
   109  	ESRCH           Errno = 3       /* No such process */
   110  	EINTR           Errno = 4       /* Interrupted system call */
   111  	EIO             Errno = 5       /* I/O error */
   112  	ENXIO           Errno = 6       /* No such device or address */
   113  	E2BIG           Errno = 7       /* Argument list too long */
   114  	ENOEXEC         Errno = 8       /* Exec format error */
   115  	EBADF           Errno = 9       /* Bad file number */
   116  	ECHILD          Errno = 10      /* No child processes */
   117  	EAGAIN          Errno = 11      /* Try again */
   118  	ENOMEM          Errno = 12      /* Out of memory */
   119  	EACCES          Errno = 13      /* Permission denied */
   120  	EFAULT          Errno = 14      /* Bad address */
   121  	EBUSY           Errno = 16      /* Device or resource busy */
   122  	EEXIST          Errno = 17      /* File exists */
   123  	EXDEV           Errno = 18      /* Cross-device link */
   124  	ENODEV          Errno = 19      /* No such device */
   125  	ENOTDIR         Errno = 20      /* Not a directory */
   126  	EISDIR          Errno = 21      /* Is a directory */
   127  	EINVAL          Errno = 22      /* Invalid argument */
   128  	ENFILE          Errno = 23      /* File table overflow */
   129  	EMFILE          Errno = 24      /* Too many open files */
   130  	ENOTTY          Errno = 25      /* Not a typewriter */
   131  	EFBIG           Errno = 27      /* File too large */
   132  	ENOSPC          Errno = 28      /* No space left on device */
   133  	ESPIPE          Errno = 29      /* Illegal seek */
   134  	EROFS           Errno = 30      /* Read-only file system */
   135  	EMLINK          Errno = 31      /* Too many links */
   136  	EPIPE           Errno = 32      /* Broken pipe */
   137  	ENAMETOOLONG    Errno = 36      /* File name too long */
   138  	ENOSYS          Errno = 38      /* Function not implemented */
   139  	EDQUOT          Errno = 122     /* Quota exceeded */
   140  	EDOM            Errno = 33      /* Math arg out of domain of func */
   141  	ERANGE          Errno = 34      /* Math result not representable */
   142  	EDEADLK         Errno = 35      /* Deadlock condition */
   143  	ENOLCK          Errno = 37      /* No record locks available */
   144  	ENOTEMPTY       Errno = 39      /* Directory not empty */
   145  	ELOOP           Errno = 40      /* Too many symbolic links */
   146  	ENOMSG          Errno = 42      /* No message of desired type */
   147  	EIDRM           Errno = 43      /* Identifier removed */
   148  	ECHRNG          Errno = 44      /* Channel number out of range */
   149  	EL2NSYNC        Errno = 45      /* Level 2 not synchronized */
   150  	EL3HLT          Errno = 46      /* Level 3 halted */
   151  	EL3RST          Errno = 47      /* Level 3 reset */
   152  	ELNRNG          Errno = 48      /* Link number out of range */
   153  	EUNATCH         Errno = 49      /* Protocol driver not attached */
   154  	ENOCSI          Errno = 50      /* No CSI structure available */
   155  	EL2HLT          Errno = 51      /* Level 2 halted */
   156  	EBADE           Errno = 52      /* Invalid exchange */
   157  	EBADR           Errno = 53      /* Invalid request descriptor */
   158  	EXFULL          Errno = 54      /* Exchange full */
   159  	ENOANO          Errno = 55      /* No anode */
   160  	EBADRQC         Errno = 56      /* Invalid request code */
   161  	EBADSLT         Errno = 57      /* Invalid slot */
   162  	EDEADLOCK       Errno = EDEADLK /* File locking deadlock error */
   163  	EBFONT          Errno = 59      /* Bad font file fmt */
   164  	ENOSTR          Errno = 60      /* Device not a stream */
   165  	ENODATA         Errno = 61      /* No data (for no delay io) */
   166  	ETIME           Errno = 62      /* Timer expired */
   167  	ENOSR           Errno = 63      /* Out of streams resources */
   168  	ENONET          Errno = 64      /* Machine is not on the network */
   169  	ENOPKG          Errno = 65      /* Package not installed */
   170  	EREMOTE         Errno = 66      /* The object is remote */
   171  	ENOLINK         Errno = 67      /* The link has been severed */
   172  	EADV            Errno = 68      /* Advertise error */
   173  	ESRMNT          Errno = 69      /* Srmount error */
   174  	ECOMM           Errno = 70      /* Communication error on send */
   175  	EPROTO          Errno = 71      /* Protocol error */
   176  	EMULTIHOP       Errno = 72      /* Multihop attempted */
   177  	EDOTDOT         Errno = 73      /* Cross mount point (not really error) */
   178  	EBADMSG         Errno = 74      /* Trying to read unreadable message */
   179  	EOVERFLOW       Errno = 75      /* Value too large for defined data type */
   180  	ENOTUNIQ        Errno = 76      /* Given log. name not unique */
   181  	EBADFD          Errno = 77      /* f.d. invalid for this operation */
   182  	EREMCHG         Errno = 78      /* Remote address changed */
   183  	ELIBACC         Errno = 79      /* Can't access a needed shared lib */
   184  	ELIBBAD         Errno = 80      /* Accessing a corrupted shared lib */
   185  	ELIBSCN         Errno = 81      /* .lib section in a.out corrupted */
   186  	ELIBMAX         Errno = 82      /* Attempting to link in too many libs */
   187  	ELIBEXEC        Errno = 83      /* Attempting to exec a shared library */
   188  	EILSEQ          Errno = 84
   189  	EUSERS          Errno = 87
   190  	ENOTSOCK        Errno = 88  /* Socket operation on non-socket */
   191  	EDESTADDRREQ    Errno = 89  /* Destination address required */
   192  	EMSGSIZE        Errno = 90  /* Message too long */
   193  	EPROTOTYPE      Errno = 91  /* Protocol wrong type for socket */
   194  	ENOPROTOOPT     Errno = 92  /* Protocol not available */
   195  	EPROTONOSUPPORT Errno = 93  /* Unknown protocol */
   196  	ESOCKTNOSUPPORT Errno = 94  /* Socket type not supported */
   197  	EOPNOTSUPP      Errno = 95  /* Operation not supported on transport endpoint */
   198  	EPFNOSUPPORT    Errno = 96  /* Protocol family not supported */
   199  	EAFNOSUPPORT    Errno = 97  /* Address family not supported by protocol family */
   200  	EADDRINUSE      Errno = 98  /* Address already in use */
   201  	EADDRNOTAVAIL   Errno = 99  /* Address not available */
   202  	ENETDOWN        Errno = 100 /* Network interface is not configured */
   203  	ENETUNREACH     Errno = 101 /* Network is unreachable */
   204  	ENETRESET       Errno = 102
   205  	ECONNABORTED    Errno = 103 /* Connection aborted */
   206  	ECONNRESET      Errno = 104 /* Connection reset by peer */
   207  	ENOBUFS         Errno = 105 /* No buffer space available */
   208  	EISCONN         Errno = 106 /* Socket is already connected */
   209  	ENOTCONN        Errno = 107 /* Socket is not connected */
   210  	ESHUTDOWN       Errno = 108 /* Can't send after socket shutdown */
   211  	ETOOMANYREFS    Errno = 109
   212  	ETIMEDOUT       Errno = 110 /* Connection timed out */
   213  	ECONNREFUSED    Errno = 111 /* Connection refused */
   214  	EHOSTDOWN       Errno = 112 /* Host is down */
   215  	EHOSTUNREACH    Errno = 113 /* Host is unreachable */
   216  	EALREADY        Errno = 114 /* Socket already connected */
   217  	EINPROGRESS     Errno = 115 /* Connection already in progress */
   218  	ESTALE          Errno = 116
   219  	ENOTSUP         Errno = EOPNOTSUPP /* Not supported */
   220  	ENOMEDIUM       Errno = 123        /* No medium (in tape drive) */
   221  	ECANCELED       Errno = 125        /* Operation canceled. */
   222  	ELBIN           Errno = 2048       /* Inode is remote (not really error) */
   223  	EFTYPE          Errno = 2049       /* Inappropriate file type or format */
   224  	ENMFILE         Errno = 2050       /* No more files */
   225  	EPROCLIM        Errno = 2051
   226  	ENOSHARE        Errno = 2052   /* No such host or network path */
   227  	ECASECLASH      Errno = 2053   /* Filename exists with different case */
   228  	EWOULDBLOCK     Errno = EAGAIN /* Operation would block */
   229  )
   230  
   231  // TODO: Auto-generate some day. (Hard-coded in binaries so not likely to change.)
   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  // Do the interface allocations only once for common
   349  // Errno values.
   350  var (
   351  	errEAGAIN error = EAGAIN
   352  	errEINVAL error = EINVAL
   353  	errENOENT error = ENOENT
   354  )
   355  
   356  // errnoErr returns common boxed Errno values, to prevent
   357  // allocations at runtime.
   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