8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3rsm / rsm_intr_signal_wait_pollfd.3rsm
blob1b734958e8837fa43f07c7ab8cd2c3dd34b47761
1 '\" te
2 .\" Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH RSM_INTR_SIGNAL_WAIT_POLLFD 3RSM "April 9, 2016"
7 .SH NAME
8 rsm_intr_signal_wait_pollfd \- wait for events on a list of file descriptors
9 .SH SYNOPSIS
10 .LP
11 .nf
12 cc [ \fIflag\fR... ] \fIfile\fR\&.\|.\|. \fB-lrsm\fR [ \fIlibrary \&.\|.\|.\fR ]
13 #include <rsmapi.h>
15 \fBint\fR \fBrsm_intr_signal_wait_pollfd\fR(\fBstruct pollfd\fR \fIfds\fR[],
16      \fBnfds_t\fR \fInfds\fR, \fBint\fR \fItimeout\fR, \fBint *\fR\fInumfdsp\fR);
17 .fi
19 .SH DESCRIPTION
20 .LP
21 The \fBrsm_intr_signal_wait_pollfd()\fR function is similar to
22 \fBrsm_intr_signal_wait\fR(3RSM), except that it  allows an application to
23 multiplex I/O over various types of file descriptors. Applications can use this
24 function to wait for interrupt signals on RSMAPI segments as well as poll for
25 I/O events on other non-RSMAPI file descriptors.
26 .sp
27 .LP
28 The \fIfds\fR argument is an array of \fBpollfd\fR structures that correspond
29 to both RSMAPI segments and other file descriptors. The
30 \fBrsm_memseg_get_pollfd\fR(3RSM) is used to obtain a \fBpollfd\fR structure
31 corresponding to an RSMAPI segment.
32 .sp
33 .LP
34 The number of file descriptors that have events is returned in \fInumfdsp\fR.
35 This parameter can be set to \fINULL\fR if the application is not interested in
36 the number of file descriptors that have events. See \fBpoll\fR(2) for
37 descriptions of the \fBpollfd\fR structure as well as the \fInfds\fR and
38 \fItimeout\fR parameters.
39 .sp
40 .LP
41 It is the application's responsibility to establish the validity of a
42 \fBpollfd\fR structure corresponding to an RSMAPI segment by ensuring that
43 \fBrsm_memseg_release_pollfd\fR(3RSM) has not been called on the segment or
44 that the segment has not been destroyed.
45 .sp
46 .LP
47 For file descriptors other than RSMAPI segments, the behavior of
48 \fBrsm_intr_signal_wait_pollfd()\fR is similar to \fBpoll()\fR.
49 .SH RETURN VALUES
50 .LP
51 Upon successful completion, \fBrsm_intr_signal_wait_pollfd()\fR returns 0 and
52 the \fBrevents\fR member of the \fBpollfd\fR struct corresponding to an RSMAPI
53 segment is set to \fBPOLLRDNORM\fR, indicating that an interrupt signal for
54 that segment was received. Otherwise, an error value is returned.
55 .sp
56 .LP
57 For file descriptors other than RSMAPI segments, the \fBrevents\fR member of
58 the \fBpollfd\fR struct is identical to that returned by \fBpoll\fR(2).
59 .SH ERRORS
60 .LP
61 The \fBrsm_intr_signal_wait_pollfd()\fR function can return the following
62 errors:
63 .sp
64 .ne 2
65 .na
66 \fB\fBRSMERR_TIMEOUT\fR\fR
67 .ad
68 .sp .6
69 .RS 4n
70 Timeout has occurred.
71 .RE
73 .sp
74 .ne 2
75 .na
76 \fB\fBRSMERR_BAD_ARGS_ERRORS\fR\fR
77 .ad
78 .sp .6
79 .RS 4n
80 Invalid arguments passed.
81 .RE
83 .sp
84 .ne 2
85 .na
86 \fB\fBRSMERR_BAD_ADDR\fR\fR
87 .ad
88 .sp .6
89 .RS 4n
90 An argument points to an illegal address.
91 .RE
93 .sp
94 .ne 2
95 .na
96 \fB\fBRSMERR_INTERRUPTED\fR\fR
97 .ad
98 .sp .6
99 .RS 4n
100 The call was interrupted.
104 .ne 2
106 \fB\fBRSMERR_INSUFFICIENT_MEM\fR\fR
108 .sp .6
109 .RS 4n
110 Insufficient memory.
114 .ne 2
116 \fB\fBRSMERR_INSUFFICIENT_RESOURCES\fR\fR
118 .sp .6
119 .RS 4n
120 Insufficient resources.
123 .SH ATTRIBUTES
125 See \fBattributes\fR(5) for descriptions of the following attributes:
130 box;
131 c | c
132 l | l .
133 ATTRIBUTE TYPE  ATTRIBUTE VALUE
135 Interface Stability     Evolving
137 MT-Level        MT-Safe
140 .SH SEE ALSO
142 \fBpoll\fR(2), \fBrsm_intr_signal_wait\fR(3RSM),
143 \fBrsm_memseg_get_pollfd\fR(3RSM), \fBrsm_memseg_release_pollfd\fR(3RSM),
144 \fBattributes\fR(5)