~ubuntu-branches/ubuntu/vivid/golang/vivid

« back to all changes in this revision

Viewing changes to src/pkg/runtime/os_nacl.h

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2014-11-18 15:12:26 UTC
  • mfrom: (14.2.12 vivid-proposed)
  • Revision ID: package-import@ubuntu.com-20141118151226-zug7vn93mn3dtiz3
Tags: 2:1.3.2-1ubuntu1
* Merge from Debian unstable.  Remaining changes:
  - 016-armhf-elf-header.patch: Use correct ELF header for armhf binaries.
  - Support co-installability with gccgo-go tool:
    - d/rules,golang-go.install: Rename bin/go -> bin/golang-go
    - d/golang-go.{postinst,prerm}: Install/remove /usr/bin/go using
      alternatives.
  - d/copyright: Amendments for full compiliance with copyright format.
  - d/control: Demote golang-go.tools to Suggests to support Ubuntu MIR.
  - dropped patches (now upstream):
    - d/p/issue27650045_40001_50001.diff
    - d/p/issue28050043_60001_70001.diff
    - d/p/issue54790044_100001_110001.diff

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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);