OFFIS DCMTK  Version 3.6.0
dulfsm.h
1 /*
2  *
3  * Copyright (C) 1994-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were partly developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  * For further copyrights, see the following paragraphs.
14  *
15  */
16 
17 /*
18  Copyright (C) 1993, 1994, RSNA and Washington University
19 
20  The software and supporting documentation for the Radiological
21  Society of North America (RSNA) 1993, 1994 Digital Imaging and
22  Communications in Medicine (DICOM) Demonstration were developed
23  at the
24  Electronic Radiology Laboratory
25  Mallinckrodt Institute of Radiology
26  Washington University School of Medicine
27  510 S. Kingshighway Blvd.
28  St. Louis, MO 63110
29  as part of the 1993, 1994 DICOM Central Test Node project for, and
30  under contract with, the Radiological Society of North America.
31 
32  THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR
33  WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS
34  PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
35  USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY
36  SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF
37  THE SOFTWARE IS WITH THE USER.
38 
39  Copyright of the software and supporting documentation is
40  jointly owned by RSNA and Washington University, and free access
41  is hereby granted as a license to use this software, copy this
42  software and prepare derivative works based upon this software.
43  However, any distribution of this software source code or
44  supporting documentation or derivative works (source code and
45  supporting documentation) must include the three paragraphs of
46  the copyright notice.
47 */
48 
49 /*
50 ** DICOM 93
51 ** Electronic Radiology Laboratory
52 ** Mallinckrodt Institute of Radiology
53 ** Washington University School of Medicine
54 **
55 ** Module Name(s):
56 ** Author, Date: Stephen M. Moore, 11-May-92
57 ** Intent: This module defines structures and constants needed
58 ** to implement the DICOM Upper Layer state machine.
59 ** Last Update: $Author: joergr $, $Date: 2010-12-01 08:26:36 $
60 ** Revision: $Revision: 1.6 $
61 ** Status: $State: Exp $
62 */
63 
64 #ifndef DULFSM_H
65 #define DULFSM_H
66 
67 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
68 
69 #define A_ASSOCIATE_REQ_LOCAL_USER 0
70 #define TRANS_CONN_CONFIRM_LOCAL_USER 1
71 #define A_ASSOCIATE_AC_PDU_RCV 2
72 #define A_ASSOCIATE_RJ_PDU_RCV 3
73 #define TRANS_CONN_INDICATION 4
74 #define A_ASSOCIATE_RQ_PDU_RCV 5
75 #define A_ASSOCIATE_RESPONSE_ACCEPT 6
76 #define A_ASSOCIATE_RESPONSE_REJECT 7
77 #define P_DATA_REQ 8
78 #define P_DATA_TF_PDU_RCV 9
79 #define A_RELEASE_REQ 10
80 #define A_RELEASE_RQ_PDU_RCV 11
81 #define A_RELEASE_RP_PDU_RCV 12
82 #define A_RELEASE_RESP 13
83 #define A_ABORT_REQ 14
84 #define A_ABORT_PDU_RCV 15
85 #define TRANS_CONN_CLOSED 16
86 #define ARTIM_TIMER_EXPIRED 17
87 #define INVALID_PDU 18
88 #define DUL_NUMBER_OF_EVENTS 19
89 
90 #define NOSTATE -1
91 #define STATE1 1
92 #define STATE2 2
93 #define STATE3 3
94 #define STATE4 4
95 #define STATE5 5
96 #define STATE6 6
97 #define STATE7 7
98 #define STATE8 8
99 #define STATE9 9
100 #define STATE10 10
101 #define STATE11 11
102 #define STATE12 12
103 #define STATE13 13
104 #define DUL_NUMBER_OF_STATES 13
105 
106 typedef enum {
107  AE_1, AE_2, AE_3, AE_4, AE_5, AE_6, AE_7, AE_8,
108  DT_1, DT_2,
109  AA_1, AA_2, AA_2T, AA_3, AA_4, AA_5, AA_6, AA_7, AA_8,
110  AR_1, AR_2, AR_3, AR_4, AR_5, AR_6, AR_7, AR_8, AR_9, AR_10,
111  NOACTION
112 } DUL_FSM_ACTION;
113 
114 typedef struct {
115  int event;
116  const char *eventName;
118 
119 typedef struct {
120  DUL_FSM_ACTION action;
121  OFCondition (*actionFunction)(PRIVATE_NETWORKKEY **network,
122  PRIVATE_ASSOCIATIONKEY **association,
123  int nextState, void *params);
124  char actionName[64];
125 } FSM_FUNCTION;
126 
127 typedef struct {
128  int event;
129  int state;
130  DUL_FSM_ACTION action;
131  int nextState;
132  char eventName[64];
133  char actionName[64];
134  OFCondition (*actionFunction)(PRIVATE_NETWORKKEY **network,
135  PRIVATE_ASSOCIATIONKEY **association,
136  int nextState, void *params);
137 
138 } FSM_ENTRY;
139 
140 #endif
141 
142 /*
143 ** CVS Log
144 ** $Log: dulfsm.h,v $
145 ** Revision 1.6 2010-12-01 08:26:36 joergr
146 ** Added OFFIS copyright header (beginning with the year 1994).
147 **
148 ** Revision 1.5 2010-10-14 13:19:29 joergr
149 ** Updated copyright header. Added reference to COPYRIGHT file.
150 **
151 ** Revision 1.4 2005/12/08 15:48:09 meichel
152 ** Updated Makefiles to correctly install header files
153 **
154 ** Revision 1.3 2001/10/12 10:18:39 meichel
155 ** Replaced the CONDITION types, constants and functions in the dcmnet module
156 ** by an OFCondition based implementation which eliminates the global condition
157 ** stack. This is a major change, caveat emptor!
158 **
159 ** Revision 1.2 1999/03/29 11:20:07 meichel
160 ** Cleaned up dcmnet code for char* to const char* assignments.
161 **
162 ** Revision 1.1.1.1 1996/03/26 18:38:46 hewett
163 ** Initial Release.
164 **
165 **
166 */
167 


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2