17#ifndef ZEPHYR_INCLUDE_POSIX_SYS_TYPES_H_
18#define ZEPHYR_INCLUDE_POSIX_SYS_TYPES_H_
20#include <zephyr/kernel.h>
26#if !defined(_BLKCNT_T_DECLARED) && !defined(__blkcnt_t_defined)
29#define _BLKCNT_T_DECLARED
30#define __blkcnt_t_defined
33#if !defined(_BLKSIZE_T_DECLARED) && !defined(__blksize_t_defined)
36#define _BLKSIZE_T_DECLARED
37#define __blksize_t_defined
40#if !defined(_CLOCK_T_DECLARED) && !defined(__clock_t_defined)
43#define _CLOCK_T_DECLARED
44#define __clock_t_defined
47#if !defined(_CLOCKID_T_DECLARED) && !defined(__clockid_t_defined)
50#define _CLOCKID_T_DECLARED
51#define __clockid_t_defined
54#if !defined(_DEV_T_DECLARED) && !defined(__dev_t_defined)
57#define _DEV_T_DECLARED
58#define __dev_t_defined
61#if !defined(_FSBLKCNT_T_DECLARED) && !defined(__fsblkcnt_t_defined)
64#define _FSBLKCNT_T_DECLARED
65#define __fsblkcnt_t_defined
68#if !defined(_FSFILCNT_T_DECLARED) && !defined(__fsfilcnt_t_defined)
71#define _FSFILCNT_T_DECLARED
72#define __fsfilcnt_t_defined
75#if !defined(_GID_T_DECLARED) && !defined(__gid_t_defined)
78#define _GID_T_DECLARED
79#define __gid_t_defined
82#if !defined(_INO_T_DECLARED) && !defined(__ino_t_defined)
85#define _INO_T_DECLARED
86#define __ino_t_defined
90#if !defined(_KEY_T_DECLARED) && !defined(__key_t_defined)
93#define _KEY_T_DECLARED
94#define __key_t_defined
97#if !defined(_MODE_T_DECLARED) && !defined(__mode_t_defined)
100#define _MODE_T_DECLARED
101#define __mode_t_defined
104#if !defined(_NLINK_T_DECLARED) && !defined(__nlink_t_defined)
107#define _NLINK_T_DECLARED
108#define __nlink_t_defined
111#if !defined(_OFF_T_DECLARED) && !defined(__off_t_defined)
114#define _OFF_T_DECLARED
115#define __off_t_defined
118#if !defined(_PID_T_DECLARED) && !defined(__pid_t_defined)
121#define _PID_T_DECLARED
122#define __pid_t_defined
129#define __SIZE_TYPE__ unsigned long
132#if !defined(_SSIZE_T_DECLARED) && !defined(__ssize_t_defined)
134#define unsigned signed
135typedef __SIZE_TYPE__ ssize_t;
137#define _SSIZE_T_DECLARED
138#define __ssize_t_defined
141#if !defined(_SUSECONDS_T_DECLARED) && !defined(__suseconds_t_defined)
144#define _SUSECONDS_T_DECLARED
145#define __suseconds_t_defined
151#if __STDC_VERSION__ >= 201112L
158#if !defined(_TIMESPEC_DECLARED) && !defined(__timespec_defined) && !defined(CONFIG_PICOLIBC)
168#define _TIMESPEC_DECLARED
169#define __timespec_defined
175#if !defined(_UID_T_DECLARED) && !defined(__uid_t_defined)
178#define _UID_T_DECLARED
179#define __uid_t_defined
182#if (_POSIX_C_SOURCE < 200809L) || defined(__DOXYGEN__)
183#if !defined(_USECONDS_T_DECLARED) && !defined(__useconds_t_defined)
186#define _USECONDS_T_DECLARED
187#define __useconds_t_defined
195#include <sys/_pthreadtypes.h>
Time value with nanosecond resolution.
long tv_nsec
Nanoseconds [0, 999999999].
POSIX time-of-day types and functions (<sys/time.h>)
unsigned long fsblkcnt_t
Used for file system block counts.
int dev_t
Used for device IDs.
long ino_t
Used for file serial numbers.
unsigned long useconds_t
Used for time in microseconds (obsolescent).
int pid_t
Used for process IDs and process group IDs.
unsigned short gid_t
Used for group IDs.
unsigned long clock_t
Used for system times in clock ticks or CLOCKS_PER_SEC.
unsigned long blksize_t
Used for block sizes.
unsigned long clockid_t
Used for clock ID type in the clock and timer functions.
unsigned short uid_t
Used for user IDs.
int mode_t
Used for file attributes.
unsigned short nlink_t
Used for link counts.
unsigned long key_t
Used for XSI interprocess communication.
long blkcnt_t
Used for file block counts.
unsigned long fsfilcnt_t
Used for file system file counts.
long suseconds_t
Used for time in microseconds.
long off_t
Used for file sizes and offsets.