
       
SYNOPSIS
       #include <sys/uio.h>

DESCRIPTION
       The  <sys/'uio'.h>  header shall define the 'iovec' structure that includes
       at least the following members:


              void   *'iov_base'  Base address of a memory region for input or output.
              size_t  'iov_len'   The size of the memory pointed to by iov_base.

       The <sys/uio.h> header uses the iovec structure for scatter/gather I/O.

       The  ssize_t  and  size_t  types  shall  be  defined  as  described  in
       <sys/types.h>.

       
SYNOPSIS
       #include <sys/un.h>

DESCRIPTION
       The  <sys/un.h>  header  shall  define  the  'sockaddr_un' structure that
       includes at least the following members:


              sa_family_t  'sun_family'  Address family.
              char         'sun_path'[]  Socket pathname.

       The sockaddr_un structure is used to store addresses  for  UNIX  domain
       sockets.  Values  of  this type shall be cast by applications to struct
       sockaddr for use with socket functions.

       The sa_family_t type shall be defined as described in <sys/socket.h>  .

       
SYNOPSIS
       #include <sys/utsname.h>

DESCRIPTION
       The  <sys/'utsname'.h>  header  shall  define the structure utsname which
       shall include at least the following members:


              char  'sysname'[]  Name of this implementation of the operating system.
              char  'nodename'[] Name of this node within an implementation-defined
                               communications network.
              char  'release'[]  Current release level of this implementation.
              char  'version'[]  Current version level of this release.
              char  'machine'[]  Name of the hardware type on which the system is running.

       The character arrays are of unspecified size, but the  data  stored  in
       them shall be terminated by a null byte.

       The  following  shall be declared as a function and may also be defined
       as a macro:


              int uname(struct utsname *);

       
SYNOPSIS
       #include <sys/wait.h>

DESCRIPTION
       The  <sys/'wait'.h>  header shall define the following symbolic constants
       for use with 'waitpid'():

       'WNOHANG'
              Do not hang if no status is available; return immediately.

       'WUNTRACED'
              Report status of stopped child process.


       The <sys/wait.h> header shall define the following macros for  analysis
       of process status values:

       'WEXITSTATUS'
              Return exit status.

       'WIFCONTINUED'
              True if child has been continued.

       'WIFEXITED'
              True if child exited normally.

       'WIFSIGNALED'
              True if child exited due to uncaught signal.

       'WIFSTOPPED'
              True if child is currently stopped.

       'WSTOPSIG'
              Return signal number that caused process to stop.

       'WTERMSIG'
              Return signal number that caused process to terminate.


       The  following  symbolic  constants shall be defined as possible values
       for the options argument to waitid():

       'WEXITED'
              Wait for processes that have exited.

       'WSTOPPED'
              Status is returned for any child that has stopped  upon  receipt
              of a signal.

       'WCONTINUED'
              Status  is  returned for any child that was stopped and has been
              continued.

       'WNOHANG'
              Return immediately if there are no children to wait for.

       'WNOWAIT'
              Keep the process whose status is returned in infop in a waitable
              state.


       The  type 'idtype_t' shall be defined as an enumeration type whose possi-
       ble values shall include at least the following: 'P_ALL' 'P_PID' 'P_PGID'

       The id_t and pid_t types shall be defined as described in <sys/types.h>
       .

       The siginfo_t type shall be defined as described in <signal.h> .

       The  rusage structure shall be defined as described in <sys/resource.h>
       .

       Inclusion of the <sys/wait.h> header may also make visible all  symbols
       from <signal.h> and <sys/resource.h>.

       
SYNOPSIS
       #include <syslog.h>

