HP-UX Reference (11i v2 03/08) - 3 Library Functions N-Z (vol 7)

n
nis_db(3N) nis_db(3N)
NAME
nis_db, db_initialize, db_create_table, db_destroy_table, db_first_entry, db_next_entry,
db_reset_next_entry, db_list_entries, db_remove_entry, db_add_entry, db_table_exists, db_unload_table,
db_checkpoint, db_standby, db_free_result - NIS+ Database access functions
SYNOPSIS
cc [ flag ... ] file...
-lnisdb -lnsl [ library. . . ]
#include <rpcsvc/nis.h>
#include <rpcsvc/nis_db.h>
bool db_initialize(const char *
dictionary_pathname
);
db_status db_create_table(const char *
table_name
,
const table_obj *table);
db_status db_destroy_table(const char *
table_name );
db_result *db_first_entry(const char *
table_name
,
const int numattrs,
const nis_attr *attrs );
db_result *db_next_entry(const char *
table_name ,
const db_next_desc *next_handle );
db_result *db_reset_next_entry(const char *
table_name ,
const db_next_desc *next_handle );
db_result *db_list_entries(const char *
table_name ,
const int numattrs,
const nis_attr *attrs );
db_result *db_remove_entry(const char *
table_name ,
const int numattrs,
const nis_attr *attrs );
db_result *db_add_entry(const char *
table_name ,
const int numattrs,
const nis_attr *attrs ,
const entry_obj *entry);
db_status db_table_exists(const char *
table_name );
db_status db_unload_table(const char *
table_name );
db_status db_checkpoint(const char *
table_name );
db_status db_standby(const char *
table_name );
void db_free_result(db_result *);
DESCRIPTION
These functions describe the interface between the NIS+ server and the underlying database. They are
defined in the shared library /usr/lib/libnisdb.so.
The interface is a simple subset of a complete relational database and provides just those items that are
needed by the NIS+ server daemon. When you replace the database, your interface routines should match
these exactly. Also note that the database is responsible for verifying that the objects passed do not
exceed the internal limits of the database being used.
The database’s performance will directly affect the performance of the server. The default information
base that is provided with NIS+ is the Structured Storage Manager (SSM). This is a memory based data-
base that has been tuned for NIS+.
These routines should not be invoked by any NIS+ client. NIS+ clients should use the NIS+ tables API
described in nis_tables (3N).
These routines only use the
table_obj, entry_obj and the nis_attr structures defined in
<rpcsvc/nis.h>. The NIS+ directory is itself stored in a table by the service daemon. This table has
two columns, one searchable with the name of the object in it, the other non-searchable with binary
XDRed data in it. The NIS+ server converts directory lookup requests in the namespace into table
searches. The table it searches in response to these requests will have the same name as the directory of
HP-UX 11i Version 2: August 2003 1 Hewlett-Packard Company Section 3639