sam_readrminfo - Gets removable media file status
cc [ flag
… ] file
… -L∕opt∕SUNWsamfs∕lib -R∕opt∕SUNWsamfs∕lib -lsam [ library … ]
#include "∕opt∕SUNWsamfs∕include∕rminfo.h"
int sam_readrminfo(const char * path ,
struct sam_rminfo * buf ,
size_t bufsize );
sam_readrminfo()
returns information about a removable media file.
The removable media file is pointed to by
path.
buf
is a pointer to a
sam_rminfo()
structure into which information
is placed concerning the file.
bufsize
is the length of the user's buffer to which
buf
points. This should be equal to or greater
than sizeof(struct sam_rminfo).
The maximum number of overflow VSNs is 256. The following macro
can be used to calculate the size of the sam_rminfo structure for
n VSNs.
#define SAM_RMINFO_SIZE(n) (sizeof(struct sam_rminfo) +
((n) - 1) * sizeof(struct sam_section))
The contents of the structure pointed to by
buf
is documented in sam_request (3).
Upon successful completion a value of 0 is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
sam_readrminfo()
fails if one or more of the following are true:
EACCESSearch permission is denied for a component of the path prefix.
EFAULTbuf or path points to an illegal address.
EINTRA signal was caught during the
sam_readrminfo()
function.
ELOOPToo many symbolic links were encountered in translating path.
EMULTIHOPComponents of path require hopping to multiple remote machines and the file system does not allow it.
ENAMETOOLONGThe length of the
path
argument exceeds {PATH_MAX}, or the
length of a path component exceeds {NAME_MAX} while
{_POSIX_NO_TRUNC} is in effect.
ENOENTThe named file does not exist or is the null pathname.
ENOLINKpath points to a remote machine and the link to that machine is no longer active.
ENOTDIRA component of the path prefix is not a directory.
EOVERFLOWA component is too large to store in the structure pointed to by buf.