.P
.nr Hu 1
.SK
.HU "APPENDIX A"
.SP 2P
.B
.ce 1
\s16FIPS PUB 151-2 Specifications\s0
.R
.sp 0.5i
The \*(Fp specifications are the
specifications contained in the
International Standard ISO/IEC 9945-1,
``Information Technology \(em Portable Operating System Interface (POSIX) \(em
Part 1: System Application Program Interface (API) [C Language]''
with the modifications specified below.
These modifications are required for implementations of POSIX.1
that are acquired by Federal agencies.
.P
These modifications ensure that applications, which choose to use those optional
features specified in POSIX.1 and mandated below, are strictly conforming
FIPS 151-2 applications (portable to all conforming FIPS 151-2
implementations).
For each modification a reference to the associated POSIX.1 text is provided.
.P 
.AL 2
.AL a 2
.LI
Implementations claiming conformance to FIPS 151-2 shall 
provide the functionality specified in FIPS 160 and provide C Standard
Language-Dependent System Support.
(The reference text for FIPS 160 is
ISO/IEC 9899: Information technology\(emProgramming languages\(emC)
.Rs 1.3.3-1.3.3.3 143-188
.LI
Implementations claiming conformance to FIPS 151-2 shall define
the POSIX.1 environment variable, \f3HOME\fP, in the environment
for the login shell.
.Rs 2.6 698-699
.LI
Implementations claiming conformance to FIPS 151-2 shall define
the POSIX.1 environment variable, \f3LOGNAME\fP, in the environment
for the login shell.
.Rs 2.6 698-699
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the POSIX.1 option {NGROUPS_MAX} such that the value of
{NGROUPS_MAX} is greater than or equal to eight (8). 
.Rs 2.8.3 1013-1015
.LI
Implementations claiming conformance to FIPS 151-2 shall support
a minimum value of 25 for the POSIX.1 variable {CHILD_MAX}.
.Rs 2.8.4 1029-1030
.LI
Implementations claiming conformance to FIPS 151-2 shall support
a minimum value of 20 for the POSIX.1 variable {OPEN_MAX}.
.Rs 2.8.4 1031-1032
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with {_POSIX_JOB_CONTROL} being
defined in <\f2unistd.h\fP>.
.Rs 2.9.3 1117-1118
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with {_POSIX_SAVED_IDS} being defined
in <\f2unistd.h\fP>.
.Rs 2.9.3 1119-1120
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with {_POSIX_CHOWN_RESTRICTED} being
defined in <\f2unistd.h\fP> with value other than -1.
.Rs 2.9.4 1136-1139
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with {_POSIX_NO_TRUNC} being defined
in <\f2unistd.h\fP> with value other than -1.
.Rs 2.9.4 1140-1141
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with {_POSIX_VDISABLE} being defined
in <\f2unistd.h\fP> with value other than -1.
.Rs 2.9.4 1142-1144
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with
the setting of the group ID of a file (when it is created) to that
of its parent directory. 
.Rs "5.3.1.2, 5.4.1.2, and 5.4.2.2" "188-192, 384-385, and 431-432"
.LI
Implementations claiming conformance to FIPS 151-2 shall support,
for terminal devices,
the functionality associated with
an interrupted
.Fn read
such that the return from
.Fn read
when interrupted by a signal after successfully reading
some data returns the number of bytes the system has read.
.Rs 6.4.1.2 132-134
.LI
Implementations claiming conformance to FIPS 151-2 shall support,
for terminal devices,
the functionality associated with
an interrupted
.Fn write
such that the return from
.Fn write
when interrupted by a signal after successfully writing
some data returns the number of bytes the system has written.
.Rs 6.4.2.2 214-216
.LI
Implementations claiming conformance to FIPS 151-2 shall support
the functionality associated with the symbols CS7, CS8, CSTOPB, PARODD,
and PARENB defined in <termios.h>
for asynchronous general terminal interface devices.
.Rs 7.1.2.4 383-387
.LI
Implementations claiming conformance to FIPS 151-2 shall document
in the POSIX Conformance Document
the FIPS 151-2 conditional features implemented (see ``NIST POSIX Testing
Policy\(emCertificate of Validation Requirements for FIPS 151-2''
for documentation details).
(The term conditional features are the features or behaviors referred to
in FIPS 151-2 that need not be present on all conforming implementations.
IEEE Std 2003.1-1992 lists the documentation assertions for POSIX.1)
.LE
.LE
