|
| 1 | +//! Header: `errno.h` |
| 2 | +
|
| 3 | +use crate::prelude::*; |
| 4 | + |
| 5 | +// Standard error codes - verified to match QuRT SDK |
| 6 | +pub const EPERM: c_int = 1; |
| 7 | +pub const ENOENT: c_int = 2; |
| 8 | +pub const ESRCH: c_int = 3; |
| 9 | +pub const EINTR: c_int = 4; |
| 10 | +pub const EIO: c_int = 5; |
| 11 | +pub const ENXIO: c_int = 6; |
| 12 | +pub const E2BIG: c_int = 7; |
| 13 | +pub const ENOEXEC: c_int = 8; |
| 14 | +pub const EBADF: c_int = 9; |
| 15 | +pub const ECHILD: c_int = 10; |
| 16 | +pub const EAGAIN: c_int = 11; |
| 17 | +pub const ENOMEM: c_int = 12; |
| 18 | +pub const EACCES: c_int = 13; |
| 19 | +pub const EFAULT: c_int = 14; |
| 20 | +pub const ENOTBLK: c_int = 15; |
| 21 | +pub const EBUSY: c_int = 16; |
| 22 | +pub const EEXIST: c_int = 17; |
| 23 | +pub const EXDEV: c_int = 18; |
| 24 | +pub const ENODEV: c_int = 19; |
| 25 | +pub const ENOTDIR: c_int = 20; |
| 26 | +pub const EISDIR: c_int = 21; |
| 27 | +pub const EINVAL: c_int = 22; |
| 28 | +pub const ENFILE: c_int = 23; |
| 29 | +pub const EMFILE: c_int = 24; |
| 30 | +pub const ENOTTY: c_int = 25; |
| 31 | +pub const ETXTBSY: c_int = 26; |
| 32 | +pub const EFBIG: c_int = 27; |
| 33 | +pub const ENOSPC: c_int = 28; |
| 34 | +pub const ESPIPE: c_int = 29; |
| 35 | +pub const EROFS: c_int = 30; |
| 36 | +pub const EMLINK: c_int = 31; |
| 37 | +pub const EPIPE: c_int = 32; |
| 38 | +pub const EDOM: c_int = 33; |
| 39 | +pub const ERANGE: c_int = 34; |
| 40 | +pub const EDEADLK: c_int = 35; |
| 41 | +pub const ENAMETOOLONG: c_int = 36; |
| 42 | +pub const ENOLCK: c_int = 37; |
| 43 | +pub const ENOSYS: c_int = 38; |
| 44 | +pub const ENOTEMPTY: c_int = 39; |
| 45 | +pub const ELOOP: c_int = 40; |
| 46 | +pub const EWOULDBLOCK: c_int = EAGAIN; |
| 47 | +pub const ENOMSG: c_int = 42; |
| 48 | +pub const EIDRM: c_int = 43; |
| 49 | +pub const ECHRNG: c_int = 44; |
| 50 | +pub const EL2NSYNC: c_int = 45; |
| 51 | +pub const EL3HLT: c_int = 46; |
| 52 | +pub const EL3RST: c_int = 47; |
| 53 | +pub const ELNRNG: c_int = 48; |
| 54 | +pub const EUNATCH: c_int = 49; |
| 55 | +pub const ENOCSI: c_int = 50; |
| 56 | +pub const EL2HLT: c_int = 51; |
| 57 | +pub const EBADE: c_int = 52; |
| 58 | +pub const EBADR: c_int = 53; |
| 59 | +pub const EXFULL: c_int = 54; |
| 60 | +pub const ENOANO: c_int = 55; |
| 61 | +pub const EBADRQC: c_int = 56; |
| 62 | +pub const EBADSLT: c_int = 57; |
| 63 | +pub const EDEADLOCK: c_int = EDEADLK; |
| 64 | +pub const EBFONT: c_int = 59; |
| 65 | +pub const ENOSTR: c_int = 60; |
| 66 | +pub const ENODATA: c_int = 61; |
| 67 | +pub const ETIME: c_int = 62; |
| 68 | +pub const ENOSR: c_int = 63; |
| 69 | +pub const ENONET: c_int = 64; |
| 70 | +pub const ENOPKG: c_int = 65; |
| 71 | +pub const EREMOTE: c_int = 66; |
| 72 | +pub const ENOLINK: c_int = 67; |
| 73 | +pub const EADV: c_int = 68; |
| 74 | +pub const ESRMNT: c_int = 69; |
| 75 | +pub const ECOMM: c_int = 70; |
| 76 | +pub const EPROTO: c_int = 71; |
| 77 | +pub const EMULTIHOP: c_int = 72; |
| 78 | +pub const EDOTDOT: c_int = 73; |
| 79 | +pub const EBADMSG: c_int = 74; |
| 80 | +pub const EOVERFLOW: c_int = 75; |
| 81 | +pub const ENOTUNIQ: c_int = 76; |
| 82 | +pub const EBADFD: c_int = 77; |
| 83 | +pub const EREMCHG: c_int = 78; |
| 84 | +pub const ELIBACC: c_int = 79; |
| 85 | +pub const ELIBBAD: c_int = 80; |
| 86 | +pub const ELIBSCN: c_int = 81; |
| 87 | +pub const ELIBMAX: c_int = 82; |
| 88 | +pub const ELIBEXEC: c_int = 83; |
| 89 | +pub const EILSEQ: c_int = 84; |
| 90 | +pub const ERESTART: c_int = 85; |
| 91 | +pub const ESTRPIPE: c_int = 86; |
| 92 | +pub const EUSERS: c_int = 87; |
| 93 | +pub const ENOTSOCK: c_int = 88; |
| 94 | +pub const EDESTADDRREQ: c_int = 89; |
| 95 | +pub const EMSGSIZE: c_int = 90; |
| 96 | +pub const EPROTOTYPE: c_int = 91; |
| 97 | +pub const ENOPROTOOPT: c_int = 92; |
| 98 | +pub const EPROTONOSUPPORT: c_int = 93; |
| 99 | +pub const ESOCKTNOSUPPORT: c_int = 94; |
| 100 | +pub const EOPNOTSUPP: c_int = 95; |
| 101 | +pub const ENOTSUP: c_int = EOPNOTSUPP; |
| 102 | +pub const EPFNOSUPPORT: c_int = 96; |
| 103 | +pub const EAFNOSUPPORT: c_int = 97; |
| 104 | +pub const EADDRINUSE: c_int = 98; |
| 105 | +pub const EADDRNOTAVAIL: c_int = 99; |
| 106 | +pub const ENETDOWN: c_int = 100; |
| 107 | +pub const ENETUNREACH: c_int = 101; |
| 108 | +pub const ENETRESET: c_int = 102; |
| 109 | +pub const ECONNABORTED: c_int = 103; |
| 110 | +pub const ECONNRESET: c_int = 104; |
| 111 | +pub const ENOBUFS: c_int = 105; |
| 112 | +pub const EISCONN: c_int = 106; |
| 113 | +pub const ENOTCONN: c_int = 107; |
| 114 | +pub const ESHUTDOWN: c_int = 108; |
| 115 | +pub const ETOOMANYREFS: c_int = 109; |
| 116 | +pub const ETIMEDOUT: c_int = 110; |
| 117 | +pub const ECONNREFUSED: c_int = 111; |
| 118 | +pub const EHOSTDOWN: c_int = 112; |
| 119 | +pub const EHOSTUNREACH: c_int = 113; |
| 120 | +pub const EALREADY: c_int = 114; |
| 121 | +pub const EINPROGRESS: c_int = 115; |
| 122 | +pub const ESTALE: c_int = 116; |
| 123 | +pub const EUCLEAN: c_int = 117; |
| 124 | +pub const ENOTNAM: c_int = 118; |
| 125 | +pub const ENAVAIL: c_int = 119; |
| 126 | +pub const EISNAM: c_int = 120; |
| 127 | +pub const EREMOTEIO: c_int = 121; |
| 128 | +pub const EDQUOT: c_int = 122; |
| 129 | +pub const ENOMEDIUM: c_int = 123; |
| 130 | +pub const EMEDIUMTYPE: c_int = 124; |
| 131 | +pub const ECANCELED: c_int = 125; |
| 132 | +pub const ENOKEY: c_int = 126; |
| 133 | +pub const EKEYEXPIRED: c_int = 127; |
| 134 | +pub const EKEYREVOKED: c_int = 128; |
| 135 | +pub const EKEYREJECTED: c_int = 129; |
| 136 | +pub const EOWNERDEAD: c_int = 130; |
| 137 | +pub const ENOTRECOVERABLE: c_int = 131; |
| 138 | +pub const ERFKILL: c_int = 132; |
| 139 | +pub const EHWPOISON: c_int = 133; |
| 140 | + |
| 141 | +extern "C" { |
| 142 | + // Error number access |
| 143 | + #[link_name = "__errno_location"] |
| 144 | + pub fn __errno_location() -> *mut c_int; |
| 145 | +} |
| 146 | + |
| 147 | +pub unsafe fn errno() -> c_int { |
| 148 | + *__errno_location() |
| 149 | +} |
| 150 | + |
| 151 | +pub unsafe fn set_errno(value: c_int) { |
| 152 | + *__errno_location() = value; |
| 153 | +} |
0 commit comments