Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > G


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


getprdfent(), getprdfnam(), setprdfent(), endprdfent(), putprdfnam() — manipulate system default database entry for a trusted system


#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);


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 ; } ;

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.


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 structure assignment and supply the modified buffer to putprdfnam.

Programs using these routines must be compiled with -lsec.


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.


getprdfent and getprdfnam return NULL pointers on EOF or error. putprdfnam returns 0 if it cannot add or update the entry.


Do not delete the system default entry.

HP-UX 11i Version 3 is the last release to support trusted systems functionality.



System Defaults database

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.