HP-UX Reference (11i v2 07/12) - 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 database
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
HP-UX 11i Version 2: December 2007 Update − 1 − Hewlett-Packard Company 77