Use macros to allow prefixing C runtime library symbols
[monolithium.git] / libraries / mlcrt / include / errno.h
1 /*
2  * errno.h
3  *
4  * Copyright (C) 2019 Aleksandar Andrejevic <theflash@sdf.lonestar.org>
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Affero General Public License as
8  * published by the Free Software Foundation, either version 3 of the
9  * License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Affero General Public License for more details.
15  *
16  * You should have received a copy of the GNU Affero General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef _ERRNO_H_
21 #define _ERRNO_H_
22
23 #include <mlcrt.h>
24 #include <stdint.h>
25
26 #define EPERM        1
27 #define ENOENT       2
28 #define ESRCH        3
29 #define EINTR        4
30 #define EIO          5
31 #define ENXIO        6
32 #define E2BIG        7
33 #define ENOEXEC      8
34 #define EBADF        9
35 #define ECHILD       10
36 #define EAGAIN       11
37 #define ENOMEM       12
38 #define EACCES       13
39 #define EFAULT       14
40 #define EBUSY        16
41 #define EEXIST       17
42 #define EXDEV        18
43 #define ENODEV       19
44 #define ENOTDIR      20
45 #define EISDIR       21
46 #define EINVAL       22
47 #define ENFILE       23
48 #define EMFILE       24
49 #define ENOTTY       25
50 #define EFBIG        27
51 #define ENOSPC       28
52 #define ESPIPE       29
53 #define EROFS        30
54 #define EMLINK       31
55 #define EPIPE        32
56 #define EDOM         33
57 #define ERANGE       34
58 #define EDEADLK      36
59 #define EDEADLOCK    EDEADLK
60 #define ENAMETOOLONG 38
61 #define ENOLCK       39
62 #define ENOSYS       40
63 #define ENOTEMPTY    41
64 #define EILSEQ       42
65 #define ECANCELED    43
66 #define ETIMEDOUT    44
67 #define ETOOSMALL    45
68 #define EOVERFLOW    46
69
70 extern int __CRT_PUBLIC(errno);
71
72 int __CRT_PRIVATE(translate_error)(uint32_t status_code);
73
74 #endif
75