74 #include "dcmtk/config/osconfig.h"
75 #include "dcmtk/dcmnet/extneg.h"
76 #include "dcmtk/dcmnet/dcuserid.h"
81 #define NETWORK_DISCONNECTED 2
82 #define NETWORK_CONNECTED 3
85 DUL_ASSOC_WAITINGFORACK,
86 DUL_ASSOC_ESTABLISHED,
92 #define ASSOCIATION_DISCONNECTED 2
93 #define ASSOCIATION_ABORTED 4
94 #define ASSOCIATION_RELEASED 5
98 int applicationFunction;
102 unsigned long options;
115 int applicationFunction;
117 DUL_ASSOC_STATE associationState;
122 unsigned long maxPDVRequestor;
123 unsigned long maxPDVAcceptor;
124 unsigned long maxPDV;
125 unsigned long maxPDVInput;
126 unsigned long receiveQp1;
127 unsigned long receiveQp2;
128 char calledAPTitle[20];
129 char callingAPTitle[20];
130 char applicationContextName[68];
131 char abstractSyntaxName[68];
132 void *receivePDUQueue;
133 DUL_PRESENTATIONCONTEXTID presentationContextID;
137 unsigned char pduHead[6];
138 unsigned char nextPDUType;
139 unsigned char nextPDUReserved;
140 unsigned long nextPDULength;
141 unsigned long compatibilityMode;
145 int associatePDUFlag;
147 unsigned long associatePDULength;
149 unsigned char *pdvPointer;
150 unsigned long fragmentBufferLength;
151 unsigned char *fragmentBuffer;
155 #define KEY_NETWORK "KEY NETWORK"
156 #define KEY_ASSOCIATION "KEY ASSOCIATION"
158 #define AE_REQUESTOR "AE REQUESTOR"
159 #define AE_ACCEPTOR "AE ACCEPTOR"
160 #define AE_BOTH "AE BOTH"
171 #define DEFAULT_TIMEOUT 100
179 unsigned short length;
180 char data[DICOM_UI_LENGTH + 1];
187 unsigned short length;
188 unsigned long maxLength;
194 unsigned short length;
195 unsigned short maximumOperationsInvoked;
196 unsigned short maximumOperationsProvided;
202 unsigned short length;
203 char implementationClassUID[DICOM_UI_LENGTH + 1];
209 unsigned short length;
210 char implementationVersionName[16 + 1];
217 unsigned short length;
218 unsigned short UIDLength;
219 char SOPClassUID[DICOM_UI_LENGTH + 1];
220 unsigned char SCURole;
221 unsigned char SCPRole;
228 unsigned short length;
229 unsigned char contextID;
231 unsigned char result;
242 unsigned short length;
257 unsigned long length;
258 unsigned short protocol;
259 unsigned char rsv2[2];
260 char calledAPTitle[18];
261 char callingAPTitle[18];
262 unsigned char rsv3[32];
273 unsigned long length;
275 unsigned char result;
276 unsigned char source;
277 unsigned char reason;
282 unsigned long length;
283 unsigned char presentationContextID;
284 unsigned char messageControlHeader;
292 unsigned long length;
296 #define DUL_PROTOCOL (unsigned short) 0x01
298 #define DUL_TYPEAPPLICATIONCONTEXT (unsigned char)0x10
299 #define DUL_TYPEPRESENTATIONCONTEXTRQ (unsigned char)0x20
300 #define DUL_TYPEPRESENTATIONCONTEXTAC (unsigned char)0x21
301 #define DUL_TYPEABSTRACTSYNTAX (unsigned char)0x30
302 #define DUL_TYPETRANSFERSYNTAX (unsigned char)0x40
303 #define DUL_TYPEUSERINFO (unsigned char)0x50
304 #define DUL_TYPEMAXLENGTH (unsigned char)0x51
305 #define DUL_TYPEIMPLEMENTATIONCLASSUID (unsigned char)0x52
306 #define DUL_TYPEASYNCOPERATIONS (unsigned char)0x53
307 #define DUL_TYPESCUSCPROLE (unsigned char)0x54
308 #define DUL_TYPEIMPLEMENTATIONVERSIONNAME (unsigned char)0x55
310 #define COPY_LONG_BIG(A,B) { \
311 (B)[0] = (unsigned char)((A)>>24); \
312 (B)[1] = (unsigned char)((A)>>16) ; \
313 (B)[2] = (unsigned char)((A)>>8) ; \
314 (B)[3] = (unsigned char)(A) ; }
315 #define COPY_SHORT_BIG(A,B) { \
316 (B)[0] = (unsigned char)((A)>>8); \
317 (B)[1] = (unsigned char)(A) ; }
319 #define EXTRACT_LONG_BIG(A,B) { \
320 (B) = (unsigned long)(A)[3] \
321 | (((unsigned long)(A)[2]) << 8) \
322 | (((unsigned long)(A)[1]) << 16) \
323 | (((unsigned long)(A)[0]) << 24); \
326 #define EXTRACT_SHORT_BIG(A,B) { (B) = (unsigned short)(A)[1] | (((unsigned short)(A)[0]) << 8); }
328 #endif // #ifndef DULSTRUC_H