Blame man-pages-posix-2013-a/man0p/sys_types.h.0p

Packit 7cfc04
'\" et
Packit 7cfc04
.TH sys_types.h "0P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
Packit 7cfc04
.SH PROLOG
Packit 7cfc04
This manual page is part of the POSIX Programmer's Manual.
Packit 7cfc04
The Linux implementation of this interface may differ (consult
Packit 7cfc04
the corresponding Linux manual page for details of Linux behavior),
Packit 7cfc04
or the interface may not be implemented on Linux.
Packit 7cfc04
Packit 7cfc04
.SH NAME
Packit 7cfc04
sys/types.h
Packit 7cfc04
\(em data types
Packit 7cfc04
.SH SYNOPSIS
Packit 7cfc04
.LP
Packit 7cfc04
.nf
Packit 7cfc04
#include <sys/types.h>
Packit 7cfc04
.fi
Packit 7cfc04
.SH DESCRIPTION
Packit 7cfc04
The
Packit 7cfc04
.IR <sys/types.h> 
Packit 7cfc04
header shall define at least the following types:
Packit 7cfc04
.IP "\fBblkcnt_t\fP" 16
Packit 7cfc04
Used for file block counts.
Packit 7cfc04
.IP "\fBblksize_t\fP" 16
Packit 7cfc04
Used for block sizes.
Packit 7cfc04
.IP "\fBclock_t\fP" 16
Packit 7cfc04
Used for system times in clock ticks or CLOCKS_PER_SEC; see
Packit 7cfc04
.IR <time.h> .
Packit 7cfc04
.IP "\fBclockid_t\fP" 16
Packit 7cfc04
Used for clock ID type in the clock and timer functions.
Packit 7cfc04
.IP "\fBdev_t\fP" 16
Packit 7cfc04
Used for device IDs.
Packit 7cfc04
.IP "\fBfsblkcnt_t\fP" 16
Packit 7cfc04
Used for file system block counts.
Packit 7cfc04
.IP "\fBfsfilcnt_t\fP" 16
Packit 7cfc04
Used for file system file counts.
Packit 7cfc04
.IP "\fBgid_t\fP" 16
Packit 7cfc04
Used for group IDs.
Packit 7cfc04
.IP "\fBid_t\fP" 16
Packit 7cfc04
Used as a general identifier; can be used to contain at least a
Packit 7cfc04
.BR pid_t ,
Packit 7cfc04
.BR uid_t ,
Packit 7cfc04
or
Packit 7cfc04
.BR gid_t .
Packit 7cfc04
.IP "\fBino_t\fP" 16
Packit 7cfc04
Used for file serial numbers.
Packit 7cfc04
.IP "\fBkey_t\fP" 16
Packit 7cfc04
Used for XSI interprocess communication.
Packit 7cfc04
.IP "\fBmode_t\fP" 16
Packit 7cfc04
Used for some file attributes.
Packit 7cfc04
.IP "\fBnlink_t\fP" 16
Packit 7cfc04
Used for link counts.
Packit 7cfc04
.IP "\fBoff_t\fP" 16
Packit 7cfc04
Used for file sizes.
Packit 7cfc04
.IP "\fBpid_t\fP" 16
Packit 7cfc04
Used for process IDs and process group IDs.
Packit 7cfc04
.IP "\fBpthread_attr_t\fP" 16
Packit 7cfc04
Used to identify a thread attribute object.
Packit 7cfc04
.IP "\fBpthread_barrier_t\fP" 16
Packit 7cfc04
Used to identify a barrier.
Packit 7cfc04
.IP "\fBpthread_barrierattr_t\fP" 16
Packit 7cfc04
Used to define a barrier attributes object.
Packit 7cfc04
.IP "\fBpthread_cond_t\fP" 16
Packit 7cfc04
Used for condition variables.
Packit 7cfc04
.IP "\fBpthread_condattr_t\fP" 16
Packit 7cfc04
Used to identify a condition attribute object.
Packit 7cfc04
.IP "\fBpthread_key_t\fP" 16
Packit 7cfc04
Used for thread-specific data keys.
Packit 7cfc04
.IP "\fBpthread_mutex_t\fP" 16
Packit 7cfc04
Used for mutexes.
Packit 7cfc04
.IP "\fBpthread_mutexattr_t\fP" 16
Packit 7cfc04
Used to identify a mutex attribute object.
Packit 7cfc04
.IP "\fBpthread_once_t\fP" 16
Packit 7cfc04
Used for dynamic package initialization.
Packit 7cfc04
.IP "\fBpthread_rwlock_t\fP" 16
Packit 7cfc04
Used for read-write locks.
Packit 7cfc04
.IP "\fBpthread_rwlockattr_t\fP" 16
Packit 7cfc04
Used for read-write lock attributes.
Packit 7cfc04
.IP "\fBpthread_spinlock_t\fP" 16
Packit 7cfc04
Used to identify a spin lock.
Packit 7cfc04
.IP "\fBpthread_t\fP" 16
Packit 7cfc04
Used to identify a thread.
Packit 7cfc04
.IP "\fBsize_t\fP" 16
Packit 7cfc04
Used for sizes of objects.
Packit 7cfc04
.IP "\fBssize_t\fP" 16
Packit 7cfc04
Used for a count of bytes or an error indication.
Packit 7cfc04
.IP "\fBsuseconds_t\fP" 16
Packit 7cfc04
Used for time in microseconds.
Packit 7cfc04
.IP "\fBtime_t\fP" 16
Packit 7cfc04
Used for time in seconds.
Packit 7cfc04
.IP "\fBtimer_t\fP" 16
Packit 7cfc04
Used for timer ID returned by
Packit 7cfc04
\fItimer_create\fR().
Packit 7cfc04
.IP "\fBtrace_attr_t\fP" 16
Packit 7cfc04
Used to identify a trace stream attributes object
Packit 7cfc04
.IP "\fBtrace_event_id_t\fP" 16
Packit 7cfc04
Used to identify a trace event type.
Packit 7cfc04
.IP "\fBtrace_event_set_t\fP" 16
Packit 7cfc04
Used to identify a trace event type set.
Packit 7cfc04
.IP "\fBtrace_id_t\fP" 16
Packit 7cfc04
Used to identify a trace stream.
Packit 7cfc04
.IP "\fBuid_t\fP" 16
Packit 7cfc04
Used for user IDs.
Packit 7cfc04
.P
Packit 7cfc04
All of the types shall be defined as arithmetic types of an appropriate
Packit 7cfc04
length, with the following exceptions:
Packit 7cfc04
.P
Packit 7cfc04
.nf
Packit 7cfc04
.BR pthread_attr_t
Packit 7cfc04
.BR pthread_barrier_t
Packit 7cfc04
.BR pthread_barrierattr_t
Packit 7cfc04
.BR pthread_cond_t
Packit 7cfc04
.BR pthread_condattr_t
Packit 7cfc04
.BR pthread_key_t
Packit 7cfc04
.BR pthread_mutex_t
Packit 7cfc04
.BR pthread_mutexattr_t
Packit 7cfc04
.BR pthread_once_t
Packit 7cfc04
.BR pthread_rwlock_t
Packit 7cfc04
.BR pthread_rwlockattr_t
Packit 7cfc04
.BR pthread_spinlock_t
Packit 7cfc04
.BR pthread_t
Packit 7cfc04
.BR trace_attr_t
Packit 7cfc04
.BR trace_event_id_t
Packit 7cfc04
.BR trace_event_set_t
Packit 7cfc04
.BR trace_id_t
Packit 7cfc04
.fi
Packit 7cfc04
.P
Packit 7cfc04
Additionally:
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR mode_t
Packit 7cfc04
shall be an integer type.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR dev_t
Packit 7cfc04
shall be an integer type.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR nlink_t ,
Packit 7cfc04
.BR uid_t ,
Packit 7cfc04
.BR gid_t ,
Packit 7cfc04
and
Packit 7cfc04
.BR id_t
Packit 7cfc04
shall be integer types.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR blkcnt_t
Packit 7cfc04
and
Packit 7cfc04
.BR off_t
Packit 7cfc04
shall be signed integer types.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR fsblkcnt_t ,
Packit 7cfc04
.BR fsfilcnt_t ,
Packit 7cfc04
and
Packit 7cfc04
.BR ino_t
Packit 7cfc04
shall be defined as unsigned integer types.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR size_t
Packit 7cfc04
shall be an unsigned integer type.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR blksize_t ,
Packit 7cfc04
.BR pid_t ,
Packit 7cfc04
and
Packit 7cfc04
.BR ssize_t
Packit 7cfc04
shall be signed integer types.
Packit 7cfc04
.IP " *" 4
Packit 7cfc04
.BR clock_t
Packit 7cfc04
shall be an integer or real-floating type.
Packit 7cfc04
.BR time_t
Packit 7cfc04
shall be an integer type.
Packit 7cfc04
.P
Packit 7cfc04
The type
Packit 7cfc04
.BR ssize_t
Packit 7cfc04
shall be capable of storing values at least in the range
Packit 7cfc04
[\(mi1,\ {SSIZE_MAX}].
Packit 7cfc04
.P
Packit 7cfc04
The type
Packit 7cfc04
.BR suseconds_t
Packit 7cfc04
shall be a signed integer type capable of storing values at least in
Packit 7cfc04
the range [\(mi1,\ 1\|000\|000].
Packit 7cfc04
.P
Packit 7cfc04
The implementation shall support one or more programming environments
Packit 7cfc04
in which the widths of
Packit 7cfc04
.BR blksize_t ,
Packit 7cfc04
.BR pid_t ,
Packit 7cfc04
.BR size_t ,
Packit 7cfc04
.BR ssize_t ,
Packit 7cfc04
and
Packit 7cfc04
.BR suseconds_t
Packit 7cfc04
are no greater than the width of type
Packit 7cfc04
.BR long .
Packit 7cfc04
The names of these programming environments can be obtained using the
Packit 7cfc04
\fIconfstr\fR()
Packit 7cfc04
function or the
Packit 7cfc04
.IR getconf
Packit 7cfc04
utility.
Packit 7cfc04
.P
Packit 7cfc04
There are no defined comparison or assignment operators for the
Packit 7cfc04
following types:
Packit 7cfc04
.P
Packit 7cfc04
.nf
Packit 7cfc04
.BR pthread_attr_t
Packit 7cfc04
.BR pthread_barrier_t
Packit 7cfc04
.BR pthread_barrierattr_t
Packit 7cfc04
.BR pthread_cond_t
Packit 7cfc04
.BR pthread_condattr_t
Packit 7cfc04
.BR pthread_mutex_t
Packit 7cfc04
.BR pthread_mutexattr_t
Packit 7cfc04
.BR pthread_rwlock_t
Packit 7cfc04
.BR pthread_rwlockattr_t
Packit 7cfc04
.BR pthread_spinlock_t
Packit 7cfc04
.BR trace_attr_t
Packit 7cfc04
.fi
Packit 7cfc04
.LP
Packit 7cfc04
.IR "The following sections are informative."
Packit 7cfc04
.SH "APPLICATION USAGE"
Packit 7cfc04
None.
Packit 7cfc04
.SH RATIONALE
Packit 7cfc04
None.
Packit 7cfc04
.SH "FUTURE DIRECTIONS"
Packit 7cfc04
None.
Packit 7cfc04
.SH "SEE ALSO"
Packit 7cfc04
.IR "\fB<time.h>\fP"
Packit 7cfc04
.P
Packit 7cfc04
The System Interfaces volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "\fIconfstr\fR\^(\|)"
Packit 7cfc04
.P
Packit 7cfc04
The Shell and Utilities volume of POSIX.1\(hy2008,
Packit 7cfc04
.IR "\fIgetconf\fR\^"
Packit 7cfc04
.SH COPYRIGHT
Packit 7cfc04
Portions of this text are reprinted and reproduced in electronic form
Packit 7cfc04
from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
Packit 7cfc04
-- Portable Operating System Interface (POSIX), The Open Group Base
Packit 7cfc04
Specifications Issue 7, Copyright (C) 2013 by the Institute of
Packit 7cfc04
Electrical and Electronics Engineers, Inc and The Open Group.
Packit 7cfc04
(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the
Packit 7cfc04
event of any discrepancy between this version and the original IEEE and
Packit 7cfc04
The Open Group Standard, the original IEEE and The Open Group Standard
Packit 7cfc04
is the referee document. The original Standard can be obtained online at
Packit 7cfc04
http://www.unix.org/online.html .
Packit 7cfc04
Packit 7cfc04
Any typographical or formatting errors that appear
Packit 7cfc04
in this page are most likely
Packit 7cfc04
to have been introduced during the conversion of the source files to
Packit 7cfc04
man page format. To report such errors, see
Packit 7cfc04
https://www.kernel.org/doc/man-pages/reporting_bugs.html .