Print Friendly  .  About this website   .  Search 

 

 

 

Index Data  >  YAZ  >  YAZ User's Guide and Reference  >  Extended Services

Extended Services

ZOOM offers an interface to a subset of the Z39.50 extended services as well as a few privately defined ones:

To create an extended service operation a ZOOM_package must be created. The operation is a five step operation. The package is created, package is configured by means of options, the package is send, result is inspected (by means of options), the package is destroyed.

    ZOOM_package ZOOM_connection_package(ZOOM_connection c,
                                         ZOOM_options options);

    const char *ZOOM_package_option_get(ZOOM_package p,
                                        const char *key);
    void ZOOM_package_option_set(ZOOM_package p, const char *key,
                                 const char *val);
    void ZOOM_package_send(ZOOM_package p, const char *type);

    void ZOOM_package_destroy(ZOOM_package p);
   

The ZOOM_connection_package creates a package for the connection given using the options specified.

Functions ZOOM_package_option_get and ZOOM_package_option_set gets and sets options.

ZOOM_package_send sends the package the via connection specified in ZOOM_connection_package. The type specifies the actual extended service package type to be sent.

Table 3.5. Extended Service Common Options

Option Description Default
package-name Extended Service Request package name. Must be specified as part of a request none
user-id User ID of Extended Service Package. Is a request option none
function Function of package - one of create, delete, modify. Is a request option. create
waitAction Wait action for package. Possible values: wait, waitIfPossible, dontWait or dontReturnPackage. waitIfPossible
targetReference Target Reference. This is part of the response as returned by the server. Read it after a successful operation. none

Item Order

For Item Order, type must be set to itemorder in ZOOM_package_send.

Table 3.6. Item Order Options

Option Description Default
contact-name ILL contact name none
contact-phone ILL contact phone none
contact-email ILL contact email none
itemorder-item Position for item (record) requested. An integer 1

Record Update

For Record Update, type must be set to update in ZOOM_package_send.

Table 3.7. Record Update Options

Option Description Default
action The update action. One of specialUpdate, recordInsert, recordReplace, recordDelete, elementUpdate. specialUpdate (recordInsert for updateVersion=1 which does not support specialUpdate)
recordIdOpaque Opaque Record ID none
recordIdNumber Record ID number none
record The record itself none
syntax The record syntax (transfer syntax). Is a string that is a known record syntax. no syntax
databaseName Database from connection object Default
correlationInfo.note Correlation Info Note (string) none
correlationInfo.id Correlation Info ID (integer) none
elementSetName Element Set for Record none
updateVersion Record Update version which holds one of the values 1, 2 or 3. Each version has a distinct OID: 1.2.840.10003.9.5 (first version) , 1.2.840.10003.9.5.1 (second version) and 1.2.840.10003.9.5.1.1 (third and newest version). 3

Database Create

For Database Create, type must be set to create in ZOOM_package_send.

Table 3.8. Database Create Options

Option Description Default
databaseName Database from connection object Default

Database Drop

For Database Drop, type must be set to drop in ZOOM_package_send.

Table 3.9. Database Drop Options

Option Description Default
databaseName Database from connection object Default

Commit Operation

For Commit, type must be set to commit in ZOOM_package_send.

Protocol behavior

All the extended services are Z39.50-only.

Note

The database create, drop and commit services are privately defined operations. Refer to esadmin.asn in YAZ for the ASN.1 definitions.