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:
EACCES
Search permission is denied for a component of the path prefix.
EFAULT
buf or path points to an illegal address.
EINTR
A signal was caught during the
sam_readrminfo()
function.
ELOOP
Too many symbolic links were encountered in translating path.
EMULTIHOP
Components of path require hopping to multiple remote machines and the file system does not allow it.
ENAMETOOLONG
The 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.
ENOENT
The named file does not exist or is the null pathname.
ENOLINK
path points to a remote machine and the link to that machine is no longer active.
ENOTDIR
A component of the path prefix is not a directory.
EOVERFLOW
A component is too large to store in the structure pointed to by buf.