|
|
1.1 root 1: /* ro2ssthorn.c - ROPM: interface for THORN */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/rosap/RCS/ro2ssthorn.c,v 6.0 89/03/18 23:42:20 mrose Rel $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/rosap/RCS/ro2ssthorn.c,v 6.0 89/03/18 23:42:20 mrose Rel $
9: *
10: *
11: * $Log: ro2ssthorn.c,v $
12: * Revision 6.0 89/03/18 23:42:20 mrose
13: * Release 5.0
14: *
15: */
16:
17: /*
18: * NOTICE
19: *
20: * Acquisition, use, and distribution of this module and related
21: * materials are subject to the restrictions of a license agreement.
22: * Consult the Preface in the User's Manual for the full terms of
23: * this agreement.
24: *
25: */
26:
27:
28: /* LINTLIBRARY */
29:
30: #include <stdio.h>
31: #include <signal.h>
32: #include "ropkt.h"
33:
34: /* */
35:
36: static PE qb2Rpe (qb, len, result)
37: register struct qbuf *qb;
38: int len;
39: int *result;
40: {
41: return qb2pe (qb, len, 2, result);
42: }
43:
44: /* modify underling service */
45:
46: int RoSetThorn (sd, roi)
47: int sd;
48: struct RoSAPindication *roi;
49: {
50: SBV smask;
51: int result;
52: register struct assocblk *acb;
53:
54: missingP (roi);
55:
56: smask = sigioblock ();
57:
58: if ((acb = findacblk (sd)) == NULL) {
59: (void) sigiomask (smask);
60: return rosaplose (roi, ROS_PARAMETER, NULLCP,
61: "invalid association descriptor");
62: }
63:
64: if (acb -> acb_flags & ACB_ROS) {
65: acb -> acb_getosdu = qb2Rpe;
66: result = OK;
67: }
68: else
69: result = rosaplose (roi, ROS_OPERATION, NULLCP,
70: "not an association descriptor for ROS");
71:
72:
73: (void) sigiomask (smask);
74:
75: return result;
76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.