|
|
1.1 root 1: /* ro2ssreleas2.c - respond to release */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/rosap/RCS/ro2ssreleas2.c,v 6.0 89/03/18 23:42:18 mrose Rel $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/rosap/RCS/ro2ssreleas2.c,v 6.0 89/03/18 23:42:18 mrose Rel $
9: *
10: * Based on an TCP-based implementation by George Michaelson of University
11: * College London.
12: *
13: *
14: * $Log: ro2ssreleas2.c,v $
15: * Revision 6.0 89/03/18 23:42:18 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: /* RO-END.RESPONSE */
38:
39: int RoEndResponse (sd, roi)
40: int sd;
41: struct RoSAPindication *roi;
42: {
43: SBV smask;
44: int result;
45: register struct assocblk *acb;
46:
47: missingP (roi);
48:
49: smask = sigioblock ();
50:
51: rosapFsig (acb, sd);
52:
53: result = RoEndResponseAux (acb, roi);
54:
55: (void) sigiomask (smask);
56:
57: return result;
58:
59: }
60:
61: /* */
62:
63: static int RoEndResponseAux (acb, roi)
64: register struct assocblk *acb;
65: struct RoSAPindication *roi;
66: {
67: int result;
68: struct SSAPindication sis;
69: register struct SSAPindication *si = &sis;
70: register struct SSAPabort *sa = &si -> si_abort;
71:
72: if (SRelResponse (acb -> acb_fd, SC_ACCEPT, NULLCP, 0, si) == NOTOK)
73: result = ss2roslose (acb, roi, "SRelResponse", sa);
74: else {
75: acb -> acb_fd = NOTOK;
76: result = OK;
77: }
78:
79: freeacblk (acb);
80:
81: return result;
82: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.