feat(headers): stddef/stdint/stdbool/limits/float/assert + features wiring
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#ifndef VLIBC_SYS_TYPES_H
|
||||
#define VLIBC_SYS_TYPES_H
|
||||
|
||||
/*
|
||||
* vlibc — <sys/types.h>.
|
||||
*
|
||||
* 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 <vlibc/features.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#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 */
|
||||
Reference in New Issue
Block a user