standards - C and UNIX Standards


   The  CONFORMING TO section that appears in many manual pages identifies
   various standards to which  the  documented  interface  conforms.   The
   following list briefly describes these standards.

   V7     Version  7  (also  known  as  Seventh Edition) UNIX, released by
          AT&T/Bell Labs in 1979.  After this point, UNIX systems diverged
          into two main dialects: BSD and System V.

   4.2BSD This is an implementation standard defined by the 4.2 release of
          the Berkeley Software Distribution, released by  the  University
          of  California at Berkeley.  This was the first Berkeley release
          that contained a TCP/IP stack and the sockets API.   4.2BSD  was
          released in 1983.

          Earlier  major  BSD  releases included 3BSD (1980), 4BSD (1980),
          and 4.1BSD (1981).

   4.3BSD The successor to 4.2BSD, released in 1986.

   4.4BSD The successor to 4.3BSD, released in 1993.  This  was  the  last
          major Berkeley release.

   System V
          This  is  an implementation standard defined by AT&T's milestone
          1983 release of its commercial System  V  (five)  release.   The
          previous major AT&T release was System III, released in 1981.

   System V release 2 (SVr2)
          This  was the next System V release, made in 1985.  The SVr2 was
          formally described in the System V Interface Definition  version
          1 (SVID 1) published in 1985.

   System V release 3 (SVr3)
          This  was the successor to SVr2, released in 1986.  This release
          was formally described in  the  System  V  Interface  Definition
          version 2 (SVID 2).

   System V release 4 (SVr4)
          This  was the successor to SVr3, released in 1989.  This version
          of System V is described in the "Programmer's Reference  Manual:
          Operating  System  API  (Intel processors)" (Prentice-Hall 1992,
          ISBN 0-13-951294-2) This release was formally described  in  the
          System  V  Interface  Definition  version  3  (SVID  3),  and is
          considered the definitive System V release.

   SVID 4 System  V  Interface  Definition  version  4,  issued  in  1995.
          Available online at

   C89    This  was  the  first  C  language  standard,  ratified  by ANSI
          (American National Standards Institute) in  1989  (X3.159-1989).
          Sometimes this is known as ANSI C, but since C99 is also an ANSI
          standard, this  term  is  ambiguous.   This  standard  was  also
          ratified  by  ISO (International Standards Organization) in 1990
          (ISO/IEC 9899:1990), and is thus occasionally referred to as ISO

   C99    This  revision of the C language standard was ratified by ISO in
          1999 (ISO/IEC 9899:1999).  Available online at

   C11    This  revision of the C language standard was ratified by ISO in
          2011 (ISO/IEC 9899:2011).

          "Portable   Operating    System    Interface    for    Computing
          Environments".  IEEE 1003.1-1990 part 1, ratified by ISO in 1990
          (ISO/IEC 9945-1:1990).  The term "POSIX" was coined  by  Richard

          IEEE   Std   1003.2-1992,  describing  commands  and  utilities,
          ratified by ISO in 1993 (ISO/IEC 9945-2:1993).

   POSIX.1b (formerly known as POSIX.4)
          IEEE  Std  1003.1b-1993,  describing  real-time  facilities  for
          portable  operating  systems,  ratified  by ISO in 1996 (ISO/IEC

          IEEE  Std  1003.1c-1995,  which  describes  the  POSIX   threads

          IEEE  Std  1003.1c-1999,  which  describes  additional real-time

          IEEE  Std  1003.1g-2000,   which   describes   networking   APIs
          (including sockets).

          IEEE   Std  1003.1j-2000,  which  describes  advanced  real-time

          A 1996 revision  of  POSIX.1  which  incorporated  POSIX.1b  and

   XPG3   Released  in 1989, this was the first significant release of the
          X/Open Portability Guide, produced  by  the  X/Open  Company,  a
          multivendor consortium.  This multivolume guide was based on the
          POSIX standards.

   XPG4   A revision of the X/Open Portability Guide, released in 1992.

   XPG4v2 A 1994 revision of XPG4.  This is also referred to as Spec 1170,
          where  1170 referred to the number of interfaces defined by this

   SUS (SUSv1)
          Single UNIX Specification.  This was a repackaging of XPG4v2 and
          other  X/Open standards (X/Open Curses Issue 4 version 2, X/Open
          Networking Service (XNS) Issue 4).  Systems conforming  to  this
          standard can be branded UNIX 95.

   SUSv2  Single UNIX Specification version 2.  Sometimes also referred to
          as XPG5.  This standard appeared in 1997.  Systems conforming to
          this    standard   can   be   branded   UNIX   98.    See   also

   POSIX.1-2001, SUSv3
          This was a 2001  revision  and  consolidation  of  the  POSIX.1,
          POSIX.2,  and  SUS  standards  into a single document, conducted
          under the auspices of the Austin Group
          /austin/.     The    standard    is    available    online   at
, and the interfaces that
          it  describes  are  also  available  in  the  Linux manual pages
          package under sections 1p and 3p (e.g., "man 3p open").

          The  standard  defines  two   levels   of   conformance:   POSIX
          conformance, which is a baseline set of interfaces required of a
          conforming  system;  and  XSI  Conformance,  which  additionally
          mandates  a  set  of  interfaces (the "XSI extension") which are
          only optional for POSIX conformance.  XSI-conformant systems can
          be  branded  UNIX  03.   (XSI conformance constitutes the Single
          UNIX Specification version 3 (SUSv3).)

          The POSIX.1-2001 document is broken into four parts:

          XBD:   Definitions,   terms   and    concepts,    header    file

          XSH: Specifications of functions (i.e., system calls and library
          functions in actual implementations).

          XCU: Specifications of commands and utilities  (i.e.,  the  area
          formerly described by POSIX.2).

          XRAT: Informative text on the other parts of the standard.

          POSIX.1-2001  is  aligned  with  C99, so that all of the library
          functions  standardized  in  C99  are   also   standardized   in

          Two  Technical  Corrigenda (minor fixes and improvements) of the
          original 2001 standard have occurred: TC1 in 2003 (also known as
          POSIX.1-2003), and TC2 in 2004 (also known as POSIX.1-2004).

   POSIX.1-2008, SUSv4
          Work  on  the  next  revision  of  POSIX.1/SUS was completed and
          ratified in 2008.

          The changes in this revision are not  as  large  as  those  that
          occurred  for POSIX.1-2001/SUSv3, but a number of new interfaces
          are added and various details  of  existing  specifications  are
          modified.    Many  of  the  interfaces  that  were  optional  in
          POSIX.1-2001 become  mandatory  in  the  2008  revision  of  the
          standard.  A few interfaces that are present in POSIX.1-2001 are
          marked as obsolete in POSIX.1-2008, or removed from the standard

          The  revised  standard  is  broken  into  the same four parts as
          POSIX.1-2001, and again there are two levels of conformance: the
          baseline  POSIX Conformance, and XSI Conformance, which mandates
          an additional  set  of  interfaces  beyond  those  in  the  base

          In  general,  where  the  CONFORMING TO section of a manual page
          lists POSIX.1-2001, it can be assumed that  the  interface  also
          conforms to POSIX.1-2008, unless otherwise noted.

          Technical  Corrigendum  1 (minor fixes and improvements) of this
          standard was released in 2013 (also known as POSIX.1-2013).

          Technical Corrigendum 2 of this standard was  released  in  2016
          (also known as POSIX.1-2016).

          Further  information  can be found on the Austin Group web site,


   attributes(7), feature_test_macros(7), libc(7), posixoptions(7)


   This page is part of release 4.09 of the Linux  man-pages  project.   A
   description  of  the project, information about reporting bugs, and the
   latest    version    of    this    page,    can     be     found     at

More Linux Commands

glGetColorTable(3gl) - retrieve contents of a color lookup t
glGetColorTable returns in table the contents of the color table specified by target. No pixel transfer operations are performed, but pixel storage modes that a

mvwaddwstr(3ncurses) - add a string of wide characters to a
These functions write the characters of the (null-terminated) wchar_t character string wstr on the given window. It is similar to constructing a cchar_t for eac

dlclose(3) - programming interface to dynamic linking loader
The four functions dlopen(), dlsym(), dlclose(), dlerror() implement the interface to the dynamic linking loader. dlerror() The function dlerror() returns a hum

XGrabServer(3) - grab the server (Library - Linux man page)
The XGrabServer function disables processing of requests and close downs on all other connections than the one this request arrived on. You should not grab the

nfsidmap.8 - nfsidmap(8) - The NFS idmapper upcall program (Man Page)....
The file /usr/sbin/nfsidmap is used by the NFS idmapper to translate user and group ids into names, and to translate user and group names into ids. Idmapper use

XtReleaseGC(3) - obtain and destroy a sharable GC (ManPage)
The XtGetGC function returns a sharable, read-only GC. The parameters to this function are the same as those for XCreateGC except that a widget is passed instea

writelog(8) - add a entry to an INN log file. (Man Page)....
The writelog script is used to write a log entry or send it as mail. The name parameter specifies the name of the log file where the entry should be written. If

autoheader(1) - Create a template header for configure......
Create a template file of C #define statements for configure to use. To this end, scan TEMPLATE-FILE, or if present, or else -h, --he

item_value(3menu) - set and get menu item values (Man Page)
If you turn off the menu option O_ONEVALUE (e.g., with set_menu_opts or menu_opts_off; see opts(3MENU)), the menu becomes multi-valued; that is, more than one i

myisam_ftdump(1) - display full-text index information......
myisam_ftdump displays information about FULLTEXT indexes in MyISAM tables. It reads the MyISAM index file directly, so it must be run on the server host where

gnutls_privkey_import_x509(3) - API function (Man Page).....
This function will import the given private key to the abstract gnutls_privkey_t structure. The gnutls_x509_privkey_t object must not be deallocated during the

gcj-dbtool-4.6(1) - Manipulate class file mapping databases
gcj-dbtool is a tool for creating and manipulating class file mapping databases. libgcj can use these databases to find a shared library corresponding to the by

We can't live, work or learn in freedom unless the software we use is free.