78 lines
1.7 KiB
C
78 lines
1.7 KiB
C
#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 */
|