tmac: introduce real manual reference macro instead of overloading IR

The overloading of IR emits magic \X'...' sequences that turn into HTML manual links.
But not all such IR invocations should be manual links;
those had to be written to avoid the IR macro before.
Worse, the \X'...' ending the IR causes troff to emit only a single space after a period.

Defining a new IM macro for manual references fixes both problems.

Fixes #441.
This commit is contained in:
Russ Cox 2020-08-13 23:41:59 -04:00
parent a1c4307800
commit 977b25a76a
297 changed files with 1790 additions and 1774 deletions

View file

@ -49,7 +49,7 @@ automatically, so it is rarely necessary to tell the loader
which
libraries a program needs;
see
.IR 9c (1).
.IM 9c (1) .
.PP
The library to which a function belongs is defined by the
header file that defines its interface.
@ -121,7 +121,7 @@ and
plus macros that define the layout of
.IR jmp_buf
(see
.IR setjmp (3));
.IM setjmp (3) );
.\" definitions of the bits in the floating-point control register
.\" as used by
.\" .IR getfcr (2);
@ -198,27 +198,27 @@ by
or
.I create
(see
.IR open (3)).
.IM open (3) ).
These calls return an integer called a
.IR "file descriptor"
which identifies the file
to subsequent I/O calls,
notably
.IR read (3)
.IM read (3)
and
.IR write .
The system allocates the numbers by selecting the lowest unused descriptor.
They are allocated dynamically; there is no visible limit to the number of file
descriptors a process may have open.
They may be reassigned using
.IR dup (3).
.IM dup (3) .
File descriptors are indices into a
kernel resident
.IR "file descriptor table" .
Each process has an associated file descriptor table.
In threaded programs
(see
.IR thread (3)),
.IM thread (3) ),
the file descriptor table is shared by all the procs.
.PP
By convention,
@ -236,22 +236,22 @@ Files are normally read or written in sequential order.
The I/O position in the file is called the
.IR "file offset"
and may be set arbitrarily using the
.IR seek (3)
.IM seek (3)
system call.
.PP
Directories may be opened like regular files.
Instead of reading them with
.IR read (3),
.IM read (3) ,
use the
.B Dir
structure-based
routines described in
.IR dirread (3).
.IM dirread (3) .
The entry
corresponding to an arbitrary file can be retrieved by
.IR dirstat
(see
.IR stat (3))
.IM stat (3) )
or
.IR dirfstat ;
.I dirwstat
@ -262,9 +262,9 @@ write back entries, thus changing the properties of a file.
New files are made with
.I create
(see
.IR open (3))
.IM open (3) )
and deleted with
.IR remove (3).
.IM remove (3) .
Directories may not directly be written;
.IR create ,
.IR remove ,
@ -273,27 +273,27 @@ and
.I fwstat
alter them.
.PP
.IR Pipe (3)
.IM Pipe (3)
creates a connected pair of file descriptors,
useful for bidirectional local communication.
.SS "Process execution and control"
A new process is created
when an existing one calls
.IR fork (2).
.IM fork (2) .
The new (child) process starts out with
copies of the address space and most other attributes
of the old (parent) process.
In particular,
the child starts out running
the same program as the parent;
.IR exec (3)
.IM exec (3)
will bring in a different one.
.PP
Each process has a unique integer process id;
a set of open files, indexed by file descriptor;
and a current working directory
(changed by
.IR chdir (2)).
.IM chdir (2) ).
.PP
Each process has a set of attributes \(em memory, open files,
name space, etc. \(em that may be shared or unique.
@ -302,9 +302,9 @@ Flags to
control the sharing of these attributes.
.PP
A process terminates by calling
.IR exits (3).
.IM exits (3) .
A parent process may call
.IR wait (3)
.IM wait (3)
to wait for some child to terminate.
A bit of status information
may be passed from
@ -317,14 +317,14 @@ The Plan 9 interface persists here, although the functionality does not.
Instead, empty strings are converted to exit status 0 and non-empty strings to 1.
.PP
A process can go to sleep for a specified time by calling
.IR sleep (3).
.IM sleep (3) .
.PP
There is a
.I notification
mechanism for telling a process about events such as address faults,
floating point faults, and messages from other processes.
A process uses
.IR notify (3)
.IM notify (3)
to register the function to be called (the
.IR "notification handler" )
when such events occur.
@ -334,12 +334,12 @@ the main C library works properly in multiprocess programs;
.IR malloc ,
.IR print ,
and the other routines use locks (see
.IR lock (3))
.IM lock (3) )
to synchronize access to their data structures.
The graphics library defined in
.B <draw.h>
is also multi-process capable; details are in
.IR graphics (3).
.IM graphics (3) .
In general, though, multiprocess programs should use some form of synchronization
to protect shared data.
.PP
@ -365,12 +365,12 @@ Therefore, a program that shouldn't block unexpectedly will use a process
to serve the I/O request, passing the result to the main processes
over a channel when the request completes.
For examples of this design, see
.IR ioproc (3)
.IM ioproc (3)
or
.IR mouse (3).
.IM mouse (3) .
.SH SEE ALSO
.IR nm (1),
.IR 9c (1)
.IM 9c (1)
.SH DIAGNOSTICS
Math functions in
.I libc
@ -378,14 +378,14 @@ return
special values when the function is undefined for the
given arguments or when the value is not representable
(see
.IR nan (3)).
.IM nan (3) ).
.PP
Some of the functions in
.I libc
are system calls and many others employ system calls in their implementation.
All system calls return integers,
with \-1 indicating that an error occurred;
.IR errstr (3)
.IM errstr (3)
recovers a string describing the error.
Some user-level library functions also use the
.I errstr

View file

@ -44,7 +44,7 @@ bytes at
using
.I tokenize
(see
.IR getfields (3)).
.IM getfields (3) ).
It returns a
.B Cmdbuf
structure holding pointers to each field in the message.
@ -116,4 +116,4 @@ is a good example.
.SH SOURCE
.B \*9/src/lib9p/parse.c
.SH SEE ALSO
.IR 9p (3)
.IM 9p (3)

View file

@ -73,7 +73,7 @@ and
.BR Reqpool s.
They are primarily used by the 9P server loop
described in
.IR 9p (3).
.IM 9p (3) .
.PP
.B Fid
structures are intended to represent
@ -115,7 +115,7 @@ element points at a
.B File
structure
(see
.IR 9p-file (3))
.IM 9p-file (3) )
corresponding to the fid.
The
.B aux
@ -200,5 +200,5 @@ structures.
.SH SOURCE
.B \*9/src/lib9p
.SH SEE ALSO
.IR 9p (3),
.IR 9p-file (3)
.IM 9p (3) ,
.IM 9p-file (3)

View file

@ -144,7 +144,7 @@ When creating new file references by copying pointers,
call
.I incref
(see
.IR lock (3))
.IM lock (3) )
to update the reference count.
To note the removal of a reference to a file, call
.IR closefile .
@ -218,6 +218,6 @@ return nf;
.SH SOURCE
.B \*9/src/lib9p/file.c
.SH SEE ALSO
.IR 9p (3)
.IM 9p (3)
.SH BUGS
The reference counting is cumbersome.

View file

@ -122,5 +122,5 @@ and
.SH SOURCE
.B \*9/src/lib9p/intmap.c
.SH SEE ALSO
.IR 9p (3),
.IR 9p-fid (3)
.IM 9p (3) ,
.IM 9p-fid (3)

View file

@ -110,13 +110,13 @@ and
.B Fid
structures are allocated one-to-one with uncompleted
requests and active fids, and are described in
.IR 9p-fid (3).
.IM 9p-fid (3) .
.PP
The behavior of
.I srv
depends on whether there is a file tree
(see
.IR 9p-file (3))
.IM 9p-file (3) )
associated with the server, that is,
whether the
.B tree
@ -178,11 +178,11 @@ as
.BI /srv/ name .
.IP
Fork a child process via
.IR rfork (3)
.IM rfork (3)
or
.I procrfork
(see
.IR thread (3)),
.IM thread (3) ),
using the
.BR RFFDG ,
.RR RFNOTEG ,
@ -214,7 +214,7 @@ The parent returns to the caller.
.LP
If any error occurs during
this process, the entire process is terminated by calling
.IR sysfatal (3).
.IM sysfatal (3) .
.SS Service functions
The functions in a
.B Srv
@ -332,7 +332,7 @@ where
is the program name variable as set by
.I ARGBEGIN
(see
.IR arg (3)).
.IM arg (3) ).
.TP
.I Attach
The
@ -707,7 +707,7 @@ the service loop (which runs in a separate process
from its caller) terminates using
.I _exits
(see
.IR exits (3)).
.IM exits (3) ).
.PD
.PP
If the
@ -752,6 +752,6 @@ or is maintained elsewhere.
.SH SOURCE
.B \*9/src/lib9p
.SH SEE ALSO
.IR 9p-fid (3),
.IR 9p-file (3),
.IM 9p-fid (3) ,
.IM 9p-file (3) ,
.IR intro (9p)

View file

@ -149,7 +149,7 @@ connects to a service named
.I name
in the current name space directory
(see
.IR intro (4)).
.IM intro (4) ).
Both attach to the root of the file system
using the attach name
.IR aname .
@ -228,7 +228,7 @@ the allocated structures will be freed and the
file descriptor corresponding to the connection
will be closed
(see
.IR close (2)).
.IM close (2) ).
Fids are not reference counted: when
.I fsclose
is called, the clunk transaction and freeing of storage
@ -308,7 +308,7 @@ sets the offset; the
and
.I type
arguments are used as in
.IR seek (3).
.IM seek (3) .
Calling
.I fspread
or
@ -340,7 +340,7 @@ for the given fid.
.PP
.I Fsaccess
behaves like Unix's
.IR access (2).
.IM access (2) .
.I Fsremove
removes the named path.
.I Fsfremove
@ -358,7 +358,7 @@ are like
and
.I vfprint
(see
.IR print (3))
.IM print (3) )
but write to
.BR CFid* s.
.PP
@ -376,7 +376,7 @@ is similar but reads the entire directory.
The returned pointer should be freed with
.I free
(see
.IR malloc (3))
.IM malloc (3) )
when no longer needed.
.PP
.I Fsdirfstat
@ -396,7 +396,7 @@ structure returned by
should be freed with
.I free
(see
.IR malloc (3))
.IM malloc (3) )
when no longer needed.
.PP
.I Fsdirstat
@ -418,7 +418,7 @@ opens a file on the 9P server
for reading or writing but returns a Unix file descriptor
instead of a fid structure.
The file descriptor is actually one end of a
.IR pipe (2).
.IM pipe (2) .
A proxy process on the other end is ferrying data
between the pipe and the 9P fid.
Because of the implementation as a pipe,
@ -443,18 +443,18 @@ If the
flag is set, the library calls
.I threadexitsall
(see
.IR thread (3))
.IM thread (3) )
when it detects EOF on a 9P connection.
.SH SOURCE
.B \*9/src/lib9pclient
.SH SEE ALSO
.IR intro (4),
.IM intro (4) ,
.IR intro (9p),
.I fsaopen
and
.I nsaopen
in
.IR auth (3)
.IM auth (3)
.SH BUGS
The implementation
should use a special version string to distinguish between

View file

