CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
errno.h
1// Copyright Microsoft and CHERIoT Contributors.
2// SPDX-License-Identifier: MIT
3
4#ifndef _ERRNO_H_
5#define _ERRNO_H_
6
7#define ECOMPARTMENTFAIL 1 // Compartment failed
8#define EPERM 2 // Operation not permitted.
9#define ENOENT 3 // No such file or directory.
10#define ESRCH 4 // No such process.
11#define EINTR 5 // Interrupted function.
12#define EIO 6 // I/O error.
13#define ENXIO 7 // No such device or address.
14#define E2BIG 8 // Argument list too long.
15#define ENOEXEC 9 // Executable file format error.
16#define EBADF 10 // Bad file descriptor.
17#define ECHILD 11 // No child processes.
18#define EAGAIN 12 // Resource unavailable, try again.
19#define ENOMEM 13 // Not enough space.
20#define EACCES 14 // Permission denied.
21#define EFAULT 15 // Bad address.
22#define EBUSY 16 // Device or resource busy.
23#define EEXIST 17 // File exists.
24#define EXDEV 18 // Cross-device link.
25#define ENODEV 19 // No such device.
26#define ENOTDIR 20 // Not a directory or a symbolic link to a directory.
27#define EISDIR 21 // Is a directory.
28#define EINVAL 22 // Invalid argument.
29#define ENFILE 23 // Too many files open in system.
30#define EMFILE 24 // File descriptor value too large.
31#define ENOTTY 25 // Inappropriate I/O control operation.
32#define ETXTBSY 26 // Text file busy.
33#define EFBIG 27 // File too large.
34#define ENOSPC 28 // No space left on device.
35#define ESPIPE 29 // Invalid seek.
36#define EROFS 30 // Read-only file system.
37#define EMLINK 31 // Too many links.
38#define EPIPE 32 // Broken pipe.
39#define EDOM 33 // Math arg out of domain of func.
40#define ERANGE 34 // Result too large.
41#define ENAMETOOLONG 36 // Filename too long.
42#define ENOLCK 37 // No locks available.
43#define ENOSYS 38 // Functionality not supported.
44#define ENOTEMPTY 39 // Directory not empty.
45#define ELOOP 40 // Too many levels of symbolic links.
46#define ENOMSG 42 // No message of the desired type.
47#define EIDRM 43 // Identifier removed.
48#define EDEADLK 45 // Resource deadlock would occur.
49#define EUNATCH 49 // Protocol driver not attached.
50#define EBADE 52 // Invalid exchange.
51#define ENOSTR 60 // Not a STREAM.
52#define ENODATA 61 // No data available.
53#define ETIME 62 // Timer expired.
54#define ENOSR 63 // No STREAM resources.
55#define ENOLINK 67 // Reserved.
56#define EPROTO 71 // Protocol error.
57#define EMULTIHOP 72 // Reserved.
58#define EBADMSG 74 // Bad message.
59#define EFTYPE 79 // Inappropriate file type or format.
60#define EILSEQ 84 // Illegal byte sequence.
61#define ENOTSOCK 88 // Not a socket.
62#define EDESTADDRREQ 89 // Destination address required.
63#define EMSGSIZE 90 // Message too large.
64#define EPROTOTYPE 91 // Protocol wrong type for socket.
65#define ENOPROTOOPT 92 // Protocol not available.
66#define EPROTONOSUPPORT 93 // Protocol not supported.
67#define EOPNOTSUPP 95 // Operation not supported on socket.
68#define EAFNOSUPPORT 97 // Address family not supported.
69#define EADDRINUSE 98 // Address in use.
70#define EADDRNOTAVAIL 99 // Address not available.
71#define ENETDOWN 100 // Network is down.
72#define ENETUNREACH 101 // Network unreachable.
73#define ENETRESET 102 // Connection aborted by network.
74#define ECONNABORTED 103 // Connection aborted.
75#define ECONNRESET 104 // Connection reset.
76#define ENOBUFS 105 // No buffer space available.
77#define EISCONN 106 // Socket is connected.
78#define ENOTCONN 107 // The socket is not connected.
79#define ETIMEDOUT 110 // Connection timed out.
80#define ECONNREFUSED 111 // Connection refused.
81#define EHOSTUNREACH 113 // Host is unreachable.
82#define EALREADY 114 // Connection already in progress.
83#define EINPROGRESS 115 // Operation in progress.
84#define ESTALE 116 // Reserved.
85#define EDQUOT 122 // Reserved.
86#define ENOMEDIUM 123 // No medium inserted.
87#define ECANCELED 125 // Operation canceled.
88#define EOWNERDEAD 130 // Previous owner died.
89#define ENOTRECOVERABLE 131 // State not recoverable.
90#define EOVERFLOW 139 // Value too large to be stored in data type.
91#define ENOTENOUGHSTACK 140 // Insufficient stack space for cross-compartment call.
92#define ENOTENOUGHTRUSTEDSTACK 141 // Insufficient stack space for cross-compartment call.
93#define EWOULDBLOCK EAGAIN // Operation would block.
94#define ENOTSUP EOPNOTSUPP // Not supported.
95#define __ELASTERROR 2000 // Users can add values starting here.
96
97#endif // _ERRNO_H_