*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> sad (7)              
Title
Content
Arch
Section
 

Contents


 sad(7)                                                               sad(7)




 NAME    [Toc]    [Back]
      sad - STREAMS Administrative Driver

 SYNOPSIS    [Toc]    [Back]
      #include <sys/types.h>
      #include <sys/conf.h>
      #include <sys/sad.h>
      #include <stropts.h>

      int ioctl(int fildes, int command, ... /* arg */);

 DESCRIPTION    [Toc]    [Back]
      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.

    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 the superuser 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];
                          };



                     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.



 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 sad(7)                                                               sad(7)




                                    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.

                     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.



 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003






 sad(7)                                                               sad(7)




      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];
                                         };

                                    where l_name specifies the array of
                                    module names.

                                    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    [Toc]    [Back]
      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    [Toc]    [Back]
      Unless specified otherwise, upon successful completion, the sad
      ioctl() commands return a value of 0 (zero).  Otherwise, a value of -1



 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003






 sad(7)                                                               sad(7)




      is returned.

 ERRORS    [Toc]    [Back]
      If any of the following conditions occur, the sad ioctl commands
      return the corresponding value:

      SAD_SAP    [Toc]    [Back]

                     [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 superuser is allowed to execute the
                                    SAD_SAP ioctl.

      SAD_GAP    [Toc]    [Back]

                     [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.





 Hewlett-Packard Company            - 4 -   HP-UX 11i Version 2: August 2003






 sad(7)                                                               sad(7)




                     [ENOSTR]       The major device does not represent a
                                    STREAMS driver.

      SAD_VML    [Toc]    [Back]

                     [EFAULT]       The arg parameter points outside the
                                    allocated address space.

                     [EINVAL]       The list of module names is invalid.

 SEE ALSO    [Toc]    [Back]
      autopush(1M), ioctl(2), open(2), streamio(7).


 Hewlett-Packard Company            - 5 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
telm HP-UX STREAMS Telnet slave (pseudo-terminal) driver, STREAMS Telnet master driver (used by telnetd only), respective
tels HP-UX STREAMS Telnet slave (pseudo-terminal) driver, STREAMS Telnet master driver (used by telnetd only), respective
dlpi Tru64 STREAMS pseudodevice driver for bridging BSD Drivers to STREAMS
dlb Tru64 STREAMS pseudodevice driver for bridging BSD Drivers to STREAMS
strlog HP-UX STREAMS log driver
log Tru64 STREAMS log driver
strlog Tru64 STREAMS log driver
ipx IRIX IPX Streams Multiplexor Driver
ptm HP-UX STREAMS master pty (pseudo-terminal) driver
clone IRIX open any minor device on a STREAMS driver
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service