FreeBSD 4.11 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

posix1b - Posix P1003-1B extensions

 

NAME

      posix1b - Posix P1003-1B extensions
 

DESCRIPTION

      POSIX.1B adds real time extensions and some commonly used Berkeley exten‐
      sions to POSIX.1.  This section contains preliminary information about
      avoiding conflicts and adding support for the required ability to specify
      the interface version.
 

STATUS

      March 28, 1998: _POSIX_PRIORITY_SCHEDULING works with these kernel
      options in your configuration:
 
      options         "P1003_1B"
      options         "_KPOSIX_PRIORITY_SCHEDULING"
      There are three manifest constants that set the version and programming
      interface for POSIX.1B.
 
      _POSIX_VERSION
      specifies the system for which the system is built.  The default is
      POSIX.1 and is 199009L.  POSIX.1B is 199309L.  This defines the base fea‐
      tures of the operating system.
 
      _POSIX_SOURCE
      is a macro from POSIX.1 that can be defined to specify that only POSIX
      and ANSI functionality should occur in the name space.
 
      _POSIX_C_SOURCE
      is a macro from POSIX.1B that can be defined to specify that only POSIX
      and ANSI functionality from a specific POSIX version should occur in the
      name space, i.e., if _POSIX_VERSION is 199309L (POSIX.1B) but
      _POSIX_C_SOURCE is 199009L (POSIX.1) then only POSIX.1 features should
      appear.
      The following test macros are set up in <sys/_posix.h>.  They should used
      by system header files to avoid the kind of tests you see in
      <sys/_posix.h>.  Source programs should not use these FreeBSD specific
      implementation details and should test _POSIX_VERSION, _POSIX_SOURCE and
      _POSIX_C_SOURCE.  These should not be used in the kernel though - the
      kernel should be immune to the user land setting of _POSIX_VERSION.  The
      P1003_1B option can be used in the kernel to limit inclusion of new code,
      but make sure things work properly when a POSIX.1B program is run on a
      kernel without the P1003_1B option.
 
      _P1003_1B_VISIBLE
      is a test macro that sorts out when extensions should be visible.  It is
      defined in <sys/_posix.h>.
 
      In normal C program development only _POSIX_VERSION is set, permitting
      BSD extensions to appear to the programs.  However, when adding new func‐
      tionality mandated by POSIX.1B, it is important to satisfy the require‐
      ments added by the new _POSIX_C_SOURCE macro.  _P1003_1B_VISIBLE (not a
      standard feature test macro) is defined in sys/unistd.h when the combina‐
      tion of _POSIX_VERSION, _POSIX_SOURCE, and _POSIX_C_SOURCE indicate that
      the extensions are in scope.
 
      _P1003_1B_VISIBLE_HISTORICALLY
      is present to conditionalize POSIX.1B extensions that were historically
      in the system.  These are visible when _POSIX_SOURCE and _POSIX_C_SOURCE
      are not set at all or when _POSIX_C_SOURCE enables POSIX.1B features.
      The intent of this feature test is to permit hiding the new extensions
      while still letting BSD extensions show up to avoid breaking existing
      programs without trying to use the "big hammer" of _POSIX_C_SOURCE.
 
      Some recent additions to header files are new enough that they should be
      changed to be dependent on _P1003_1B_VISIBLE instead of _HISTORICALLY.
 
      Traditional BSD headers (e.g., mmap.h) now specified in POSIX.1B can
      include <sys/_posix.h> and conditionalize BSD extensions on
      _P1003_1B_VISIBLE_HISTORICALLY.
      _P1003_1B_INCLUDE_MAYBES
      when set before the inclusion of any other header file requests that all
      header files that the POSIX.1B spec says a standard header may include
      should be included.  Normally no non-required headers are included.  Set‐
      ting this pre-processor definition should make any compliant program com‐
      pile without issues of header file inclusion.
 
      P1003_1B
      is a config option to build in POSIX.1B support in the kernel.
 

HISTORY

      The posix1b section manual page appeared in FreeBSD 3.0.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.