@ -141,7 +141,7 @@ char* evsmprint(char *fmt, va_list arg)
.SH DESCRIPTION
.I Libacme
provides a simple C interface for interacting with
.IR acme (1)
.IM acme (1)
windows.
.PP
A
@ -168,7 +168,7 @@ Most of the library routines access files in the window's
.I acme
directory.
See
.IR acme (4)
.IM acme (4)
for details.
Many library routines take a format string
.I fmt
@ -179,11 +179,11 @@ denotes the result of formatting the string and arguments
using
.I smprint
(see
.IR print (3)).
.IM print (3) ).
.PP
.I Pipetowin
runs the
.IR rc (1)
.IM rc (1)
command line
.I fmt\fR, \fP...
with
@ -199,7 +199,7 @@ Otherwise the command inherits the caller's standard error.
.PP
.I Pipewinto
runs the
.IR rc (1)
.IM rc (1)
command line
.I fmt\fR, \fP...
with the window's
@ -300,7 +300,7 @@ to position
relative to
.I type
(see
.IR seek (3)).
.IM seek (3) ).
.PP
.I Winwrite
writes the
@ -317,7 +317,7 @@ The fields correspond to the fields in
.IR acme 's
event messages.
See
.IR acme (4)
.IM acme (4)
for detailed explanations.
The fields are:
.TP
@ -384,7 +384,7 @@ that it should be handled internally.
returns a pointer to a
.B Channel
(see
.IR thread (3))
.IM thread (3) )
on which event structures (not pointers) can be read.
The first call to
.I wineventchan
@ -404,20 +404,20 @@ after calling
and
.I evsmprint
are like
.IR malloc (3),
.IM malloc (3) ,
.IR realloc ,
.IR strdup
(see
.IR strcat (3)),
.IM strcat (3) ),
and
.IR vsmprint
(see
.IR print (3)),
.IM print (3) ),
but they call
.IR sysfatal (3)
.IM sysfatal (3)
on error rather than returning nil.
.SH SOURCE
.B \*9/src/libacme
.SH SEE ALSO
.IR acme (1),
.IR acme (4)
.IM acme (1) ,
.IM acme (4)

View file

@ -185,4 +185,4 @@ They are implemented as macros.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3)
.IM graphics (3)

View file

@ -39,13 +39,13 @@ cryptographically strongly unpredictable.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR blowfish (3),
.IR des (3),
.IR dsa (3),
.IR elgamal (3),
.IR rc4 (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM blowfish (3) ,
.IM des (3) ,
.IM dsa (3) ,
.IM elgamal (3) ,
.IM rc4 (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -135,7 +135,7 @@ The
field will have been set to the identifying number used by
.B /dev/draw
(see
.IR draw (3)),
.IM draw (3) ),
and the
.I cache
field will be zero.
@ -148,7 +148,7 @@ The
field will be set to the number of bits per pixel specified
by the channel descriptor
(see
.IR image (7)).
.IM image (7) ).
.I Allocimage
returns 0 if the server has run out of image memory.
.PP
@ -191,7 +191,7 @@ These routines permit unrelated applications sharing a display to share an image
for example they provide the mechanism behind
.B getwindow
(see
.IR graphics (3)).
.IM graphics (3) ).
.PP
The RGB values in a color are
.I premultiplied
@ -214,7 +214,7 @@ values between image and user space or external files.
There is a fixed format for the exchange and storage of
image data
(see
.IR image (7)).
.IM image (7) ).
.PP
.I Unloadimage
reads a rectangle of pixels from image
@ -271,7 +271,7 @@ but for
bytes of compressed image
.I data
(see
.IR image (7)).
.IM image (7) ).
On each call to
.IR cloadimage,
the
@ -289,7 +289,7 @@ return the number of bytes copied.
.PP
.I Readimage
creates an image from data contained in an external file (see
.IR image (7)
.IM image (7)
for the file format);
.I fd
is a file descriptor obtained by opening such a file for reading.
@ -333,10 +333,10 @@ To allocate a single-pixel replicated image that may be used to paint a region r
.SH SOURCE
.B \*9/src/libdraw
.SH "SEE ALSO"
.IR graphics (3),
.IR draw (3),
.IR draw (3),
.IR image (7)
.IM graphics (3) ,
.IM draw (3) ,
.IM draw (3) ,
.IM image (7)
.SH DIAGNOSTICS
These functions return pointer 0 or integer \-1 on failure, usually due to insufficient
memory.

View file

@ -20,7 +20,7 @@ These macros assume the names
and
.I argv
are in scope; see
.IR exec (3).
.IM exec (3) .
.I ARGBEGIN
and
.I ARGEND
@ -58,7 +58,7 @@ but instead of returning zero
runs
.I code
and, if that returns, calls
.IR abort (3).
.IM abort (3) .
A typical value for
.I code
is

View file

@ -266,4 +266,4 @@ Subtract the coordinates of two points.
.SH SOURCE
.B \*9/src/libgeometry
.SH "SEE ALSO
.IR matrix (3)
.IM matrix (3)

View file

@ -129,7 +129,7 @@ after calling
.SH SOURCE
.B \*9/src/lib9
.SH SEE ALSO
.IR fscanf (3)
.IM fscanf (3)
.SH DIAGNOSTICS
Zero is returned if the beginning of the input string is not
interpretable as a number; even in this case,
@ -175,4 +175,4 @@ are preprocessor macros defined as
and
.IR p9atoll ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -95,7 +95,7 @@ CFsys* nsamount(char *name, char *aname);
.SH DESCRIPTION
.PP
This library, in concert with
.IR factotum (4),
.IM factotum (4) ,
is used to authenticate users.
It provides the primary interface to
.IR factotum .
@ -168,7 +168,7 @@ It provides the primary interface to
The following routines use the
.B AuthInfo
structure returned after a successful authentication by
.IR factotum (4).
.IM factotum (4) .
.PP
.ne 8
.EX
@ -212,11 +212,11 @@ file, as opened by
An
.B sprint
(see
.IR print (3))
.IM print (3) )
of
.I fmt
and the variable arg list yields a key template (see
.IR factotum (4))
.IM factotum (4) )
specifying the key to use.
The template must specify at least the protocol (
.BI proto= xxx )
@ -258,7 +258,7 @@ arranges a connection to
either by opening
.B /mnt/factotum/rpc
or by using
.IR 9pclient (3)
.IM 9pclient (3)
to connect to a
.B factotum
service posted in the current name space.
@ -266,7 +266,7 @@ The returned connection
is freed using
.IR auth_freerpc .
Individual commands can be sent to
.IR factotum (4)
.IM factotum (4)
by invoking
.IR auth_rpc .
.PP
@ -418,7 +418,7 @@ and
but execute the protocol on a
.B CFid*
(see
.IR 9pclient (3))
.IM 9pclient (3) )
instead of a file descriptor.
.PP
.I Fsamount
@ -429,15 +429,15 @@ are like
and
.I nsmount
(see
.IR 9pclient (3))
.IM 9pclient (3) )
but use
.I factotum
to authenticate to the file servers.
.SH SOURCE
.B \*9/src/libauth
.SH SEE ALSO
.IR factotum (4),
.IR authsrv (3)
.IM factotum (4) ,
.IM authsrv (3)
.SH DIAGNOSTICS
These routines set
.IR errstr .

View file

@ -68,7 +68,7 @@ If
is non-nil,
the network database
(see
.IR ndb (1))
.IM ndb (1) )
is queried for an entry which contains
.B authdom=\fIad\fP
or
@ -212,10 +212,10 @@ to recieve an answer.
.SH SOURCE
.B \*9/src/libauthsrv
.SH SEE ALSO
.IR passwd (1),
.IR dial (3),
.IM passwd (1) ,
.IM dial (3) ,
Plan 9's
\fIauthsrv\fR(6).
.IR authsrv (6).
.SH DIAGNOSTICS
These routines set
.IR errstr .

View file

@ -82,7 +82,7 @@ are ignored, and the result is the same as calling
and
.I bingrow
allocate large chunks of memory using
.IR malloc (3)
.IM malloc (3)
and return pieces of these chunks.
The chunks are
.IR free 'd
@ -91,7 +91,7 @@ upon a call to
.SH SOURCE
.B \*9/src/libbin
.SH SEE ALSO
.IR malloc (3)
.IM malloc (3)
.SH DIAGNOSTICS
.I binalloc
and

View file

@ -93,7 +93,7 @@ for mode
or creates for mode
.BR OWRITE .
It calls
.IR malloc (3)
.IM malloc (3)
to allocate a buffer.
.PP
.I Bfdopen
@ -104,7 +104,7 @@ for mode
or
.BR OWRITE .
It calls
.IR malloc (3)
.IM malloc (3)
to allocate a buffer.
.PP
.I Binit
@ -173,7 +173,7 @@ of the most recent string returned by
.PP
.I Brdstr
returns a
.IR malloc (3)-allocated
.IM malloc (3) -allocated
buffer containing the next line of input delimited by
.IR delim ,
terminated by a NUL (0) byte.
@ -225,7 +225,7 @@ may back up a maximum of five bytes.
uses
.I charstod
(see
.IR atof (3))
.IM atof (3) )
and
.I Bgetc
to read the formatted
@ -246,7 +246,7 @@ and a negative value is returned if a read error occurred.
.PP
.I Bseek
applies
.IR seek (3)
.IM seek (3)
to
.IR bp .
It returns the new file offset.
@ -278,7 +278,7 @@ on the output stream.
.PP
.I Bprint
is a buffered interface to
.IR print (3).
.IM print (3) .
If this causes a
.IR write
to occur and there is an error,
@ -325,10 +325,10 @@ written.
.SH SOURCE
.B \*9/src/libbio
.SH SEE ALSO
.IR open (3),
.IR print (3),
.IR exits (3),
.IR utf (7),
.IM open (3) ,
.IM print (3) ,
.IM exits (3) ,
.IM utf (7) ,
.SH DIAGNOSTICS
.I Bio
routines that return integers yield

View file

@ -40,13 +40,13 @@ must be a multiple of eight bytes as padding is currently unsupported.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR des (3),
.IR dsa (3),
.IR elgamal (3),
.IR rc4 (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM des (3) ,
.IM dsa (3) ,
.IM elgamal (3) ,
.IM rc4 (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -30,7 +30,7 @@ A
may contain too many characters to hold in memory
simultaneously.
The graphics library and draw device (see
.IR draw (3))
.IM draw (3) )
cooperate to solve this problem by maintaining a cache of recently used
character images.
The details of this cooperation need not be known by most programs:
@ -127,7 +127,7 @@ A
.B Font
consists of an overall height and ascent
and a collection of subfonts together with the ranges of runes (see
.IR utf (7))
.IM utf (7) )
they represent.
Fonts are described by the following structures.
.IP
@ -181,7 +181,7 @@ The
and
.LR ascent
fields of Font are described in
.IR graphics (3).
.IM graphics (3) .
.L Sub
contains
.L nsub
@ -302,12 +302,12 @@ for replacement when the cache is full.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3),
.IR allocimage (3),
.IR draw (3),
.IR subfont (3),
.IR image (7),
.IR font (7)
.IM graphics (3) ,
.IM allocimage (3) ,
.IM draw (3) ,
.IM subfont (3) ,
.IM image (7) ,
.IM font (7)
.SH DIAGNOSTICS
All of the functions use the graphics error function (see
.IR graphics (3)).
.IM graphics (3) ).

View file

@ -31,4 +31,4 @@ must contain room for at least two bytes.
.SH SOURCE
.B \*9/src/lib9/cleanname.c
.SH SEE ALSO
.IR cleanname (1)
.IM cleanname (1)

View file

