|
|
1.1 root 1: /* rosapservice.c - ROPM: hack loader */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/rosap/RCS/rosapservice.c,v 6.0 89/03/18 23:42:30 mrose Rel $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/rosap/RCS/rosapservice.c,v 6.0 89/03/18 23:42:30 mrose Rel $
9: *
10: * Based on an TCP-based implementation by George Michaelson of University
11: * College London.
12: *
13: *
14: * $Log: rosapservice.c,v $
15: * Revision 6.0 89/03/18 23:42:30 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: /* bind underlying service */
38:
39: int RoSetService (sd, bfunc, roi)
40: int sd;
41: IFP bfunc;
42: struct RoSAPindication *roi;
43: {
44: SBV smask;
45: int result;
46: register struct assocblk *acb;
47:
48: missingP (bfunc);
49: missingP (roi);
50:
51: smask = sigioblock ();
52:
53: if ((acb = findacblk (sd)) == NULL) {
54: (void) sigiomask (smask);
55: return rosaplose (roi, ROS_PARAMETER, NULLCP,
56: "invalid association descriptor");
57: }
58:
59: result = (*bfunc) (acb, roi);
60:
61: (void) sigiomask (smask);
62:
63: return result;
64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.