Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
0002 /*
0003  * Minimal errno definitions for NOLIBC
0004  * Copyright (C) 2017-2022 Willy Tarreau <w@1wt.eu>
0005  */
0006 
0007 #ifndef _NOLIBC_ERRNO_H
0008 #define _NOLIBC_ERRNO_H
0009 
0010 #include <asm/errno.h>
0011 
0012 /* this way it will be removed if unused */
0013 static int errno;
0014 
0015 #ifndef NOLIBC_IGNORE_ERRNO
0016 #define SET_ERRNO(v) do { errno = (v); } while (0)
0017 #else
0018 #define SET_ERRNO(v) do { } while (0)
0019 #endif
0020 
0021 
0022 /* errno codes all ensure that they will not conflict with a valid pointer
0023  * because they all correspond to the highest addressable memory page.
0024  */
0025 #define MAX_ERRNO 4095
0026 
0027 #endif /* _NOLIBC_ERRNO_H */