@ -19,7 +19,7 @@ int cmap2rgba(int col)
.SH DESCRIPTION
These routines convert between `true color' red/green/blue triples and the Plan 9 color map.
See
.IR color (7)
.IM color (7)
for a description of RGBV, the standard color map.
.PP
.I Rgb2cmap
@ -41,16 +41,16 @@ and the next 8 representing blue, then green, then red, as for
.I cmap2rgba
shifted up 8 bits.
This 32-bit representation is the format used by
.IR draw (3)
.IM draw (3)
and
.IR memdraw (3)
.IM memdraw (3)
library routines that
take colors as arguments.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3),
.IR allocimage (3),
.IR draw (3),
.IR image (7),
.IR color (7)
.IM graphics (3) ,
.IM allocimage (3) ,
.IM draw (3) ,
.IM image (7) ,
.IM color (7)

View file

@ -86,15 +86,15 @@ function frees a
structure and its contents.
.PP
In
.IR rio (1)
.IM rio (1)
and
.IR acme (1),
.IM acme (1) ,
file name completion is triggered by a control-F character or an Insert character.
.SH SOURCE
.B \*9/src/libcomplete
.SH SEE ALSO
.IR rio (1),
.IR acme (1)
.IM rio (1) ,
.IM acme (1)
.SH DIAGNOSTICS
The
.I complete

View file

@ -26,7 +26,7 @@ long tm2sec(Tm *tm)
converts a time
.I clock
such as returned by
.IR time (3)
.IM time (3)
into
.SM ASCII
(sic)
@ -85,8 +85,8 @@ is not
.br
.B \*9/src/lib9/tm2sec.c
.SH "SEE ALSO"
.IR date (1),
.IR time (3)
.IM date (1) ,
.IM time (3)
.SH BUGS
The return values point to static data
whose content is overwritten by each call.
@ -112,4 +112,4 @@ are preprocessor macros defined as
and
.IR p9tm2sec ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -132,13 +132,13 @@ using
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR dsa (3),
.IR elgamal (3),
.IR rc4 (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM blowfish (3) ,
.IM dsa (3) ,
.IM elgamal (3) ,
.IM rc4 (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -264,7 +264,7 @@ int callkremvax(void)
.EE
.PP
Connect to a Unix socket served by
.IR acme (4):
.IM acme (4) :
.IP
.EX
int dialacme(void)
@ -346,4 +346,4 @@ are preprocessor macros defined as
.IR p9announce ,
and so on;
see
.IR intro (3).
.IM intro (3) .

View file

@ -19,11 +19,11 @@ long dirreadall(int fd, Dir **buf)
#define DIRMAX (sizeof(Dir)+STATMAX)
.SH DESCRIPTION
The data returned by a
.IR read (3)
.IM read (3)
on a directory is a set of complete directory entries
in a machine-independent format, exactly equivalent to
the result of a
.IR stat (3)
.IM stat (3)
on each file or subdirectory in the directory.
.I Dirread
decodes the directory entries into a machine-dependent form.
@ -35,11 +35,11 @@ structures
whose address is returned in
.B *buf
(see
.IR stat (3)
.IM stat (3)
for the layout of a
.BR Dir ).
The array is allocated with
.IR malloc (3)
.IM malloc (3)
each time
.I dirread
is called.
@ -50,7 +50,7 @@ is like
but reads in the entire directory; by contrast,
.I dirread
steps through a directory one
.IR read (3)
.IM read (3)
at a time.
.PP
Directory entries have variable length.
@ -85,9 +85,9 @@ The file offset is advanced by the number of bytes actually read.
.SH SOURCE
.B \*9/src/lib9/dirread.c
.SH SEE ALSO
.IR intro (3),
.IR open (3),
.IR read (3)
.IM intro (3) ,
.IM open (3) ,
.IM read (3)
.SH DIAGNOSTICS
.I Dirread
and

View file

@ -259,7 +259,7 @@ The clipping region may be modified dynamically using
.TP
.B chan
The pixel channel format descriptor, as described in
.IR image (7).
.IM image (7) .
The value should not be modified after the image is created.
.TP
.B depth
@ -268,7 +268,7 @@ number of bits per pixel in the picture;
it is identically
.B chantodepth(chan)
(see
.IR graphics (3))
.IM graphics (3) )
and is provided as a convenience.
The value should not be modified after the image is created.
.TP
@ -712,7 +712,7 @@ what
is to
.B atan
(see
.IR sin (3)).
.IM sin (3) ).
.TP
.BI border( dst\fP,\fP\ r\fP,\fP\ i\fP,\fP\ color\fP,\fP\ sp\fP)
.I Border
@ -810,11 +810,11 @@ is non-zero.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3),
.IR stringsize (3),
.IR color (7),
.IR utf (7),
.IR addpt (3)
.IM graphics (3) ,
.IM stringsize (3) ,
.IM color (7) ,
.IM utf (7) ,
.IM addpt (3)
.PP
T. Porter, T. Duff.
``Compositing Digital Images'',

View file

@ -30,15 +30,15 @@ int readwsysmsg(int fd, uchar *buf, uint nbuf)
uint sizeW2M(Wsysmsg *w)
.SH DESCRIPTION
These routines are analogues of the routines described in
.IR fcall (3).
.IM fcall (3) .
They manipulate graphics device protocol messages
rather than 9P protocol messages.
The graphics device protocol is used for internal
communication between the
.IR devdraw (1)
.IM devdraw (1)
graphics server
and the
.IR draw (3)
.IM draw (3)
library.
A
.B Wsysmsg
@ -48,6 +48,6 @@ The protocol is intentionally undocumented and may change.
.SH SOURCE
.B \*9/src/libdraw/drawfcall.c
.SH SEE ALSO
.IR devdraw (1),
.IR draw (3),
.IR graphics (3)
.IM devdraw (1) ,
.IM draw (3) ,
.IM graphics (3)

View file

@ -84,7 +84,7 @@ and
generated by
.IR DSAprimes
(see
.IR prime (3)).
.IM prime (3) ).
Otherwise,
.B p
and
@ -128,17 +128,17 @@ are provided to manage signature storage.
converts an ASN1 formatted DSA private key into the corresponding
.B DSApriv
structure; see
.IR rsa (3)
.IM rsa (3)
for other ASN1 routines.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR des (3),
.IR rc4 (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM blowfish (3) ,
.IM des (3) ,
.IM rc4 (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -36,4 +36,4 @@ To avoid name conflicts with the underlying system,
is a preprocessor macro defined as
.IR p9dup ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -113,13 +113,13 @@ are provided to manage signature storage.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR des (3),
.IR dsa (3),
.IR rc4 (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM blowfish (3) ,
.IM des (3) ,
.IM dsa (3) ,
.IM rc4 (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -49,9 +49,9 @@ of 8.
.PP
.I Encodefmt
can be used with
.IR fmtinstall (3)
.IM fmtinstall (3)
and
.IR print (3)
.IM print (3)
to print encoded representations of byte arrays.
The verbs are
.TP

View file

@ -84,4 +84,4 @@ are preprocessor macros defined as
and
.IR p9decrypt ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -53,7 +53,7 @@ the result is an empty string.
The verb
.B r
in
.IR print (3)
.IM print (3)
calls
.I errstr
and outputs the error string.
@ -92,8 +92,8 @@ will reset
.I Errstr
always returns 0.
.SH SEE ALSO
.IR intro (3),
.IR perror (3)
.IM intro (3) ,
.IM perror (3)
.SH BUGS
The implementation sets
.I errno
@ -104,4 +104,4 @@ When
.I errno
is set to other values, the error string
is synthesized using
.IR strerror (3).
.IM strerror (3) .

View file

@ -93,12 +93,12 @@ enum{
These routines provide an interface to multiple sources of input for unthreaded
programs.
Threaded programs (see
.IR thread (3))
.IM thread (3) )
should instead use the threaded mouse and keyboard interface described
in
.IR mouse (3)
.IM mouse (3)
and
.IR keyboard (3).
.IM keyboard (3) .
.PP
.I Einit
must be called first.
@ -113,7 +113,7 @@ the mouse and keyboard events will be enabled;
in this case,
.IR initdraw
(see
.IR graphics (3))
.IM graphics (3) )
must have already been called.
The user must provide a function called
.IR eresized
@ -123,7 +123,7 @@ is running has been resized; the argument
is a flag specifying whether the program must call
.I getwindow
(see
.IR graphics (3))
.IM graphics (3) )
to re-establish a connection to its window.
After resizing (and perhaps calling
.IR getwindow ),
@ -266,7 +266,7 @@ The return is the same as for
.IR eread .
.PP
As described in
.IR graphics (3),
.IM graphics (3) ,
the graphics functions are buffered.
.IR Event ,
.IR eread ,
@ -370,15 +370,15 @@ changes the cursor image to that described by the
.B Cursor
.I c
(see
.IR mouse (3)).
.IM mouse (3) ).
If
.B c
is nil, it restores the image to the default arrow.
.SH SOURCE
.B \*9/src/libdraw
.SH "SEE ALSO"
.IR rio (1),
.IR graphics (3),
.IR plumb (3),
.IM rio (1) ,
.IM graphics (3) ,
.IM plumb (3) ,
.\" .IR cons (3),
.IR draw (3)
.IM draw (3)

View file

@ -25,11 +25,11 @@ points to the name of the file
to be executed; it must not be a directory, and the permissions
must allow the current user to execute it
(see
.IR stat (3)).
.IM stat (3) ).
It should also be a valid binary image, as defined by the local
operating system, or a shell script
(see
.IR rc (1)).
.IM rc (1) ).
The first line of a
shell script must begin with
.L #!
@ -92,24 +92,24 @@ files remain open across
.B OCEXEC
OR'd
into the open mode; see
.IR open (3));
.IM open (3) );
and the working directory and environment
(see
.IR getenv (3))
.IM getenv (3) )
remain the same.
However, a newly
.I exec'ed
process has no notification handlers
(see
.IR notify (3)).
.IM notify (3) ).
.SH SOURCE
.B \*9/src/lib9/exec.c
.br
.B \*9/src/lib9/execl.c
.SH SEE ALSO
.IR prof (1),
.IR intro (3),
.IR stat (3)
.IM prof (1) ,
.IM intro (3) ,
.IM stat (3)
.SH DIAGNOSTICS
If these functions fail, they return and set
.IR errstr .
@ -138,4 +138,4 @@ are preprocessor macros defined as
and
.IR p9execl ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -39,7 +39,7 @@ explanation of the reason for
exiting, or a null pointer or empty string to indicate normal termination.
The string is passed to the parent process, prefixed by the name and process
id of the exiting process, when the parent does a
.IR wait (3).
.IM wait (3) .
.PP
Before calling
.I _exits
@ -85,8 +85,8 @@ cancels a previous registration of an exit function.
.br
.B \*9/src/lib9/_exits.c
.SH "SEE ALSO"
.IR fork (2),
.IR wait (3)
.IM fork (2) ,
.IM wait (3)
.SH BUGS
Because of limitations of Unix, the exit status of a
process can only be an 8-bit integer.
@ -117,4 +117,4 @@ are preprocessor macros defined as
and
.IR p9atexitdont ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -225,7 +225,7 @@ by a successful call to
Another structure is
.BR Dir ,
used by the routines described in
.IR stat (3).
.IM stat (3) .
.I ConvM2D
converts the machine-independent form starting at
.I ap
@ -293,7 +293,7 @@ contain a validly formatted machine-independent
entry suitable as an argument, for example, for the
.B wstat
(see
.IR stat (3))
.IM stat (3) )
system call.
It checks that the sizes of all the elements of the the entry sum to exactly
.IR nbuf ,
@ -321,7 +321,7 @@ for an incorrectly formatted entry.
and
.I dirmodefmt
are formatting routines, suitable for
.IR fmtinstall (3).
.IM fmtinstall (3) .
They convert
.BR Dir* ,
.BR Fcall* ,
@ -343,7 +343,7 @@ with format letter
.PP
.I Read9pmsg
calls
.IR read (3)
.IM read (3)
multiple times, if necessary, to read an entire 9P message into
.BR buf .
The return value is 0 for end of file, or -1 for error; it does not return
@ -351,7 +351,7 @@ partial messages.
.SH SOURCE
.B \*9/src/lib9
.SH SEE ALSO
.IR intro (3),
.IR 9p (3),
.IR stat (3),
.IM intro (3) ,
.IM 9p (3) ,
.IM stat (3) ,
.IR intro (9p)

View file

@ -173,7 +173,7 @@ The block functions return the number of bytes produced when they succeed.
.I Mkcrctab
allocates
(using
.IR malloc (3)),
.IM malloc (3) ),
initializes, and returns a table for rapid computation of 32 bit CRC values using the polynomial
.IR poly .
.I Blockcrc

View file

@ -94,16 +94,16 @@ int fmtrunestrcpy(Fmt *f, Rune *s);
int errfmt(Fmt *f);
.SH DESCRIPTION
The interface described here allows the construction of custom
.IR print (3)
.IM print (3)
verbs and output routines.
In essence, they provide access to the workings of the formatted print code.
.PP
The
.IR print (3)
.IM print (3)
suite maintains its state with a data structure called
.BR Fmt .
A typical call to
.IR print (3)
.IM print (3)
or its relatives initializes a
.B Fmt
structure, passes it to subsidiary routines to process the output,
@ -154,7 +154,7 @@ to generate the output.
These behave like
.B fprint
(see
.IR print (3))
.IM print (3) )
or
.B vfprint
except that the characters are buffered until
@ -207,7 +207,7 @@ In
are the width and precision, and
.IB fp ->flags
the decoded flags for the verb (see
.IR print (3)
.IM print (3)
for a description of these items).
The standard flag values are:
.B FmtSign
@ -282,7 +282,7 @@ produced.
.PP
Some internal functions may be useful to format primitive types.
They honor the width, precision and flags as described in
.IR print (3).
.IM print (3) .
.I Fmtrune
formats a single character
.BR r .
@ -307,7 +307,7 @@ regardless of whether the output is bytes or runes.
This function prints an error message with a variable
number of arguments and then quits.
Compared to the corresponding example in
.IR print (3),
.IM print (3) ,
this version uses a smaller buffer, will never truncate
the output message, but might generate multiple
.B write
@ -364,9 +364,9 @@ main(...)
.SH SOURCE
.B \*9/src/lib9/fmt
.SH SEE ALSO
.IR print (3),
.IR utf (7),
.IR errstr (3)
.IM print (3) ,
.IM utf (7) ,
.IM errstr (3)
.SH DIAGNOSTICS
These routines return negative numbers or nil for errors and set
.IR errstr .

View file

@ -73,9 +73,9 @@ enum{
This library supports
.I frames
of editable text in a single font on raster displays, such as in
.IR sam (1)
.IM sam (1)
and
.IR 9term (1).
.IM 9term (1) .
Frames may hold any character except NUL (0).
Long lines are folded and tabs are at fixed intervals.
.PP
@ -239,7 +239,7 @@ If a
.B Frame
is being moved but not resized, that is, if the shape of its containing
rectangle is unchanged, it is sufficient to use
.IR draw (3)
.IM draw (3)
to copy the containing rectangle from the old to the new location and then call
.I frsetrects
to establish the new geometry.
@ -357,6 +357,6 @@ and
.SH SOURCE
.B \*9/src/libframe
.SH SEE ALSO
.IR graphics (3),
.IR draw (3),
.IR cachechars (3).
.IM graphics (3) ,
.IM draw (3) ,
.IM cachechars (3) .

View file

@ -25,11 +25,11 @@ number generator. The X9.17 generator is seeded by 24
truly random bytes read via
.I truerand
(see
.IR rand (3)).
.IM rand (3) ).
.PP
.I Prng
uses the native
.IR rand (3)
.IM rand (3)
pseudo-random number generator to fill the buffer. Used with
.IR srand ,
this function can produce a reproducible stream of pseudo random
@ -38,8 +38,8 @@ numbers useful in testing.
Both functions may be passed to
.I mprand
(see
.IR mp (3)).
.IM mp (3) ).
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3)
.IM mp (3)

View file

@ -49,7 +49,7 @@ if different from
should be freed with
.I free
(see
.IR malloc (3))
.IM malloc (3) )
when no longer needed.
.PP
As a convention, programs should never
@ -57,7 +57,7 @@ As a convention, programs should never
paths obtained from user input.
.SH EXAMPLE
The
.IR plumber (4)
.IM plumber (4)
uses this code to find unrooted file names included by plumb rules.
.IP
.EX
@ -69,7 +69,7 @@ fd = open(unsharp(buf), OREAD);
.br
.B \*9/src/lib9/unsharp.c
.SH SEE ALSO
.IR intro (4)
.IM intro (4)
.SH BUGS
.I Get9root
could be smarter about finding the tree when

View file

@ -18,7 +18,7 @@ int putenv(char *name, char *val)
fetches the environment value associated with
.I name
into memory allocated with
.IR malloc (3),
.IM malloc (3) ,
0-terminates it,
and returns a pointer to that area.
If no file exists, 0
@ -44,4 +44,4 @@ are preprocessor macros defined as
and
.IR p9putenv ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -75,9 +75,9 @@ with
non-zero,
except that fields may be quoted using single quotes, in the manner
of
.IR rc (1).
.IM rc (1) .
See
.IR quote (3)
.IM quote (3)
for related quote-handling software.
.PP
.I Tokenize
@ -91,5 +91,5 @@ set to \f5"\et\er\en "\fP.
.SH SEE ALSO
.I strtok
in
.IR strcat (3),
.IR quote (3).
.IM strcat (3) ,
.IM quote (3) .

View file

@ -14,9 +14,9 @@ returns a pointer to a malloced string that contains the
path to the name space directory for the current process.
The name space directory is a clumsy substitute
for Plan 9's per-process name spaces; see
.IR intro (4)
.IM intro (4)
for details.
.SH SOURCE
.B \*9/src/lib9/getns.c
.SH SEE ALSO
.IR intro (4)
.IM intro (4)

View file

@ -20,7 +20,7 @@ returns a copy of the current buffer;
the returned pointer should be freed with
.I free
(see
.IR malloc (3))
.IM malloc (3) )
when no longer needed.
.PP
.I Putsnarf
@ -36,4 +36,4 @@ will convert as necessary.
.SH SOURCE
.B \*9/src/libdraw/snarf.c
.SH SEE ALSO
.IR snarfer (1)
.IM snarfer (1)

View file

@ -19,7 +19,7 @@ name of the user who
owns the current process.
.I Getuser
calls
.IR getuid (2)
.IM getuid (2)
and then reads
.B /etc/passwd
to find the corresponding name.
@ -33,7 +33,7 @@ looks first for an environment variable
If there is no such variable,
.I sysname
calls
.IR gethostname (2)
.IM gethostname (2)
and truncates the returned name at the first dot.
If
.I gethostname

View file

@ -23,10 +23,10 @@ bytes in the buffer provided.
.SH SOURCE
.B \*9/src/lib9/getwd.c
.SH "SEE ALSO"
.IR pwd (1)
.IM pwd (1)
.SH DIAGNOSTICS
On error, zero is returned.
.IR Errstr (3)
.IM Errstr (3)
may be consulted for more information.
.SH BUGS
To avoid name conflicts with the underlying system,
@ -34,4 +34,4 @@ To avoid name conflicts with the underlying system,
is a preprocessor macro defined as
.IR p9getwd ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -107,7 +107,7 @@ extern Font *font
A
.B Display
structure represents a connection to the graphics device,
.IR draw (3),
.IM draw (3) ,
holding all graphics resources associated with the connection,
including in particular raster image data in use by the client program.
The structure is defined (in part) as:
@ -135,7 +135,7 @@ A
.B Point
is a location in an Image
(see below and
.IR draw (3)),
.IM draw (3) ),
such as the display, and is defined as:
.IP
.EX
@ -184,18 +184,18 @@ contains the coordinates of the first point beyond the rectangle.
The
.B Image
data structure is defined in
.IR draw (3).
.IM draw (3) .
.PP
A
.B Font
is a set of character images, indexed by runes (see
.IR utf (7)).
.IM utf (7) ).
The images are organized into
.BR Subfonts ,
each containing the images for a small, contiguous set of runes.
The detailed format of these data structures,
which are described in detail in
.IR cachechars (3),
.IM cachechars (3) ,
is immaterial for most applications.
.B Font
and
@ -210,7 +210,7 @@ and
the distance from the top of the highest character to the bottom of
the lowest character (and hence, the interline spacing).
See
.IR cachechars (3)
.IM cachechars (3)
for more details.
.PP
.I Buildfont
@ -221,7 +221,7 @@ returning a
pointer that can be used by
.B string
(see
.IR draw (3))
.IM draw (3) )
to draw characters from the font.
.I Openfont
does the same, but reads the description
@ -231,7 +231,7 @@ frees a font.
In contrast to Plan 9, font names in Plan 9 from User Space are
a small language describing the desired font.
See
.IR font (7)
.IM font (7)
for details.
.PP
A
@ -274,7 +274,7 @@ structure representing the connection),
(an
.B Image
representing the display memory itself or, if
.IR rio (1)
.IM rio (1)
is running, the client's window),
and
.B font
@ -287,7 +287,7 @@ which is written to
.B /dev/label
if non-nil
so that it can be used to identify the window when hidden (see
.IR rio (1)).
.IM rio (1) ).
The font is created by reading the named
.I font
file. If
@ -301,7 +301,7 @@ if
is not set, it imports the default (usually minimal)
font from the operating system.
(See
.IR font (7)
.IM font (7)
for a full discussion of font syntaxes.)
The global
.I font
@ -322,7 +322,7 @@ is nil, the library provides a default, called
Another effect of
.I initdraw
is that it installs
.IR print (3)
.IM print (3)
formats
.I Pfmt
and
@ -360,9 +360,9 @@ and
files; and
.I ref
specifies the refresh function to be used to create the window, if running under
.IR rio (1)
.IM rio (1)
(see
.IR window (3)).
.IM window (3) ).
.\" .PP
.\" The function
.\" .I newwindow
@ -435,11 +435,11 @@ by looking in
to find the name of the window and opening it using
.B namedimage
(see
.IR allocimage (3)).
.IM allocimage (3) ).
The resulting window will be created using the refresh method
.I ref
(see
.IR window (3));
.IM window (3) );
this should almost always be
.B Refnone
because
@ -456,7 +456,7 @@ defining the window (or the overall display, if no window system is running); an
a pointer to the
.B Screen
representing the root of the window's hierarchy. (See
.IR window (3).
.IM window (3) .
The overloading of the
.B screen
word is an unfortunate historical accident.)
@ -528,15 +528,15 @@ the window boundaries; otherwise
is a no-op.
.PP
The graphics functions described in
.IR draw (3),
.IR allocimage (3),
.IR cachechars (3),
.IM draw (3) ,
.IM allocimage (3) ,
.IM cachechars (3) ,
and
.IR subfont (3)
.IM subfont (3)
are implemented by writing commands to files under
.B /dev/draw
(see
.IR draw (3));
.IM draw (3) );
the writes are buffered, so the functions may not take effect immediately.
.I Flushimage
flushes the buffer, doing all pending graphics operations.
@ -546,7 +546,7 @@ is non-zero, any changes are also copied from the `soft screen' (if any) in the
driver to the visible frame buffer.
The various allocation routines in the library flush automatically, as does the event
package (see
.IR event (3));
.IM event (3) );
most programs do not need to call
.IR flushimage .
It returns \-1 on error.
@ -563,13 +563,13 @@ and
.I chantostr
convert between the channel descriptor strings
used by
.IR image (7)
.IM image (7)
and the internal
.B ulong
representation
used by the graphics protocol
(see
.IR draw (3)'s
.IM draw (3) 's
.B b
message).
.B Chantostr
@ -599,7 +599,7 @@ if(getwindow(display, Refnone) < 0)
.EE
.PP
To create and set up a new
.IR rio (1)
.IM rio (1)
window,
.IP
.EX
@ -630,23 +630,23 @@ if(gengetwindow(display, "/tmp/winname",
.SH SOURCE
.B \*9/src/libdraw
.SH "SEE ALSO"
.IR rio (1),
.IR addpt (3),
.IR allocimage (3),
.IR cachechars (3),
.IR subfont (3),
.IR draw (3),
.IR event (3),
.IR frame (3),
.IR print (3),
.IR window (3),
.IR draw (3),
.IM rio (1) ,
.IM addpt (3) ,
.IM allocimage (3) ,
.IM cachechars (3) ,
.IM subfont (3) ,
.IM draw (3) ,
.IM event (3) ,
.IM frame (3) ,
.IM print (3) ,
.IM window (3) ,
.IM draw (3) ,
.\" .IR rio (4),
.IR image (7),
.IR font (7)
.IM image (7) ,
.IM font (7)
.SH DIAGNOSTICS
An error function may call
.IR errstr (3)
.IM errstr (3)
for further diagnostics.
.SH BUGS
The names

View file

@ -1411,7 +1411,7 @@ would not otherwise fit), and
.SH SOURCE
.B \*9/src/libhtml
.SH SEE ALSO
.IR fmt (1)
.IM fmt (1)
.PP
W3C World Wide Web Consortium,
``HTML 4.01 Specification''.

View file

@ -80,14 +80,14 @@ and
execute the
similarly named library or system calls
(see
.IR close (2),
.IR dial (3),
.IR open (3),
.IR read (3),
.IR fcall (3),
.IR sendfd (3),
.IM close (2) ,
.IM dial (3) ,
.IM open (3) ,
.IM read (3) ,
.IM fcall (3) ,
.IM sendfd (3) ,
and
.IR sleep (3))
.IM sleep (3) )
in the slave process associated with
.IR io .
It is an error to execute more than one call
@ -187,10 +187,10 @@ ioread(Ioproc *io, int fd, void *a, long n)
.SH SOURCE
.B \*9/src/libthread
.SH SEE ALSO
.IR dial (3),
.IR open (3),
.IR read (3),
.IR thread (3)
.IM dial (3) ,
.IM open (3) ,
.IM read (3) ,
.IM thread (3)
.SH BUGS
.I Iointerrupt
is currently unimplemented.

