1
0
Files
irix-657m-src/eoe/docs/posix/PCD/chap02.mm
2022-09-29 17:59:04 +03:00

258 lines
7.6 KiB
XML

'\" pcd/chap02.mm
.bp 0\"used to set the page number accurately
.nr P 0
.1 2 "Definitions and General Requirements" "Definitions, Requirements"
.2 2 "Conformance"
.3 1 "Implementation Conformance"
.rP
The \*(sN
operating system conforms to the IEEE Std 2003.1-1992
(\*(pN) with
Common Usage C Language-Dependent System Support.
.90 1.3.1 "Standard name is ISO/IEC 9945-1: 1992 (IEEE Std2003.1-1992)"
.rP
The
\*(sN
kernel is POSIX conformant as shipped. If FIPS-1 conformance is required,
the following changes should be made via the command \fBsystune\fR as
superuser:
.P
# systune -i
.br
Updates will be made to running system and /unix.install
.br
systune-> restricted_chown 1
.br
restricted_chown = 0
.br
Do you really want to change restricted_chown to 1 (0x1)? (y/n) y
.br
systune-> posix_tty_default 1
.br
posix_tty_default = 0
.br
Do you really want to change posix_tty_default to 1 (0x1)? (y/n) y
.br
systune-> q
.P
A new kernel will be built: see autoconfig(1M),
and the system rebooted to run with the new kernel.
.P
Also, to obtain Common Usage C behaviour, the compiler must be configured
appropriately. There are two ways in which this can be done: either the command
line option -cckr may be given, or the environment variable SGI_CC may be set
to the string -cckr.
.2 3 "General Terms"
The following paragraphs briefly define terms specific to the
\*(sN
implementation of \*(pN.
For more details, see the
\*(sN
system documentation.
.br
.iD
\fBappropriate privileges\fR: On
\*(sN
systems, appropriate privileges are associated with the superuser; the
superuser is defined as a user with a uid of zero. To become
superuser, or run a command as superuser, from the command prompt or from
a shellscript, the command "su" is used. See su(1M).
.P
It should be noted that the \fBAccess Control Lists\fR feature
[See \fBacl(4)\fR] and the \fBuser capability database\fR feature
[See \fBcapabilities(4)\fR and \fBcapability(4)\fR] were not used
while certifying POSIX.
.iD
\fBcharacter special file\fR: On
\*(sN
systems, other than \fIterminal device files\fR,
the
following \fIcharacter special files\fR are available:
.P
Disk device special files and tape device special files: see intro(7).
.P
Pseudo tty device files: see the pty(7M) man page, which provide a terminal
interface independent of physical hardware.
.P
Several other types of character special files exist. They are listed here
for information; however, many of them are intended for the use of specialised
system programs and should not be considered a general-purpose user resource.
.P
Subject to optional software, special files for DECnet link level interface:
see dn_ll(7M).
.P
A special file for system software access to filesystems: see fsctl(7M).
.P
A special file for interface to the kernel error logging mechanism: see
klog(7M).
.P
A special file for access to system memory: see kmem(7M).
.P
On the personal IRIS only, a special file for accees to a parallel printer port:
see plp(7M).
.P
Special files for user-mode access to the SCSI bus: see ds(7M).
.P
Subject to hardware support, special files for 3270 interface:
see t3270(7M).
.P
Special files for providing user-level semaphore facilities: see usema(7M).
.90 2.2.2.9 "Structure is unspecified, not implementation-defined"
.mV
\fBfile\fR: Other than \fIregular, character special, block special, FIFO
special\fR, and \fIdirectory files\fR,
the following file types are available:
.P
Symbolic links. See ln(1), symlink(2).
.P
UNIX domain sockets. See socket(2).
.iD
\fBparent process ID\fR: On
\*(sN
sytems, if a child process continues to exist
after its creator process ceases to exist,
the \fIparent process ID\fR becomes the \fIprocess ID\fR of the
init process, process id 1.
.mV
\fBpathname\fR:
A \fIpathname\fR that begins with two slashes is interpreted as
if only one slash were present: ie as an absolute pathname.
.rF
\fBread-only file system\fR: \*(sN
restricts modifications to \fIread-only file systems\fR in the following ways:
files may not be created or deleted; no modification of file contents,
ownership, permissions, or times may occur.
.uS
\fBsupplementary group ID\fR:
A \fIprocess's effective group ID\fR
is included in
its list of \fIsupplementary group IDs\fR.
.2 4 "General Concepts"
.iD
\fBfile times update\fR:
Fields that are marked for update are updated
immediately in the incore copy of the inode, so the update will be visible
immediately to any process accessing the file. For performance reasons,
the on-disk copy is refreshed only periodically, however the updated
information is synchronized to disk when the last process referencing the file
closes it.
.2 5 "Error Numbers"
.iD
\*(sN
detects the
.Pe EFAULT
error condition for some system calls. For others, noted in
later sections of this document, an invalid address parameter will cause
a segmentation violation.
.iD
On
\*(sN
systems, the
.Pe EFBIG
error occurs when the size of a file exceeds
the maximum file size.
.2 6 "Primitive System Data Types"
.uS
In addition to those primitive system data types listed in Table 2-1, the
\*(sN
system defines
the following data types
whose names end with
\fI_t\fR, in POSIX.1 headers:
.br
.sp .3v
.ta 2i
In <types.h>:
.br
typedef long daddr_t; /* <disk address> type */
.br
typedef char * caddr_t; /* <core address> type */
.br
typedef short cnt_t; /* <count> type */
.br
typedef unsigned long paddr_t; /* <physical address> type */
.br
typedef int key_t; /* IPC key type */
.br
typedef unsigned char use_t; /* use count for swap. */
.br
typedef short sysid_t;
.br
typedef short index_t;
.br
typedef unsigned int lock_t; /* <spinlock> type */
.br
typedef signed char cpuid_t; /* cpuid */
.br
typedef long swblk_t;
.90 2.5 "The additional types are unspecified in the 1992 standard, not \
implementation-defined."
.2 7 "Environment Description"
.mV
\*(sN
permits all characters in the 8-bit ASCII character set except NULL
in environment variable names.
.2 8 "C Language Definitions"
.3 2 "POSIX Symbols"
.2 9 "Numerical Limits"
.iD
On
\*(sN
systems, \fB<limits.h>\fR contains
the following implementation-specific names and values:
.TS
tab(|), allbox;
cw(1.5i) cw(1.5i)
l l.
Name | Value
NGROUPS_MAX|16
LINK_MAX|30000
MAX_CANON|255
MAX_INPUT|255
NAME_MAX|255
PATH_MAX|1024
PIPE_BUF|10240
.TE
Note: ARG_MAX, CHILD_MAX and OPEN_MAX are not defined in limits.h
when _POSIX_SOURCE is in effect, since these values are not invariant; it
is possible to create systems with differing values. They are controlled
by the values \fBmaxup\fR, and \fBrlimit_nofile_max\fR, respectively.
Changes to these kernel variables must be made using the command
\fBsystune\fR see systune(1M) and a new kernel must be booted:
see autoconfig(1M)..
.90 2.9 "NGROUPS_MAX must always be present; others from <limits.h>, \
only if they're in the file. Add: SSIZE_MAX, STREAM_MAX, TZNAME_MAX."
.2 10 "Symbolic Constants"
.iD
On
\*(sN
systems, \fB<unistd.h>\fR contains the following values:
.TS
tab(|), allbox;
cw(2.5i) cw(1.0i)
l l.
Symbolic Constant | Value
R_OK|4
W_OK|2
X_OK|1
F_OK|0
SEEK_SET|0
SEEK_CUR|1
SEEK_END|2
_POSIX_JOB_CONTROL|1
_POSIX_SAVED_IDS|1
_POSIX_VERSION|199506L
_POSIX_VDISABLE|0xff
.TE
No definition is present for _POSIX_CHOWN_RESTRICTED
since versions of the system with differing behaviours may be created.
The behaviour is controlled by the value of the kernel variable
"restricted_chown". A kernel with values other than the default may be
created by changing this value via the command \fBsystune\fR: see systune(1M)
and reconfiguring: see autoconfig(1M).
.90 2.9 "NGROUPS_MAX must always be present; others from <limits.h>, \
.90 2.9 "Only limits need be reported from <limits.h> and <unistd.h>."
.nP
.dM