Start development on 386BSD 0.0
[unix-history] / .ref-BSD-4_3_Net_2 / usr / src / contrib / isode / quipu / oper_ureject.c
CommitLineData
9e8e5516
C
1/* oper_ureject.c - deal with user rejection of an operation */
2
3#ifndef lint
4static char *rcsid = "$Header: /f/osi/quipu/RCS/oper_ureject.c,v 7.3 91/02/22 09:39:37 mrose Interim $";
5#endif
6
7/*
8 * $Header: /f/osi/quipu/RCS/oper_ureject.c,v 7.3 91/02/22 09:39:37 mrose Interim $
9 *
10 *
11 * $Log: oper_ureject.c,v $
12 * Revision 7.3 91/02/22 09:39:37 mrose
13 * Interim 6.8
14 *
15 * Revision 7.2 90/10/17 11:54:36 mrose
16 * sync
17 *
18 * Revision 7.1 90/03/15 11:19:05 mrose
19 * quipu-sync
20 *
21 * Revision 7.0 89/11/23 22:17:55 mrose
22 * Release 6.0
23 *
24 */
25
26/*
27 * NOTICE
28 *
29 * Acquisition, use, and distribution of this module and related
30 * materials are subject to the restrictions of a license agreement.
31 * Consult the Preface in the User's Manual for the full terms of
32 * this agreement.
33 *
34 */
35
36
37/* LINTLIBRARY */
38
39#include "rosap.h"
40#include "quipu/util.h"
41#include "quipu/connection.h"
42
43extern LLog * log_dsap;
44
45oper_ureject(conn, rou)
46struct connection * conn;
47struct RoSAPureject * rou;
48{
49 DLOG(log_dsap,LLOG_TRACE,( "oper_ureject"));
50
51 if(rou->rou_noid)
52 {
53 LLOG(log_dsap,LLOG_EXCEPTIONS,( "Non-specific U-REJECT.INDICATION : %d (%d)",
54 rou->rou_reason,conn->cn_ad));
55 }
56 else
57 {
58 struct oper_act * on;
59
60 for(on=conn->cn_operlist; on!=NULLOPER; on=on->on_next_conn)
61 if(on->on_id == rou->rou_id)
62 break;
63
64 if(on == NULLOPER)
65 {
66 LLOG(log_dsap,LLOG_EXCEPTIONS,( "Unlocatable U-REJECT.INDICATION : %d (%d)",
67 rou->rou_reason,conn->cn_ad));
68 return;
69 }
70
71 if(on->on_state == ON_ABANDONED)
72 {
73 LLOG(log_dsap, LLOG_NOTICE, ("oper_result - operation had been abandoned"));
74 oper_extract(on);
75 return;
76 }
77
78 oper_fail_wakeup(on);
79 }
80}
81