SYS_TYPES.H(7) Miscellaneous Information Manual SYS_TYPES.H(7)

sys/types.hdata types

#include <sys/types.h>

The <sys/types.h> header shall define at least the following types:

Used for file block counts.
Used for block sizes.
Used for system times in clock ticks or CLOCKS_PER_SEC; see <time.h> .
Used for clock ID type in the clock and timer functions.
Used for device IDs.
[XSI] Used for file system block counts.
[XSI] Used for file system file counts.
Used for group IDs.
Used as a general identifier; can be used to contain at least a pid_t , uid_t , or gid_t .
Used for file serial numbers.
[XSI] Used for XSI interprocess communication.
Used for some file attributes.
Used for link counts.
Used for file sizes.
Used for process IDs and process group IDs.
Used to identify a thread attribute object.
Used to identify a barrier.
Used to define a barrier attributes object.
Used for condition variables.
Used to identify a condition attribute object.
Used for thread-specific data keys.
Used for mutexes.
Used to identify a mutex attribute object.
Used for dynamic package initialization.
Used for read-write locks.
Used for read-write lock attributes.
Used to identify a spin lock.
Used to identify a thread.
Used for sizes of objects.
Used for a count of bytes or an error indication.
[XSI] Used for time in microseconds.
Used for time in seconds.
Used for timer ID returned by () .

[OB TRC] Also used to identify a trace stream attributes object.

[OB TRC] Used to identify a trace event type.
[OB TEF] Used to identify a trace event type set.
[OB TRC] Used to identify a trace stream.
Used for user IDs.

All of the types shall be defined as arithmetic types of an appropriate length, with the following exceptions:

pthread_attr_t pthread_barrier_t pthread_barrierattr_t pthread_cond_t pthread_condattr_t pthread_key_t pthread_mutex_t pthread_mutexattr_t pthread_once_t pthread_rwlock_t pthread_rwlockattr_t pthread_spinlock_t pthread_t [OB TRC] trace_attr_t trace_event_id_t [OB TEF] trace_event_set_t [OB TRC] trace_id_t

Additionally:

  • shall be an integer type.
  • and off_t shall be signed integer types.
  • fsblkcnt_t, fsfilcnt_t, and ino_t shall be defined as unsigned integer types.
  • shall be an unsigned integer type.
  • , pid_t, and ssize_t shall be signed integer types.
  • and clock_t shall be integer or real-floating types.

The type ssize_t shall be capable of storing values at least in the range [-1, {SSIZE_MAX}].

[XSI] The type suseconds_t shall be a signed integer type capable of storing values at least in the range [-1, 1000000].

The implementation shall support one or more programming environments in which the widths of blksize_t, pid_t, size_t, ssize_t, and suseconds_t are no greater than the width of type . The names of these programming environments can be obtained using the confstr(3) function or the getconf(1) utility.

There are no defined comparison or assignment operators for the following types:

pthread_attr_t pthread_barrier_t pthread_barrierattr_t pthread_cond_t pthread_condattr_t pthread_mutex_t pthread_mutexattr_t pthread_rwlock_t pthread_rwlockattr_t pthread_spinlock_t [OB TRC] trace_attr_t

None.

None.

None.

<time.h>

XSH confstr(3)

XCU getconf(1)

First released in Issue 1. Derived from Issue 1 of the SVID.

The clockid_t and timer_t types are defined for alignment with the POSIX Realtime Extension.

The types blkcnt_t, blksize_t, fsblkcnt_t, fsfilcnt_t, and suseconds_t are added.

Large File System extensions are added.

Updated for alignment with the POSIX Threads Extension.

The pthread_barrier_t, pthread_barrierattr_t, and pthread_spinlock_t types are added for alignment with IEEE Std 1003.1j-2000.

The margin code is changed from XSI to THR for the pthread_rwlock_t and pthread_rwlockattr_t types as Read-Write Locks have been absorbed into the POSIX Threads option. The threads types are marked THR.

IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 2-2004, item XBD/TC2/D6/26 is applied, adding pthread_t to the list of types that are not required to be arithmetic types, thus allowing pthread_t to be defined as a structure.

Austin Group Interpretation 1003.1-2001 #033 is applied, requiring key_t to be an arithmetic type.

The Trace option types are marked obsolescent.

The clock_t and id_t types are moved from the XSI option to the Base.

The pthread_barrier_t and pthread_barrierattr_t types are moved from the Barriers option to the Base.

The pthread_spinlock_t type is moved from the Spin Locks option to the Base.

Functionality relating to the Timers and Threads options is moved to the Base.

January 1, 2008 posix.fail