1/* SPDX-License-Identifier: LGPL-2.1 OR MIT */ 2/* 3 * Standard definitions and types for NOLIBC 4 * Copyright (C) 2017-2021 Willy Tarreau <w@1wt.eu> 5 */ 6 7#ifndef _NOLIBC_STD_H 8#define _NOLIBC_STD_H 9 10/* Declare a few quite common macros and types that usually are in stdlib.h, 11 * stdint.h, ctype.h, unistd.h and a few other common locations. Please place 12 * integer type definitions and generic macros here, but avoid OS-specific and 13 * syscall-specific stuff, as this file is expected to be included very early. 14 */ 15 16/* note: may already be defined */ 17#ifndef NULL 18#define NULL ((void *)0) 19#endif 20 21#include "stdint.h" 22 23/* those are commonly provided by sys/types.h */ 24typedef unsigned int dev_t; 25typedef unsigned long ino_t; 26typedef unsigned int mode_t; 27typedef signed int pid_t; 28typedef unsigned int uid_t; 29typedef unsigned int gid_t; 30typedef unsigned long nlink_t; 31typedef signed long off_t; 32typedef signed long blksize_t; 33typedef signed long blkcnt_t; 34typedef signed long time_t; 35 36#endif /* _NOLIBC_STD_H */ 37