Node:System Options,
Next:Version Supported,
Previous:General Limits,
Up:System Configuration
Overall System Options
POSIX defines certain system-specific options that not all POSIX systems
support. Since these options are provided in the kernel, not in the
library, simply using the GNU C library does not guarantee any of these
features is supported; it depends on the system you are using.
You can test for the availability of a given option using the macros in
this section, together with the function sysconf
. The macros are
defined only if you include unistd.h
.
For the following macros, if the macro is defined in unistd.h
,
then the option is supported. Otherwise, the option may or may not be
supported; use sysconf
to find out. See Sysconf.
int _POSIX_JOB_CONTROL
|
Macro |
If this symbol is defined, it indicates that the system supports job
control. Otherwise, the implementation behaves as if all processes
within a session belong to a single process group. See Job Control.
|
int _POSIX_SAVED_IDS
|
Macro |
If this symbol is defined, it indicates that the system remembers the
effective user and group IDs of a process before it executes an
executable file with the set-user-ID or set-group-ID bits set, and that
explicitly changing the effective user or group IDs back to these values
is permitted. If this option is not defined, then if a nonprivileged
process changes its effective user or group ID to the real user or group
ID of the process, it can't change it back again. See Enable/Disable Setuid.
|
For the following macros, if the macro is defined in unistd.h
,
then its value indicates whether the option is supported. A value of
-1
means no, and any other value means yes. If the macro is not
defined, then the option may or may not be supported; use sysconf
to find out. See Sysconf.
If this symbol is defined, it indicates that the system has the POSIX.2
C compiler command, c89 . The GNU C library always defines this
as 1 , on the assumption that you would not have installed it if
you didn't have a C compiler.
|
int _POSIX2_FORT_DEV
|
Macro |
If this symbol is defined, it indicates that the system has the POSIX.2
Fortran compiler command, fort77 . The GNU C library never
defines this, because we don't know what the system has.
|
int _POSIX2_FORT_RUN
|
Macro |
If this symbol is defined, it indicates that the system has the POSIX.2
asa command to interpret Fortran carriage control. The GNU C
library never defines this, because we don't know what the system has.
|
int _POSIX2_LOCALEDEF
|
Macro |
If this symbol is defined, it indicates that the system has the POSIX.2
localedef command. The GNU C library never defines this, because
we don't know what the system has.
|
If this symbol is defined, it indicates that the system has the POSIX.2
commands ar , make , and strip . The GNU C library
always defines this as 1 , on the assumption that you had to have
ar and make to install the library, and it's unlikely that
strip would be absent when those are present.
|