PLDT(3PROC) Process Control Library Functions PLDT(3PROC)
NAME
Pldt,
proc_get_ldt - obtain local descriptor table of a process
LIBRARY
Process Control Library (libproc, -lproc)
SYNOPSIS
#include <libproc.h> int Pldt(
struct ps_prochandle *P,
struct ssd *pldt,
int nldt);
int proc_get_ldt(
pid_t pid,
struct ssd *pldt,
int nldt);
DESCRIPTION
The
Pldt() function reads the local descriptor table (LDT) of the
process handle
P into the buffer
pldt. Up to
nldt entries will be
read.
If either
pldt is NULL or
nldt is
0, then rather than filling in
pldt,
only the number of entries currently in the LDT is returned.
The buffer
pldt should contain sufficient space for
nldt entries. For
example, callers could allocate space as:
pldt = malloc(sizeof (struct ssd) * nldt);
For more information on the LDT and the
struct ssd, see
proc(5).
The
proc_get_ldt() function is similar to the
Pldt() function; however,
rather than reading from a process handle, it reads the
ldt file from
the /proc file system for the process
pid.
RETURN VALUES
Upon successful completion, the
Pldt() and
proc_get_ldt() functions
return the number of LDT entries written to
pldt. If
pldt is NULL or
nldt is zero, then no data will be written. Otherwise,
-1 is returned.
The
Pldt() function sets
errno to indicate the error that occurred.
ERRORS
For a full list of possible errors see the
DIAGNOSTICS section in
proc(5).
The
Pldt() function will fail if:
ENODATA No LDT information is available in the process
handle
P.
ARCHITECTURE
The
Pldt() and
proc_get_ldt() functions are only available on
x86 platforms.
INTERFACE STABILITY
UncommittedMT-LEVEL See
LOCKING in
libproc(3LIB).
SEE ALSO
libproc(3LIB),
proc(5)illumos May 11, 2016 illumos