View file

@ -126,7 +126,7 @@ The string representation of Ethernet addresses is exactly
.PP
.I Eipfmt
is a
.IR print (3)
.IM print (3)
formatter for Ethernet (verb
.BR E )
addresses,
@ -340,4 +340,4 @@ point to point.
.SH SOURCE
.B \*9/src/libip
.SH SEE ALSO
.IR print (3)
.IM print (3)

View file

@ -35,7 +35,7 @@ in particular a subset of their properties as defined in the Unicode standard.
Unicode defines some characters as alphabetic and specifies three cases:
upper, lower, and title.
Analogously to
.IR isalpha (3)
.IM isalpha (3)
for
.SM ASCII\c
,

View file

@ -23,14 +23,14 @@ void closekeyboard(Keyboard *kc)
.SH DESCRIPTION
These functions access and control a keyboard interface
for character-at-a-time I/O in a multi-threaded environment, usually in combination with
.IR mouse (3).
.IM mouse (3) .
They use the message-passing
.B Channel
interface in the threads library
(see
.IR thread (3));
.IM thread (3) );
programs that wish a more event-driven, single-threaded approach should use
.IR event (3).
.IM event (3) .
.PP
.I Initkeyboard
opens a connection to the keyboard and returns a
@ -86,10 +86,10 @@ structure.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3),
.IR draw (3),
.IR event (3),
.IR thread (3).
.IM graphics (3) ,
.IM draw (3) ,
.IM event (3) ,
.IM thread (3) .
.SH BUGS
Because the interface delivers complete runes,
there is no way to report lesser actions such as

