Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages

dctypes.h

00001 /*
00002  *
00003  *  Copyright (C) 1994-2003, OFFIS
00004  *
00005  *  This software and supporting documentation were developed by
00006  *
00007  *    Kuratorium OFFIS e.V.
00008  *    Healthcare Information and Communication Systems
00009  *    Escherweg 2
00010  *    D-26121 Oldenburg, Germany
00011  *
00012  *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY
00013  *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR
00014  *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR
00015  *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND
00016  *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
00017  *
00018  *  Module:  dcmdata
00019  *
00020  *  Author:  Gerd Ehlers, Andrew Hewett
00021  *
00022  *  Purpose: global type and constant definitions
00023  *
00024  *  Last Update:      $Author: joergr $
00025  *  Update Date:      $Date: 2003/04/22 08:19:09 $
00026  *  Source File:      $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dctypes.h,v $
00027  *  CVS/RCS Revision: $Revision: 1.19 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 
00035 #ifndef DCTYPES_H
00036 #define DCTYPES_H 1
00037 
00038 #include "osconfig.h"    /* make sure OS specific configuration is included first */
00039 #include "oftypes.h"
00040 
00041 #define INCLUDE_CSTDLIB
00042 #include "ofstdinc.h"
00043 
00044 
00045 /*
00046 ** Macro Definitions
00047 */
00048 
00049 // XML namespace URI for the dcmtk
00050 #define DCMTK_XML_NAMESPACE_URI "http://dicom.offis.de/dcmtk"
00051 
00052 
00053 /*
00054 ** Type Definitions
00055 */
00056 
00057 typedef Uint8           BYTE;
00058 typedef Sint8           SBYTE;
00059 
00060 
00061 /*
00062 ** Enumerated Types
00063 */
00064 
00065 typedef enum {
00066     EET_ExplicitLength = 0,
00067     EET_UndefinedLength = 1
00068 } E_EncodingType;
00069 
00070 
00071 typedef enum {
00072     EGL_noChange = 0,       // no change of GL values, WARNING: DO NOT USE FOR WRITE
00073     EGL_withoutGL = 1,      // remove group length tags
00074     EGL_withGL = 2,         // add group length tags for every group
00075     EGL_recalcGL = 3        // recalculate values for existing group length tags
00076 } E_GrpLenEncoding;
00077 
00078 typedef enum {
00079     EPD_noChange = 0,       // no change of padding tags
00080     EPD_withoutPadding = 1, // remove all padding tags
00081     EPD_withPadding = 2     // add padding tags
00082 } E_PaddingEncoding;
00083 
00084 
00085 typedef enum {
00086     ESM_fromHere = 0,
00087     ESM_fromStackTop = 1,
00088     ESM_afterStackTop = 2
00089 } E_SearchMode;
00090 
00091 
00092 typedef enum {
00093     ERW_init = 0,
00094     ERW_ready = 1,
00095     ERW_inWork = 2,
00096     ERW_notInitialized = 3
00097 } E_TransferState;
00098 
00099 
00100 
00103 struct DCMTypes
00104 {
00105   public:
00106 
00111 
00113     static const size_t PF_shortenLongTagValues;
00114 
00116     static const size_t PF_showTreeStructure;
00117 
00119     static const size_t PF_lastEntry;
00120 
00122 
00123 
00128 
00130     static const size_t XF_addDocumentType;
00131 
00133     static const size_t XF_writeBinaryData;
00134 
00136     static const size_t XF_encodeBase64;
00137     
00139     static const size_t XF_useDcmtkNamespace;
00140 
00142     static const size_t XF_embedDocumentType;
00144 };
00145 
00146 
00147 // Undefined Length Identifier
00148 const Uint32 DCM_UndefinedLength = 0xffffffff;
00149 
00150 
00151 #endif /* !DCTYPES_H */
00152 
00153 
00154 /*
00155  * CVS/RCS Log:
00156  * $Log: dctypes.h,v $
00157  * Revision 1.19  2003/04/22 08:19:09  joergr
00158  * Added new command line option which allows to embed the content of the DTD
00159  * instead of referencing the DTD file.
00160  *
00161  * Revision 1.18  2003/04/01 14:57:08  joergr
00162  * Added support for XML namespaces.
00163  *
00164  * Revision 1.17  2002/12/06 12:21:00  joergr
00165  * Enhanced "print()" function by re-working the implementation and replacing
00166  * the boolean "showFullData" parameter by a more general integer flag.
00167  *
00168  * Revision 1.16  2002/11/27 12:07:23  meichel
00169  * Adapted module dcmdata to use of new header file ofstdinc.h
00170  *
00171  * Revision 1.15  2002/07/10 11:45:40  meichel
00172  * Moved definitions for Uint8, Sint8 ... Float64 from dcmdata to ofstd
00173  *   since these types are not DICOM specific
00174  *
00175  * Revision 1.14  2002/06/06 14:51:13  meichel
00176  * Corrected code for inclusion of stdlib.h
00177  *
00178  * Revision 1.13  2002/05/14 08:20:29  joergr
00179  * Added support for Base64 (MIME) encoded binary data.
00180  *
00181  * Revision 1.12  2002/04/25 10:07:13  joergr
00182  * Added support for XML output of DICOM objects.
00183  *
00184  * Revision 1.11  2001/06/01 15:48:45  meichel
00185  * Updated copyright header
00186  *
00187  * Revision 1.10  2000/03/08 16:26:19  meichel
00188  * Updated copyright header.
00189  *
00190  * Revision 1.9  2000/03/03 14:05:26  meichel
00191  * Implemented library support for redirecting error messages into memory
00192  *   instead of printing them to stdout/stderr for GUI applications.
00193  *
00194  * Revision 1.8  2000/02/07 14:44:45  meichel
00195  * The typedef for Sint8 now defaults to char instead of signed char.
00196  *   This avoids warnings on certain c-front related compilers.
00197  *   The old behaviour can be restored by compiling with the symbol
00198  *   CHAR_IS_UNSIGNED defined.
00199  *
00200  * Revision 1.7  1999/03/31 09:24:51  meichel
00201  * Updated copyright header in module dcmdata
00202  *
00203  *
00204  */


Generated on 29 Apr 2005 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.4.2