sad man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

sad(7D)				    Devices			       sad(7D)

NAME
       sad - STREAMS Administrative Driver

SYNOPSIS
       #include <sys/types.h>

       #include <sys/conf.h>

       #include <sys/sad.h>

       #include <sys/stropts.h>

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

DESCRIPTION
       The   STREAMS Administrative Driver provides an interface for  applica‐
       tions to perform administrative	operations  on	 STREAMS  modules  and
       drivers.	 The  interface is provided through  ioctl(2) commands. Privi‐
       leged operations may access the
	sad driver using /dev/sad/admin. Unprivileged  operations  may	access
       the  sad driver using /dev/sad/user.

       The  fildes argument is an open file descriptor that refers to the  sad
       driver.	The command argument determines the  control  function	to  be
       performed  as  described below.	The arg argument represents additional
       information that is needed by this command. The	type  of  arg  depends
       upon the command, but it is generally an integer or a pointer to a com‐
       mand-specific data structure.

COMMAND FUNCTIONS
       The autopush facility (see  autopush(1M)) allows	 one  to  configure  a
       list of modules to be automatically pushed on a stream when a driver is
       first  opened.  Autopush	 is   controlled   by	the   following	  com‐
       mands:"7">SAD_SAPAllows	 the  administrator  to	 configure  the	 given
       device's autopush information. arg points  to  a	  strapush  structure,
       which contains the following members:

	unit_t	 ap_cmd;
	major_t	 sap_major;
	minor_t	 sap_minor;
	minor_t	 sap_lastminor;
	unit_t	 sap_npush;
	unit_t	 sap_list [MAXAPUSH] [FMNAMESZ + 1];

       The   sap_cmd  field indicates the type of configuration being done. It
       may take on one of the following values:

       "small and bold"Configure one minor device of a driver.

       SAP_RANGE       Configure a range of minor devices of a driver.

       SAP_ALL	       Configure all minor devices of a driver.

       SAP_CLEAR       Undo configuration information for a driver.

       The  sap_major field is the major device number of  the	device	to  be
       configured.  The	  sap_minor  field  is	the minor device number of the
       device to be configured.	 The  sap_lastminor field is  used  only  with
       the   SAP_RANGE	command,   which  configures  a range of minor devices
       between	sap_minor and  sap_lastminor, inclusive. The minor fields have
       no meaning for the  SAP_ALL command. The	 sap_npush field indicates the
       number of modules to 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  mod‐
		       ules  is	 invalid,  or  the  list  of  module  names is
		       invalid.

       ENOSTR	       The major device number does not represent  a   STREAMS
		       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 config‐
		       ured for autopush.

       ENOSR	       An  internal  autopush  data  structure cannot be allo‐
		       cated.

       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 ques‐
		       tion. 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 val‐
		       ues:

		       EFAULT	       arg  points   outside   the   allocated
				       address space.

		       EINVAL	       The major device number is invalid.

		       ENOSTR	       The major device number does not repre‐
				       sent a  STREAMS driver.

		       ENODEV	       The device is not configured for	 auto‐
				       push.

       SAD_VML	       Allows any user to validate a list of modules (that is,
		       to see if they are installed on the system). arg	 is  a
		       pointer	to  a	str_list  structure with the following
		       members:

		       int     sl_nmods;
			struct	str_mlist  *sl_modlist;

		       The  str_mlist structure has the following member:

		       char  l_name[FMNAMESZ+1];

		       sl_nmods indicates the number of entries the  user  has
		       allocated  in  the  array and  sl_modlist points to the
		       array of module names. The return value	is  0  if  the
		       list is valid, 1 if the list contains an invalid module
		       name, or −1 on failure. On failure,  errno  is  set  to
		       one of the following values:

		       EFAULT	       arg   points   outside	the  allocated
				       address space.

		       EINVAL	       The  sl_nmods field  of	the   str_list
				       structure  is  less  than  or  equal to
				       zero.

SEE ALSO
       intro(2), ioctl(2), open(2)

       STREAMS Programming Guide

DIAGNOSTICS
       Unless otherwise specified, the return value from  ioctl()  is  0  upon
       success and  −1 upon failure with  errno set as indicated.

SunOS 5.10			  16 Apr 1997			       sad(7D)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net