Technical data
SunOS 5.5 Devices sad(7D)
be automatically pushed when the device is opened. It must be less than or
equal to MAXAPUSH , defined in sad.h. It must also be less than or equal to
NSTRPUSH, the maximum number of modules that can be pushed on a
stream, defined in the kernel master file. The field sap_list is an array of
NULL-terminated module names to be pushed in the order in which they
appear in the list.
When using the SAP_CLEAR command, the user sets only sap_major and
sap_minor. This will undo the configuration information for any of the other
commands. If a previous entry was configured as SAP_ALL, sap_minor
should be set to zero. If a previous entry was configured as SAP_RANGE ,
sap_minor should be set to the lowest minor device number in the range
configured.
On failure, errno is set to the following value:
EFAULT arg points outside the allocated address space.
EINVAL The major device number is invalid, the number of modules
is invalid, or the list of module names is invalid.
ENOSTR The major device number does not represent aSTREAMS
driver.
EEXIST The major-minor device pair is already configured.
ERANGE The command is SAP_RANGE and sap_lastminor is not
greater than sap_minor, or the command is SAP_CLEAR and
sap_minor is not equal to the first minor in the range.
ENODEV The command is SAP_CLEAR and the device is not
configured for autopush.
ENOSR An internal autopush data structure cannot be allocated.
SAD_GAP Allows any user to query the sad driver to get the autopush configuration
information for a given device. arg points to a strapush structure as described
in the previous command.
The user should set the sap_major and sap_minor fields of the strapush
structure to the major and minor device numbers, respectively, of the device
in question. On return, the strapush structure will be filled in with the entire
information used to configure the device. Unused entries in the module list
will be zero-filled.
On failure, errno is set to one of the following values:
EFAULT arg points outside the allocated address space.
EINVAL The major device number is invalid.
ENOSTR The major device number does not represent aSTREAMS
driver.
ENODEV The device is not configured for autopush.
SAD_VML Allows any user to validate a list of modules (that is, to see if they are
modified 3 Jul 1990 7D-281










