YAZ User's Guide and Reference
Prev | Chapter 3. Building clients with ZOOM | Next

# Scan

This section describes an interface for Scan. Scan is not an official part of the ZOOM model yet. The result of a scan operation is the `ZOOM_scanset` which is a set of terms returned by a target.

        ZOOM_scanset ZOOM_connection_scan (ZOOM_connection c,
                                           const char *startterm);

        size_t ZOOM_scanset_size(ZOOM_scanset scan);

        const char * ZOOM_scanset_term(ZOOM_scanset scan, size_t pos,
                                       int *occ, size_t *len);

        void ZOOM_scanset_destroy (ZOOM_scanset scan);

        const char *ZOOM_scanset_option_get (ZOOM_scanset scan,
                                             const char *key);

        void ZOOM_scanset_option_set (ZOOM_scanset scan, const char *key,
                                      const char *val);

The scan set is created by function `ZOOM_connection_scan` which performs a scan operation on the connection and start term given. If the operation was successful, the size of the scan set can be retrieved by a call to `ZOOM_scanset_size`. Like result sets, the items are numbered 0,..size-1. To obtain information about a particular scan term, call function `ZOOM_scanset_term`. This function takes a scan set offset `pos` and returns a pointer to an actual term or `NULL` if non-present. If present, the `occ` and `len` are set to the number of occurrences and the length of the actual term respectively. A scan set may be freed by a call to function `ZOOM_scanset_destroy`. Functions `ZOOM_scanset_option_get` and `ZOOM_scanset_option_set` retrieves and sets an option respectively.

Table 3-3. ZOOM Scan Set Options

Option | Description | Default
--- | --- | ---
number | Number of Scan Terms requested in next scan. After scan it holds the actual number of terms returned. | 10
position | Preferred Position of term in response in next scan; actual position after completion of scan. | 1
stepSize | Step Size | 0
scanStatus | An integer indicating the Scan Status of last scan. | 0

Prev | Home | Next
Records | Up | Options