sam_getcatalog(3)

NAME
sam_getcatalog - Gets catalog entries

SYNOPSIS

cc [ flag ... ] file ... -L/opt/SUNWsamfs/lib -lsam [ library ... ]

#include "/opt/SUNWsamfs/include/catalog.h"

int sam_getcatalog(int cat_handle, uint start_entry, uint end_entry, struct sam_cat_ent *buf, size_t entbufsize);

AVAILABILITY
32-bit programs only

DESCRIPTION
sam_getcatalog() obtains a range of entries from the catalog of an automated library or the historian. The catalog from which entries will be obtained is indicated by cat_handle. cat_handle is similar to a file descriptor, and is returned from a previous call to sam_opencat(). The range of entries is indicated by start_entry and end_entry. start_entry must be less than or equal to end_entry, and must be in the range of valid slot numbers for the automated library (or historian). buf is a pointer to an array of sam_cat_ent structures, into which the catalog entry information is placed. This array should be large enough to hold the number of entries requested. entbufsize is the size of a single sam_cat_ent structure, usually indicated by sizeof(struct sam_cat_ent).

The contents of a sam_cat_ent structure include the following members:

    /* catalog table entry */
    uint_t	type;	/* OBSOLETE */
    uint_t	status;	/* Catalog entry status */
    char	media[4];	/* Media type */
    char	vsn[32];	/* VSN */
    int	access;	/* Count of accesses */
    uint_t	capacity;	/* Capacity of volume */
    uint_t	space;	/* Space left on volume */
    int	ptoc_fwa;	/* First word address of PTOC */
    int	reserved[3];	/* Reserved space */
    time_t	modification_time;	/* Last modification time */
    time_t	mount_time;	/* Last mount time */
    uchar_t	bar_code[BARCODE_LEN + 1];	/* Bar code (zero filled) */

RETURN VALUES
Upon successful completion the number of catalog entries obtained is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS

sam_getcatalog() fails if one or more of the following are true:

EBADF
    The catalog handle provided is invalid.

EFAULT
    buf is an invalid address.

EOVERFLOW
    The catalog library software returned more information than was requested.

ENOENT
    This is no longer an active catalog.

EINVAL
    The buffer size provided is invalid, or start_entry or end_entry is invalid. (Either start_entry is less than zero, end_entry is greater than the number of entries in the catalog, or start_entry is greater than end_entry.)

SEE ALSO
sam_closecat(3), sam_opencat(3).