Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

strmod_add(2)							strmod_add(2)


  strmod_add - Adds STREAMS modules and	drivers


  #include <&lt;sys/stream.h>&gt;
  dev_t	strmod_add (
	  dev_t	devno,
	  struct streamtab *streamtab,
	  struct streamadm *streamadm);


      The device number	(cdevsw	slot) to use when adding a driver.  If NODEV
      is supplied, the first available slot is used.  This parameter is
      ignored for modules.

      A	pointer	to the streamtab  structure that contains the entry points.
      The actual streamtab structure has to be allocated permanently in	the
      driver's data space (as specified	by System V Release 3.2).

      A	pointer	to the streamadm  structure that contains the administration
      parameters for the STREAMS module	or driver.  The	actual streamadm
      structure	is needed only for the duration	of the call.  It does not
      have to be allocated permanently by the caller.


  The strmod_add() interface is	used to	configure STREAMS modules and drivers
  into the kernel.  Specifically, it allows STREAMS drivers to add entry
  points in character device switch tables.  Modules are added to the STREAMS
  modules switch.

  When adding a	driver only, strmod_add() takes	a device number, which is
  used to determine the	device switch slot for the entry points.  A STREAMS
  driver can supply NODEV instead of a device number.  In this case,
  strmod_add() finds the first available device	switch slot and	returns	the
  number actually used.	 If a device switch slot is already in use or if
  there	are no slots available,	NODEV is returned.

  The streamtab	parameter is a pointer to a traditional	(System	V Release
  3.2) streamtab structure.  The structure contains pointers to	entry points
  for the module's read	and write queue	routines.

  The streamadm	points to a streamadm structure.  The streamadm	structure
  provides additional information that is required under Tru64 UNIX.


  The device number can	be constructed from the	major number through the mak-
  edev	macro, which is	defined	in /usr/include/sys/types.h.


  Upon successful completion, strmod_add() returns the device number associ-
  ated with the	device switch table.  Otherwise, it returns NODEV.


  Data Structures: streamadm(4)

  Routines: strmod_del(2)