DESCRIPTION
       The  <'syslog'.h>  header  shall define the following symbolic constants,
       zero or more of which may be OR'ed together to form the  logopt  option
       of openlog():

       'LOG_PID'
              Log the process ID with each message.

       'LOG_CONS'
              Log to the system console on error.

       'LOG_NDELAY'
              Connect to syslog daemon immediately.

       'LOG_ODELAY'
              Delay open until syslog() is called.

       'LOG_NOWAIT'
              Do not wait for child processes.


       The following symbolic constants shall be defined as possible values of
       the facility argument to 'openlog'():

       'LOG_KERN'
              Reserved for message generated by the system.

       'LOG_USER'
              Message generated by a process.

       'LOG_MAIL'
              Reserved for message generated by mail system.

       'LOG_NEWS'
              Reserved for message generated by news system.

       'LOG_UUCP'
              Reserved for message generated by UUCP system.

       'LOG_DAEMON'
              Reserved for message generated by system daemon.

       'LOG_AUTH'
              Reserved for message generated by authorization daemon.

       'LOG_CRON'
              Reserved for message generated by clock daemon.

       'LOG_LPR'
              Reserved for message generated by printer system.

       'LOG_LOCAL0'
              Reserved for local use.

       'LOG_LOCAL1'
              Reserved for local use.

       'LOG_LOCAL2'
              Reserved for local use.

       'LOG_LOCAL3'
              Reserved for local use.

       'LOG_LOCAL4'
              Reserved for local use.

       'LOG_LOCAL5'
              Reserved for local use.

       'LOG_LOCAL6'
              Reserved for local use.

       'LOG_LOCAL7'
              Reserved for local use.


       The following shall be declared as macros for constructing the  maskpri
       argument  to 'setlogmask'(). The following macros expand to an expression
       of type int when the argument pri is an expression of type int:

       'LOG_MASK'(pri)
              A mask for priority pri.


       The following constants shall be defined as  possible  values  for  the
       priority argument of 'syslog'():

       'LOG_EMERG'
              A panic condition was reported to all processes.

       'LOG_ALERT'
              A condition that should be corrected immediately.

       'LOG_CRIT'
              A critical condition.

       'LOG_ERR'
              An error message.

       'LOG_WARNING'
              A warning message.

       'LOG_NOTICE'
              A condition requiring special handling.

       'LOG_INFO'
              A general information message.

       'LOG_DEBUG'
              A message useful for debugging programs.


       
SYNOPSIS
       #include <tar.h>

DESCRIPTION
       The <'tar'.h> header shall define header block definitions as follows.

       General definitions:

                   Name      Description  Value
                   'TMAGIC'    "ustar"      ustar plus null byte.
                   'TMAGLEN'   6            Length of the above.
                   'TVERSION'  "00"         00 without a null byte.
                   'TVERSLEN'  2            Length of the above.

       Typeflag field definitions:

                     Name       Description   Value (char)
                     'REGTYPE'    0           Regular file.
                     'AREGTYPE'   \0          Regular file.
                     'LNKTYPE'    1           Link.
                     'SYMTYPE'    2           Symbolic link.
                     'CHRTYPE'    3           Character special.
                     'BLKTYPE'    4           Block special.
                     'DIRTYPE'    5           Directory.
                     'FIFOTYPE'   6          FIFO special.
                     'CONTTYPE'   7           Reserved.

       Mode field bit definitions (octal):

          Name    Description Value
          'TSUID'   04000       Set UID on execution.
          'TSGID'   02000       Set GID on execution.
          'TSVTX'   01000       On directories, restricted deletion flag.
          'TUREAD'  00400       Read by owner.
          'TUWRITE' 00200       Write by owner special.
          'TUEXEC'  00100       Execute/search by owner.
          'TGREAD'  00040       Read by group.
          'TGWRITE' 00020       Write by group.
          'TGEXEC'  00010       Execute/search by group.
          'TOREAD'  00004       Read by other.
          'TOWRITE' 00002       Write by other.
          'TOEXEC'  00001       Execute/search by other.

       
SYNOPSIS
       #include <netinet/tcp.h>

DESCRIPTION
       The <netinet/tcp.h> header shall define the following macro for use  as
       a socket option at the IPPROTO_TCP level:

       'TCP_NODELAY'
              Avoid coalescing of small segments.


       The  macro  shall be defined in the header. The implementation need not
       allow the value of the option to be set via setsockopt()  or  retrieved
       via getsockopt().

       
SYNOPSIS
       #include <termios.h>