View file

@ -80,7 +80,7 @@ are rendezvous points.
Locks and rendezvous points have trivial implementations in programs
not using the thread library
(see
.IR thread (3)),
.IM thread (3) ),
since such programs have no concurrency.
.PP
Used carelessly, spin locks can be expensive and can easily generate deadlocks.

View file

@ -64,7 +64,7 @@ fields) of all currently open headers
(see
.I symopen
in
.IR mach-symbol (3)).
.IM mach-symbol (3) ).
When dynamically linked objects have been attached,
they are present in this linked list,
and therefore included in searches by
@ -73,7 +73,7 @@ and therefore included in searches by
and
.I findsym
(see
.IR mach-symbol (3)).
.IM mach-symbol (3) ).
.TP
.I corhdr
The file header for the core dump, if any.
@ -118,9 +118,9 @@ loaded.
uses all of these functions while
parsing an argument vector as would be passed to
a debugger like
.IR db (1)
.IM db (1)
or
.IR acid (1).
.IM acid (1) .
It expects a list of executable files, core dump files, or process ids,
given in any order.
If extra arguments are given (for example, more than one executable, or both
@ -133,9 +133,9 @@ fills them in as best it can.
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO
.IR mach (3),
.IR mach-file (3),
.IR mach-map (3)
.IM mach (3) ,
.IM mach-file (3) ,
.IM mach-map (3)
.SH BUGS
The interface needs to be changed to support
multiple threads, each with its own register set.

View file

@ -161,10 +161,10 @@ The memory at
should be freed via
.I free
(see
.IR malloc (3))
.IM malloc (3) )
when no longer needed.
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO"
.IR mach (3),
.IR mach-map (3)
.IM mach (3) ,
.IM mach-map (3)

View file

@ -133,10 +133,10 @@ via
data structures that provides access to an address space
and register set.
The functions described in
.IR mach-file (3)
.IM mach-file (3)
are typically used to construct these maps.
Related library functions described in
.IR mach-symbol (3)
.IM mach-symbol (3)
provide similar access to symbol tables.
.PP
Each
@ -178,7 +178,7 @@ The
.B rw
function is most commonly used to provide
access to executing processes via
.IR ptrace (2)
.IM ptrace (2)
and to zeroed segments.
.PP
.I Allocmap
@ -346,7 +346,7 @@ such locations are useful for passing specific constants to
functions expect locations, such as
.I unwind
(see
.IR mach-stack (3)).
.IM mach-stack (3) ).
.PP
.I Loccmp
compares two locations, returning negative, zero, or positive
@ -360,7 +360,7 @@ which are ordered before indirections.
.PP
.I Locfmt
is a
.IR print (3)-verb
.IM print (3) -verb
that formats a
.B Loc
structure
@ -371,7 +371,7 @@ Indirection locations are needed in some contexts (e.g., when
using
.I findlsym
(see
.IR mach-symbol (3))),
.IM mach-symbol (3) )),
but bothersome in most.
.I Locsimplify
rewrites indirections as absolute memory addresses, by evaluating
@ -397,8 +397,8 @@ function families as necessary.
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO"
.IR mach (3),
.IR mach-file (3)
.IM mach (3) ,
.IM mach-file (3)
.SH DIAGNOSTICS
These routines set
.IR errstr .

View file

@ -68,7 +68,7 @@ a new
.I rget
function, and a symbol
(see
.IR mach-symbol (3))
.IM mach-symbol (3) )
describing the current function
(nil if no symbol is known).
The value returned by the tracer
@ -180,6 +180,6 @@ trace(Map *map, ulong pc, ulong callerpc,
.SH SOURCE
.B \*9/src/libmach
.SH SEE ALSO
.IR mach (3)
.IM mach (3)
.SH BUGS
Need to talk about Regs

View file

@ -114,4 +114,4 @@ and low 32-bits are in
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO"
.IR mach (3)
.IM mach (3)

View file

@ -61,10 +61,10 @@ int fnbound(ulong pc, ulong bounds[2])
.SH DESCRIPTION
These functions provide machine-independent access to the
symbol table of an executable file or executing process.
.IR Mach (3),
.IR mach-file (3),
.IM Mach (3) ,
.IM mach-file (3) ,
and
.IR mach-map (3)
.IM mach-map (3)
describe additional library functions for
accessing executable files and executing processes.
.PP
@ -74,7 +74,7 @@ uses the data in the
structure filled by
.I crackhdr
(see
.IR mach-file (3))
.IM mach-file (3) )
to initialize in-memory structures used to access the symbol
tables contained in the file.
.IR Symclose
@ -371,6 +371,6 @@ in the system error buffer where it is available via
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO"
.IR mach (3),
.IR mach-file (3),
.IR mach-map (3)
.IM mach (3) ,
.IM mach-file (3) ,
.IM mach-map (3)

View file

@ -40,7 +40,7 @@ points at the structure for the architecture being debugged.
It is set implicitly by
.I crackhdr
(see
.IR mach-file (3))
.IM mach-file (3) )
and can be set explicitly by calling
.I machbyname
or
@ -66,31 +66,31 @@ Mac OS X).
Other manual pages
describe the library functions in detail.
.PP
.IR Mach-cmd (3)
.IM Mach-cmd (3)
describes some convenience routines for attaching to
processes and core files.
.PP
.IR Mach-file (3)
.IM Mach-file (3)
describes the manipulation of binary files.
.PP
.IR Mach-map (3)
.IM Mach-map (3)
describes the interface to address spaces and register sets
in executable files and executing programs.
.PP
.IR Mach-stack (3)
.IM Mach-stack (3)
describes support for unwinding the stack.
.PP
.IR Mach-swap (3)
.IM Mach-swap (3)
describes helper functions for accessing data
in a particular byte order.
.PP
.IR Mach-symbol (3)
.IM Mach-symbol (3)
describes the interface to debugging symbol information.
.SH SOURCE
.B \*9/src/libmach
.SH "SEE ALSO
.IR mach-file (3),
.IR mach-map (3),
.IR mach-stack (3),
.IR mach-swap (3),
.IR mach-symbol (3)
.IM mach-file (3) ,
.IM mach-map (3) ,
.IM mach-stack (3) ,
.IM mach-swap (3) ,
.IM mach-symbol (3)

View file

@ -132,8 +132,8 @@ the source of allocation.
.SH SEE ALSO
.I trump
(in
.IR acid (1)),
.IR getcallerpc (3)
.IM acid (1) ),
.IM getcallerpc (3)
.SH DIAGNOSTICS
.I Malloc, realloc
and
@ -153,7 +153,7 @@ The
library for
.I acid
can be used to obtain traces of malloc execution; see
.IR acid (1).
.IM acid (1) .
.SH BUGS
The different specification of
.I calloc
@ -182,4 +182,4 @@ are preprocessor macros defined as
and
.IR p9free ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -347,4 +347,4 @@ coordinates.
.SH SOURCE
.B \*9/src/libgeometry/matrix.c
.SH "SEE ALSO
.IR arith3 (3)
.IM arith3 (3)

View file

