|
|
1.1 ! root 1: /* oper_ureject.c - deal with user rejection of an operation */ ! 2: ! 3: #ifndef lint ! 4: static char *rcsid = "$Header: /f/osi/quipu/RCS/oper_ureject.c,v 7.1 90/03/15 11:19:05 mrose Exp $"; ! 5: #endif ! 6: ! 7: /* ! 8: * $Header: /f/osi/quipu/RCS/oper_ureject.c,v 7.1 90/03/15 11:19:05 mrose Exp $ ! 9: * ! 10: * ! 11: * $Log: oper_ureject.c,v $ ! 12: * Revision 7.1 90/03/15 11:19:05 mrose ! 13: * quipu-sync ! 14: * ! 15: * Revision 7.0 89/11/23 22:17:55 mrose ! 16: * Release 6.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 "rosap.h" ! 34: #include "quipu/util.h" ! 35: #include "quipu/connection.h" ! 36: ! 37: extern LLog * log_dsap; ! 38: ! 39: oper_ureject(conn, rou) ! 40: struct connection * conn; ! 41: struct RoSAPureject * rou; ! 42: { ! 43: DLOG(log_dsap,LLOG_TRACE,( "oper_ureject")); ! 44: ! 45: if(rou->rou_noid) ! 46: { ! 47: LLOG(log_dsap,LLOG_EXCEPTIONS,( "Non-specific U-REJECT.INDICATION : %d (%d)", ! 48: rou->rou_reason,conn->cn_ad)); ! 49: } ! 50: else ! 51: { ! 52: struct oper_act * on; ! 53: ! 54: for(on=conn->cn_operlist; on!=NULLOPER; on=on->on_next_conn) ! 55: if(on->on_id == rou->rou_id) ! 56: break; ! 57: ! 58: if(on == NULLOPER) ! 59: { ! 60: LLOG(log_dsap,LLOG_EXCEPTIONS,( "Unlocatable U-REJECT.INDICATION : %d (%d)", ! 61: rou->rou_reason,conn->cn_ad)); ! 62: return; ! 63: } ! 64: ! 65: if(on->on_state == ON_ABANDONED) ! 66: { ! 67: LLOG(log_dsap, LLOG_NOTICE, ("oper_result - operation had been abandoned")); ! 68: oper_extract(on); ! 69: return; ! 70: } ! 71: ! 72: oper_fail_wakeup(on); ! 73: } ! 74: } ! 75:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.