DESCRIPTION
       The  <'termios'.h>  header  contains the definitions used by the terminal
       I/O interfaces (see General Terminal Interface for the  structures  and
       names defined).

   The termios Structure
       The following data types shall be defined through typedef:

       'cc_t'   Used for terminal special characters.

       'speed_t'
              Used for terminal baud rates.

       'tcflag_t'
              Used for terminal modes.


       The above types shall be all unsigned integer types.

       The  implementation  shall support one or more programming environments
       in which the widths of cc_t, speed_t, and tcflag_t are no greater  than
       the width of type long. The names of these programming environments can
       be obtained using the confstr() function or the getconf utility.

       The termios structure shall be defined, and shall include at least  the
       following members:


              tcflag_t  'c_iflag'     Input modes.
              tcflag_t  'c_oflag'     Output modes.
              tcflag_t  'c_cflag'     Control modes.
              tcflag_t  'c_lflag'     Local modes.
              cc_t      'c_cc'[NCCS]  Control characters.

       A definition shall be provided for:

       'NCCS'   Size of the array c_cc for control characters.


       The following subscript names for the array c_cc shall be defined:

                         Subscript Usage
               Canonical Mode   Non-Canonical Mode   Description
               'VEOF'                                  EOF character.
               'VEOL'                                  EOL character.
               'VERASE'                                ERASE character.
               'VINTR'            VINTR                INTR character.
               'VKILL'                                 KILL character.
                                'VMIN'                 MIN value.
               'VQUIT'            VQUIT                QUIT character.
               'VSTART'           VSTART               START character.
               'VSTOP'            VSTOP                STOP character.
               'VSUSP'            VSUSP                SUSP character.
                                'VTIME'                TIME value.

       The  subscript  values  shall be unique, except that the VMIN and VTIME
       subscripts may have the same values as the VEOF  and  VEOL  subscripts,
       respectively.

       The following flags shall be provided.

   Input Modes
       The c_iflag field describes the basic terminal input control:

       'BRKINT' Signal interrupt on break.

       'ICRNL'  Map CR to NL on input.

       'IGNBRK' Ignore break condition.

       'IGNCR'  Ignore CR.

       'IGNPAR' Ignore characters with parity errors.

       'INLCR'  Map NL to CR on input.

       'INPCK'  Enable input parity check.

       'ISTRIP' Strip character.

       'IXANY'  Enable any character to restart output.

       'IXOFF'  Enable start/stop input control.

       'IXON'   Enable start/stop output control.

       'PARMRK' Mark parity errors.


   Output Modes
       The c_oflag field specifies the system treatment of output:

       'OPOST'  Post-process output.

       'ONLCR'  Map NL to CR-NL on output.

       'OCRNL'  Map CR to NL on output.

       'ONOCR'  No CR output at column 0.

       'ONLRET' NL performs CR function.

       'OFILL'  Use fill characters for delay.

       'NLDLY'  Select newline delays:

       'NL0'
              Newline type 0.

       'NL1'
              Newline type 1.


       'CRDLY'  Select carriage-return delays:

       'CR0'
              Carriage-return delay type 0.

       'CR1'
              Carriage-return delay type 1.

       'CR2'
              Carriage-return delay type 2.

       'CR3'
              Carriage-return delay type 3.


       'TABDLY' Select horizontal-tab delays:

       'TAB0'
              Horizontal-tab delay type 0.

       'TAB1'
              Horizontal-tab delay type 1.

       'TAB2'
              Horizontal-tab delay type 2.

       'TAB3'
              Expand tabs to spaces.


       'BSDLY'  Select backspace delays:

       'BS0'
              Backspace-delay type 0.

       'BS1'
              Backspace-delay type 1.


       'VTDLY'  Select vertical-tab delays:

       'VT0'
              Vertical-tab delay type 0.

       'VT1'
              Vertical-tab delay type 1.


       'FFDLY'  Select form-feed delays:

       'FF0'
              Form-feed delay type 0.

       'FF1'
              Form-feed delay type 1.



   Baud Rate Selection
       The  input  and  output baud rates are stored in the termios structure.
       These are the valid values for objects of type speed_t.  The  following
       values  shall  be  defined, but not all baud rates need be supported by
       the underlying hardware.

       'B0'     Hang up

       'B50'    50 baud

       'B75'    75 baud

       'B110'   110 baud

       'B134'   134.5 baud

       'B150'   150 baud

       'B200'   200 baud

       'B300'   300 baud

       'B600'   600 baud

       'B1200'  1200 baud

       'B1800'  1800 baud

       'B2400'  2400 baud

       'B4800'  4800 baud

       'B9600'  9600 baud

       'B19200' 19200 baud

       'B38400' 38400 baud

   Control Modes
       The c_cflag field describes the hardware control of the  terminal;  not
       all  values  specified  are  required to be supported by the underlying
       hardware:

       'CSIZE'  Character size:

       'CS5'
              5 bits

       'CS6'
              6 bits

       'CS7'
              7 bits

       'CS8'
              8 bits


       'CSTOPB' Send two stop bits, else one.

       'CREAD'  Enable receiver.

       'PARENB' Parity enable.

       'PARODD' Odd parity, else even.

       'HUPCL'  Hang up on last close.

       'CLOCAL' Ignore modem status lines.


       The implementation shall support the functionality associated with  the
       symbols CS7, CS8, CSTOPB, PARODD, and PARENB.

   Local Modes
       The  c_lflag field of the argument structure is used to control various
       terminal functions:

       'ECHO'   Enable echo.

       'ECHOE'  Echo erase character as error-correcting backspace.

       'ECHOK'  Echo KILL.

       'ECHONL' Echo NL.

       'ICANON' Canonical input (erase and kill processing).

       'IEXTEN' Enable extended input character processing.

       'ISIG'   Enable signals.

       'NOFLSH' Disable flush after interrupt or quit.

       'TOSTOP' Send SIGTTOU for background output.


   Attribute Selection
       The following symbolic constants for use with tcsetattr() are defined:

       'TCSANOW'
              Change attributes immediately.

       'TCSADRAIN'
              Change attributes when output has drained.

       'TCSAFLUSH'
              Change attributes when output has drained;  also  flush  pending
              input.


   Line Control
       The  following  symbolic  constants  for  use  with  tcflush() shall be
       defined:

       'TCIFLUSH'
              Flush pending input.

       'TCIOFLUSH'
              Flush both pending input and untransmitted output.

       'TCOFLUSH'
              Flush untransmitted output.


       The following  symbolic  constants  for  use  with  tcflow()  shall  be
       defined:

       'TCIOFF' Transmit a STOP character, intended to suspend input data.

       'TCION'  Transmit a START character, intended to restart input data.

       'TCOOFF' Suspend output.

       'TCOON'  Restart output.


       