@ -168,46 +168,46 @@ type defines memory-resident rectangular pictures and the methods to draw upon t
differ from
.BR Image s
(see
.IR draw (3))
.IM draw (3) )
in that they are manipulated directly in user memory rather than by
RPCs to the
.B /dev/draw
hierarchy.
The
.Bmemdraw
library is the basis for the kernel
.IR draw (3)
library is the basis for the kernel
.IM draw (3)
driver and also used by a number of programs that must manipulate
images without a display.
.PP
The
.BR r,
The
.BR r,
.BR clipr ,
.BR depth ,
.BR nchan ,
and
.BR chan
.BR chan
structure elements are identical to
the ones of the same name
in the
in the
.B Image
structure.
.PP
The
.B flags
element of the
element of the
.B Memimage
structure holds a number of bits of information about the image.
In particular, it subsumes the
purpose of the
.B repl
element of
element of
.B Image
structures.
.PP
.I Memimageinit
initializes various static data that the library depends on,
as well as the replicated solid color images
as well as the replicated solid color images
.BR memopaque ,
.BR memtransparent ,
.BR memblack ,
@ -216,15 +216,15 @@ and
It should be called before referring to any of these images
and before calling any of the other library functions.
.PP
Each
Each
.B Memimage
points at a
points at a
.B Memdata
structure that in turn points at the actual pixel data for the image.
This allows multiple images to be associated with the same
This allows multiple images to be associated with the same
.BR Memdata .
The first word of the data pointed at by
the
the
.B base
element of
.B Memdata
@ -232,18 +232,19 @@ points back at the
.B Memdata
structure, so that in the Plan 9 kernel, the
memory allocator (see
Plan 9's \fIpool\fR(3))
Plan 9's
.IR pool (3))
can compact image memory
using
.IR memimagemove .
.PP
Because images can have different coordinate systems,
the
the
.B zero
element of the
element of the
.B Memimage
structure contains the offset that must be added
to the
to the
.B bdata
element of the corresponding
.B Memdata
@ -261,18 +262,18 @@ do not include the origin, although one should only dereference
pointers corresponding to pixels within the image rectangle.
.I Wordaddr
and
.IR byteaddr
perform these calculations,
.IR byteaddr
perform these calculations,
returning pointers to the word and byte, respectively,
that contain the beginning of the data for a given pixel.
.PP
.I Allocmemimage
allocates
allocates
images with a given rectangle and channel descriptor
(see
(see
.B strtochan
in
.IR graphics (3)),
.IM graphics (3) ),
creating a fresh
.B Memdata
structure and associated storage.
@ -282,7 +283,7 @@ is similar but uses the supplied
structure rather than a new one.
The
.I readmemimage
function reads an uncompressed bitmap
function reads an uncompressed bitmap
from the given file descriptor,
while
.I creadmemimage
@ -293,7 +294,7 @@ writes a compressed representation of
to file descriptor
.IR fd .
For more on bitmap formats, see
.IR image (7).
.IM image (7) .
.I Freememimage
frees images returned by any of these routines.
The
@ -315,7 +316,7 @@ data, respectively.
When calling
.IR cloadmemimage ,
the buffer must contain an
integral number of
integral number of
compressed chunks of data that exactly cover the rectangle.
.I Unloadmemimage
retrieves the uncompressed pixel data for a given rectangle of an image.
@ -324,8 +325,8 @@ and \-1 in case of an error.
.PP
.I Memfillcolor
fills an image with the given color, a 32-bit number as
described in
.IR color (3).
described in
.IM color (3) .
.PP
.IR Memarc ,
.IR mempoly ,
@ -334,7 +335,7 @@ described in
.IR memimageline ,
and
.I memimagedraw
are identical to the
are identical to the
.IR arc ,
.IR poly ,
.IR ellipse ,
@ -343,40 +344,40 @@ are identical to the
and
.IR gendraw ,
routines described in
.IR draw (3),
.IM draw (3) ,
except that they operate on
.BR Memimage s
rather than
rather than
.BR Image s.
Similarly,
Similarly,
.IR allocmemsubfont ,
.IR openmemsubfont ,
.IR freememsubfont ,
.IR memsubfontwidth ,
and
.I memimagestring
are the
are the
.B Memimage
analogues of
analogues of
.IR allocsubfont ,
.IR openfont ,
.IR freesubfont ,
.IR strsubfontwidth ,
and
.B string
(see
.IR subfont (3)
(see
.IM subfont (3)
and
.IR graphics (3)),
.IM graphics (3) ),
except that they operate
only on
only on
.BR Memsubfont s
rather than
.BR Font s.
.PP
.I Drawclip
takes the images involved in a draw operation,
together with the destination rectangle
together with the destination rectangle
.B dr
and source
and mask alignment points
@ -407,7 +408,7 @@ an end of a given style.
.PP
The
.I hwdraw
and
and
.I iprint
functions are no-op stubs that may be overridden by clients
of the library.
@ -415,7 +416,7 @@ of the library.
is called at each call to
.I memimagedraw
with the current request's parameters.
If it can satisfy the request, it should do so
If it can satisfy the request, it should do so
and return 1.
If it cannot satisfy the request, it should return 0.
This allows (for instance) the kernel to take advantage
@ -432,15 +433,15 @@ prints to a serial line rather than the screen, for obvious reasons.
.SH SOURCE
.B \*9/src/libmemdraw
.SH SEE ALSO
.IR addpt (3),
.IR color (3),
.IR draw (3),
.IR graphics (3),
.IR memlayer (3),
.IR stringsize (3),
.IR subfont (3),
.IR color (7),
.IR utf (7)
.IM addpt (3) ,
.IM color (3) ,
.IM draw (3) ,
.IM graphics (3) ,
.IM memlayer (3) ,
.IM stringsize (3) ,
.IM subfont (3) ,
.IM color (7) ,
.IM utf (7)
.SH BUGS
.I Memimagestring
is unusual in using a subfont rather than a font,

View file

@ -97,18 +97,18 @@ int memunload(Memimage *i, Rectangle r,
.PP
.SH DESCRIPTION
These functions build upon the
.IR memdraw (3)
.IM memdraw (3)
interface to maintain overlapping graphical windows on in-memory images.
They are used by the kernel to implement the windows interface presented by
.IR draw (3)
.IM draw (3)
and
.IR window (3)
.IM window (3)
and probably have little use outside of the kernel.
.PP
The basic function is to extend the definition of a
.B Memimage
(see
.IR memdraw (3))
.IM memdraw (3) )
to include overlapping windows defined by the
.B Memlayer
type.
@ -270,7 +270,7 @@ They have the signatures of
and
.I memimageline
(see
.IR memdraw (3))
.IM memdraw (3) )
but accept
.B Memlayer
or
@ -294,12 +294,12 @@ bytes of data in
.I buf
are in compressed image format
(see
.IR image (7)).
.IM image (7) ).
.SH SOURCE
.B \*9/src/libmemlayer
.SH SEE ALSO
.IR graphics (3),
.IR memdraw (3),
.IR stringsize (3),
.IR window (3),
.IR draw (3)
.IM graphics (3) ,
.IM memdraw (3) ,
.IM stringsize (3) ,
.IM window (3) ,
.IM draw (3)

View file

@ -109,7 +109,7 @@ All these routines have portable C implementations in
.\" Most also have machine-dependent assembly language implementations in
.\" .BR \*9/lib9/$objtype .
.SH SEE ALSO
.IR strcat (3)
.IM strcat (3)
.SH BUGS
ANSI C does not require
.I memcpy

View file

@ -49,9 +49,9 @@ They use the message-passing
.B Channel
interface in the threads library
(see
.IR thread (3));
.IM thread (3) );
programs that wish a more event-driven, single-threaded approach should use
.IR event (3).
.IM event (3) .
.PP
The state of the mouse is recorded in a structure,
.BR Mouse ,
@ -107,7 +107,7 @@ are a
naming the device file connected to the mouse and an
.I Image
(see
.IR draw (3))
.IM draw (3) )
on which the mouse will be visible.
Typically the file is
nil,
@ -136,7 +136,7 @@ The actual value sent may be discarded; the receipt of the message
tells the program that it should call
.B getwindow
(see
.IR graphics (3))
.IM graphics (3) )
to reconnect to the window.
.PP
.I Readmouse
@ -152,7 +152,7 @@ or message sent on the channel.
It calls
.B flushimage
(see
.IR graphics (3))
.IM graphics (3) )
before blocking, so any buffered graphics requests are displayed.
.PP
.I Closemouse
@ -174,14 +174,14 @@ is nil, the cursor is set to the default.
The format of the cursor data is spelled out in
.B <cursor.h>
and described in
.IR graphics (3).
.IM graphics (3) .
.PP
.I Getrect
returns the dimensions of a rectangle swept by the user, using the mouse,
in the manner
.IR rio (1)
.IM rio (1)
or
.IR sam (1)
.IM sam (1)
uses to create a new window.
The
.I but
@ -220,7 +220,7 @@ struct Menu
behaves the same as its namesake
.I emenuhit
described in
.IR event (3),
.IM event (3) ,
with two exceptions.
First, it uses a
.B Mousectl
@ -230,7 +230,7 @@ it creates the menu as a true window on the
.B Screen
.I scr
(see
.IR window (3)),
.IM window (3) ),
permitting the menu to be displayed in parallel with other activities on the display.
If
.I scr
@ -244,8 +244,8 @@ restoring the display when the menu is removed.
.SH SOURCE
.B \*9/src/libdraw
.SH SEE ALSO
.IR graphics (3),
.IR draw (3),
.IR event (3),
.IR keyboard (3),
.IR thread (3).
.IM graphics (3) ,
.IM draw (3) ,
.IM event (3) ,
.IM keyboard (3) ,
.IM thread (3) .

View file

@ -28,15 +28,15 @@ causes a half-window scroll increment.
.PP
.I Mousescrollsize
is used by
.IR 9term (1)
.IM 9term (1)
and
.IR acme (1)
.IM acme (1)
to set their scrolling behavior.
.SH SOURCE
.B \*9/src/libdraw/scroll.c
.SH SEE ALSO
.IR 9term (1),
.IR acme (1)
.IM 9term (1) ,
.IM acme (1)
.SH BUGS
.I Libdraw
expects up and down scroll wheel events to be expressed as clicks of mouse buttons 4 and 5,

View file

@ -315,9 +315,9 @@ is
the buffer is allocated.
.I Mpfmt
can be used with
.IR fmtinstall (3)
.IM fmtinstall (3)
and
.IR print (3)
.IM print (3)
to print hexadecimal representations of
.BR mpint s.
.PP

View file

@ -123,7 +123,7 @@ nil if an error occurred.
.I Muxprocs
allocates new procs
(see
.IR thread (3))
.IM thread (3) )
in which to run
.I send
and
@ -146,7 +146,7 @@ that need to remain active.
.I Libmux
also provides a non-blocking interface, useful for programs forced
to use a
.IR select (3)-based
.IM select (3) -based
main loop.
.I Muxrpcstart
runs the first half of
@ -176,7 +176,7 @@ with
.SH SOURCE
.B \*9/src/libmux
.SH SEE ALSO
.IR thread (3),
.IM thread (3) ,
.IR intro (9p)
.SH BUGS
.I Libmux

View file

@ -88,13 +88,13 @@ Ndbtuple* ndbsubstitute(Ndbtuple *t, Ndbtuple *from, Ndbtuple *to);
These routines are used by network administrative programs to search
the network database.
They operate on the database files described in
.IR ndb (7).
.IM ndb (7) .
.PP
.I Ndbopen
opens the database
.I file
and calls
.IR malloc (3)
.IM malloc (3)
to allocate a buffer for it.
If
.I file
@ -128,7 +128,7 @@ is used to find each successive match.
On a successful search both return a linked list of
.I Ndbtuple
structures acquired by
.IR malloc (3)
.IM malloc (3)
that represent the attribute/value pairs in the
entry.
On failure they return zero.
@ -450,8 +450,8 @@ directory of network database files
.SH SOURCE
.B \*9/src/libndb
.SH SEE ALSO
.IR ndb (1)
.IR ndb (7)
.IM ndb (1)
.IM ndb (7)
.SH DIAGNOSTICS
.IR Ndbgetvalue
and

