HP-UX Reference (11i v1 00/12) - 3 Library Functions N-Z (vol 7)

__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man3/nan.3m
________________________________________________________________
___ ___
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 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 the name it is
HP-UX Release 11i: December 2000 1 Section 3549
___
___