SYNOPSIS
       #include <tgmath.h>

DESCRIPTION
       The  <'tgmath'.h>  header  shall  include  the headers <math.h> and <com-
       plex.h> and shall define several type-generic macros.

       Of the functions contained within the <math.h> and <complex.h>  headers
       without  an  f ( float) or l ( long double) suffix, several have one or
       more parameters whose corresponding real type is double. For each  such
       function,  except  modf(),  there shall be a corresponding type-generic
       macro.  The parameters whose corresponding real type is double  in  the
       function  synopsis  are  generic parameters. Use of the macro invokes a
       function whose corresponding real type and type domain  are  determined
       by the arguments for the generic parameters.

       Use  of  the macro invokes a function whose generic parameters have the
       corresponding real type determined as follows:

        * First, if any argument for generic parameters has type long  double,
          the type determined is long double.


        * Otherwise, if any argument for generic parameters has type double or
          is of integer type, the type determined is double.


        * Otherwise, the type determined is float.


       For each unsuffixed function in the <math.h> header for which there  is
       a  function in the <complex.h> header with the same name except for a c
       prefix, the corresponding type-generic macro (for both  functions)  has
       the same name as the function in the <math.h> header. The corresponding
       type-generic macro for fabs() and cabs() is fabs().

                        <math.h>   <complex.h>   Type-Generic
                        Function   Function      Macro
                        acos()     cacos()       acos()
                        asin()     casin()       asin()
                        atan()     catan()       atan()
                        acosh()    cacosh()      acosh()
                        asinh()    casinh()      asinh()
                        atanh()    catanh()      atanh()
                        cos()      ccos()        cos()
                        sin()      csin()        sin()
                        tan()      ctan()        tan()
                        cosh()     ccosh()       cosh()
                        sinh()     csinh()       sinh()
                        tanh()     ctanh()       tanh()
                        exp()      cexp()        exp()
                        log()      clog()        log()
                        pow()      cpow()        pow()
                        sqrt()     csqrt()       sqrt()
                        fabs()     cabs()        fabs()

       If at least one argument for a generic parameter is complex,  then  use
       of  the  macro  invokes a complex function; otherwise, use of the macro
       invokes a real function.

       For each unsuffixed function in the <math.h> header  without  a  c-pre-
       fixed  counterpart  in  the <complex.h> header, the corresponding type-
       generic macro has the same name as  the  function.  These  type-generic
       macros are:

                 atan2()      fma()      llround()      remainder()
                 cbrt()       fmax()     log10()        remquo()
                 ceil()       fmin()     log1p()        rint()
                 copysign()   fmod()     log2()         round()
                 erf()        frexp()    logb()         scalbn()
                 erfc()       hypot()    lrint()        scalbln()
                 exp2()       ilogb()    lround()       tgamma()
                 expm1()      ldexp()    nearbyint()    trunc()
                 fdim()       lgamma()   nextafter()
                 floor()      llrint()   nexttoward()


       If all arguments for generic parameters are real, then use of the macro
       invokes a real function; otherwise, use of the macro results  in  unde-
       fined behavior.

       For each unsuffixed function in the <complex.h> header that is not a c-
       prefixed counterpart to a function in the <math.h> header,  the  corre-
       sponding  type-generic  macro has the same name as the function.  These
       type-generic macros are:


              carg()
              cimag()
              conj()
              cproj()
              creal()

       Use of the macro with any real or complex argument  invokes  a  complex
       function.

