Content-type: text/html
Man page of table
table
Section: System Calls (2)
Index
Return to Main Contents
NAME
table - Examines or updates elements from a system table.
SYNOPSIS
#include <sys/table.h>
int table(id, index, addr, nel, lel)
long id;
long index;
void *addr;
long nel;
u_long lel;
PARAMETERS
The ID of the system table that contains the element or elements.
The index of an element within the table.
The address of a struct (or a struct array) of the
appropriate type to copy the element values to (on examine) or from (on
update). The various structure layouts are described in
/usr/include/sys/table.h.
A signed number that specifies how many elements to copy and in which
direction. A positive value copies the elements from the kernel to
addr. A negative value copies the elements from addr to the
kernel.
The expected size of a single element.
DESCRIPTION
The table() interface is used to examine or update one or more elements
in the system table. The system table is specified by id and the
starting element is specified by index.
The table() interface copies the element value or values to or from
the specified addr. The nel parameter specifies the number
of elements to copy, starting from index. A positive value indicates
an examine operation. The elements are copied from the kernel to addr.
A negative value indicates an update operation. The elements are copied
from addr to the kernel.
The lel parameter specifies the expected element size. If multiple
elements are specified, successive addresses are calculated for addr
by incrementing it by lel for each element copied. If the size of a
given element is larger than lel, table() truncates excess
data on an update (from addr to the kernel) and stores only the
expected size on an examine (from the kernel to addr). If the size
of a given element is smaller than lel, table() copies only
the valid data on an update and pads the element value on an examine.
The table() interface guarantees that an update operation will not
change the offset and size of any field within an element. New fields
are added only at the end of an element.
The table() interface returns a count of the elements examined or
updated. The id TBL_PROCINFO allows you to determine the actual
number of elements in a table before requesting any data; call
table() with lel set to zero (0) and nel to the
maximum positive integer.
The id parameter must specify one of the following tables,
each of which has a structure in <sys/table.h> unless otherwise
noted.
The controlling terminal device number table. The index is by process ID
and exactly one element can be requested. If the process ID is zero (0),
the current process is indexed. Only 0 and the current process ID are
supported. The element is of type dev_t as defined in
<sys/types.h>. This table is examine only. It cannot be updated.
The U-area table. The index is by process ID. See the user.h
header file for the (pseudo) struct user that is returned.
The system load average vector (pseudo) table. The index must be zero (0)
and exactly one element can be requested.
-
If the scale is zero (0), the load average vector is the floating point
variant. If the size is non-zero, the load average vector has been scaled
by the indicated factor (typically 1000) to produce the long integer variant.
This table is examine only. It cannot be updated.
The system include file version number (pseudo) table. The index must be
zero (0) and exactly one element can be requested. The include version is a
unique integer. It identifies the layout of kernel data structures that
are imported by certain kernel-dependent programs. This table is examine
only. It cannot be updated.
The process command argument table containing the saved arguments for
processes. The index is by process ID and exactly one element can be
requested. Arguments for processes other than the current process can be
accessed only by the superuser. This table is examine only. It cannot be
updated.
-
All the command line arguments for the process. Specify the process id in
the index argument. The addr argument points to a buffer
into which the command line arguments are placed.
-
The amount of buffer space needed for the command line arguments depends
on the total length of all the arguments from the process being
examined. Specify the size of the user buffer with the
lel argument. If the buffer is
not large enough to accept the
complete argument list, the given length of the buffer is copied.
-
The arguments are placed in the buffer as a series of null-terminated
strings, in argument order.
The maximum process count per user ID table. The index is by process ID
and exactly one element can be requested. If the process ID is zero (0),
the current process is indexed. Only 0 and the current process ID are
supported. The element is of the short integer type.
-
The maximum count includes all processes running under the current user ID
even though the limit affects only the current process and any children
created with that limit in effect. The limit can be changed only by the
superuser.
The process status information table. The index is an offset into a
table of processes. Status
information for processes other than the current process can be accessed
only by the superuser. This table is examine only. It cannot be updated.
Each element in the table is a tbl_procinfo structure.
-
This id lets you determine the actual number of elements in a table
before you request any data. You call table with the lel
argument set to zero and the nel argument set to the maximum
positive integer. The return is the number of elements in the table.
The process environment table. The index is by process ID and exactly one
element can be requested. Environment information for processes other than
the current process can be accessed only by the superuser. This table is
examine only. It cannot be updated.
The system time information table. The index must be zero (0) and exactly
one element can be requested. The system information table contains ticks
of time accumulated in the various system states: user, nice, system, and
idle. The system tick frequency and profiling (if configured) frequency
are also provided for conversion from ticks to time values. This table is
examine only. It cannot be updated.
The disk statistics table. The index is by disk number. This table is
examine only. It cannot be updated. The table is the structure
tbl_dkinfo.
The system swap device list information table. This table is examine only. It
cannot be updated. If the index is positive or zero (0), the swap device
information for the entry in the swap device list is returned.
-
If the index is less than zero (0), the amount of total swap space configured
and amount of total free space on the system is returned. In addition, the
flags field contains the value of vm_swap_eager flag and the dev
field contains the lazy swap device number (if lazy swap) or zero (0) (if eager
swap).
The TTY statistics table. The index must be zero (0) and exactly one
element can be requested. This table is examine only. It cannot be
updated.
The message queue ID table. The index is the index into the queue array.
Each element is a msqid_ds structure as defined in msqid_ds().
This table is examine only. Its elements cannot be updated.
The semaphore ID table. The index is the index into the array of semaphore
IDs. Each element is a semid_ds structure as defined in
semid_ds(). This table is examine only. Its elements cannot be
updated.
The shared memory region ID table. The index is the index into the array
of shared memory region IDs. Each element is a shmid_ds structure
as defined in shmid_ds(). This table is examine only. Its
elements cannot be updated.
The message information table. This table is examine only. Its elements
cannot be updated. The message information structure is defined in
<sys/msg.h>.
-
The index is by field positions within the message information structure,
as follows:
The maximum message size
The maximum number of bytes on the queue
The number of message queue identifiers
The number of system message headers
The semaphore information table. This table is examine only. It cannot be
updated. The semaphore information structure is defined in <sys/sem.h>.
-
The index is by field position within the semaphore information structure
as follows:
The number of semaphore identifiers
The maximum number of semaphores per identifier
The maximum number of operations per semop() call
The maximum number of undo entries per process
The semaphore maximum value
The maximum adjust on exit value
The shared memory information table. This table is examine only. It
cannot be updated. The shared memory information structure is defined in
<sys/shm.h>.
-
The index is by field position within the shared memory information structure,
as follows:
-
The maximum shared memory region size
The minimum shared memory region size
The number of shared memory identifiers
The maximum number of attached shared memory regions per process
The system interrupt information table. There is no index into the table.
This table is examine only. It cannot be updated.
The user file table. The index is by process ID and exactly one
element can be requested. The addr
argument is of type struct stat. The nel
argument specifies the file descriptor. This operation provides
stat information on the specified descriptor for the specified
process ID. Information on processes other than the current process
can be accessed only by the superuser. This table is examine only.
RETURN VALUES
A positive return value indicates that the call succeeded for that number
of elements. A return value of -1 indicates that an error occurred, and
an error code is stored in the global location errno.
ERRORS
The addr parameter specifies an invalid address.
The table specified by id is not defined.
The index value is not valid for the specified table.
The specified table allows only an index of the current process ID with
exactly one element. Some other index or element number was specified.
An element length of zero (0) was supplied for the TBL_ARGUMENTS table.
An attempt was made to update an examine-only table.
An attempt was made to change the maximum number of processes or
the account ID, and the caller was not the superuser.
The process specified by a process ID index cannot be found.
RELATED INFORMATION
acct(2)
delim off
Index
- NAME
-
- SYNOPSIS
-
- PARAMETERS
-
- DESCRIPTION
-
- RETURN VALUES
-
- ERRORS
-
- RELATED INFORMATION
-
This document was created by
man2html,
using the manual pages.
Time: 02:40:17 GMT, October 02, 2010