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

  man pages->Tru64 Unix man pages -> sad (7)              
Title
Content
Arch
Section
 

sad(7)

Contents


NAME    [Toc]    [Back]

       sad - STREAMS Administrative Driver

SYNOPSIS    [Toc]    [Back]

       #include   <sys/types.h>  #include  <sys/conf.h>  #include
       <sys/sad.h> #include <sys/stropts.h>

       int ioctl(
               int fildes,
               const command,
               int arg );

PARAMETERS    [Toc]    [Back]

       Specifies an open  file  descriptor  of  the  sad  driver.
       Specifies  the  administrative  function  to be performed.
       Points to a data structure.

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.  Specifically, 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.

       To access the sad driver, use /dev/sad/admin.

   ioctl Commands
       The commands used to perform administrative functions on a
       STREAMS  module  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 numbers 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 appear in any unused entry in the module list.
       Allows you to configure autopush information for a device.
       The  arg parameter points to a strapush 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  devices.   Configures  a  single   minor
              device.   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.  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.  Specifies,
              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 members 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 follows: 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    [Toc]    [Back]

       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  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).   Refer  to  the
       streamio(7) reference page for further details.

   RETURN VALUES    [Toc]    [Back]
       Unless specified otherwise,  upon  successful  completion,
       the sad ioctl() commands return a value of 0 (zero).  Otherwise,
 a value of -1 is returned.

ERRORS    [Toc]    [Back]

       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 configured for autopush.  The
       major device does not represent a STREAMS driver.

       SAD_SAP  The  specified  major/minor  device  number  pair
       (sad_major/sad_minor)  has  already  been configured.  The
       arg parameter points outside the allocated address  space.
       The major device number (sad_major) is invalid, the number
       of modules (sap_list[MAXPUSH][FMNAMESZ+1]) is invalid,  or
       the  list  of  module names is invalid.  The device is not
       configured for autopush.  This value is  returned  from  a
       SAD_GAP  command.  A internal autopush data structure cannot
 be allocated.  The major device 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
       minor  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.

SEE ALSO    [Toc]    [Back]

      
      
       Commands: autopush(8)

       Functions: ioctl(2)

       Interfaces: streamio(7)



                                                           sad(7)
[ 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