|
|
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.