/* psapselect.c - PPM: map descriptors */
static char *rcsid
= "$Header: /f/osi/psap2-lpp/RCS/psapselect.c,v 7.1 91/02/22 09:38:16 mrose Interim $";
* $Header: /f/osi/psap2-lpp/RCS/psapselect.c,v 7.1 91/02/22 09:38:16 mrose Interim $
* Contributed by The Wollongong Group, Inc.
* Revision 7.1 91/02/22 09:38:16 mrose
* Revision 7.0 89/11/23 22:16:02 mrose
* Acquisition, use, and distribution of this module and related
* materials are subject to the restrictions of a license agreement.
* Consult the Preface in the User's Manual for the full terms of
/* \f map presentation descriptors for select() */
int PSelectMask (sd
, mask
, nfds
, pi
)
struct PSAPindication
*pi
;
register struct psapblk
*pb
;
if ((pb
= findpblk (sd
)) == NULL
) {
(void) sigiomask (smask
);
return psaplose (pi
, PC_PARAMETER
, NULLCP
,
"invalid presentation descriptor");
result
= pb
-> pb_checkfnx
? (*pb
-> pb_checkfnx
) (pb
, pi
) : OK
;
if (result
== NOTOK
&& (reason
= pi
-> pi_abort
.pa_reason
) != PC_TIMER
) {
FD_SET (pb
-> pb_fd
, mask
);
(void) sigiomask (smask
);