NASD Programmer's Documentation
Client programming overview

In addition to the NASD common API previously described, NASD clients have their own set of interfaces. These interfaces are largely concerned with client/drive communication. Users of the client API should include the file <nasd/nasd_pdrive_client.h> and link against libnasd_drive_client.a as well as libnasd_common.a.

Before any client operations may take place, the client module must be initialized with nasd_cl_p_init(), which takes no arguments and returns nasd_status_t. This module is deinitialized with nasd_cl_p_shutdown(), which takes no arguments and returns void.

Philosophically, the client API exists to abstract the actual mechanism of communicating with drives. Clients operate on drives by creating drive handles, and then passing these handles to specific functions. The majority of the client API is wrappers around various drive operations. The client API is thread-safe.
<--- ---> ^<br>|<br>|
Other system wrappers Drive handles NASD Programmer's Documentation