Module Name: src Committed By: dholland Date: Sun Oct 6 05:45:19 UTC 2013
Modified Files: src/share/doc/psd/05.sysman: 0.t 1.0.t 1.1.t 1.2.t 1.3.t 1.4.t 1.5.t 1.6.t 1.7.t 2.0.t 2.1.t 2.2.t 2.3.t 2.4.t 2.5.t Makefile a.t Log Message: I'm a document, Jim, not a shell script. Fix this to not use .sy to generate portions of the document. Instead, generate the necessary bits with sed beforehand. Apparently -ms is too feeble to be able to generate tables of contents with automatically generated page numbers, so add the expected page numbers into the document and make it possible to turn on a rudimentary mechanism for crosschecking them. (This mechanism still requires .sy though. Improvements welcome.) This makes it unnecessary to build the document twice, or to use groff in unsafe mode. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/share/doc/psd/05.sysman/0.t \ src/share/doc/psd/05.sysman/1.2.t src/share/doc/psd/05.sysman/1.6.t \ src/share/doc/psd/05.sysman/2.2.t src/share/doc/psd/05.sysman/2.3.t \ src/share/doc/psd/05.sysman/a.t cvs rdiff -u -r1.3 -r1.4 src/share/doc/psd/05.sysman/1.0.t \ src/share/doc/psd/05.sysman/1.1.t src/share/doc/psd/05.sysman/1.3.t \ src/share/doc/psd/05.sysman/1.4.t src/share/doc/psd/05.sysman/1.5.t \ src/share/doc/psd/05.sysman/1.7.t src/share/doc/psd/05.sysman/2.0.t \ src/share/doc/psd/05.sysman/2.1.t src/share/doc/psd/05.sysman/2.4.t \ src/share/doc/psd/05.sysman/2.5.t cvs rdiff -u -r1.7 -r1.8 src/share/doc/psd/05.sysman/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/doc/psd/05.sysman/0.t diff -u src/share/doc/psd/05.sysman/0.t:1.4 src/share/doc/psd/05.sysman/0.t:1.5 --- src/share/doc/psd/05.sysman/0.t:1.4 Mon Dec 26 20:04:46 2005 +++ src/share/doc/psd/05.sysman/0.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 0.t,v 1.4 2005/12/26 20:04:46 perry Exp $ +.\" $NetBSD: 0.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -78,15 +78,24 @@ network server processes. .AE .LP .bp +3 -.sy echo -n >toc +.\" The second argument of .Sh is the page number the section is +.\" expected to begin on. This is extracted into the table of contents +.\" before we begin typesetting. If you have been editing the document +.\" and want to check that the page numbers are still correct, +.\" uncomment the following line and the .sy line two lines down, then +.\" run groff with -U so .sy is allowed. Then check the output pagelog +.\" file. If anyone knows how to change this to an assertion, so .sy +.\" isn't needed and groff will complain if $2 isn't equal to the page +.\" number, please go ahead. +.\".sy echo 'have should-be heading' >pagelog .de Sh -.sy echo >>toc '.L\\$1 "\\$2" \\n%' +.\".sy echo >>pagelog '\\$2 \\n% "\\$3"' .ie \\$1=0 \{\ -\fB\\$2\fP +\fB\\$3\fP .\} .el \{\ .NH \\$1 -\\$2 +\\$3 .LP .\} .. @@ -97,9 +106,8 @@ network server processes. \\$1\\$2 .. .de Fd -.sy echo >>toc '.Nm \\$1 \\$2 "\\$3' .. -.Sh 0 "Notation and Types +.Sh 0 4 "Notation and Types .PP The notation used to describe system calls is a variant of a C language function call, consisting of a prototype call followed by Index: src/share/doc/psd/05.sysman/1.2.t diff -u src/share/doc/psd/05.sysman/1.2.t:1.4 src/share/doc/psd/05.sysman/1.2.t:1.5 --- src/share/doc/psd/05.sysman/1.2.t:1.4 Fri Feb 13 11:36:08 2004 +++ src/share/doc/psd/05.sysman/1.2.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.2.t,v 1.4 2004/02/13 11:36:08 wiz Exp $ +.\" $NetBSD: 1.2.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)1.2.t 8.9 (Berkeley) 5/29/94 .\" -.Sh 2 "Memory management -.Sh 3 "Text, data, and stack +.Sh 2 8 "Memory management +.Sh 3 8 "Text, data, and stack .PP Each process begins execution with three logical areas of memory called text, data, and stack. @@ -63,7 +63,7 @@ and .LP There is no call for extending the stack, as it is automatically extended as needed. -.Sh 3 "Mapping pages +.Sh 3 8 "Mapping pages .PP The system supports sharing of data between processes by allowing pages to be mapped into memory. These mapped @@ -205,7 +205,7 @@ caddr_t addr; size_t len; This call deletes the mappings for the specified address range, and causes further references to addresses within the range to generate invalid memory references. -.Sh 3 "Page protection control +.Sh 3 10 "Page protection control .LP A process can control the protection of pages using the call: .DS @@ -216,7 +216,7 @@ caddr_t addr; size_t len; int prot; This call changes the specified pages to have protection \fIprot\fP\|. Not all implementations will guarantee protection on a page basis; the granularity of protection changes may be as large as an entire region. -.Sh 3 "Giving and getting advice +.Sh 3 10 "Giving and getting advice .LP A process that has knowledge of its memory behavior may use the @@ -282,7 +282,7 @@ After the .Fn munlock call, the pages in the specified address range are still accessible but may be paged out if memory is needed and they are not accessed. -.Sh 3 "Synchronization primitives +.Sh 3 10 "Synchronization primitives Primitives are provided for synchronization using semaphores in shared memory.\(dd .FS Index: src/share/doc/psd/05.sysman/1.6.t diff -u src/share/doc/psd/05.sysman/1.6.t:1.4 src/share/doc/psd/05.sysman/1.6.t:1.5 --- src/share/doc/psd/05.sysman/1.6.t:1.4 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/1.6.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.6.t,v 1.4 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 1.6.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)1.6.t 8.5 (Berkeley) 6/1/94 .\" -.Sh 2 "Resource controls -.Sh 3 "Process priorities +.Sh 2 18 "Resource controls +.Sh 3 18 "Process priorities .PP The system gives CPU scheduling priority to processes that have not used CPU time recently. This tends to favor interactive processes and @@ -65,7 +65,7 @@ The call sets the priorities of all the specified processes to the specified value. Only the super-user may lower priorities. -.Sh 3 "Resource utilization +.Sh 3 18 "Resource utilization .PP The .Fn getrusage @@ -102,7 +102,7 @@ struct rusage { }; .TE .DE -.Sh 3 "Resource limits +.Sh 3 19 "Resource limits .PP The resources of a process for which limits are controlled by the kernel are defined in \fI<sys/resource.h>\fP, and controlled by the Index: src/share/doc/psd/05.sysman/2.2.t diff -u src/share/doc/psd/05.sysman/2.2.t:1.4 src/share/doc/psd/05.sysman/2.2.t:1.5 --- src/share/doc/psd/05.sysman/2.2.t:1.4 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/2.2.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.2.t,v 1.4 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 2.2.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -30,8 +30,8 @@ .\" @(#)2.2.t 8.8 (Berkeley) 6/1/94 .\" .ne 1i -.Sh 2 "Filesystem -.Sh 3 "Overview +.Sh 2 23 "Filesystem +.Sh 3 23 "Overview .PP The filesystem abstraction provides access to a hierarchical filesystem structure. @@ -47,7 +47,7 @@ If permitted by the underlying storage m the user may read the data in a directory as though it were an ordinary file to determine the names of the contained files, but only the system may write into the directories. -.Sh 3 "Naming +.Sh 3 23 "Naming .PP The filesystem calls take \fIpath name\fP arguments. These consist of a zero or more component \fIfile names\fP @@ -101,11 +101,11 @@ char *path; struct statfs *buf; fstatfs(fd, buf); int fd; struct statfs *buf; .DE -.Sh 3 "Creation and removal +.Sh 3 24 "Creation and removal .PP The filesystem allows directories, files, special devices, and fifos to be created and removed from the filesystem. -.Sh 4 "Directory creation and removal +.Sh 4 24 "Directory creation and removal .LP A directory is created with the .Fn mkdir @@ -148,7 +148,7 @@ which provide a more convenient interfac .Fn getdirentries . The \fIfts\fP package is provided for recursive directory traversal. -.Sh 4 "File creation +.Sh 4 24 "File creation .LP Files are opened and/or created with the .Fn open @@ -255,7 +255,7 @@ style locks. The O_ASYNC flag enables the SIGIO signal to be sent to the process group of the opening process when I/O is possible, e.g., upon availability of data to be read. -.Sh 4 "Creating references to devices +.Sh 4 26 "Creating references to devices .PP The filesystem allows entries which reference peripheral devices. Peripherals are distinguished as \fIblock\fP or \fIcharacter\fP @@ -292,7 +292,7 @@ char *path; mode_t mode; .DE The \fImode\fP parameter is used solely to specify the access permissions of the newly created fifo. -.Sh 4 "Links and renaming +.Sh 4 26 "Links and renaming .PP Links allow multiple names for a file to exist. Links exist independently of the file to which they are linked. @@ -374,7 +374,7 @@ then the other also must be a directory .Fn rename to succeed. If \fInewname\fP exists and is a directory, then it must be empty. -.Sh 4 "File, device, and fifo removal +.Sh 4 27 "File, device, and fifo removal .LP A reference to a file, special device or fifo may be removed with the .Fn unlink @@ -415,7 +415,7 @@ This call is most useful for revoking ac a hangup in preparation for reuse by a new login session. Access to a controlling terminal is automatically revoked when the session leader for the session exits. -.Sh 3 "Reading and modifying file attributes +.Sh 3 27 "Reading and modifying file attributes .LP Detailed information about the attributes of a file may be obtained with the calls: @@ -518,7 +518,7 @@ char *path; struct timeval *tvp[2]; .DE This is particularly useful when moving files between media, to preserve file access and modification times. -.Sh 3 "Checking accessibility +.Sh 3 28 "Checking accessibility .PP A process running with different real and effective user-ids @@ -572,7 +572,7 @@ the \fIfd\fP argument is an open file de The \fIname\fP argument specifies the system variable to be queried. Symbolic constants for each name value are found in the include file \fI<unistd.h>\fP. -.Sh 3 "Extension and truncation +.Sh 3 29 "Extension and truncation .PP Files are created with zero length and may be extended simply by writing or appending to them. While a file is @@ -634,7 +634,7 @@ ensures that the contents of a file are before returning. This feature is used by applications such as editors that want to ensure the integrity of a new file before continuing. -.Sh 3 "Locking +.Sh 3 29 "Locking .PP The filesystem provides basic facilities that allow cooperating processes to synchronize their access to shared files. A process may @@ -684,7 +684,7 @@ in the \fIhow\fP parameter. Specifying LOCK_UN removes all locks associated with the descriptor. Advisory locks held by a process are automatically deleted when the process terminates. -.Sh 3 "Disk quotas +.Sh 3 30 "Disk quotas .PP As an optional facility, each local filesystem can impose limits on a user's or group's disk usage. @@ -722,7 +722,7 @@ Q_SETUSE /* set usage */ Q_SYNC /* sync disk copy of a filesystems quotas */ .TE .DE -.Sh 3 "Remote filesystems +.Sh 3 30 "Remote filesystems .LP There are two system calls intended to help support the remote filesystem implementation. @@ -749,7 +749,7 @@ file handle pointed to by fhp. This file handle can then be used in future calls to NFS to access the file without the need to repeat the pathname translation. This system call is restricted to the superuser. -.Sh 3 "Other filesystems +.Sh 3 31 "Other filesystems .LP The kernel supports many other filesystems. These include: Index: src/share/doc/psd/05.sysman/2.3.t diff -u src/share/doc/psd/05.sysman/2.3.t:1.4 src/share/doc/psd/05.sysman/2.3.t:1.5 --- src/share/doc/psd/05.sysman/2.3.t:1.4 Thu Jan 28 14:05:03 2010 +++ src/share/doc/psd/05.sysman/2.3.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.3.t,v 1.4 2010/01/28 14:05:03 mbalmer Exp $ +.\" $NetBSD: 2.3.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,9 +29,9 @@ .\" .\" @(#)2.3.t 8.6 (Berkeley) 6/1/94 .\" -.Sh 2 "Interprocess communications -.Sh 3 "Interprocess communication primitives -.Sh 4 "Communication domains +.Sh 2 31 "Interprocess communications +.Sh 3 31 "Interprocess communication primitives +.Sh 4 31 "Communication domains .PP The system provides access to an extensible set of communication \fIdomains\fP. A communication domain (or protocol family) @@ -45,7 +45,7 @@ a check-off box on the list of your syst and the ``NS'' domain (PF_NS) for communication using the Xerox Network Systems protocols. Other domains can be added to the system. -.Sh 4 "Socket types and protocols +.Sh 4 31 "Socket types and protocols .PP Within a domain, communication takes place between communication endpoints known as \fIsockets\fP. Each socket has the potential to exchange @@ -106,7 +106,7 @@ For example, within the ``Internet'' dom implemented by the UDP user datagram protocol, and the SOCK_STREAM type may be implemented by the TCP transmission control protocol, while no standard protocols to provide SOCK_RDM or SOCK_SEQPACKET sockets exist. -.Sh 4 "Socket creation, naming and service establishment +.Sh 4 32 "Socket creation, naming and service establishment .PP Sockets may be \fIconnected\fP or \fIunconnected\fP. An unconnected socket descriptor is obtained by the @@ -161,7 +161,7 @@ getpeername(s, name, namelen); int s; result struct sockaddr *name; result int *namelen; .DE Domains may support sockets with several names. -.Sh 4 "Accepting connections +.Sh 4 33 "Accepting connections .LP Once a binding is made to a connection-oriented socket, it is possible to @@ -189,7 +189,7 @@ If no new connections are queued for acc the call will wait for a connection unless non-blocking I/O has been enabled (see section .Xr 1.5.4 ). -.Sh 4 "Making connections +.Sh 4 33 "Making connections .LP An active connection to a named socket is made by the .Fn connect @@ -237,7 +237,7 @@ result int pv[2]; .DE creates a pair of SOCK_STREAM sockets in the PF_LOCAL domain, with pv[0] only writable and pv[1] only readable. -.Sh 4 "Sending and receiving data +.Sh 4 33 "Sending and receiving data .LP Messages may be sent from a socket by: .DS @@ -294,7 +294,7 @@ MSG_WAITALL /* wait for full request or MSG_DONTWAIT /* this message should be nonblocking */ .TE .DE -.Sh 4 "Scatter/gather and exchanging access rights +.Sh 4 34 "Scatter/gather and exchanging access rights .PP It is possible to scatter and gather data and to exchange access rights with messages. When either of these operations is involved, @@ -370,7 +370,7 @@ int s; struct msghdr *msg; int flags; msglen = recvmsg(s, msg, flags); result int msglen; int s; result struct msghdr *msg; int flags; .DE -.Sh 4 "Using read and write with sockets +.Sh 4 35 "Using read and write with sockets .PP The normal .Fn read @@ -384,7 +384,7 @@ calls from or to a single area of memory received. A process may operate on a virtual circuit socket, a terminal or a file with blocking or non-blocking input/output operations without distinguishing the descriptor type. -.Sh 4 "Shutting down halves of full-duplex connections +.Sh 4 35 "Shutting down halves of full-duplex connections .PP A process that has a full-duplex socket such as a virtual circuit and no longer wishes to read from or write to this socket can @@ -400,7 +400,7 @@ If the underlying protocol supports unid this indication will be passed to the peer. For example, a shutdown for writing might produce an end-of-file condition at the remote end. -.Sh 4 "Socket and protocol options +.Sh 4 35 "Socket and protocol options .PP Sockets, and their underlying communication protocols, may support \fIoptions\fP. These options may be used to manipulate @@ -429,32 +429,32 @@ by the socket facilities. Other \fIleve a particular protocol which is to act on the option request; these values are normally interpreted as a ``protocol number'' within the protocol family. -.Sh 3 "PF_LOCAL domain +.Sh 3 36 "PF_LOCAL domain .PP This section describes briefly the properties of the PF_LOCAL (``UNIX'') communications domain. -.Sh 4 "Types of sockets +.Sh 4 36 "Types of sockets .PP In the local domain, the SOCK_STREAM abstraction provides pipe-like facilities, while SOCK_DGRAM provides (usually) reliable message-style communications. -.Sh 4 "Naming +.Sh 4 36 "Naming .PP Socket names are strings and may appear in the filesystem name space. -.Sh 4 "Access rights transmission +.Sh 4 36 "Access rights transmission .PP The ability to pass descriptors with messages in this domain allows migration of service within the system and allows user processes to be used in building system facilities. -.Sh 3 "INTERNET domain +.Sh 3 36 "INTERNET domain .PP This section describes briefly how the Internet domain is mapped to the model described in this section. More information will be found in the document describing the network implementation in 4.4BSD (SMM:18). -.Sh 4 "Socket types and protocols +.Sh 4 36 "Socket types and protocols .PP SOCK_STREAM is supported by the Internet TCP protocol; SOCK_DGRAM by the UDP protocol. @@ -465,7 +465,7 @@ The SOCK_SEQPACKET has no direct Internet family analogue; a protocol based on one from the XEROX NS family and layered on top of IP could be implemented to fill this gap. -.Sh 4 "Socket naming +.Sh 4 36 "Socket naming .PP Sockets in the Internet domain have names composed of a 32-bit Internet address and a 16-bit port number. @@ -476,10 +476,10 @@ the network part is variable in size and The host part may optionally be interpreted as a subnet field plus the host on the subnet; this is enabled by setting a network address mask at boot time. -.Sh 4 "Access rights transmission +.Sh 4 36 "Access rights transmission .PP No access rights transmission facilities are provided in the Internet domain. -.Sh 4 "Raw access +.Sh 4 36 "Raw access .PP The Internet domain allows the super-user access to the raw facilities of IP. Index: src/share/doc/psd/05.sysman/a.t diff -u src/share/doc/psd/05.sysman/a.t:1.4 src/share/doc/psd/05.sysman/a.t:1.5 --- src/share/doc/psd/05.sysman/a.t:1.4 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/a.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: a.t,v 1.4 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: a.t,v 1.5 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993 .\" The Regents of the University of California. All rights reserved. @@ -41,14 +41,14 @@ .nr l3 0 .nr l4 0 .sp 0.5 -\\n(l1 \fB\\$1\fP +\\n(l1 \fB\\$2\fP .. .de L2 .nr l2 +1 .nr l3 0 .nr l4 0 .sp 0.25 -\\n(l1.\\n(l2 \fB\\$1\fP +\\n(l1.\\n(l2 \fB\\$2\fP .. .de L3 .. @@ -59,10 +59,10 @@ \\$1 \\$3 .. .bp -.Sh 1 "Summary of facilities +.Sh 1 40 "Summary of facilities .sp 1 .ta \w'8.8\ \ 'u +0.25i +\w'gettimeofday\ \ 'u -'so Toc +'so facilities .pn 2 .bp .de L0 @@ -71,7 +71,7 @@ .nr l3 0 .nr l4 0 .br - \fB\\$1\fP \\$2 + \fB\\$2\fP \\$1 .. .de L1 .nr l1 +1 @@ -79,25 +79,25 @@ .nr l3 0 .nr l4 0 .sp 0.5 - \\n(l1 \fB\\$1\fP \\$2 + \\n(l1 \fB\\$2\fP \\$1 .. .de L2 .nr l2 +1 .nr l3 0 .nr l4 0 .sp 0.25 - \\n(l1.\\n(l2 \fB\\$1\fP \\$2 + \\n(l1.\\n(l2 \fB\\$2\fP \\$1 .. .de L3 .nr l3 +1 .nr l4 0 .br - \\n(l1.\\n(l2.\\n(l3 \\$1 \\$2 + \\n(l1.\\n(l2.\\n(l3 \\$2 \\$1 .. .de L4 .nr l4 +1 .br - \\n(l1.\\n(l2.\\n(l3.\\n(l4 \\$1 \\$2 + \\n(l1.\\n(l2.\\n(l3.\\n(l4 \\$2 \\$1 .. .de Nm .. @@ -105,5 +105,5 @@ \s+4\fBContents\fP\s0 .sp 2 .ta \w'8.8.8.88\ \ 'uR +\w'\ \ \ 'u 6iR -'so Toc -.sy mv toc Toc +'so contents + Index: src/share/doc/psd/05.sysman/1.0.t diff -u src/share/doc/psd/05.sysman/1.0.t:1.3 src/share/doc/psd/05.sysman/1.0.t:1.4 --- src/share/doc/psd/05.sysman/1.0.t:1.3 Thu Aug 7 10:30:48 2003 +++ src/share/doc/psd/05.sysman/1.0.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.0.t,v 1.3 2003/08/07 10:30:48 agc Exp $ +.\" $NetBSD: 1.0.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)1.0.t 8.3 (Berkeley) 5/26/94 .\" -.Sh 1 "Kernel primitives +.Sh 1 4 "Kernel primitives .PP The facilities available to a user process are logically divided into two parts: kernel facilities directly implemented by Index: src/share/doc/psd/05.sysman/1.1.t diff -u src/share/doc/psd/05.sysman/1.1.t:1.3 src/share/doc/psd/05.sysman/1.1.t:1.4 --- src/share/doc/psd/05.sysman/1.1.t:1.3 Thu Aug 7 10:30:48 2003 +++ src/share/doc/psd/05.sysman/1.1.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.1.t,v 1.3 2003/08/07 10:30:48 agc Exp $ +.\" $NetBSD: 1.1.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)1.1.t 8.5 (Berkeley) 5/26/94 .\" -.Sh 2 "Processes and protection -.Sh 3 "Host identifiers +.Sh 2 5 "Processes and protection +.Sh 3 5 "Host identifiers .PP Each host has associated with it an integer host ID, and a host name of up to MAXHOSTNAMELEN (256) characters (as defined in @@ -62,7 +62,7 @@ char *name; int len; len = gethostname(buf, buflen); result int len; result char *buf; int buflen; .DE -.Sh 3 "Process identifiers +.Sh 3 5 "Process identifiers Each host runs a set of \fIprocesses\fP. Each process is largely independent of other processes, having its own protection domain, address space, timers, and @@ -90,7 +90,7 @@ routine: pid = getppid(); result pid_t pid; .DE -.Sh 3 "Process creation and termination +.Sh 3 5 "Process creation and termination .LP A new process is created by making a logical duplicate of an existing process: @@ -173,7 +173,7 @@ the effective group ID is set to the gro Whether changed or not, the effective user ID is then copied to the saved user ID, and the effective group ID is copied to the saved group ID. -.Sh 3 "User and group IDs +.Sh 3 6 "User and group IDs .PP Each process in the system has associated with it three user IDs: a \fIreal user ID\fP, an \fIeffective user ID\fP, and a \fIsaved user ID\fP, @@ -282,7 +282,7 @@ real or saved group ID: setegid(gid); gid_t gid; .DE -.Sh 3 "Sessions +.Sh 3 7 "Sessions .PP When a user first logs onto the system, they are put into a session with a controlling process @@ -313,7 +313,7 @@ result char *name; Unlike historic systems, the value returned by .Fn getlogin is stored in the kernel and can be trusted. -.Sh 3 "Process groups +.Sh 3 7 "Process groups .PP Each process in the system is also associated with a \fIprocess group\fP. The group of processes in a process group is sometimes Index: src/share/doc/psd/05.sysman/1.3.t diff -u src/share/doc/psd/05.sysman/1.3.t:1.3 src/share/doc/psd/05.sysman/1.3.t:1.4 --- src/share/doc/psd/05.sysman/1.3.t:1.3 Thu Aug 7 10:30:48 2003 +++ src/share/doc/psd/05.sysman/1.3.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.3.t,v 1.3 2003/08/07 10:30:48 agc Exp $ +.\" $NetBSD: 1.3.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,9 +29,9 @@ .\" .\" @(#)1.3.t 8.6 (Berkeley) 5/29/94 .\" -.Sh 2 "Signals +.Sh 2 11 "Signals .PP -.Sh 3 "Overview +.Sh 3 11 "Overview .PP The system defines a set of \fIsignals\fP that may be delivered to a process. Signal delivery resembles the occurrence of a hardware @@ -62,7 +62,7 @@ Multiple signals may be delivered on a s as if signal handlers were interrupted by other signal handlers. Mechanisms are provided whereby critical sections of code may protect themselves against the occurrence of specified signals. -.Sh 3 "Signal types +.Sh 3 11 "Signal types .PP The signals defined by the system fall into one of five classes: hardware conditions, @@ -111,7 +111,7 @@ a child process changes state, either by Exceeding resource limits may cause signals to be generated. SIGXCPU occurs when a process nears its CPU time limit and SIGXFSZ when a process reaches the limit on file size. -.Sh 3 "Signal handlers +.Sh 3 12 "Signal handlers .PP A process has a handler associated with each signal. The handler controls the way the signal is delivered. @@ -200,7 +200,7 @@ If the signal handler makes a call to the signal mask at the time of the corresponding .Fn setjmp is restored. -.Sh 3 "Sending signals +.Sh 3 13 "Sending signals .LP A process can send a signal to another process or processes group with the call: @@ -222,7 +222,7 @@ it must have the same effective user id Signals also are sent implicitly from a terminal device to the process group associated with the terminal when certain input characters are typed. -.Sh 3 "Protecting critical sections +.Sh 3 13 "Protecting critical sections .LP The .Fn sigprocmask @@ -256,7 +256,7 @@ are pending delivery using the call: sigpending(mask); result sigset_t *mask; .DE -.Sh 3 "Signal stacks +.Sh 3 14 "Signal stacks .LP Applications that maintain complex or fixed size stacks can use the call: Index: src/share/doc/psd/05.sysman/1.4.t diff -u src/share/doc/psd/05.sysman/1.4.t:1.3 src/share/doc/psd/05.sysman/1.4.t:1.4 --- src/share/doc/psd/05.sysman/1.4.t:1.3 Thu Aug 7 10:30:48 2003 +++ src/share/doc/psd/05.sysman/1.4.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.4.t,v 1.3 2003/08/07 10:30:48 agc Exp $ +.\" $NetBSD: 1.4.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)1.4.t 8.5 (Berkeley) 5/29/94 .\" -.Sh 2 "Timers -.Sh 3 "Real time +.Sh 2 14 "Timers +.Sh 3 14 "Real time .PP The system's notion of the current time is in Coordinated Universal Time (UTC, previously GMT) and the current time @@ -88,7 +88,7 @@ by skewing the rate at which time advanc adjtime(delta, olddelta); struct timeval *delta; result struct timeval *olddelta; .DE -.Sh 3 "Interval time +.Sh 3 15 "Interval time .LP The system provides each process with three interval timers, defined in \fI<sys/time.h>\fP: Index: src/share/doc/psd/05.sysman/1.5.t diff -u src/share/doc/psd/05.sysman/1.5.t:1.3 src/share/doc/psd/05.sysman/1.5.t:1.4 --- src/share/doc/psd/05.sysman/1.5.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/1.5.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.5.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 1.5.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)1.5.t 8.6 (Berkeley) 5/29/94 .\" -.Sh 2 Descriptors -.Sh 3 "The reference table +.Sh 2 16 "Descriptors +.Sh 3 16 "The reference table .PP Each process has access to resources through \fIdescriptors\fP. Each descriptor is a handle allowing @@ -59,7 +59,7 @@ The maximum number of descriptors is a r The entries in the descriptor reference table are referred to by small integers; for example if there are 64 slots they are numbered 0 to 63. -.Sh 3 "Descriptor properties +.Sh 3 16 "Descriptor properties .PP Each descriptor has a logical set of properties maintained by the system and defined by its \fItype\fP. @@ -78,7 +78,7 @@ Section describes communications domains and sockets. Terminals and (structured and unstructured) devices are described in section .Xr 2.4 . -.Sh 3 "Managing descriptor references +.Sh 3 16 "Managing descriptor references .LP A duplicate of a descriptor reference may be made by doing: .DS @@ -109,7 +109,7 @@ Descriptors are deallocated by: close(old); int old; .DE -.Sh 3 "Multiplexing requests +.Sh 3 16 "Multiplexing requests .PP The system provides a standard way to do Index: src/share/doc/psd/05.sysman/1.7.t diff -u src/share/doc/psd/05.sysman/1.7.t:1.3 src/share/doc/psd/05.sysman/1.7.t:1.4 --- src/share/doc/psd/05.sysman/1.7.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/1.7.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 1.7.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 1.7.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,11 @@ .\" .\" @(#)1.7.t 8.4 (Berkeley) 5/26/94 .\" -.Sh 2 "System operation support +.Sh 2 19 "System operation support .LP Unless noted otherwise, the calls in this section are permitted only to a privileged user. -.Sh 3 "Monitoring system operation +.Sh 3 20 "Monitoring system operation .PP The .Fn sysctl @@ -101,7 +101,7 @@ CTL\_USER sys/sysctl.h User-level CTL\_VM vm/vm_param.h Virtual memory .TE .DE -.Sh 3 "Bootstrap operations +.Sh 3 20 "Bootstrap operations .LP The call: .DS @@ -137,7 +137,7 @@ swapon(blkdev); char *blkdev; .DE specifies a device to be made available for paging and swapping. -.Sh 3 "Shutdown operations +.Sh 3 21 "Shutdown operations .LP The call: .DS @@ -171,7 +171,7 @@ causes a machine halt or reboot. The ca by specifying \fIhow\fP as RB_AUTOBOOT, or that the machine be halted with RB_HALT, among other options. These constants are defined in \fI<sys/reboot.h>\fP. -.Sh 3 "Accounting +.Sh 3 21 "Accounting .PP The system optionally keeps an accounting record in a file for each process that exits on the system. Index: src/share/doc/psd/05.sysman/2.0.t diff -u src/share/doc/psd/05.sysman/2.0.t:1.3 src/share/doc/psd/05.sysman/2.0.t:1.4 --- src/share/doc/psd/05.sysman/2.0.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/2.0.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.0.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 2.0.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)2.0.t 8.4 (Berkeley) 5/26/94 .\" -.Sh 1 "System facilities +.Sh 1 21 "System facilities .LP The system abstractions described are: .IP "Directory contexts Index: src/share/doc/psd/05.sysman/2.1.t diff -u src/share/doc/psd/05.sysman/2.1.t:1.3 src/share/doc/psd/05.sysman/2.1.t:1.4 --- src/share/doc/psd/05.sysman/2.1.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/2.1.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.1.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 2.1.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)2.1.t 8.4 (Berkeley) 5/26/94 .\" -.Sh 2 "Generic operations +.Sh 2 22 "Generic operations .PP Many system abstractions support the .Fn read , @@ -41,7 +41,7 @@ We describe the basics of these common p Similarly, the mechanisms whereby normally synchronous operations may occur in a non-blocking or asynchronous fashion are common to all system-defined abstractions and are described here. -.Sh 3 "Read and write +.Sh 3 22 "Read and write .PP The .Fn read @@ -112,7 +112,7 @@ cc = writev(fd, iov, iovlen); result ssize_t cc; int fd; struct iovec *iov; int iovlen; .DE Here \fIiovlen\fP is the count of elements in the \fIiov\fP array. -.Sh 3 "Input/output control +.Sh 3 23 "Input/output control .LP Control operations on an object are performed by the .Fn ioctl @@ -137,7 +137,7 @@ disks cause formatting operations to occ control tape positioning. The names for basic control operations are defined by \fI<sys/ioctl.h>\fP, or more specifically by files it includes. -.Sh 3 "Non-blocking and asynchronous operations +.Sh 3 23 "Non-blocking and asynchronous operations .PP A process that wishes to do non-blocking operations on one of its descriptors sets the descriptor in non-blocking mode as Index: src/share/doc/psd/05.sysman/2.4.t diff -u src/share/doc/psd/05.sysman/2.4.t:1.3 src/share/doc/psd/05.sysman/2.4.t:1.4 --- src/share/doc/psd/05.sysman/2.4.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/2.4.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.4.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 2.4.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)2.4.t 8.5 (Berkeley) 6/1/94 .\" -.Sh 2 "Terminals and Devices -.Sh 3 "Terminals +.Sh 2 37 "Terminals and Devices +.Sh 3 37 "Terminals .PP Terminals support .Fn read @@ -62,7 +62,7 @@ int fd; .DE Only a session leader may acquire a controlling terminal. .ne 1i -.Sh 4 "Terminal input +.Sh 4 37 "Terminal input .PP Terminals are handled according to the underlying communication characteristics such as baud rate and required delays, @@ -145,7 +145,7 @@ and SIGQUIT signals, and to stop a process group with the SIGTSTP signal either immediately, or when all input up to the stop character has been read. -.Sh 4 "Terminal output +.Sh 4 38 "Terminal output .PP On output, the terminal handler provides some simple formatting services. These include converting the carriage return character to the @@ -153,7 +153,7 @@ two character return-linefeed sequence, inserting delays after certain standard control characters, and expanding tabs. .pl +1 -.Sh 3 "Structured devices +.Sh 3 38 "Structured devices .PP Structured devices are typified by disks and magnetic tapes, but may represent any random-access device. @@ -162,7 +162,7 @@ devices to allow them to be read and wri fashion like ordinary files. Filesystems are normally mounted on block devices. .pl -1 -.Sh 3 "Unstructured devices +.Sh 3 38 "Unstructured devices .PP Unstructured devices are those devices which do not support block structure. Familiar unstructured devices Index: src/share/doc/psd/05.sysman/2.5.t diff -u src/share/doc/psd/05.sysman/2.5.t:1.3 src/share/doc/psd/05.sysman/2.5.t:1.4 --- src/share/doc/psd/05.sysman/2.5.t:1.3 Thu Aug 7 10:30:49 2003 +++ src/share/doc/psd/05.sysman/2.5.t Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -.\" $NetBSD: 2.5.t,v 1.3 2003/08/07 10:30:49 agc Exp $ +.\" $NetBSD: 2.5.t,v 1.4 2013/10/06 05:45:19 dholland Exp $ .\" .\" Copyright (c) 1983, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,8 +29,8 @@ .\" .\" @(#)2.5.t 8.6 (Berkeley) 5/29/94 .\" -.Sh 2 "Process debugging -.Sh 3 "Traditional debugging +.Sh 2 38 "Process debugging +.Sh 3 38 "Traditional debugging .LP Debuggers traditionally use the .Fn ptrace @@ -73,7 +73,7 @@ The debugger finds (or creates) the proc debug and then issues an attach command via the \fIctl\fP file. Further interaction can then be done with the process through the other files provided by the \fI/proc\fP filesystem. -.Sh 3 "Kernel tracing +.Sh 3 38 "Kernel tracing .LP Another facility for debugging programs is provided by the .Fn ktrace Index: src/share/doc/psd/05.sysman/Makefile diff -u src/share/doc/psd/05.sysman/Makefile:1.7 src/share/doc/psd/05.sysman/Makefile:1.8 --- src/share/doc/psd/05.sysman/Makefile:1.7 Thu Jul 10 10:34:30 2003 +++ src/share/doc/psd/05.sysman/Makefile Sun Oct 6 05:45:19 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2003/07/10 10:34:30 lukem Exp $ +# $NetBSD: Makefile,v 1.8 2013/10/06 05:45:19 dholland Exp $ # # @(#)Makefile 8.2 (Berkeley) 6/1/94 @@ -6,13 +6,20 @@ DIR= psd/05.sysman SRCS= 0.t 1.0.t 1.1.t 1.2.t 1.3.t 1.4.t 1.5.t 1.6.t 1.7.t \ 2.0.t 2.1.t 2.2.t 2.3.t 2.4.t 2.5.t a.t MACROS= -ms -CLEANFILES+=Toc +CLEANFILES+=facilities contents pagelog -paper.ps: ${SRCS} - # Format twice to (only) generate Toc in the first run: - ( ${TOOL_SOELIM} -I${.CURDIR} ${.ALLSRC} | ${TOOL_TBL} | \ - ${TOOL_ROFF_PS} ${MACROS} 2>&1 ) >/dev/null - ${TOOL_SOELIM} -I${.CURDIR} ${.ALLSRC} | ${TOOL_TBL} | \ +paper.ps: ${SRCS} facilities contents + ${TOOL_SOELIM} -I${.CURDIR} ${.ALLSRC:M*.t} | ${TOOL_TBL} | \ ${TOOL_ROFF_PS} ${MACROS} > ${.TARGET} +facilities: ${SRCS} + ${TOOL_SOELIM} -I${.CURDIR} ${.ALLSRC} |\ + ${TOOL_SED} -n -e '/^\.Fd/p;/^\.Sh/p' |\ + ${TOOL_SED} -e 's/^\.Fd/.Nm/;s/^\.Sh /.L/' > ${.TARGET} + +contents: ${SRCS} + ${TOOL_SOELIM} -I${.CURDIR} ${.ALLSRC} |\ + ${TOOL_SED} -n -e '/^\.Sh/p' |\ + ${TOOL_SED} -e 's/^\.Sh /.L/;s/$$/"/' > ${.TARGET} + .include <bsd.doc.mk>