stropts.h man page on OpenIndiana

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

stropts.h(3HEAD)		    Headers		      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	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Standard		     │See standards(5).		   │
       └─────────────────────────────┴─────────────────────────────┘

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)

SunOS 5.11			  10 Sep 2004		      stropts.h(3HEAD)
[top]

List of man pages available for OpenIndiana

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