1967cce19SWilly Tarreau /* SPDX-License-Identifier: LGPL-2.1 OR MIT */ 2967cce19SWilly Tarreau /* 3967cce19SWilly Tarreau * Standard definitions and types for NOLIBC 4967cce19SWilly Tarreau * Copyright (C) 2017-2021 Willy Tarreau <w@1wt.eu> 5967cce19SWilly Tarreau */ 6967cce19SWilly Tarreau 7967cce19SWilly Tarreau #ifndef _NOLIBC_STD_H 8967cce19SWilly Tarreau #define _NOLIBC_STD_H 9967cce19SWilly Tarreau 10967cce19SWilly Tarreau /* Declare a few quite common macros and types that usually are in stdlib.h, 11967cce19SWilly Tarreau * stdint.h, ctype.h, unistd.h and a few other common locations. Please place 12967cce19SWilly Tarreau * integer type definitions and generic macros here, but avoid OS-specific and 13967cce19SWilly Tarreau * syscall-specific stuff, as this file is expected to be included very early. 14967cce19SWilly Tarreau */ 15967cce19SWilly Tarreau 16967cce19SWilly Tarreau /* note: may already be defined */ 17967cce19SWilly Tarreau #ifndef NULL 18967cce19SWilly Tarreau #define NULL ((void *)0) 19967cce19SWilly Tarreau #endif 20967cce19SWilly Tarreau 21*c34da317SVincent Dagonneau #include "stdint.h" 22967cce19SWilly Tarreau 23967cce19SWilly Tarreau /* those are commonly provided by sys/types.h */ 24967cce19SWilly Tarreau typedef unsigned int dev_t; 25967cce19SWilly Tarreau typedef unsigned long ino_t; 26967cce19SWilly Tarreau typedef unsigned int mode_t; 27967cce19SWilly Tarreau typedef signed int pid_t; 28967cce19SWilly Tarreau typedef unsigned int uid_t; 29967cce19SWilly Tarreau typedef unsigned int gid_t; 30967cce19SWilly Tarreau typedef unsigned long nlink_t; 31967cce19SWilly Tarreau typedef signed long off_t; 32967cce19SWilly Tarreau typedef signed long blksize_t; 33967cce19SWilly Tarreau typedef signed long blkcnt_t; 34967cce19SWilly Tarreau typedef signed long time_t; 35967cce19SWilly Tarreau 36967cce19SWilly Tarreau #endif /* _NOLIBC_STD_H */ 37