#ifndef VLIBC_SYS_TYPES_H #define VLIBC_SYS_TYPES_H /* * vlibc — . * * The POSIX base scalar types. This public header is authoritative for * public consumers; src/internal/types.h mirrors the same x86_64 LP64 * choices for internal use (both agree today — see the learnings note). * Widths follow the Linux x86_64 ABI, not the ISO minimums: long is 64-bit. */ #include #include #if VLIBC_HAS_HEADER_SYS_TYPES_H /* Signed type for byte counts and read()/write() results (x86_64: long). */ typedef __PTRDIFF_TYPE__ ssize_t; /* Calendar time in seconds. */ typedef long time_t; /* Clock ticks (times(2)). */ typedef long clock_t; /* Clock id (clock_gettime(2)). */ typedef int clockid_t; /* Timer id (timer_create(2)). */ typedef void *timer_t; /* Process ID. */ typedef int pid_t; /* User and group IDs. */ typedef unsigned int uid_t; typedef unsigned int gid_t; /* General identifier. */ typedef unsigned int id_t; /* System V IPC key. */ typedef int key_t; /* File offset. */ typedef long off_t; /* File mode bits (and permissions). */ typedef unsigned int mode_t; /* Device and inode numbers. */ typedef unsigned long long dev_t; typedef unsigned long long ino_t; /* Hard link count. */ typedef unsigned long long nlink_t; /* Block counts and sizes. */ typedef long blkcnt_t; typedef long blksize_t; /* File-system block and file counts (statvfs). */ typedef unsigned long fsblkcnt_t; typedef unsigned long fsfilcnt_t; /* Microsecond intervals (timeval). */ typedef long suseconds_t; typedef unsigned int useconds_t; /* Socket address lengths. */ typedef unsigned int socklen_t; #endif /* VLIBC_HAS_HEADER_SYS_TYPES_H */ #endif /* VLIBC_SYS_TYPES_H */