OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmnet
include
dcmtk
dcmnet
dicom.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, OFFIS, Oldenburg University and CERIUM
19
**
20
** This software and supporting documentation were
21
** developed by
22
**
23
** Institut OFFIS
24
** Bereich Kommunikationssysteme
25
** Westerstr. 10-12
26
** 26121 Oldenburg, Germany
27
**
28
** Fachbereich Informatik
29
** Abteilung Prozessinformatik
30
** Carl von Ossietzky Universitaet Oldenburg
31
** Ammerlaender Heerstr. 114-118
32
** 26111 Oldenburg, Germany
33
**
34
** CERIUM
35
** Laboratoire SIM
36
** Faculte de Medecine
37
** 2 Avenue du Pr. Leon Bernard
38
** 35043 Rennes Cedex, France
39
**
40
** for CEN/TC251/WG4 as a contribution to the Radiological
41
** Society of North America (RSNA) 1993 Digital Imaging and
42
** Communications in Medicine (DICOM) Demonstration.
43
**
44
** THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER OFFIS,
45
** OLDENBURG UNIVERSITY NOR CERIUM MAKE ANY WARRANTY REGARDING
46
** THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR
47
** FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER
48
** DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE
49
** ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE
50
** IS WITH THE USER.
51
**
52
** Copyright of the software and supporting documentation
53
** is, unless otherwise stated, jointly owned by OFFIS,
54
** Oldenburg University and CERIUM and free access is hereby
55
** granted as a license to use this software, copy this
56
** software and prepare derivative works based upon this
57
** software. However, any distribution of this software
58
** source code or supporting documentation or derivative
59
** works (source code and supporting documentation) must
60
** include the three paragraphs of this copyright notice.
61
**
62
*/
63
64
/*
65
** dicom.h
66
**
67
** This header defines public typedefs for the DICOM software produced
68
** by the CEN Dicom Development Team. These definitions are
69
** meant to be used in a number of packages and need to be in a central
70
** location.
71
**
72
** The header file has evolved from a version written for the
73
** RSNA'92 InfoRAD DICOM Demonstration by:
74
**
75
** Stephen Moore (smm@wuerl.wustl.edu)
76
** Electronic Radiology Laboratory
77
** Mallinckrodt Institute of Radiology
78
** Washington University School of Medicine
79
** 23-May-1992
80
**
81
**
82
** Modifications:
83
** Andrew Hewett
84
** OFFIS/University of Oldenburg, Germany.
85
**
86
**
87
** Last Update: $Author: joergr $
88
** Update Date: $Date: 2010-12-01 08:26:10 $
89
** CVS/RCS Revision: $Revision: 1.14 $
90
** Status: $State: Exp $
91
**
92
** CVS/RCS Log at end of file
93
**
94
*/
95
96
#ifndef DICOM_H
97
#define DICOM_H
98
99
#include "dcmtk/config/osconfig.h"
/* make sure OS specific configuration is included first */
100
101
#define INCLUDE_CSTDLIB
102
#define INCLUDE_CSTDIO
103
#define INCLUDE_LIBC
104
#define INCLUDE_UNISTD
105
#include "dcmtk/ofstd/ofstdinc.h"
106
107
#include "dcmtk/dcmnet/cond.h"
/* condition typedefs */
108
#include "dcmtk/dcmnet/dcompat.h"
/* compatability routines */
109
#include "dcmtk/dcmdata/dctypes.h"
/* dcmdata toolkit basic types */
110
#include "dcmtk/dcmdata/dcuid.h"
/* dcmdata UID definitions */
111
112
/*
113
* Useful Types
114
*/
115
116
/* these types are for backwards compatibility */
117
typedef
Uint16 U_SHORT;
/* normal unsigned short*/
118
typedef
Uint32 U_LONG;
/* normal unsigned long */
119
typedef
Uint32 MASK_32;
/* for bit masks */
120
121
122
#define DICOM_STDAPPLICATIONCONTEXT UID_StandardApplicationContext
123
#define DICOM_NET_IMPLEMENTATIONCLASSUID OFFIS_IMPLEMENTATION_CLASS_UID
124
#define DICOM_NET_IMPLEMENTATIONVERSIONNAME OFFIS_DTK_IMPLEMENTATION_VERSION_NAME
125
126
/* network type constants as used by the DUL layer */
127
#define DICOM_APPLICATION_ACCEPTOR 0x01
128
#define DICOM_APPLICATION_REQUESTOR 0x02
129
130
/*
131
** The following defines are used in some levels of the network code.
132
*/
133
134
#define DIC_US_LEN sizeof(DIC_US)
135
#define DIC_UL_LEN sizeof(DIC_UL)
136
#define DIC_UI_LEN 64
137
#define DIC_AE_LEN 16
138
#define DIC_SH_LEN 16
139
#define DIC_PN_LEN 64
140
#define DIC_LO_LEN 64
141
#define DIC_CS_LEN 16
142
#define DIC_DS_LEN 16
143
#define DIC_IS_LEN 12
144
#define DIC_AT_LEN (2*sizeof(DIC_US))
145
#define DIC_NODENAME_LEN 128
146
147
#define DICOM_UI_LENGTH DIC_UI_LEN
148
149
typedef
Uint16 DIC_US;
150
typedef
Uint32 DIC_UL;
151
typedef
char
DIC_UI[DIC_UI_LEN + 1];
152
typedef
char
DIC_AE[DIC_AE_LEN + 1];
153
typedef
char
DIC_SH[DIC_SH_LEN + 1];
154
typedef
char
DIC_PN[DIC_PN_LEN + 1];
155
typedef
char
DIC_LO[DIC_LO_LEN + 1];
156
typedef
char
DIC_CS[DIC_CS_LEN + 1];
157
typedef
char
DIC_DS[DIC_DS_LEN + 1];
158
typedef
char
DIC_IS[DIC_IS_LEN + 1];
159
typedef
char
DIC_NODENAME[DIC_NODENAME_LEN + 1];
160
161
162
/*
163
* Useful Macros
164
*/
165
166
#ifndef MAX
167
#define MAX(x, y) (((x) < (y)) ? (y) : (x))
168
#endif
169
#ifndef MIN
170
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
171
#endif
172
#ifndef IS_EVEN
173
#define IS_EVEN(i) (~(i) & 0x01)
174
#endif
175
#ifndef DIM_OF
176
#define DIM_OF(a) (sizeof(a) / sizeof(a[0]))
177
#endif
178
#ifndef IN_RANGE
179
#define IN_RANGE(n, lo, hi) ((lo) <= n && (n) <= (hi))
180
#endif
181
182
#endif
183
184
/*
185
** CVS Log
186
** $Log: dicom.h,v $
187
** Revision 1.14 2010-12-01 08:26:10 joergr
188
** Added OFFIS copyright header (beginning with the year 1994).
189
**
190
** Revision 1.13 2010-10-14 13:17:22 joergr
191
** Updated copyright header. Added reference to COPYRIGHT file.
192
**
193
** Revision 1.12 2005/12/08 16:02:20 meichel
194
** Changed include path schema for all DCMTK header files
195
**
196
** Revision 1.11 2004/08/03 11:42:43 meichel
197
** Headers libc.h and unistd.h are now included via ofstdinc.h
198
**
199
** Revision 1.10 2002/11/27 13:04:35 meichel
200
** Adapted module dcmnet to use of new header file ofstdinc.h
201
**
202
** Revision 1.9 2001/10/12 10:18:26 meichel
203
** Replaced the CONDITION types, constants and functions in the dcmnet module
204
** by an OFCondition based implementation which eliminates the global condition
205
** stack. This is a major change, caveat emptor!
206
**
207
** Revision 1.8 2001/09/26 12:28:59 meichel
208
** Implemented changes in dcmnet required by the adaptation of dcmdata
209
** to class OFCondition. Removed some unused code.
210
**
211
** Revision 1.7 2000/08/10 14:50:53 meichel
212
** Added initial OpenSSL support.
213
**
214
** Revision 1.6 2000/02/23 15:12:25 meichel
215
** Corrected macro for Borland C++ Builder 4 workaround.
216
**
217
** Revision 1.5 2000/02/01 10:24:06 meichel
218
** Avoiding to include <stdlib.h> as extern "C" on Borland C++ Builder 4,
219
** workaround for bug in compiler header files.
220
**
221
** Revision 1.4 1997/07/21 08:40:09 andreas
222
** - Replace all boolean types (BOOLEAN, CTNBOOLEAN, DICOM_BOOL, BOOL)
223
** with one unique boolean type OFBool.
224
**
225
** Revision 1.3 1997/02/06 12:15:41 hewett
226
** Updated preliminary Apple Macintosh support for the Metrowerks CodeWarrior
227
** version 11 compiler and environment.
228
**
229
** Revision 1.2 1996/09/27 08:29:42 hewett
230
** Support for Win32. Now does not define a type BOOLEAN if <WINSOCK.H>
231
** is included. Renames the ERROR(A) macro to be CONDERROR(A) macro due
232
** to a clash with Windows include files.
233
**
234
** Revision 1.1.1.1 1996/03/26 18:38:45 hewett
235
** Initial Release.
236
**
237
**
238
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2