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