blob: 7c9d9c242fddf4dc5e30ca593136c47d1a452cd3 [file] [log] [blame]
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);