github.com/razvanm/vanadium-go-1.3@v0.0.0-20160721203343-4a65068e5915/src/runtime/os_nacl.h (about)

     1  enum {
     2  	NSIG = 32,
     3  	SI_USER = 1,
     4  
     5  	// native_client/src/trusted/service_runtime/include/sys/errno.h
     6  	// The errors are mainly copied from Linux.
     7  	EPERM = 1,  /* Operation not permitted */
     8  	ENOENT = 2,  /* No such file or directory */
     9  	ESRCH = 3,  /* No such process */
    10  	EINTR = 4,  /* Interrupted system call */
    11  	EIO = 5,  /* I/O error */
    12  	ENXIO = 6,  /* No such device or address */
    13  	E2BIG = 7,  /* Argument list too long */
    14  	ENOEXEC = 8,  /* Exec format error */
    15  	EBADF = 9,  /* Bad file number */
    16  	ECHILD = 10,  /* No child processes */
    17  	EAGAIN = 11,  /* Try again */
    18  	ENOMEM = 12,  /* Out of memory */
    19  	EACCES = 13,  /* Permission denied */
    20  	EFAULT = 14,  /* Bad address */
    21  	EBUSY = 16,  /* Device or resource busy */
    22  	EEXIST = 17,  /* File exists */
    23  	EXDEV = 18,  /* Cross-device link */
    24  	ENODEV = 19,  /* No such device */
    25  	ENOTDIR = 20,  /* Not a directory */
    26  	EISDIR = 21,  /* Is a directory */
    27  	EINVAL = 22,  /* Invalid argument */
    28  	ENFILE = 23,  /* File table overflow */
    29  	EMFILE = 24,  /* Too many open files */
    30  	ENOTTY = 25,  /* Not a typewriter */
    31  	EFBIG = 27,  /* File too large */
    32  	ENOSPC = 28,  /* No space left on device */
    33  	ESPIPE = 29,  /* Illegal seek */
    34  	EROFS = 30,  /* Read-only file system */
    35  	EMLINK = 31,  /* Too many links */
    36  	EPIPE = 32,  /* Broken pipe */
    37  	ENAMETOOLONG = 36,  /* File name too long */
    38  	ENOSYS = 38,  /* Function not implemented */
    39  	EDQUOT = 122, /* Quota exceeded */
    40  	EDOM = 33,   /* Math arg out of domain of func */
    41  	ERANGE = 34, /* Math result not representable */
    42  	EDEADLK = 35,  /* Deadlock condition */
    43  	ENOLCK = 37, /* No record locks available */
    44  	ENOTEMPTY = 39,  /* Directory not empty */
    45  	ELOOP = 40,  /* Too many symbolic links */
    46  	ENOMSG = 42, /* No message of desired type */
    47  	EIDRM = 43,  /* Identifier removed */
    48  	ECHRNG = 44, /* Channel number out of range */
    49  	EL2NSYNC = 45, /* Level 2 not synchronized */
    50  	EL3HLT = 46, /* Level 3 halted */
    51  	EL3RST = 47, /* Level 3 reset */
    52  	ELNRNG = 48, /* Link number out of range */
    53  	EUNATCH = 49,  /* Protocol driver not attached */
    54  	ENOCSI = 50, /* No CSI structure available */
    55  	EL2HLT = 51, /* Level 2 halted */
    56  	EBADE = 52,  /* Invalid exchange */
    57  	EBADR = 53,  /* Invalid request descriptor */
    58  	EXFULL = 54, /* Exchange full */
    59  	ENOANO = 55, /* No anode */
    60  	EBADRQC = 56,  /* Invalid request code */
    61  	EBADSLT = 57,  /* Invalid slot */
    62  	EDEADLOCK = EDEADLK,  /* File locking deadlock error */
    63  	EBFONT = 59, /* Bad font file fmt */
    64  	ENOSTR = 60, /* Device not a stream */
    65  	ENODATA = 61,  /* No data (for no delay io) */
    66  	ETIME = 62,  /* Timer expired */
    67  	ENOSR = 63,  /* Out of streams resources */
    68  	ENONET = 64, /* Machine is not on the network */
    69  	ENOPKG = 65, /* Package not installed */
    70  	EREMOTE = 66,  /* The object is remote */
    71  	ENOLINK = 67,  /* The link has been severed */
    72  	EADV = 68,   /* Advertise error */
    73  	ESRMNT = 69, /* Srmount error */
    74  	ECOMM = 70,  /* Communication error on send */
    75  	EPROTO = 71, /* Protocol error */
    76  	EMULTIHOP = 72,  /* Multihop attempted */
    77  	EDOTDOT = 73,  /* Cross mount point (not really error) */
    78  	EBADMSG = 74,  /* Trying to read unreadable message */
    79  	EOVERFLOW = 75, /* Value too large for defined data type */
    80  	ENOTUNIQ = 76, /* Given log. name not unique */
    81  	EBADFD = 77, /* f.d. invalid for this operation */
    82  	EREMCHG = 78,  /* Remote address changed */
    83  	ELIBACC = 79,  /* Can't access a needed shared lib */
    84  	ELIBBAD = 80,  /* Accessing a corrupted shared lib */
    85  	ELIBSCN = 81,  /* .lib section in a.out corrupted */
    86  	ELIBMAX = 82,  /* Attempting to link in too many libs */
    87  	ELIBEXEC = 83, /* Attempting to exec a shared library */
    88  	EILSEQ = 84,
    89  	EUSERS = 87,
    90  	ENOTSOCK = 88,  /* Socket operation on non-socket */
    91  	EDESTADDRREQ = 89,  /* Destination address required */
    92  	EMSGSIZE = 90,    /* Message too long */
    93  	EPROTOTYPE = 91,  /* Protocol wrong type for socket */
    94  	ENOPROTOOPT = 92, /* Protocol not available */
    95  	EPROTONOSUPPORT = 93, /* Unknown protocol */
    96  	ESOCKTNOSUPPORT = 94, /* Socket type not supported */
    97  	EOPNOTSUPP = 95, /* Operation not supported on transport endpoint */
    98  	EPFNOSUPPORT = 96, /* Protocol family not supported */
    99  	EAFNOSUPPORT = 97, /* Address family not supported by protocol family */
   100  	EADDRINUSE = 98,    /* Address already in use */
   101  	EADDRNOTAVAIL = 99, /* Address not available */
   102  	ENETDOWN = 100,    /* Network interface is not configured */
   103  	ENETUNREACH = 101,   /* Network is unreachable */
   104  	ENETRESET = 102,
   105  	ECONNABORTED = 103,  /* Connection aborted */
   106  	ECONNRESET = 104,  /* Connection reset by peer */
   107  	ENOBUFS = 105, /* No buffer space available */
   108  	EISCONN = 106,   /* Socket is already connected */
   109  	ENOTCONN = 107,    /* Socket is not connected */
   110  	ESHUTDOWN = 108, /* Can't send after socket shutdown */
   111  	ETOOMANYREFS = 109,
   112  	ETIMEDOUT = 110,   /* Connection timed out */
   113  	ECONNREFUSED = 111,  /* Connection refused */
   114  	EHOSTDOWN = 112,   /* Host is down */
   115  	EHOSTUNREACH = 113,  /* Host is unreachable */
   116  	EALREADY = 114,    /* Socket already connected */
   117  	EINPROGRESS = 115,   /* Connection already in progress */
   118  	ESTALE = 116,
   119  	ENOTSUP = EOPNOTSUPP,   /* Not supported */
   120  	ENOMEDIUM = 123,   /* No medium (in tape drive) */
   121  	ECANCELED = 125, /* Operation canceled. */
   122  	ELBIN = 2048,  /* Inode is remote (not really error) */
   123  	EFTYPE = 2049,  /* Inappropriate file type or format */
   124  	ENMFILE = 2050,  /* No more files */
   125  	EPROCLIM = 2051,
   126  	ENOSHARE = 2052,  /* No such host or network path */
   127  	ECASECLASH = 2053,  /* Filename exists with different case */
   128  	EWOULDBLOCK = EAGAIN,      /* Operation would block */
   129  
   130  	// native_client/src/trusted/service_runtime/include/bits/mman.h.
   131  	// NOTE: DO NOT USE native_client/src/shared/imc/nacl_imc_c.h.
   132  	// Those MAP_*values are different from these.
   133  	PROT_NONE	= 0x0,
   134  	PROT_READ	= 0x1,
   135  	PROT_WRITE	= 0x2,
   136  	PROT_EXEC	= 0x4,
   137  
   138  	MAP_SHARED	= 0x1,
   139  	MAP_PRIVATE	= 0x2,
   140  	MAP_FIXED	= 0x10,
   141  	MAP_ANON	= 0x20,
   142  };
   143  typedef byte* kevent_udata;
   144  
   145  int32	runtime·nacl_exception_stack(byte*, int32);
   146  int32	runtime·nacl_exception_handler(void*, void*);
   147  int32	runtime·nacl_sem_create(int32);
   148  int32	runtime·nacl_sem_wait(int32);
   149  int32	runtime·nacl_sem_post(int32);
   150  int32	runtime·nacl_mutex_create(int32);
   151  int32	runtime·nacl_mutex_lock(int32);
   152  int32	runtime·nacl_mutex_trylock(int32);
   153  int32	runtime·nacl_mutex_unlock(int32);
   154  int32	runtime·nacl_cond_create(int32);
   155  int32	runtime·nacl_cond_wait(int32, int32);
   156  int32	runtime·nacl_cond_signal(int32);
   157  int32	runtime·nacl_cond_broadcast(int32);
   158  int32	runtime·nacl_cond_timed_wait_abs(int32, int32, Timespec*);
   159  int32	runtime·nacl_thread_create(void*, void*, void*, void*);
   160  int32	runtime·nacl_nanosleep(Timespec*, Timespec*);
   161  
   162  void	runtime·sigpanic(void);