diff options
Diffstat (limited to 'upstream/archlinux/man0p/stropts.h.0p')
-rw-r--r-- | upstream/archlinux/man0p/stropts.h.0p | 441 |
1 files changed, 441 insertions, 0 deletions
diff --git a/upstream/archlinux/man0p/stropts.h.0p b/upstream/archlinux/man0p/stropts.h.0p new file mode 100644 index 00000000..b06aac39 --- /dev/null +++ b/upstream/archlinux/man0p/stropts.h.0p @@ -0,0 +1,441 @@ +'\" et +.TH stropts.h "0P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.\" +.SH NAME +stropts.h +\(em STREAMS interface (\fBSTREAMS\fP) +.SH SYNOPSIS +.LP +.nf +#include <stropts.h> +.fi +.SH DESCRIPTION +The +.IR <stropts.h> +header shall define the +.BR bandinfo +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +int bi_flag \fRFlushing type.\fR +unsigned char bi_pri \fRPriority band.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR strpeek +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +struct strbuf ctlbuf \fRThe control portion of the message.\fR +struct strbuf databuf \fRThe data portion of the message.\fR +t_uscalar_t flags \fRRS_HIPRI or 0.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR strbuf +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +char *buf \fRPointer to buffer.\fP +int len \fRLength of data.\fP +int maxlen \fRMaximum buffer length.\fP +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR strfdinsert +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +struct strbuf ctlbuf \fRThe control portion of the message.\fR +struct strbuf databuf \fRThe data portion of the message.\fR +int fildes \fRFile descriptor of the other STREAM.\fR +t_uscalar_t flags \fRRS_HIPRI or 0.\fR +int offset \fRRelative location of the stored value.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR strioctl +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +int ic_cmd \fIioctl\fR(\|) command.\fR +char *ic_dp \fRPointer to buffer.\fR +int ic_len \fRLength of data.\fR +int ic_timout \fRTimeout for response.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR strrecvfd +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +int fd \fRReceived file descriptor.\fR +gid_t gid \fRGID of sender.\fR +uid_t uid \fRUID of sender.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR uid_t +and +.BR gid_t +types through +.BR typedef , +as described in +.IR <sys/types.h> . +.P +The +.IR <stropts.h> +header shall define the +.BR t_scalar_t +and +.BR t_uscalar_t +types, respectively, as signed and unsigned opaque types of equal +length of at least 32 bits. +.P +The +.IR <stropts.h> +header shall define the +.BR str_list +structure, which shall include at least the following members: +.sp +.RS 4 +.nf + +struct str_mlist *sl_modlist \fRSTREAMS module names.\fR +int sl_nmods \fRNumber of STREAMS module names.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define the +.BR str_mlist +structure, which shall include at least the following member: +.sp +.RS 4 +.nf + +char l_name[FMNAMESZ+1] \fRA STREAMS module name.\fR +.fi +.P +.RE +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constants for use +as the +.IR request +argument to +\fIioctl\fR(): +.IP I_ATMARK 12 +Is the top message ``marked''? +.IP I_CANPUT 12 +Is a band writable? +.IP I_CKBAND 12 +See if any messages exist in a band. +.IP I_FDINSERT 12 +Send implementation-defined information about another STREAM. +.IP I_FIND 12 +Look for a STREAMS module. +.IP I_FLUSH 12 +Flush a STREAM. +.IP I_FLUSHBAND 12 +Flush one band of a STREAM. +.IP I_GETBAND 12 +Get the band of the top message on a STREAM. +.IP I_GETCLTIME 12 +Get close time delay. +.IP I_GETSIG 12 +Retrieve current notification signals. +.IP I_GRDOPT 12 +Get the read mode. +.IP I_GWROPT 12 +Get the write mode. +.IP I_LINK 12 +Connect two STREAMs. +.IP I_LIST 12 +Get all the module names on a STREAM. +.IP I_LOOK 12 +Get the top module name. +.IP I_NREAD 12 +Size the top message. +.IP I_PEEK 12 +Peek at the top message on a STREAM. +.IP I_PLINK 12 +Persistently connect two STREAMs. +.IP I_POP 12 +Pop a STREAMS module. +.IP I_PUNLINK 12 +Dismantle a persistent STREAMS link. +.IP I_PUSH 12 +Push a STREAMS module. +.IP I_RECVFD 12 +Get a file descriptor sent via I_SENDFD. +.IP I_SENDFD 12 +Pass a file descriptor through a STREAMS pipe. +.IP I_SETCLTIME 12 +Set close time delay. +.IP I_SETSIG 12 +Ask for notification signals. +.IP I_SRDOPT 12 +Set the read mode. +.IP I_STR 12 +Send a STREAMS +\fIioctl\fR(). +.IP I_SWROPT 12 +Set the write mode. +.IP I_UNLINK 12 +Disconnect two STREAMs. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constant for use +with I_LOOK: +.IP FMNAMESZ 12 +The minimum size in bytes of the buffer referred to by the +.IR arg +argument. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constants for use +with I_FLUSH: +.IP FLUSHR 12 +Flush read queues. +.IP FLUSHRW 12 +Flush read and write queues. +.IP FLUSHW 12 +Flush write queues. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constants for use +with I_SETSIG: +.IP S_BANDURG 12 +When used in conjunction with S_RDBAND, SIGURG is generated instead of +SIGPOLL when a priority message reaches the front of the STREAM head +read queue. +.IP S_ERROR 12 +Notification of an error condition reaches the STREAM head. +.IP S_HANGUP 12 +Notification of a hangup reaches the STREAM head. +.IP S_HIPRI 12 +A high-priority message is present on a STREAM head read queue. +.IP S_INPUT 12 +A message, other than a high-priority message, has arrived at the head +of a STREAM head read queue. +.IP S_MSG 12 +A STREAMS signal message that contains the SIGPOLL signal reaches the +front of the STREAM head read queue. +.IP S_OUTPUT 12 +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. +.IP S_RDBAND 12 +A message with a non-zero priority band has arrived at the head of a +STREAM head read queue. +.IP S_RDNORM 12 +A normal (priority band set to 0) message has arrived at the head of a +STREAM head read queue. +.IP S_WRBAND 12 +The write queue for a non-zero priority band just below the STREAM head +is no longer full. +.IP S_WRNORM 12 +Equivalent to S_OUTPUT. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constant for use +with I_PEEK: +.IP RS_HIPRI 12 +Only look for high-priority messages. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constants for use +with I_SRDOPT: +.IP RMSGD 12 +Message-discard mode. +.IP RMSGN 12 +Message-non-discard mode. +.IP RNORM 12 +Byte-STREAM mode, the default. +.IP RPROTDAT 12 +Deliver the control part of a message as data when a process issues a +\fIread\fR(). +.IP RPROTDIS 12 +Discard the control part of a message, delivering any data part, when a +process issues a +\fIread\fR(). +.IP RPROTNORM 12 +Fail +\fIread\fR() +with +.BR [EBADMSG] +if a message containing a control part is at the front of the STREAM +head read queue. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constant for use +with I_SWOPT: +.IP SNDZERO 12 +Send a zero-length message downstream when a +\fIwrite\fR() +of 0 bytes occurs. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constants for use +with I_ATMARK: +.IP ANYMARK 12 +Check if the message is marked. +.IP LASTMARK 12 +Check if the message is the last one marked on the queue. +.P +The +.IR <stropts.h> +header shall define at least the following symbolic constant for use +with I_UNLINK: +.IP MUXID_ALL 12 +Unlink all STREAMs linked to the STREAM associated with +.IR fildes . +.P +The +.IR <stropts.h> +header shall define the following symbolic constants for +\fIgetmsg\fR(), +\fIgetpmsg\fR(), +\fIputmsg\fR(), +and +\fIputpmsg\fR(): +.IP MORECTL 12 +More control information is left in message. +.IP MOREDATA 12 +More data is left in message. +.IP MSG_ANY 12 +Receive any message. +.IP MSG_BAND 12 +Receive message from specified band. +.IP MSG_HIPRI 12 +Send/receive high-priority message. +.P +The +.IR <stropts.h> +header may make visible all of the symbols from +.IR <unistd.h> . +.P +The +.IR <stropts.h> +header may also define macros for message types using names that +start with +.IR M_ . +.P +The following shall be declared as functions and may also be defined as +macros. Function prototypes shall be provided. +.sp +.RS 4 +.nf + +int fattach(int, const char *); +int fdetach(const char *); +int getmsg(int, struct strbuf *restrict, struct strbuf *restrict, + int *restrict); +int getpmsg(int, struct strbuf *restrict, struct strbuf *restrict, + int *restrict, int *restrict); +int ioctl(int, int, ...); +int isastream(int); +int putmsg(int, const struct strbuf *, const struct strbuf *, int); +int putpmsg(int, const struct strbuf *, const struct strbuf *, int, + int); +.fi +.P +.RE +.LP +.IR "The following sections are informative." +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fB<sys_types.h>\fP", +.IR "\fB<unistd.h>\fP" +.P +The System Interfaces volume of POSIX.1\(hy2017, +.IR "\fIclose\fR\^(\|)", +.IR "\fIfattach\fR\^(\|)", +.IR "\fIfcntl\fR\^(\|)", +.IR "\fIfdetach\fR\^(\|)", +.IR "\fIgetmsg\fR\^(\|)", +.IR "\fIioctl\fR\^(\|)", +.IR "\fIisastream\fR\^(\|)", +.IR "\fIopen\fR\^(\|)", +.IR "\fIpipe\fR\^(\|)", +.IR "\fIread\fR\^(\|)", +.IR "\fIpoll\fR\^(\|)", +.IR "\fIputmsg\fR\^(\|)", +.IR "\fIsignal\fR\^(\|)", +.IR "\fIwrite\fR\^(\|)" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +In the event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |