Skip Headers
Oracle Hierarchical Storage Manager and QFS Software Command Reference
Section 3: Introduction to Library Functions
Release 6.1.1
E70305-03

NAME

sam_devstat, sam_ndevstat, sam_devstatl - Gets device status

SYNOPSIS

cc [ flag … ] file … -L∕opt∕SUNWsamfs∕lib -lsam [ library … ]

#include "∕opt∕SUNWsamfs∕include∕devstat.h"

int sam_devstat(ushort_t eq , struct sam_devstat * buf , size_t bufsize );

int sam_ndevstat(ushort_t eq , struct sam_ndevstat * buf , size_t bufsize );

int sam_devstatl(ushort_t eq , struct sam_devstatl * buf , size_t bufsize );

DESCRIPTION

sam_devstat() and sam_ndevstat() are obsolete, use sam_devstatl().

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 sizeof(struct sam_devstatl).

The contents of the structure pointed to by buf include the following members for sam_devstatl:

type;u_shortMedia type
name[128];charDevice name
vsn[32];charVSN of mounted volume, 31 characters
state;dstate_tState - on∕ro∕idle∕off∕down
status;uint_tDevice status
uint64_tspace;Space left on device
uint64_tcapacity;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 characters.

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 StorageTek QFS or Oracle HSM graphical user interfaces and in the StorageTek QFS or Oracle HSM administrative tool samu (1m).

space

The space left on the device, in the number of 1024 blocks.

capacity

The capacity of the device, in the number of 1024 blocks.

RETURN VALUES

Upon successful completion a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.

ERRORS

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

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 StorageTek QFS or Oracle HSM shared memory segment.

EINVAL

The size of the StorageTek QFS or Oracle HSM shared memory segment is incorrect. You may need to recompile your program with the current version of the StorageTek QFS or Oracle HSM software.

ENOENT

Access to the StorageTek QFS or Oracle HSM shared memory segment has failed; possibly StorageTek QFS or Oracle HSM is not running.

EMFILE

The StorageTek QFS or Oracle HSM 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 StorageTek QFS or Oracle HSM 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().

SEE ALSO

samu (1m).

sam_devstr (3).