View file

@ -45,7 +45,7 @@ is a no-op.
.I Needstack
should be thought of as a comment checked at run time,
like
.IR assert (3).
.IM assert (3) .
.SH EXAMPLE
The X Window library implementation of
.I XLookupString
@ -57,7 +57,7 @@ before making calls to
.IR XLookupString .
If a thread (in this case, the keyboard-reading thread used
inside the
.IR draw (3)
.IM draw (3)
library)
does not allocate a large enough stack, the problem is diagnosed
immediately rather than left to corrupt memory.
@ -66,4 +66,4 @@ immediately rather than left to corrupt memory.
.br
.B \*9/src/libthread
.SH SEE ALSO
.IR thread (3)
.IM thread (3)

View file

@ -33,12 +33,12 @@ or writing on a closed pipe, a
is posted to communicate the exception.
A note may also be posted by another process
via
.IR postnote (3).
.IM postnote (3) .
On Unix, notes are implemented as signals.
.PP
When a note is received, the action taken depends on the note.
See
.IR signal (7)
.IM signal (7)
for the full description of the defaults.
.PP
The default actions may be overridden.
@ -53,10 +53,10 @@ replaces the previous handler, if any.
An argument of zero cancels a previous handler,
restoring the default action.
A
.IR fork (2)
.IM fork (2)
system call leaves the handler registered in
both the parent and the child;
.IR exec (3)
.IM exec (3)
restores the default behavior.
Handlers may not perform floating point operations.
.PP
@ -112,17 +112,17 @@ set up with
using the
.I notejmp
function (see
.IR setjmp (3)).
.IM setjmp (3) ).
.PP
Unix provides a fixed set of notes (typically there are 32) called
.IR signals .
It also allows a process to block certain notes from being delivered
(see
.IR sigprocmask (2))
.IM sigprocmask (2) )
and to ignore certain notes by setting the signal hander to the special value
.B SIG_IGN
(see
.IR signal (2)).
.IM signal (2) ).
.I Noteenable
and
.I notedisable
@ -137,7 +137,7 @@ is called upon receipt of the note; if the handler is not called, the note is di
Regardless of the origin of the note or the presence of a handler,
if the process is being debugged
(see
.IR ptrace (2))
.IM ptrace (2) )
the arrival of a note puts the process in the
.B Stopped
state and awakens the debugger.
@ -252,7 +252,7 @@ are usually generated by the operating system.
.br
.B \*9/src/lib9/atnotify.c
.SH SEE ALSO
.IR intro (3),
.IM intro (3) ,
.I notejmp
in
.IR setjmp (3)
.IM setjmp (3)

View file

@ -34,7 +34,7 @@ says to truncate the file
to zero length before opening it;
.B OCEXEC
says to close the file when an
.IR exec (3)
.IM exec (3)
or
.I execl
system call is made;
@ -48,7 +48,7 @@ are always appended to the end of the file.
fails if the file does not exist or the user does not have
permission to open it for the requested purpose
(see
.IR stat (3)
.IM stat (3)
for a description of permissions).
The user must have write permission on the
.I file
@ -61,7 +61,7 @@ system call
(unlike the implicit
.I open
in
.IR exec (3)),
.IM exec (3) ),
.B OEXEC
is actually identical to
.BR OREAD .
@ -143,8 +143,8 @@ allows the file descriptor to be reused.
.SH SOURCE
.B \*9/src/lib9
.SH SEE ALSO
.IR intro (3),
.IR stat (3)
.IM intro (3) ,
.IM stat (3)
.SH DIAGNOSTICS
These functions set
.IR errstr .
@ -169,4 +169,4 @@ are preprocessor macros defined as
and
.IR p9create ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -25,7 +25,7 @@ to
.L z
are tried until the name of a file that does not yet exist
(see
.IR access (2))
.IM access (2) )
is generated.
.I Opentemp
then opens the file for the given
@ -49,4 +49,4 @@ will never return the same name.
.SH "SEE ALSO
.I create
in
.IR open (3)
.IM open (3)

View file

@ -25,7 +25,7 @@ is available for reading from
After the pipe has been established,
cooperating processes
created by subsequent
.IR fork (2)
.IM fork (2)
calls may pass data through the
pipe with
.I read
@ -53,14 +53,14 @@ calls.
.\" .IR stat (3)).
.PP
When all the data has been read from a pipe and the writer has closed the pipe or exited,
.IR read (3)
.IM read (3)
will return 0 bytes. Writes to a pipe with no reader will generate a note
.BR "sys: write on closed pipe" .
.SH SOURCE
.B \*9/src/lib9/pipe.c
.SH SEE ALSO
.IR intro (3),
.IR read (3)
.IM intro (3) ,
.IM read (3)
.SH DIAGNOSTICS
Sets
.IR errstr .
@ -79,7 +79,7 @@ Unix pipes are not guaranteed to be bidirectional.
In order to ensure a bidirectional channel,
.I p9pipe
creates Unix domain sockets via the
.IR socketpair (2)
.IM socketpair (2)
instead of Unix pipes.
.PP
The implementation of pipes as Unix domain sockets
@ -89,11 +89,11 @@ Unix's dup device. If a Unix domain socket is open as file
descriptor 0, some implementations disallow the opening of
.BR /dev/fd/0 ;
instead one must
.IR connect (2)
.IM connect (2)
to it.
If this functionality is important
(as it is for
.IR rc (1)),
.IM rc (1) ),
one must
.B #undef
.B pipe

View file

@ -68,7 +68,7 @@ Plumbmsg* plumbrecvfid(CFid *fid)
int plumbsendtofid(CFid *fid, Plumbmsg *m)
.SH DESCRIPTION
These routines manipulate
.IR plumb (7)
.IM plumb (7)
messages, transmitting them, receiving them, and
converting them between text and these data structures:
.IP
@ -99,7 +99,7 @@ struct Plumbattr
opens the named plumb
.IR port ,
using
.IR open (3)
.IM open (3)
mode
.IR omode .
If
@ -108,11 +108,11 @@ begins with a slash, it is taken as a literal file name;
otherwise
.I plumbopen
searches for the location of the
.IR plumber (4)
.IM plumber (4)
service and opens the port there.
.PP
For programs using the
.IR event (3)
.IM event (3)
interface,
.I eplumb
registers, using the given
@ -121,9 +121,9 @@ receipt of messages from the named
.IR port .
.PP
The library mounts the
.IR plumber (4)
.IM plumber (4)
service on demand (using the
.IR 9pclient (3))
.IM 9pclient (3) )
library and reuses the mount instance for future
calls to
.IR plumbopen .
@ -157,7 +157,7 @@ to
frees all the data associated with the message
.IR m ,
all the components of which must therefore have been allocated with
.IR malloc (3).
.IM malloc (3) .
.PP
.I Plumbrecv
returns the next message available on the file descriptor
@ -259,7 +259,7 @@ The file descriptor returned by
is created with
.I fsopenfd
(see
.IR 9pclient (3)),
.IM 9pclient (3) ),
which masks information about read and write errors.
This is acceptable for use in
.I plumbrecv
@ -276,10 +276,10 @@ that preserves the exact error details.
.SH SOURCE
.B \*9/src/libplumb
.SH SEE ALSO
.IR plumb (1),
.IR event (3),
.IR plumber (4),
.IR plumb (7)
.IM plumb (1) ,
.IM event (3) ,
.IM plumber (4) ,
.IM plumb (7)
.SH DIAGNOSTICS
When appropriate, including when a
.I plumbsend

View file

@ -11,11 +11,11 @@ int post9pservice(int fd, char *name, char *mtpt)
.SH DESCRIPTION
.I Post9pservice
invokes
.IR 9pserve (4)
.IM 9pserve (4)
to post a new 9P service in the current
``name space''
(see
.IR intro (4))
.IM intro (4) )
named
.IR name .
Clients connecting to the posted service
@ -30,10 +30,10 @@ is non-nil,
mounts the service on
.IR mtpt ,
using
.IR 9pfuse (4).
.IM 9pfuse (4) .
.SH "SEE ALSO
.IR intro (4),
.IR 9pfuse (4),
.IR 9pserve (4)
.IM intro (4) ,
.IM 9pfuse (4) ,
.IM 9pserve (4)
.SH SOURCE
.B \*9/src/lib9/post9p.c

View file

@ -38,8 +38,8 @@ Returns zero if the write succeeds, otherwise \-1.
.SH SOURCE
.B \*9/src/lib9/postnote.c
.SH "SEE ALSO"
.IR notify (3),
.IR intro (3)
.IM notify (3) ,
.IM intro (3)
.SH DIAGNOSTICS
Sets
.IR errstr .

View file

@ -93,8 +93,8 @@ slow algorithm.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR aes (3)
.IR blowfish (3),
.IR des (3),
.IR elgamal (3),
.IR rsa (3),
.IM aes (3)
.IM blowfish (3) ,
.IM des (3) ,
.IM elgamal (3) ,
.IM rsa (3) ,

View file

@ -67,7 +67,7 @@ writes to the named output
file descriptor:
a buffered form
is described in
.IR bio (3).
.IM bio (3) .
.I Sprint
places text
followed by the NUL character
@ -104,7 +104,7 @@ is like
.IR sprint ,
except that it prints into and returns a string of the required length, which is
allocated by
.IR malloc (3).
.IM malloc (3) .
.PP
The routines
.IR runesprint ,
@ -361,7 +361,7 @@ The
.B S
verb is similar, but it interprets its pointer as an array
of runes (see
.IR utf (7));
.IM utf (7) );
the runes are converted to
.SM UTF
before output.
@ -389,10 +389,10 @@ but that will change if pointers and integers are different sizes.
The
.B r
verb takes no arguments; it copies the error string returned by a call to
.IR errstr (3).
.IM errstr (3) .
.PP
Custom verbs may be installed using
.IR fmtinstall (3).
.IM fmtinstall (3) .
.SH EXAMPLE
This function prints an error message with a variable
number of arguments and then quits.
@ -415,9 +415,9 @@ void fatal(char *msg, ...)
.SH SOURCE
.B \*9/src/lib9/fmt
.SH SEE ALSO
.IR fmtinstall (3),
.IR fprintf (3),
.IR utf (7)
.IM fmtinstall (3) ,
.IM fprintf (3) ,
.IM utf (7)
.SH DIAGNOSTICS
Routines that write to a file descriptor or call
.IR malloc
@ -425,7 +425,7 @@ set
.IR errstr .
.SH BUGS
The formatting is close to that specified for ANSI
.IR fprintf (3);
.IM fprintf (3) ;
the main difference is that
.B b
and

View file

