diff options
author | rsc <devnull@localhost> | 2005-01-03 06:41:38 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-01-03 06:41:38 +0000 |
commit | a19c44b83b96fefad131ef324c3eb2916e8c604c (patch) | |
tree | 9fee0b867751c0b9fe63a2763067c2e37403a866 /man/man3 | |
parent | 058b0118a52061ad57694c01fc8763b22b789c4d (diff) | |
download | plan9port-a19c44b83b96fefad131ef324c3eb2916e8c604c.tar.gz plan9port-a19c44b83b96fefad131ef324c3eb2916e8c604c.tar.bz2 plan9port-a19c44b83b96fefad131ef324c3eb2916e8c604c.zip |
Add mkfile to keep indices up to date.
Remove man pages for things we don't provide.
Diffstat (limited to 'man/man3')
-rw-r--r-- | man/man3/abort.3 | 18 | ||||
-rw-r--r-- | man/man3/access.3 | 60 | ||||
-rw-r--r-- | man/man3/assert.3 | 25 | ||||
-rw-r--r-- | man/man3/ctype.3 | 160 | ||||
-rw-r--r-- | man/man3/getfcr.3 | 125 | ||||
-rw-r--r-- | man/man3/hypot.3 | 21 | ||||
-rw-r--r-- | man/man3/mktemp.3 | 40 | ||||
-rw-r--r-- | man/man3/pool.3 | 329 | ||||
-rw-r--r-- | man/man3/readv.3 | 82 | ||||
-rw-r--r-- | man/man3/remove.3 | 31 |
10 files changed, 0 insertions, 891 deletions
diff --git a/man/man3/abort.3 b/man/man3/abort.3 deleted file mode 100644 index 2615f5b5..00000000 --- a/man/man3/abort.3 +++ /dev/null @@ -1,18 +0,0 @@ -.TH ABORT 3 -.SH NAME -abort \- generate a fault -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.nf -.B -void abort(void) -.fi -.SH DESCRIPTION -.I Abort -causes an access fault, causing the current process to enter the `Broken' state. -The process can then be inspected by a debugger. -.SH SOURCE -.B /usr/local/plan9/src/libc/9sys/abort.c diff --git a/man/man3/access.3 b/man/man3/access.3 deleted file mode 100644 index d98d88a5..00000000 --- a/man/man3/access.3 +++ /dev/null @@ -1,60 +0,0 @@ -.TH ACCESS 3 -.SH NAME -access \- determine accessibility of file -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.B -int access(char *name, int mode) -.SH DESCRIPTION -.I Access -evaluates the given -file -.I name -for accessibility. -If \fImode\fL&4\fR -is nonzero, -read permission is expected; -if \fImode\fL&2\fR, -write permission; -if \fImode\fL&1\fR, -execute permission. -If \fImode\fL==0\fR, -the file merely need exist. -In any case -all directories leading to the file -must permit searches. -Zero is returned if the desired access is permitted, -\-1 if not. -.PP -Only access for open is checked. -A file may look executable, but -.IR exec (3) -will fail unless it is in proper format. -.PP -The include file -.F <libc.h> -defines -.BR AEXIST =0, -.BR AEXEC =1, -.BR AWRITE =2, -and -.BR AREAD =4. -.PP -.SH SOURCE -.B /usr/local/plan9/src/libc/9sys/access.c -.SH SEE ALSO -.IR stat (3) -.SH DIAGNOSTICS -Sets -.IR errstr . -.SH BUGS -Since file permissions are checked by the server and group information -is not known to the client, -.I access -must open the file to check permissions. -(It calls -.IR stat (3) -to check simple existence.) diff --git a/man/man3/assert.3 b/man/man3/assert.3 deleted file mode 100644 index 82c43d08..00000000 --- a/man/man3/assert.3 +++ /dev/null @@ -1,25 +0,0 @@ -.TH ASSERT 3 -.SH NAME -assert \- check program invariants -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.B -#define assert if(cond);else _assert("cond") -.PP -.B -void _assert(int cond) -.SH DESCRIPTION -.I Assert -is a preprocessor macro that -(via -.IR _assert ) -prints a message and calls -.I abort -when -.I cond -is false. -.SH SOURCE -.B /usr/local/plan9/src/libc/port/_assert.c diff --git a/man/man3/ctype.3 b/man/man3/ctype.3 deleted file mode 100644 index bb3f3327..00000000 --- a/man/man3/ctype.3 +++ /dev/null @@ -1,160 +0,0 @@ -.TH CTYPE 3 -.SH NAME -isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, ispunct, isprint, isgraph, iscntrl, isascii, toascii, _toupper, _tolower, toupper, tolower \- ASCII character classification -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.br -.B #include <ctype.h> -.PP -.if t .2C -.B isalpha(c) -.PP -.B isupper(c) -.PP -.B islower(c) -.PP -.B isdigit(c) -.PP -.B isxdigit(c) -.PP -.B isalnum(c) -.PP -.B isspace(c) -.PP -.B ispunct(c) -.PP -.B isprint(c) -.PP -.B isgraph(c) -.PP -.B iscntrl(c) -.PP -.B isascii(c) -.PP -.B _toupper(c) -.PP -.B _tolower(c) -.PP -.B toupper(c) -.PP -.B tolower(c) -.PP -.B toascii(c) -.if t .1C -.SH DESCRIPTION -These macros classify -.SM ASCII\c --coded integer values -by table lookup. -Each is a predicate returning nonzero for true, -zero for false. -.I Isascii -is defined on all integer values; the rest -are defined only where -.I isascii -is true and on the single non-\c -.SM ASCII -value -.BR EOF ; -see -.IR fopen (3). -.TP "\w'isalnum 'u" -.I isalpha -.I c -is a letter, a\-z or A\-Z -.TP -.I isupper -.I c -is an upper case letter, A\-Z -.TP -.I islower -.I c -is a lower case letter, a\-z -.TP -.I isdigit -.I c -is a digit, 0\-9 -.TP -.I isxdigit -.I c -is a hexadecimal digit, 0\-9 or a\-f or A\-F -.TP -.I isalnum -.I c -is an alphanumeric character, a\-z or A\-Z or 0\-9 -.TP -.I isspace -.I c -is a space, horizontal tab, newline, vertical tab, formfeed, or carriage return -(0x20, 0x9, 0xA, 0xB, 0xC, 0xD) -.TP -.I ispunct -.I c -is a punctuation character -(one of -.L -!"#$%&'()*+,-./:;<=>?@[\e]^_`{|}~\fR) -.TP -.I isprint -.I c -is a printing character, 0x20 (space) -through 0x7E (tilde) -.TP -.I isgraph -.I c -is a visible printing character, 0x21 (exclamation) through 0x7E -(tilde) -.TP -.I iscntrl -.I c -is a delete character, 0x7F, -or ordinary control character, 0x0 through 0x1F -.TP -.I isascii -.I c -is an -.SM ASCII -character, 0x0 through 0x7F -.PP -.I Toascii -is not a classification macro; -it converts its argument to -.SM ASCII -range by -.IR and ing -with 0x7F. -.PP -If -.I c -is an upper case letter, -.I tolower -returns the lower case version of the character; -otherwise it returns the original character. -.I Toupper -is similar, returning the upper case version of a character -or the original character. -.I Tolower -and -.I toupper -are functions; -.I _tolower -and -.I _toupper -are corresponding macros which should only be used when it -is known that the argument is upper case or lower case, respectively. -.SH SOURCE -.TF /usr/local/plan9/src/libc/port/ctype.c -.TP -.B /sys/include/ctype.h -for the macros. -.TP -.B /usr/local/plan9/src/libc/port/ctype.c -for the tables. -.SH "SEE ALSO -.IR isalpharune (3) -.SH BUGS -These macros are -.SM ASCII \c --centric. diff --git a/man/man3/getfcr.3 b/man/man3/getfcr.3 deleted file mode 100644 index 577180a7..00000000 --- a/man/man3/getfcr.3 +++ /dev/null @@ -1,125 +0,0 @@ -.TH GETFCR 3 -.SH NAME -getfcr, setfcr, getfsr, setfsr \- control floating point -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.B -ulong getfcr(void) -.PP -.B -void setfcr(ulong fcr) -.PP -.B -ulong getfsr(void) -.PP -.B -void setfsr(ulong fsr) -.SH DESCRIPTION -These routines provide a fairly portable interface to control the -rounding and exception characteristics of IEEE 754 floating point units. -In effect, they define a pair of pseudo-registers, the floating -point control register, -.BR fcr , -which affects rounding, precision, and exceptions, and the -floating point status register, -.BR fsr , -which holds the accrued exception bits. -Each register has a -.I get -routine to retrieve its value, a -.I set -routine to modify it, -and macros that identify its contents. -.PP -The -.B fcr -contains bits that, when set, halt execution upon exceptions: -.B FPINEX -(enable inexact exceptions), -.B FPOVFL -(enable overflow exceptions), -.B FPUNFL -(enable underflow exceptions), -.B FPZDIV -(enable zero divide exceptions), and -.B FPINVAL -(enable invalid operation exceptions). -Rounding is controlled by installing in -.BR fcr , -under mask -.BR FPRMASK , -one of the values -.B FPRNR -(round to nearest), -.B FPRZ -(round towards zero), -.B FPRPINF -(round towards positive infinity), and -.B FPRNINF -(round towards negative infinity). -Precision is controlled by installing in -.BR fcr , -under mask -.BR FPPMASK , -one of the values -.B FPPEXT -(extended precision), -.B FPPSGL -(single precision), and -.B FPPDBL -(double precision). -.PP -The -.B fsr -holds the accrued exception bits -.BR FPAINEX , -.BR FPAOVFL , -.BR FPAUNFL , -.BR FPAZDIV , -and -.BR FPAINVAL , -corresponding to the -.B fsr -bits without the -.B A -in the name. -.PP -Not all machines support all modes. If the corresponding mask -is zero, the machine does not support the rounding or precision modes. -On some machines it is not possible to clear selective accrued -exception bits; a -.I setfsr -clears them all. -The exception bits defined here work on all architectures. -By default, the initial state is equivalent to -.IP -.EX -setfcr(FPPDBL|FPRNR|FPINVAL|FPZDIV|FPOVFL); -.EE -.PP -The default state of the floating point unit is fixed for a given -architecture but is undefined across Plan 9: the default is -to provide what the hardware does most efficiently. -Use these routines -if you need guaranteed behavior. -Also, gradual underflow is not available on some machines. -.SH EXAMPLE -To enable overflow traps and make sure registers are rounded -to double precision (for example on the MC68020, where the -internal registers are 80 bits long): -.EX -.IP -.ft L -ulong fcr; -fcr = getfcr(); -fcr |= FPOVFL; -fcr &= ~FPPMASK; -fcr |= FPPDBL; -setfcr(fcr); -.ft -.EE -.SH SOURCE -.B /usr/local/plan9/src/libc/$objtype/getfcr.s diff --git a/man/man3/hypot.3 b/man/man3/hypot.3 deleted file mode 100644 index a539c72e..00000000 --- a/man/man3/hypot.3 +++ /dev/null @@ -1,21 +0,0 @@ -.TH HYPOT 3 -.SH NAME -hypot \- Euclidean distance -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.nf -.B -double hypot(double x, double y) -.fi -.SH DESCRIPTION -.I Hypot -returns -.EX - sqrt(x*x + y*y) -.EE -taking precautions against unwarranted overflows. -.SH SOURCE -.B /usr/local/plan9/src/libc/port/hypot.c diff --git a/man/man3/mktemp.3 b/man/man3/mktemp.3 deleted file mode 100644 index 9ab13cba..00000000 --- a/man/man3/mktemp.3 +++ /dev/null @@ -1,40 +0,0 @@ -.TH MKTEMP 3 -.SH NAME -mktemp \- make a unique file name -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.nf -.B -char* mktemp(char *template) -.fi -.SH DESCRIPTION -.I Mktemp -replaces -.I template -by a unique file name, and returns the -address of the template. -The template should look like a file name with eleven trailing -.LR X s. -The -.LR X s -are replaced by a letter followed by the current process id. -Letters from -.L a -to -.L z -are tried until a name that can be accessed -(see -.IR access (3)) -is generated. -If no such name can be generated, -.I mktemp -returns -\f5"/"\f1 . -.SH SOURCE -.B /usr/local/plan9/src/libc/port/mktemp.c -.SH "SEE ALSO" -.IR getpid (3), -.IR access (3) diff --git a/man/man3/pool.3 b/man/man3/pool.3 deleted file mode 100644 index 12be5792..00000000 --- a/man/man3/pool.3 +++ /dev/null @@ -1,329 +0,0 @@ -.TH POOL 3 -.SH NAME -poolalloc, poolfree, poolmsize, poolrealloc, poolcompact, poolcheck, poolblockcheck, -pooldump \- general memory management routines -.SH SYNOPSIS -.B #include <u.h> -.PP -.B #include <libc.h> -.PP -.B #include <pool.h> -.PP -.B -void* poolalloc(Pool* pool, ulong size) -.PP -.B -void poolfree(Pool* pool, void* ptr) -.PP -.B -ulong poolmsize(Pool* pool, void* ptr) -.PP -.B -void* poolrealloc(Pool* pool, void* ptr, ulong size) -.PP -.B -void poolcompact(Pool* pool) -.PP -.B -void poolcheck(Pool *pool) -.PP -.B -void poolblockcheck(Pool *pool, void *ptr) -.PP -.B -void pooldump(Pool *pool); -.SH DESCRIPTION -These routines provide a general memory management facility. -Memory is retrieved from a coarser allocator (e.g. -.I sbrk -or the kernel's -.IR xalloc ) -and then allocated to callers. -The routines are locked and thus may safely be used in -multiprocess programs. -.PP -.I Poolalloc -attempts to allocate a block of size -.BR size ; -it returns a pointer to the block when successful and nil otherwise. -The call -.B "poolalloc(0) -returns a non-nil pointer. -.I Poolfree -returns an allocated block to the pool. -It is an error to free a block more than once or to free a -pointer not returned by -.IR poolalloc . -The call -.B "poolfree(nil) -is legal and is a no-op. -.I Poolrealloc -attempts to resize to -.B nsize -bytes the block associated with -.BR ptr , -which must have been previously returned by -.I poolalloc -or -.IR poolrealloc . -If the block's size can be adjusted, a (possibly different) pointer to the new block is returned. -The contents up to the lesser of the old and new sizes are unchanged. -After a successful call to -.IR poolrealloc , -the return value should be used rather than -.B ptr -to access the block. -If the request cannot be satisfied, -.I poolrealloc -returns nil, and the old pointer remains valid. -.PP -When blocks are allocated, there is often some extra space left at the end -that would usually go unused. -.IR Poolmsize -grows the block to encompass this extra space and returns the new size. -.PP -The -.I poolblockcheck -and -.I poolcheck -routines validate a single allocated block or the entire pool, respectively. -They call -.B panic -(see below) -if corruption is detected. -.I Pooldump -prints a summary line for every block in the -pool, using the -.B print -function (see below). -.PP -The -.B Pool -structure itself provides much of the setup interface. -.IP -.EX -.ta \w'\fL 'u +\w'\fLulong 'u +\w'\fLlastcompact; 'u -typedef struct Pool Pool; -struct Pool { - char* name; - ulong maxsize; /* of entire Pool */ - ulong cursize; /* of Pool */ - ulong curfree; /* total free bytes in Pool */ - ulong curalloc; /* total allocated bytes in Pool */ - ulong minarena; /* smallest size of new arena */ - ulong quantum; /* allocated blocks should be multiple of */ - ulong minblock; /* smallest newly allocated block */ - int flags; - int nfree; /* number of calls to free */ - int lastcompact; /* nfree at time of last poolcompact */ - void* (*alloc)(ulong); - int (*merge)(void*, void*); - void (*move)(void* from, void* to); - void (*lock)(Pool*); - void (*unlock)(Pool*); - void (*print)(Pool*, char*, ...); - void (*panic)(Pool*, char*, ...); - void (*logstack)(Pool*); - void* private; -}; -.ta \w'\fL 'u +\w'POOL_ANTAGONISM 'u -enum { /* flags */ - POOL_ANTAGONISM = 1<<0, - POOL_PARANOIA = 1<<1, - POOL_VERBOSITY = 1<<2, - POOL_DEBUGGING = 1<<3, - POOL_LOGGING = 1<<4, - POOL_TOLERANCE = 1<<5, - POOL_NOREUSE = 1<<6, -}; -.EE -.PP -The pool obtains arenas of memory to manage by calling the the given -.B alloc -routine. -The total number of requested bytes will not exceed -.BR maxsize . -Each allocation request will be for at least -.B minarena -bytes. -.PP -When a new arena is allocated, the pool routines try to -merge it with the surrounding arenas, in an attempt to combat fragmentation. -If -.B merge -is non-nil, it is called with the addresses of two blocks from -.B alloc -that the pool routines suspect might be adjacent. -If they are not mergeable, -.B merge -must return zero. -If they are mergeable, -.B merge -should merge them into one block in its own bookkeeping -and return non-zero. -.PP -To ease fragmentation and make -block reuse easier, the sizes requested of the pool routines are rounded up to a multiple of -.B quantum -before -the carrying out requests. -If, after rounding, the block size is still less than -.B minblock -bytes, -.B minblock -will be used as the block size. -.PP -.I Poolcompact -defragments the pool, moving blocks in order to aggregate -the free space. -Each time it moves a block, it notifies the -.B move -routine that the contents have moved. -At the time that -.B move -is called, the contents have already moved, -so -.B from -should never be dereferenced. -If no -.B move -routine is supplied (i.e. it is nil), then calling -.I poolcompact -is a no-op. -.PP -When the pool routines need to allocate a new arena but cannot, -either because -.B alloc -has returned nil or because doing so would use more than -.B maxsize -bytes, -.I poolcompact -is called once to defragment the memory -and the request is retried. -.PP -.I Pools -are protected by the pool routines calling -.B lock -(when non-nil) -before modifying the pool, and -calling -.B unlock -when finished. -.PP -When internal corruption is detected, -.B panic -is called with a -.IR print (3) -style argument that specifies what happened. -It is assumed that -.B panic -never returns. -When the pool routines wish to convey a message -to the caller (usually because logging is turned on; see below), -.B print -is called, also with a -.IR print (3) -style argument. -.PP -.B Flags -is a bit vector that tweaks the behavior of the pool routines -in various ways. -Most are useful for debugging in one way or another. -When -.B POOL_ANTAGONISM -is set, -.I poolalloc -fills blocks with non-zero garbage before releasing them to the user, -and -.I poolfree -fills the blocks on receipt. -This tickles both user programs and the innards of the allocator. -Specifically, each 32-bit word of the memory is marked with a pointer value exclusive-or'ed -with a constant. -The pointer value is the pointer to the beginning of the allocated block -and the constant varies in order to distinguish different markings. -Freed blocks use the constant -.BR 0xF7000000 , -newly allocated blocks -.BR 0xF9000000 , -and newly created unallocated blocks -.BR 0xF1000000 . -For example, if -.B POOL_ANTAGONISM -is set and -.I poolalloc -returns a block starting at -.BR 0x00012345 , -each word of the block will contain the value -.BR 0xF90012345 . -Recognizing these numbers in memory-related crashes can -help diagnose things like double-frees or dangling pointers. -.PP -Setting -.B POOL_PARANOIA -causes the allocator to walk the entire pool whenever locking or unlocking itself, -looking for corruption. -This slows runtime by a few orders of magnitude -when many blocks are in use. -If -.B POOL_VERBOSITY -is set, -the entire pool structure is printed -(via -.BR print ) -each time the pool is locked or unlocked. -.B POOL_DEBUGGING -enables internal -debugging output, -whose format is unspecified and volatile. -It should not be used by most programs. -When -.B POOL_LOGGING -is set, a single line is printed via -.B print -at the beginning and end of each pool call. -If -.B logstack -is not nil, -it will be called as well. -This provides a mechanism for external programs to search for leaks. -(See -.IR leak (1) -for one such program.) -.PP -The pool routines are strict about the amount of space callers use. -If even a single byte is written past the end of the allotted space of a block, they -will notice when that block is next used in a call to -.I poolrealloc -or -.I free -(or at the next entry into the allocator, when -.B POOL_PARANOIA -is set), -and -.B panic -will be called. -Since forgetting to allocate space for the -terminating NUL on strings is such a common error, -if -.B POOL_TOLERANCE -is set and a single NUL is found written past the end of a block, -.B print -will be called with a notification, but -.B panic -will not be. -.PP -When -.B POOL_NOREUSE -is set, -.B poolfree -fills the passed block with garbage rather than -return it to the free pool. -.SH SOURCE -.B /usr/local/plan9/src/libc/port/pool.c -.SH SEE ALSO -.IR malloc (3), -.IR brk (3) -.PP -.B /usr/local/plan9/src/libc/port/malloc.c -is a complete example. diff --git a/man/man3/readv.3 b/man/man3/readv.3 deleted file mode 100644 index d74957e3..00000000 --- a/man/man3/readv.3 +++ /dev/null @@ -1,82 +0,0 @@ -.TH READV 3 -.SH NAME -readv, writev, preadv, pwritev \- scatter/gather read and write -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.nf -.ft L -typedef -struct IOchunk -{ - void *addr; - ulong len; -} IOchunk; -.fi -.PP -.B -long readv(int fd, IOchunk *io, int nio) -.PP -.B -long preadv(int fd, IOchunk *io, int nio, vlong off) -.PP -.B -long writev(int fd, IOchunk *io, int nio) -.PP -.B -long pwritev(int fd, IOchunk *io, int nio, vlong off) -.SH DESCRIPTION -These functions supplement the standard read and write operations of -.IR read (3) -with facilities for scatter/gather I/O. -The set of I/O buffers is collected into an array of -.B IOchunk -structures passed as an argument. -.PP -.I Readv -reads data from -.I fd -and returns the total number of bytes received. -The received data is stored in the successive -.I nio -elements of the -.B IOchunk -array, storing -.IB io [0].len -bytes at -.IB io [0].addr\f1, -the next -.IB io [1].len -at -.IB io [1].addr\f1, -and so on. -.I Preadv -does the same, but implicitly seeks to I/O offset -.I off -by analogy with -.IR readv . -.PP -.I Writev -and -.I pwritev -are the analogous write routines. -.SH SOURCE -.B /usr/local/plan9/src/libc/9sys/readv.c -.br -.B /usr/local/plan9/src/libc/9sys/writev.c -.SH SEE ALSO -.IR intro (3), -.IR read (3) -.SH DIAGNOSTICS -These functions set -.IR errstr . -.SH BUGS -The implementations use -.IR malloc (3) -to build a single buffer for a standard call to -.B read -or -.BR write . -They are placeholders for possible future system calls. diff --git a/man/man3/remove.3 b/man/man3/remove.3 deleted file mode 100644 index ff195b93..00000000 --- a/man/man3/remove.3 +++ /dev/null @@ -1,31 +0,0 @@ -.TH REMOVE 3 -.SH NAME -remove \- remove a file -.SH SYNOPSIS -.B #include <u.h> -.br -.B #include <libc.h> -.PP -.B -int remove(char *file) -.SH DESCRIPTION -.I Remove -removes -.I file -from the directory containing it and discards the contents of the file. -The user must have write permission in the containing directory. -If -.I file -is a directory, it must be empty. -.SH SOURCE -.B /usr/local/plan9/src/libc/9syscall -.SH SEE ALSO -.IR intro (3), -.IR remove (5), -the description of -.B ORCLOSE -in -.IR open (3). -.SH DIAGNOSTICS -Sets -.IR errstr . |