stropts.h man page on SmartOS

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

STROPTS.H(3HEAD)					      STROPTS.H(3HEAD)

NAME
       stropts.h, stropts - STREAMS interface (STREAMS)

SYNOPSIS
       #include <stropts.h>

DESCRIPTION
       The  <stropts.h>	 header defines the bandinfo structure, which includes
       the following members:

	 unsigned char bi_pri	  /* priority band */
	 int	       bi_flag	  /* flushing type */

       The <stropts.h> header defines the strpeek structure that includes  the
       following members:

	 struct strbuf ctlbuf	  /* control portion of the message */
	 struct strbuf databuf	  /* data portion of the message */
	 t_uscalar_t   flags	  /* RS_HIPRI or 0 */

       The  <stropts.h>	 header defines the strbuf structure that includes the
       following members:

	 int  maxlen	 /* maximum buffer length */
	 int  len	 /* length of data */
	 char *buf	 /* pointer to buffer */

       The <stropts.h> header defines the strfdinsert structure that  includes
       the following members:

	 struct strbuf ctlbuf	  /* control portion of the message */
	 struct strbuf databuf	  /* data portion of the message */
	 t_uscalar_t   flags	  /* RS_HIPRI or 0 */
	 int	       fildes	  /* file descriptor of the other stream */
	 int	       offset	  /* relative location of the stored value */

       The <stropts.h> header defines the strioctl structure that includes the
       following members:

	 int  ic_cmd	    /* ioctl() command */
	 int  ic_timout	    /* timeout for response */
	 int  ic_len	    /* length of data */
	 char *ic_dp	    /* pointer to buffer */

       The <stropts.h> header defines the strrecvfd  structure	that  includes
       the following members:

	 int   fda     /* received file descriptor */
	 uid_t uid     /* UID of sender */
	 gid_t gid     /* GID of sender */

       The  uid_t  and gid_t types are defined through typedef as described in
       <sys/types.h>. See types.h(3HEAD).

       The <stropts.h> header defines the t_scalar_t  and  t_uscalar_t	types,
       respectively, as signed and unsigned opaque types of equal length of at
       least 32 bits.

       The <stropts.h> header defines the str_list structure that includes the
       following members:

	 int		  sl_nmods	  /* number of STREAMS module names */
	 struct str_mlist *sl_modlist	  /* STREAMS module names */

       The  <stropts.h>	 header	 defines the str_mlist structure that includes
       the following member:

       char l_name[FMNAMESZ+1]
				  a STREAMS module name

       The following macros are defined for use as  the	 request  argument  to
       ioctl():

       I_PUSH
		      Push a STREAMS module.

       I_POP
		      Pop a STREAMS module.

       I_LOOK
		      Get the top module name.

       I_FLUSH
		      Flush a stream.

       I_FLUSHBAND
		      Flush one band of a stream.

       I_SETSIG
		      Ask for notification signals.

       I_GETSIG
		      Retrieve current notification signals.

       I_FIND
		      Look for a STREAMS module.

       I_PEEK
		      Peek at the top message on a stream.

       I_SRDOPT
		      Set the read mode.

       I_GRDOPT
		      Get the read mode.

       I_NREAD
		      Size the top message.

       I_FDINSERT
		      Send  implementation-defined  information	 about another
		      stream.

       I_STR
		      Send a STREAMS ioctl().

       I_SWROPT
		      Set the write mode.

       I_GWROPT
		      Get the write mode.

       I_SENDFD
		      Pass a file descriptor through a STREAMS pipe.

       I_RECVFD
		      Get a file descriptor sent via I_SENDFD.

       I_LIST
		      Get all the module names on a stream.

       I_ATMARK
		      Is the top message ``marked''?

       I_CKBAND
		      See if any messages exist in a band.

       I_GETBAND
		      Get the band of the top message on a stream.

       I_CANPUT
		      Is a band writable?

       I_SETCLTIME
		      Set close time delay.

       I_GETCLTIME
		      Get close time delay.

       I_LINK
		      Connect two streams.

       I_UNLINK
		      Disconnect two streams.

       I_PLINK
		      Persistently connect two streams.

       I_PUNLINK
		      Dismantle a persistent STREAMS link.

       The following macro is defined for use with I_LOOK:

       FMNAMESZ
		   minimum size in bytes of the buffer referred to by the  arg
		   argument

       The following macros are defined for use with I_FLUSH:

       FLUSHR
		  flush read queues

       FLUSHW
		  flush write queues

       FLUSHRW
		  flush read and write queues

       The following macros are defined for use with I_SETSIG:

       S_RDNORM
		    A  normal (priority band set to 0)	message has arrived at
		    the head of a stream head read queue.

       S_RDBAND
		    A message with a non-zero priority band has arrived at the
		    head of a stream head read queue.

       S_INPUT
		    A message, other than a high-priority message, has arrived
		    at the head of a stream head read queue.

       S_HIPRI
		    A high-priority message is present on a stream  head  read
		    queue.

       S_OUTPUT
		    The	 write	queue  for  normal data (priority band 0) just
		    below the stream head is no longer full. This notifies the
		    process  that  there  is room on the queue for sending (or
		    writing) normal data downstream.

       S_WRNORM
		    Equivalent to S_OUTPUT.

       S_WRBAND
		    The write queue for a non-zero priority  band  just	 below
		    the stream head is no longer full.

       S_MSG
		    A  STREAMS signal message that contains the SIGPOLL signal
		    reaches the front of the stream head read queue.

       S_ERROR
		    Notification of an	error  condition  reaches  the	stream
		    head.

       S_HANGUP
		    Notification of a hangup reaches the stream head.

       S_BANDURG
		    When  used	in conjunction with S_RDBAND, SIGURG is gener‐
		    ated instead of SIGPOLL when a priority   message  reaches
		    the front of the stream head read queue.

       The following macro is defined for use with I_PEEK:

       RS_HIPRI
		   Only look for high-priority messages.

       The following macros are defined for use with I_SRDOPT:

       RNORM
		    Byte-stream mode, the default.

       RMSGD
		    Message-discard mode.

       RMSGN
		    Message-non-discard mode.

       RPROTNORM
		    Fail  read() with [EBADMSG] if a message containing a con‐
		    trol part is at the front of the stream head read queue.

       RPROTDAT
		    Deliver the control part of	 a  message  as	 data  when  a
		    process issues a read()

       RPROTDIS
		    Discard the control part of a message, delivering any data
		    part, when a process issues a read()

       The following macro is defined for use with I_SWOPT:

       SNDZERO
		  Send a zero-length message downstream when a	write()	 of  0
		  bytes occurs.

       The following macros are defined for use with I_ATMARK:

       ANYMARK
		   Check if the message is marked.

       LASTMARK
		   Check if the message is the last one marked on the queue.

       The following macro is defined for use with I_UNLINK:

       MUXID_ALL
		    Unlink  all	 stream	 linked	 to the stream associated with
		    fildes.

       The following macros are defined for getmsg(), getpmsg(), putmsg(), and
       putpmsg():

       MSG_ANY
		    Receive any message.

       MSG_BAND
		    Receive message from specified band.

       MSG_HIPRI
		    Send/receive high-priority message.

       MORECTL
		    More control information is left in message.

       MOREDATA
		    More data is left in message.

       The  <stropts.h>	 header	 can  make  visible  all  of  the symbols from
       <unistd.h>.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       close(2), fcntl(2), getmsg(2),  ioctl(2),  open(2),  pipe(2),  poll(2),
       putmsg(2),     read(2),	   write(2),	signal(3C),    types.h(3HEAD),
       unistd.h(3HEAD), attributes(5), standards(5)

				 Sep 10, 2004		      STROPTS.H(3HEAD)
[top]

List of man pages available for SmartOS

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