@ -24,7 +24,7 @@ int rdproto(char *proto, char *root, Protoenum *enm,
.I Rdproto
reads and interprets the named
.I proto
file relative to the
file relative to the
root directory
.IR root .
.PP
@ -45,9 +45,9 @@ The fifth field is the name of the file from which to copy;
this file is read from the current name space,
not the source file tree.
All fields except the first are optional.
Specifying
Specifying
.B -
for permissions, owner, or group
for permissions, owner, or group
causes
.I rdproto
to fetch the corresponding information
@ -92,29 +92,29 @@ Only the
and
.B length
fields are guaranteed to be valid.
The argument
The argument
.I a
is the same argument passed to
.IR rdproto ;
typically it points at some extra state
used by the enumeration function.
.PP
When files or directories do not exist or
cannot be read by
When files or directories do not exist or
cannot be read by
.IR rdproto ,
it formats a warning message, calls
it formats a warning message, calls
.IR warn ,
and continues processing;
and continues processing;
if
.I warn
is nil,
is nil,
.I rdproto
prints the warning message to standard error.
.PP
.I Rdproto
returns zero
if
.I proto
.I proto
was processed, \-1 if it could not be opened.
.SH FILES
.TF /sys/lib/sysconfig/proto/portproto
@ -127,5 +127,6 @@ generic prototype file.
.SH SOURCE
.B \*9/src/libdisk/proto.c
.SH SEE ALSO
.IR mk9660 (1),
Plan 9's \fImkfs\fR(8)
.IM mk9660 (1) ,
Plan 9's
.IR mkfs (8)

View file

@ -46,7 +46,7 @@ TLS is nearly the same as SSL 3.0, and the software should interoperate
with implementations of either standard.
.PP
To use just the record layer, as described in Plan 9's
\fItls\fR(3),
.IR tls (3),
call
.I pushtls
to open the record layer device, connect to the communications channel
@ -108,7 +108,7 @@ used by a client to resume a previously negotiated security association.
On output, the connection directory is set, as with
.B listen
(see
.IR dial (3)).
.IM dial (3) ).
The input
.I cert
is freed and a freshly allocated copy of the remote's certificate
@ -149,7 +149,7 @@ The private key corresponding to
.I cert.pem
should have been previously loaded into factotum.
(See
.IR rsa (3)
.IM rsa (3)
.\" XXX should be rsa(8)
for more about key generation.)
By setting
@ -164,10 +164,10 @@ known to the client.
is not required for the ongoing conversation and may
be freed by the application whenever convenient.
.SH FILES
.TP
.TP
.B /sys/lib/tls
thumbprints of trusted services
.TP
.TP
.B /sys/lib/ssl
PEM certificate files
.SH SOURCE
@ -175,12 +175,12 @@ PEM certificate files
.\" .br
.B \*9/src/libsec/port
.SH "SEE ALSO"
.IR dial (3),
.IR thumbprint (7);
.IM dial (3) ,
.IM thumbprint (7) ;
Plan 9's
\fIfactotum\fR(4)
.IR factotum (4)
and
\fItls\fR(3)
.IR tls (3)
.SH DIAGNOSTICS
return \-1 on failure.
.SH BUGS

View file

@ -68,7 +68,7 @@ and normal to the axis.
.SH SOURCE
.B \*9/src/libgeometry/qball.c
.SH SEE ALSO
.IR quaternion (3)
.IM quaternion (3)
.br
Ken Shoemake,
``Animating Rotation with Quaternion Curves'',

View file

@ -121,7 +121,7 @@ The following routines operate on rotations or orientations represented as unit
.TP
.B mtoq
Convert a rotation matrix (see
.IR matrix (3))
.IM matrix (3) )
to a unit quaternion.
.TP
.B qtom
@ -148,12 +148,12 @@ This is just a rotation about the same axis by half the angle.
.SH SOURCE
.B \*9/src/libgeometry/quaternion.c
.SH SEE ALSO
.IR matrix (3),
.IR qball (3)
.IM matrix (3) ,
.IM qball (3)
.SH BUGS
To avoid name conflicts with NetBSD,
.I qdiv
is a preprocessor macro defined as
.IR p9qdiv ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -58,10 +58,10 @@ The empty string is represented by two quotes,
The first four functions act as variants of
.B strdup
(see
.IR strcat (3)).
.IM strcat (3) ).
Each returns a
freshly allocated copy of the string, created using
.IR malloc (3).
.IM malloc (3) .
.I Quotestrdup
returns a quoted copy of
.IR s ,
@ -75,7 +75,7 @@ The
versions of these functions do the same for
.CW Rune
strings (see
.IR runestrcat (3)).
.IM runestrcat (3) ).
.PP
The string returned by
.I quotestrdup
@ -124,13 +124,13 @@ blanks, control characters, and quotes are always quoted.
is provided as a
.I doquote
function that flags any character special to
.IR rc (1).
.IM rc (1) .
.PP
.I Quotestrfmt
and
.I quoterunestrfmt
are
.IR print (3)
.IM print (3)
formatting routines that produce quoted strings as output.
They may be installed by hand, but
.I quotefmtinstall
@ -154,21 +154,21 @@ statements so the compiler can type-check uses of
and
.B %Q
in
.IR print (3)
.IM print (3)
format strings.
.SH SOURCE
.B \*9/src/lib9/quote.c
.br
.B \*9/src/lib9/fmt/fmtquote.c
.SH "SEE ALSO
.IR rc (1),
.IR malloc (3),
.IR print (3),
.IR strcat (3)
.IM rc (1) ,
.IM malloc (3) ,
.IM print (3) ,
.IM strcat (3)
.SH BUGS
Because it is provided by the format library,
.I doquote
is a preprocessor macro defined as
.IR fmtdoquote ;
see
.IR intro (3).
.IM intro (3) .

View file

@ -125,7 +125,7 @@ truly random bytes read from
.PP
.I Prng
uses the native
.IR rand (3)
.IM rand (3)
pseudo-random number generator to fill the buffer. Used with
.IR srand ,
this function can produce a reproducible stream of pseudo random
@ -138,7 +138,7 @@ and
may be passed to
.I mprand
(see
.IR mp (3)).
.IM mp (3) ).
.PP
.I Fastrand
uses
@ -161,7 +161,7 @@ to return a uniform
.B \*9/src/libsec/port
.SH "SEE ALSO
.\" .IR cons (3),
.IR mp (3)
.IM mp (3)
.SH BUGS
.I Truerand
and
@ -181,7 +181,7 @@ are preprocessor macros defined as
.IR p9lrand ,
and so on;
see
.IR intro (3).
.IM intro (3) .
.ie \n(HT .ds HT "
.el .ds HT " (see HTML-formatted man page for link)
.PP

View file

@ -43,13 +43,13 @@ structure keeps track of the algorithm.
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR des (3),
.IR dsa (3),
.IR elgamal (3),
.IR rsa (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM blowfish (3) ,
.IM des (3) ,
.IM dsa (3) ,
.IM elgamal (3) ,
.IM rsa (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)

View file

@ -65,7 +65,7 @@ if this is not the same as requested.
and
.I Pwrite
equivalent to a
.IR seek (3)
.IM seek (3)
to
.I offset
followed by a
@ -83,10 +83,10 @@ without interference.
.SH SOURCE
.B \*9/src/lib9/readn.c
.SH SEE ALSO
.IR intro (3),
.IM intro (3) ,
.IR open (3),
.IR dup (3),
.IR pipe (3)
.IM dup (3) ,
.IM pipe (3)
.SH DIAGNOSTICS
These functions set
.IR errstr .

View file

@ -63,14 +63,14 @@ Both return 0 on success, or \-1 on error, setting
.PP
Changing the hardware color map does not change
the color map used by the
.IR draw (3)
.IM draw (3)
operator to convert between
mapped and true color or greyscale images,
which is described in
.IR color (7).
.IM color (7) .
.SH SOURCE
.B \*9/src/libdraw
.SH "SEE ALSO"
.IR graphics (3),
.IR draw (3),
.IR color (7)
.IM graphics (3) ,
.IM draw (3) ,
.IM color (7)

View file

@ -31,7 +31,7 @@ is non-zero, the input is not echoed to the screen.
A stripped-down version of
.I netkey
(see
.IR passwd (1)):
.IM passwd (1) ):
.IP
.EX
pass = readcons("password", nil, 1);

View file

@ -42,11 +42,11 @@ compiles a
regular expression and returns
a pointer to the generated description.
The space is allocated by
.IR malloc (3)
.IM malloc (3)
and may be released by
.IR free .
Regular expressions are exactly as in
.IR regexp (7).
.IM regexp (7) .
.PP
.I Regcomplit
is like
@ -196,7 +196,7 @@ array elements should be used.
.SH SOURCE
.B \*9/src/libregexp
.SH "SEE ALSO"
.IR grep (1)
.IM grep (1)
.SH DIAGNOSTICS
.I Regcomp
returns

View file

@ -15,14 +15,14 @@ int rfork(int flags)
is a partial implementation of the Plan 9 system call.
It can be used to manipulate some process state and to create
new processes a la
.IR fork (2).
.IM fork (2) .
It cannot be used to create shared-memory processes
(Plan 9's
.B RFMEM
flag); for that functionality use
.I proccreate
(see
.IR thread (3)).
.IM thread (3) ).
.PP
The
.I flags
@ -45,7 +45,7 @@ If set, the child process will be dissociated from the parent. Upon
exit the child will leave no
.B Waitmsg
(see
.IR wait (3))
.IM wait (3) )
for the parent to collect.
.\" .TP
.\" .B RFNAMEG
@ -81,9 +81,9 @@ for the parent to collect.
Each process is a member of a group of processes that all
receive notes when a note is sent to the group
(see
.IR postnote (3)
.IM postnote (3)
and
.IR signal (2)).
.IM signal (2) ).
The group of a new process is by default the same as its parent, but if
.B RFNOTEG
is set (regardless of
@ -154,7 +154,7 @@ will sleep, if necessary, until required process resources are available.
Calling
.B rfork(RFFDG|RFPROC)
is equivalent to calling
.IR fork (2).
.IM fork (2) .
.SH SOURCE
.B \*9/src/lib9/rfork.c
.SH DIAGNOSTICS

View file

@ -197,7 +197,7 @@ The subject line is conventionally of the form
using the quoting conventions of
.I tokenize
(see
.IR getfields (3)).
.IM getfields (3) ).
.PP
.I X509req
creates an X.509 certification request.
@ -241,14 +241,14 @@ struct PEMChain
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3),
.IR aes (3),
.IR blowfish (3),
.IR des (3),
.IR dsa (3),
.IR elgamal (3),
.IR rc4 (3),
.IR sechash (3),
.IR prime (3),
.IR rand (3)
.IM mp (3) ,
.IM aes (3) ,
.IM blowfish (3) ,
.IM des (3) ,
.IM dsa (3) ,
.IM elgamal (3) ,
.IM rc4 (3) ,
.IM sechash (3) ,
.IM prime (3) ,
.IM rand (3)
.\" .IR pem (8)

View file

@ -189,5 +189,5 @@ returns
.br
.B \*9/src/lib9/utf/utfrune.c
.SH SEE ALSO
.IR utf (7),
.IR tcs (1)
.IM utf (7) ,
.IM tcs (1)

View file

@ -56,12 +56,12 @@ Rune* runestrstr(Rune *s1, Rune *s2)
.SH DESCRIPTION
These functions are rune string analogues of
the corresponding functions in
.IR strcat (3).
.IM strcat (3) .
.SH SOURCE
.B \*9/src/lib9
.SH SEE ALSO
.IR memory (3),
.IR rune (3),
.IR strcat (3)
.IM memory (3) ,
.IM rune (3) ,
.IM strcat (3)
.SH BUGS
The outcome of overlapping moves varies among implementations.

View file

@ -13,9 +13,9 @@ char* searchpath(char *name)
searches for the executable
.I name
in the same way that
.IR sh (1)
.IM sh (1)
and
.IR rc (1)
.IM rc (1)
do.
.PP
The environment variable
@ -32,9 +32,9 @@ returns a pointer to a malloced string containing a path
or simply
.IR name )
suitable for use in
.IR open (3)
.IM open (3)
or
.IR exec (3).
.IM exec (3) .
.PP
If
.I name

Some files were not shown because too many files have changed in this diff Show more