Manual Page Result
0
Command: sad | Section: 7 | Source: Digital UNIX | File: sad.7.gz
sad(7) Miscellaneous Information Manual sad(7)
NAME
sad - STREAMS Administrative Driver
SYNOPSIS
#include <sys/types.h> #include <sys/conf.h> #include <sys/sad.h> #in-
clude <sys/stropts.h>
int ioctl( int fildes, const command, int arg);
PARAMETERS
Specifies an open file descriptor of the sad driver. Specifies the ad-
ministrative function to be performed. Points to a data structure.
DESCRIPTION
The sad driver provides an interface to the autopush facility using the
ioctl() function. As an interface, the sad driver enables administra-
tive tasks to be performed on STREAMS modules and drivers. Specifi-
cally, specifying the command parameter to the ioctl() function, an ad-
ministrator can configure autopush information for a device, get infor-
mation on a device, or check a list of modules.
To access the sad driver, use /dev/sad/admin.
ioctl Commands
The commands used to perform administrative functions on a STREAMS mod-
ule or driver are specified by the following ioctl() commands: Lets you
use the sad driver to obtain autopush configuration information for a
device by setting the sap_major and sap_minor fields of the strapush
structure (see the SAD_SAP command) to the major and minor device num-
bers of the device being queried.
Upon successful completion, the strapush structure contains all of the
information used to configure the device. Values of 0 (zero) will ap-
pear in any unused entry in the module list. Allows you to configure
autopush information for a device. The arg parameter points to a stra-
push structure (defined in the sad.h header file), whose members are as
follows: struct strapush {
uint sap_cmd;
long sap_major;
long sap_minor;
long sap_lastminor;
long sap_npush;
char sap_list[MAXAPUSH][FMNAMESZ+1]; }; Allows you to specify the
type of configuration to perform. This field can have the following
values: Configures all minor devices. Configures a range of minor de-
vices. Configures a single minor device. Clears the previous set-
tings. Specify only the sap_major and sap_minor fields when using this
command. If a previous entry specified SAP_ALL, set the sap_minor
field to 0 (zero). If a previous entry was specified as SAP_RANGE, set
the sap_minor field to the lowest minor device number in the range.
Specifies the major device number. Specifies the minor device number.
Specifies the range of minor devices. Specifies the number of modules
to push. This number must be no more than MAXAPUSH, which is defined
in sad.h. Additionally, this number must not exceed NSTRPUSH. Speci-
fies, in order, the array of modules to push.
Enables you to check a list of modules. For example, you can determine
if a specific module has been installed. The arg parameter points to a
str_list structure (defined in the stropts.h header file), whose mem-
bers are as follows: struct str_list {
int sl_nmods;
struct str_mlist *sl_modlist; }; Specifies the number of entries
you have allocated in an array. Points to the array of module names.
The str_mlist structure (also in the stropts.h header file) is as fol-
lows: struct str_mlist {
char 1_name[FMNAMESZ+1]; };
where 1_name[FMNAMESZ+1] specifies the array of module names. If the
1_name[FMNAMESZ+1] array is valid, the SAD_VML command returns a value
of 0 (zero). If the array contains an invalid module name, the command
returns a value of 1. Upon failure, the command returns a value of -1.
NOTES
As a STREAMS driver, sad also supports the normal STREAMS ioctl(): int
ioctl( int fildes, const I_STR, struct strioctl *strp);
In this form, specify the ic_cmd field in the strioctl structure to ei-
ther SAD_SAP, SAD_GAP, or SAD_VML. The ic_dp field points to the stra-
push structure (see the SAD_SAP command in the DESCRIPTION section).
Refer to the streamio() reference page for further details.
RETURN VALUES
Unless specified otherwise, upon successful completion, the sad ioctl()
commands return a value of 0 (zero). Otherwise, a value of -1 is re-
turned.
ERRORS
If any of the following conditions occur, the sad ioctl commands return
the corresponding value:
SAD_GAP The arg parameter points outside the allocated address space.
The major device number (sad_major) is invalid. The device is not con-
figured for autopush. The major device does not represent a STREAMS
driver.
SAD_SAP The specified major/minor device number pair (sad_major/sad_mi-
nor) has already been configured. The arg parameter points outside the
allocated address space. The major device number (sad_major) is in-
valid, the number of modules (sap_list[MAXPUSH][FMNAMESZ+1]) is in-
valid, or the list of module names is invalid. The device is not con-
figured for autopush. This value is returned from a SAD_GAP command.
A internal autopush data structure cannot be allocated. The major de-
vice does not represent a STREAMS driver. The sap.lastminor field is
less than the sap_minor field when the command is SAP_RANGE, or the mi-
nor device specified in a SAP_CLEAR command does not exist.
SAD_VML The arg parameter points outside the allocated address space.
The list of module names is invalid.
RELATED INFORMATION
Commands: autopush(8).
Functions: ioctl(2).
Interfaces: streamio(7). delim off
sad(7)