Annotation of researchv10dc/man/manx/limits.2, revision 1.1.1.1

1.1       root        1: .TH LIMITS 2 SHARE-deprecated
                      2: .SH NAME
                      3: limits \- return or set limits structure
                      4: .SH SYNOPSIS
                      5: .B #include <sys/types.h>
                      6: .br
                      7: .B #include <sys/lnode.h>
                      8: .br
                      9: .B #include <sys/retlim.h>
                     10: .br
                     11: .B #include <sys/share.h>
                     12: .P
                     13: .B limits(address, function)
                     14: .br
                     15: .B struct lnode *address;
                     16: .br
                     17: .B int function;
                     18: .SH DESCRIPTION
                     19: This system call manipulates a kernel limits structure
                     20: according to the value of
                     21: .IR function .
                     22: Except where indicated below,
                     23: .I address
                     24: points to an
                     25: .I lnode
                     26: or an array of
                     27: .IR lnodes .
                     28: .LP
                     29: .RS 2
                     30: .nf
                     31: .ta \w'\s-1L_DEADGROUP\s0XX'u +\w'ValueXX'u
                     32: Function       Value   Meaning
                     33: \s-1L_MYLIM\s0 0       Get user's own limits structure.
                     34: \s-1L_OTHLIM\s0        1       Get limits associated with uid in lnode.
                     35: \s-1L_ALLLIM\s0        2       All active limits structures are returned.
                     36: \s-1L_SETLIM\s0        3*      Connect to a new limits structure.
                     37: \s-1L_DEADLIM\s0       4       Wait for dead limits belonging to child.
                     38: \s-1L_CHNGLIM\s0       5*      Changes limits fields in existing limits.
                     39: \s-1L_DEADGROUP\s0     6*      Pick up a dead limits structure.
                     40: \s-1L_GETCOSTS\s0      7       Get contents of system ``shconsts'' table.
                     41: \s-1L_SETCOSTS\s0      8*      Set contents of system ``shconsts'' table.
                     42: \s-1L_MYKN\s0  9       Get user's own ``kern_lnode'' structure.
                     43: \s-1L_OTHKN\s0 10      Get structure associated with uid.
                     44: \s-1L_ALLKN\s0 11      All active structures are returned.
                     45: .fi
                     46: .RE
                     47: .P
                     48: The starred functions in the list are super\-user only.
                     49: .P
                     50: For 
                     51: .SM L_MYKN,
                     52: .SM L_OTHKN,
                     53: and
                     54: .SM L_ALLKN
                     55: .I address
                     56: should point to a ``struct kern_lnode''
                     57: defined in
                     58: .IR <sys/lnode.h> .
                     59: For
                     60: .SM L_SETCOSTS
                     61: and
                     62: .SM L_GETCOSTS
                     63: .I address
                     64: should point to a ``struct shconsts''
                     65: defined in
                     66: .IR <sys/share.h> .
                     67: For
                     68: .SM L_DEADLIM
                     69: .I address
                     70: should point to a ``struct retlim'' defined in
                     71: .IR <sys/retlim.h> .
                     72: .P
                     73: .SM L_OTHLIM
                     74: and
                     75: .SM L_CHNGLIM
                     76: require that the lnode pointed to by
                     77: .I address
                     78: contains the correct uid.
                     79: .SM L_OTHKN
                     80: requires that the kern_lnode pointed to by
                     81: .I address
                     82: contains the correct uid.
                     83: .SM L_MYLIM,
                     84: .SM L_MYKN,
                     85: .SM L_OTHLIM,
                     86: and
                     87: .SM L_OTHKN
                     88: all return the number of processes currently attached to the node.
                     89: .SM L_ALLLIM
                     90: and
                     91: .SM L_ALLKN
                     92: both return the number of active nodes returned.
                     93: .P
                     94: .SM L_SETLIM
                     95: initialises a new limits structure with the passed lnode,
                     96: and attaches the calling process to it.
                     97: All children of that process will inherit the new structure.
                     98: .P
                     99: .SM L_DEADGROUP
                    100: looks for a dead limits structure,
                    101: removes it from the list of active limits,
                    102: and returns the lnode.
                    103: .P
                    104: .SM L_DEADLIM
                    105: performs a
                    106: .IR wait (2)
                    107: system call,
                    108: then returns a structure containing both the limits and process zombie structures.
                    109: The value returned is the number of processes still attached to the node.
                    110: .P
                    111: .SM L_SETCOST
                    112: and 
                    113: .SM L_GETCOST
                    114: deal with the constants structure for the scheduling algorithm.
                    115: .P
                    116: Any other function is illegal, and will return an error of EINVAL.
                    117: Unless otherwise specified the
                    118: call returns the number of limits structures returned.
                    119: .SH DIAGNOSTICS
                    120: .B ESRCH
                    121: can be returned in
                    122: .I errno
                    123: by functions
                    124: .SM L_DEADGROUP,
                    125: .SM L_OTHKN,
                    126: .SM L_OTHLIM
                    127: and
                    128: .SM L_CHNGLIM
                    129: to indicate that
                    130: the desired limits structure does not exist.
                    131: .B ESRCH
                    132: can also be returned by
                    133: .SM L_SETLIM
                    134: to indicate that this lnode's group has not been set-up.
                    135: .P
                    136: .B ETOOMANYU
                    137: is returned in errno for 
                    138: .SM L_SETLIM
                    139: if there is no space left in the kernel limits table.
                    140: .P
                    141: Any error causes a \-1 to be returned.
                    142: .SH "SEE ALSO"
                    143: setlimits(3),
                    144: lnode(5),
                    145: share(5).

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.