sam_devstat, sam_ndevstat, sam_devstatl - Gets device status
cc [ flag ... ] file ... -L/opt/SUNWsamfs/lib -lsam [library ... ]
int sam_devstat(ushort_t eq, struct sam_devstat *buf, size_t
int sam_ndevstat(ushort_t eq, struct sam_ndevstat *buf,
int sam_devstatl(ushort_t eq, struct sam_devstatl *buf,
sam_devstat() and sam_ndevstat() are obsolete, use
sam_devstatl() obtains information about the device identified
by the equipment number, eq.
buf is a pointer to a sam_devstatl structure into which
information is placed concerning the device.
bufsize is the length of the user's buffer to which buf
points. This should be equal to or greater than
The contents of the structure pointed to by buf include the
following members for sam_devstatl:
u_short type; /* Media type */
char name; /* Device name */
char vsn; /* VSN of mounted volume, 31 characters */
dstate_t state; /* State - on/ro/idle/off/down */
uint_t status; /* Device status */
uint64_t space; /* Space left on device */
uint64_t capacity; /* Capacity in blocks */
type The type of the media. Masks for interpreting
media type are defined in devstat.h.
name The name of the device, such as /dev/rmt/3cbn.
vsn The VSN of the mounted volume, if any. This is a
null-terminated string with a maximum of 31 char-
state The state of the device. This field is an
enumerated type defined in devstat.h.
status The status of the device. Status bits are defined
in the file devstat.h. Also, the library routine
sam_devstr(3) is available to translate the
numeric status field into a character string as
displayed in the Sun QFS or SAM-QFS graphical user
interfaces and in the Sun QFS or SAM-QFS adminis-
trative tool samu(1M).
space The space left on the device, in the number of
capacity The capacity of the device, in the number of 1024
Upon successful completion a value of 0 is returned. Other-
wise, a value of -1 is returned and errno is set to indicate
sam_devstatl() fails if one or more of the following are
ENODEV The equipment number supplied is not a
valid number, or no device is configured
with that equipment number.
EACCES The program does not have permission to
access the Sun QFS or SAM-QFS shared
EINVAL The size of the Sun QFS or SAM-QFS
shared memory segment is incorrect. You
may need to recompile your program with
the current version of the Sun QFS or
ENOENT Access to the Sun QFS or SAM-QFS shared
memory segment has failed; possibly Sun
QFS or SAM-QFS is not running.
EMFILE The Sun QFS or SAM-QFS shared memory
segment could not be accessed because
the number of shared memory segments
attached to the calling process would
exceed the system-imposed limit.
ENOMEM The available data space is not large
enough to accommodate access to the Sun
QFS or SAM-QFS shared memory segment.
E2BIG For sam_devstat() and sam_ndevstat()
only. The capacity or space is larger
than UINT_MAX or the name field of the
device was too long to fit in the name
field. Use sam_devstatl().