|
|
1.1 ! root 1: /* rt2psreleas2.c - RTPM: respond to release */ ! 2: ! 3: #ifndef lint ! 4: static char *rcsid = "$Header: /f/osi/rtsap/RCS/rt2psreleas2.c,v 6.0 89/03/18 23:43:12 mrose Rel $"; ! 5: #endif ! 6: ! 7: /* ! 8: * $Header: /f/osi/rtsap/RCS/rt2psreleas2.c,v 6.0 89/03/18 23:43:12 mrose Rel $ ! 9: * ! 10: * ! 11: * $Log: rt2psreleas2.c,v $ ! 12: * Revision 6.0 89/03/18 23:43:12 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 "rtpkt.h" ! 33: ! 34: /* RT-CLOSE.RESPONSE */ ! 35: ! 36: int RtCloseResponse (sd, reason, data, rti) ! 37: int sd, ! 38: reason; ! 39: PE data; ! 40: struct RtSAPindication *rti; ! 41: { ! 42: SBV smask; ! 43: int result; ! 44: register struct assocblk *acb; ! 45: ! 46: missingP (rti); ! 47: ! 48: smask = sigioblock (); ! 49: ! 50: rtsapFsig (acb, sd); ! 51: ! 52: result = RtCloseResponseAux (acb, reason, data, rti); ! 53: ! 54: (void) sigiomask (smask); ! 55: ! 56: return result; ! 57: } ! 58: ! 59: /* */ ! 60: ! 61: static int RtCloseResponseAux (acb, reason, data, rti) ! 62: register struct assocblk *acb; ! 63: int reason; ! 64: PE data; ! 65: register struct RtSAPindication *rti; ! 66: { ! 67: int result; ! 68: struct AcSAPindication acis; ! 69: register struct AcSAPindication *aci = &acis; ! 70: register struct AcSAPabort *aca = &aci -> aci_abort; ! 71: ! 72: if (!(acb -> acb_flags & ACB_ACS)) ! 73: return rtsaplose (rti, RTS_OPERATION, NULLCP, ! 74: "not an association descriptor for RTS"); ! 75: ! 76: if (data) ! 77: data -> pe_context = acb -> acb_rtsid; ! 78: ! 79: acb -> acb_flags &= ~ACB_STICKY; ! 80: if (AcRelResponse (acb -> acb_fd, ACS_ACCEPT, reason, &data, data ? 1 : 0, ! 81: aci) == NOTOK) ! 82: result = acs2rtslose (acb, rti, "AcRelResponse", aca); ! 83: else ! 84: result = OK; ! 85: ! 86: return result; ! 87: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.