sam_opencat - Accesses an automated library's catalog to
cc [ flag ... ] file ... -L/opt/SUNWsamfs/lib -lsam [
library ... ]
int sam_opencat(const char *path, struct sam_cat_tbl *buf,
32-bit programs only
sam_opencat() initiates access to the automated library
catalog pointed to by path. The string which path points to
is limited to 127 characters. It returns a sam_cat_tbl
structure in the area pointed to by buf . bufsize is the
length of the user's buffer to which buf points. This
should be equal to or greater than sizeof(struct
The user may have access to at most MAX_CAT catalogs at any
The contents of a sam_cat_tbl structure include the follow-
/* catalog table */
time_t audit_time; /* Audit time */
int version; /* Catalog version number */
int count; /* Number of slots */
char media; /* Media type, if entire catalog is one */
Following the call to sam_opencat(), entries in the library
catalog are obtained using sam_getcatalog().
Upon successful completion, a catalog "handle" is returned,
which is an integer equal to or greater than zero.
This "handle" is used on subsequent calls to
sam_getcatalog() to specify the catalog to access, and is
also used by sam_closecat() to deallocate the "handle" and
end access to the catalog.
If the call to sam_opencat() fails, a value of -1 is
returned and errno is set to indicate the error.
sam_opencat() fails if one or more of the following error
conditions are true:
EMFILE The user already has access to MAX_CAT
catalogs , or the process has too many
EINVAL bufsize is set to an invalid value, or
either path or buf is a null pointer.
This process was unable to initialize
the catalog data.
ENOENT There is no active catalog file with the