|
|
1.1 root 1: /* rosapasync.c - ROPM: set asynchronous events */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/rosap/RCS/rosapasync.c,v 6.0 89/03/18 23:42:23 mrose Rel $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/rosap/RCS/rosapasync.c,v 6.0 89/03/18 23:42:23 mrose Rel $
9: *
10: * Based on an TCP-based implementation by George Michaelson of University
11: * College London.
12: *
13: *
14: * $Log: rosapasync.c,v $
15: * Revision 6.0 89/03/18 23:42:23 mrose
16: * Release 5.0
17: *
18: */
19:
20: /*
21: * NOTICE
22: *
23: * Acquisition, use, and distribution of this module and related
24: * materials are subject to the restrictions of a license agreement.
25: * Consult the Preface in the User's Manual for the full terms of
26: * this agreement.
27: *
28: */
29:
30:
31: /* LINTLIBRARY */
32:
33: #include <stdio.h>
34: #include <signal.h>
35: #include "ropkt.h"
36:
37: /* define vectors for INDICATION events */
38:
39: int RoSetIndications (sd, indication, roi)
40: int sd;
41: IFP indication;
42: struct RoSAPindication *roi;
43: {
44: SBV smask;
45: int result;
46: register struct assocblk *acb;
47:
48: smask = sigioblock ();
49:
50: rosapPsig (acb, sd);
51:
52: if (acb -> acb_apdu || (acb -> acb_flags & ACB_CLOSING)) {
53: (void) sigiomask (smask);
54: return rosaplose (roi, ROS_WAITING, NULLCP, NULLCP);
55: }
56:
57: result = (*acb -> acb_rosetindications) (acb, indication, roi);
58:
59: (void) sigiomask (smask);
60:
61: return result;
62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.