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