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