getprdfent(3) getprdfent(3)
NAME [Toc] [Back]
getprdfent, getprdfnam, setprdfent, endprdfent, putprdfnam -
manipulate system default database entry for a trusted system
SYNOPSIS [Toc] [Back]
#include <sys/types.h>
#include <hpsecurity.h>
#include <prot.h>
struct pr_default *getprdfent(void);
struct pr_default *getprdfnam(const char *name);
void setprdfent(void);
void endprdfent(void);
int putprdfnam(const char *name, struct pr_default *pr);
DESCRIPTION [Toc] [Back]
getprdfent and getprdfnam each returns a pointer to an object with the
following structure containing the broken-out fields of a line in the
system default database. Each line in the database contains a
pr_default structure, declared in the <prot.h> header file:
struct system_default_fields {
time_t fd_inactivity_timeout ;
char fd_boot_authenticate ;
} ;
struct system_default_flags {
unsigned short
fg_inactivity_timeout:1,
fg_boot_authenticate:1,
} ;
struct pr_default {
char dd_name[20] ;
char dg_name ;
struct pr_field prd ;
struct pr_flag prg ;
struct t_field tcd ;
struct t_flag tcg ;
struct dev_field devd ;
struct dev_flag devg ;
struct system_default_fields sfld ;
struct system_default_flags sflg ;
} ;
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
getprdfent(3) getprdfent(3)
Currently there is only one entry in the system default database
referenced by name default.
The System Default database contains default values for all parameters
in the Protected Password, Terminal Control, and Device Assignment
databases, as well as configurable system-wide parameters. The fields
from the other databases are described in the corresponding manual
entries. fd_inactivity_timeout is the number of seconds until a
session is terminated on trusted systems.
fd_boot_authenticate is a Boolean flag that indicates whether an
authorized user must authenticate before the system begins operation.
getprdfent returns a pointer to the first pr_default structure in the
database when first called. Thereafter, it returns a pointer to the
next pr_default structure in the database so that successive calls can
be used to search the database (only one entry is supported).
getprdfnam searches from the beginning of the file until a default
entry matching name is found, and returns a pointer to the particular
structure in which it was found. If an end-of-file or an error is
encountered on reading, these functions return a NULL pointer.
Currently, all programs access the default database by calling
getprdfnam (the entry name is default ).
A call to setprdfent has the effect of rewinding the default control
file to allow repeated searches. endprdfent can be called to close
the database when processing is complete.
putprdfnam puts a new or replaced default control entry pr with key
name into the database. If the prg.fd_name field is 0, the requested
entry is deleted from the system default database. putprdfnam locks
the database for all update operations and performs an endprdfent
after the update or failed attempt.
APPLICATION USAGE [Toc] [Back]
In a multithreaded application, these routines are safe to be called
only from one dedicated thread. These routines are not POSIX.1c
async-cancel safe nor async-signal safe.
RETURN VALUE [Toc] [Back]
getprdfent and getprdfnam return NULL pointers on EOF or error.
putprdfnam returns 0 if it cannot add or update the entry.
WARNINGS [Toc] [Back]
Do not delete the system default entry.
NOTES [Toc] [Back]
The value returned by getprdfent and getprdfnam refers to a structure
that is overwritten by calls to these routines. To retrieve an entry,
modify it, and replace it in the database, copy the entry using
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
getprdfent(3) getprdfent(3)
structure assignment and supply the modified buffer to putprdfnam.
Programs using these routines must be compiled with -lsec.
FILES [Toc] [Back]
/tcb/files/auth/system/default System Defaults database
SEE ALSO [Toc] [Back]
authcap(4), default(4), getprpwent(3), getprtcent(3), getdvagent(3).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003 [ Back ] |