xref: /openbmc/linux/tools/include/nolibc/errno.h (revision 62a9bbf2)
1 /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
2 /*
3  * Minimal errno definitions for NOLIBC
4  * Copyright (C) 2017-2022 Willy Tarreau <w@1wt.eu>
5  */
6 
7 #ifndef _NOLIBC_ERRNO_H
8 #define _NOLIBC_ERRNO_H
9 
10 #include <asm/errno.h>
11 
12 /* this way it will be removed if unused */
13 static int errno;
14 
15 #ifndef NOLIBC_IGNORE_ERRNO
16 #define SET_ERRNO(v) do { errno = (v); } while (0)
17 #else
18 #define SET_ERRNO(v) do { } while (0)
19 #endif
20 
21 
22 /* errno codes all ensure that they will not conflict with a valid pointer
23  * because they all correspond to the highest addressable memory page.
24  */
25 #define MAX_ERRNO 4095
26 
27 /* make sure to include all global symbols */
28 #include "nolibc.h"
29 
30 #endif /* _NOLIBC_ERRNO_H */
31