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
this class represents a TCP/IP based transport connection which can be a transparent TCP/IP socket co...
factory class which creates transport layer connections.
double linked list template class.
Abstract base class for User Identity Negotiation user items.
general purpose list class for use with dcmnet module.