This section discusses the SAF parameters in detail.
The parameters are as follows:
pb (parameter block)- contains the parameters from the directive that invokes the SAF in the obj.conf file.
sn (Session)- contains information relating to a single TCP/IP session.
rq (Request)- contains information relating to the current request.
The pb parameter is a pointer to a pblock data structure that contains values specified by the directive that invokes the SAF. A pblock data structure contains a series of name-value pairs.
For example, a directive that invokes the basic-nsca function might look like the following:
AuthTrans fn=basic-ncsa auth-type=basic dbm=users.db
In this case, the pb parameter passed to basic-ncsa contains name-value pairs that correspond to auth-type=basic and dbm=users.db.
NSAPI provides a set of functions for working with pblock data structures. For example, pblock_findval() returns the value for a given name in a pblock. For information on working with parameter blocks, see Parameter Block Manipulation Routines.
The sn parameter is a pointer to a Session data structure. This parameter contains variables related to an entire session. That is, the time between the opening and closing of the TCP/IP connection between the client and the server. The same sn pointer is passed to each SAF called within each request for an entire session. For a list of important fields, see Session.
The rq parameter is a pointer to a Request data structure. This parameter contains variables related to the current request, such as the request headers, URI, and local file system path. The same Request pointer is passed to each SAF called in the request-response process for an HTTP request. For a list of important fields, see Request.