sad(7) sad(7)

advertisement
sad(7)
sad(7)
NAME
sad - STREAMS Administrative Driver
SYNOPSIS
#include
#include
#include
#include
<sys/types.h>
<sys/conf.h>
<sys/sad.h>
<stropts.h>
int ioctl(
int fildes ,
int command ,
...
/* arg */
);
DESCRIPTION
The sad driver provides an interface to the autopush facility using the ioctl() function. As an
interface, the sad driver enables administrative tasks to be performed on STREAMS modules and
drivers. By specifying the command parameter to the ioctl() function, an administrator can configure
autopush information for a device, get information on a device, or check a list of modules.
fildes is a file descriptor obtained by opening /dev/sad using open(). command specifies the administrative function to be performed. arg points to a data structure. If command is SAD_SAP or SAD_GAP,
arg points to a struct of type strapush. If command is SAD_VML, arg points to a struct of type
str_list.
Security Restrictions
The SAD_SAP ioctl() is restricted to superusers or users with the NETADMIN privilege. See
privileges (5) for more information about privileged access on systems that support fine-grained privileges.
ioctl Commands
The commands used to perform administrative functions on a STREAMS module or driver are specified
by the following ioctl() commands:
SAD_SAP Allows you to configure autopush information for a device. The arg parameter points to a
strapush structure (defined in the <sys/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];
};
A
sap_cmd Allows you to specify the type of configuration to perform. This field can have the
following values:
SAP_ALL Configures all minor devices.
SAP_RANGE
Configures a range of minor devices.
SAP_ONE Configures a single minor device.
SAP_CLEAR
Clears the previous settings. 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.
HP-UX 11i Version 3: September 2010
−1−
Hewlett-Packard Company
1
sA
sad(7)
sad(7)
sap_major
Specifies the major device number.
sap_minor
Specifies the minor device number.
sap_lastminor
Specifies the range of minor devices.
sap_npush
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.
sap_list
Specifies, in order, the array of modules to push.
SAD_GAP 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 numbers of the device being queried.
arg should point to a struct of type strapush. Upon successful completion, the strapush
structure contains all of the information used to configure the device. Values of 0 (zero) will
appear in any unused entry in the module list.
SAD_VML 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 members are as follows:
struct str_list {
int sl_nmods;
struct str_mlist *sl_modlist;
};
sl_nmods
Specifies the number of entries you have allocated in an array.
sl_modlist
Points to the array of module names. The str_mlist structure (also in the
<stropts.h> header file) is as follows:
struct str_mlist {
char
l_name[FMNAMESZ+1];
};
A
where l_name specifies the array of module names.
sA
If the l_name 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 I_STR ioctl():
int ioctl(fildes, I_STR, strp);
int fildes;
struct strioctl *strp;
In this form, specify the ic_cmd field in the strioctl structure to either SAD_SAP, SAD_GAP, or
SAD_VML. The ic_dp field points to the strapush structure (see the SAD_SAP command in the
DESCRIPTION section). Refer to the streamio (7) reference page for further details.
RETURN VALUE
Unless specified otherwise, upon successful completion, the sad ioctl() commands return a value of 0
(zero). Otherwise, a value of -1 is returned.
ERRORS
If any of the following conditions occur, the sad ioctl commands return the corresponding value:
2
Hewlett-Packard Company
−2−
HP-UX 11i Version 3: September 2010
sad(7)
sad(7)
SAD_SAP
[EEXIST]
The specified major/minor device number pair (sad_major/sad_minor)
has already been configured.
[EFAULT]
The arg parameter points outside the allocated address space.
[EINVAL]
The major device number (sad_major) is invalid, the number of modules
(sap_list[MAXAPUSH][FMNAMESZ+1]) is invalid, or the list of module
names is invalid.
[ENODEV]
The device is not configured for autopush. This value is returned from a
SAD_GAP command.
[ENOSR]
A internal autopush data structure cannot be allocated.
[ENOSTR]
The major device does not represent a STREAMS driver.
[ERANGE]
The sap_lastminor field is less than the sap_minor field when the command is SAP_RANGE, or the minor device specified in a SAP_CLEAR command does not exist.
[EACCES]
Only a superuser or user with NETADMIN privilege is allowed to execute the
SAD_SAP ioctl().
SAD_GAP
[EFAULT]
The arg parameter points outside the allocated address space.
[EINVAL]
The major device number (sad_major) is invalid.
[ENODEV]
The device is not configured for autopush.
[ENOSTR]
The major device does not represent a STREAMS driver.
[EFAULT]
The arg parameter points outside the allocated address space.
[EINVAL]
The list of module names is invalid.
SAD_VML
SEE ALSO
autopush(1M), ioctl(2), open(2), privileges(5), streamio(7).
A
HP-UX 11i Version 3: September 2010
−3−
Hewlett-Packard Company
3
sA
(Notes)
A
(Notes)
sA
4
Hewlett-Packard Company
−1−
HP-UX 11i Version 3: September 2010
Download