174 lines
4.7 KiB
C
174 lines
4.7 KiB
C
|
/*
|
||
|
*
|
||
|
* Copyright (C) 1994-2016, OFFIS e.V.
|
||
|
* All rights reserved. See COPYRIGHT file for details.
|
||
|
*
|
||
|
* This software and supporting documentation were partly developed by
|
||
|
*
|
||
|
* OFFIS e.V.
|
||
|
* R&D Division Health
|
||
|
* Escherweg 2
|
||
|
* D-26121 Oldenburg, Germany
|
||
|
*
|
||
|
* For further copyrights, see the following paragraphs.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
** Copyright (C) 1993/1994, OFFIS, Oldenburg University and CERIUM
|
||
|
**
|
||
|
** This software and supporting documentation were
|
||
|
** developed by
|
||
|
**
|
||
|
** Institut OFFIS
|
||
|
** Bereich Kommunikationssysteme
|
||
|
** Westerstr. 10-12
|
||
|
** 26121 Oldenburg, Germany
|
||
|
**
|
||
|
** Fachbereich Informatik
|
||
|
** Abteilung Prozessinformatik
|
||
|
** Carl von Ossietzky Universitaet Oldenburg
|
||
|
** Ammerlaender Heerstr. 114-118
|
||
|
** 26111 Oldenburg, Germany
|
||
|
**
|
||
|
** CERIUM
|
||
|
** Laboratoire SIM
|
||
|
** Faculte de Medecine
|
||
|
** 2 Avenue du Pr. Leon Bernard
|
||
|
** 35043 Rennes Cedex, France
|
||
|
**
|
||
|
** for CEN/TC251/WG4 as a contribution to the Radiological
|
||
|
** Society of North America (RSNA) 1993 Digital Imaging and
|
||
|
** Communications in Medicine (DICOM) Demonstration.
|
||
|
**
|
||
|
** THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER OFFIS,
|
||
|
** OLDENBURG UNIVERSITY NOR CERIUM MAKE ANY WARRANTY REGARDING
|
||
|
** THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR
|
||
|
** FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER
|
||
|
** DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE
|
||
|
** ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE
|
||
|
** IS WITH THE USER.
|
||
|
**
|
||
|
** Copyright of the software and supporting documentation
|
||
|
** is, unless otherwise stated, jointly owned by OFFIS,
|
||
|
** Oldenburg University and CERIUM and free access is hereby
|
||
|
** granted as a license to use this software, copy this
|
||
|
** software and prepare derivative works based upon this
|
||
|
** software. However, any distribution of this software
|
||
|
** source code or supporting documentation or derivative
|
||
|
** works (source code and supporting documentation) must
|
||
|
** include the three paragraphs of this copyright notice.
|
||
|
**
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
** dicom.h
|
||
|
**
|
||
|
** This header defines public typedefs for the DICOM software produced
|
||
|
** by the CEN Dicom Development Team. These definitions are
|
||
|
** meant to be used in a number of packages and need to be in a central
|
||
|
** location.
|
||
|
**
|
||
|
** The header file has evolved from a version written for the
|
||
|
** RSNA'92 InfoRAD DICOM Demonstration by:
|
||
|
**
|
||
|
** Stephen Moore (smm@wuerl.wustl.edu)
|
||
|
** Electronic Radiology Laboratory
|
||
|
** Mallinckrodt Institute of Radiology
|
||
|
** Washington University School of Medicine
|
||
|
** 23-May-1992
|
||
|
**
|
||
|
**
|
||
|
** Modifications:
|
||
|
** Andrew Hewett
|
||
|
** OFFIS/University of Oldenburg, Germany.
|
||
|
**
|
||
|
**
|
||
|
*/
|
||
|
|
||
|
#ifndef DICOM_H
|
||
|
#define DICOM_H
|
||
|
|
||
|
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
|
||
|
|
||
|
#define INCLUDE_CSTDLIB
|
||
|
#define INCLUDE_CSTDIO
|
||
|
#define INCLUDE_LIBC
|
||
|
#define INCLUDE_UNISTD
|
||
|
#include "dcmtk/ofstd/ofstdinc.h"
|
||
|
|
||
|
#include "dcmtk/dcmnet/cond.h" /* condition typedefs */
|
||
|
#include "dcmtk/dcmnet/dcompat.h" /* compatibility routines */
|
||
|
#include "dcmtk/dcmdata/dctypes.h" /* dcmdata toolkit basic types */
|
||
|
#include "dcmtk/dcmdata/dcuid.h" /* dcmdata UID definitions */
|
||
|
|
||
|
/*
|
||
|
* Useful Types
|
||
|
*/
|
||
|
|
||
|
/* these types are for backwards compatibility */
|
||
|
typedef Uint16 U_SHORT; /* normal unsigned short*/
|
||
|
typedef Uint32 U_LONG; /* normal unsigned long */
|
||
|
typedef Uint32 MASK_32; /* for bit masks */
|
||
|
|
||
|
|
||
|
#define DICOM_STDAPPLICATIONCONTEXT UID_StandardApplicationContext
|
||
|
|
||
|
/* network type constants as used by the DUL layer */
|
||
|
#define DICOM_APPLICATION_ACCEPTOR 0x01
|
||
|
#define DICOM_APPLICATION_REQUESTOR 0x02
|
||
|
|
||
|
/*
|
||
|
** The following defines are used in some levels of the network code.
|
||
|
*/
|
||
|
|
||
|
#define DIC_US_LEN sizeof(DIC_US)
|
||
|
#define DIC_UL_LEN sizeof(DIC_UL)
|
||
|
#define DIC_UI_LEN 64
|
||
|
#define DIC_AE_LEN 16
|
||
|
#define DIC_SH_LEN 16
|
||
|
#define DIC_PN_LEN 64
|
||
|
#define DIC_LO_LEN 64
|
||
|
#define DIC_CS_LEN 16
|
||
|
#define DIC_DS_LEN 16
|
||
|
#define DIC_IS_LEN 12
|
||
|
#define DIC_AT_LEN (2*sizeof(DIC_US))
|
||
|
#define DIC_NODENAME_LEN 128
|
||
|
|
||
|
#define DICOM_UI_LENGTH DIC_UI_LEN
|
||
|
|
||
|
typedef Uint16 DIC_US;
|
||
|
typedef Uint32 DIC_UL;
|
||
|
typedef char DIC_UI[DIC_UI_LEN + 1];
|
||
|
typedef char DIC_AE[DIC_AE_LEN + 1];
|
||
|
typedef char DIC_SH[DIC_SH_LEN + 1];
|
||
|
typedef char DIC_PN[DIC_PN_LEN + 1];
|
||
|
typedef char DIC_LO[DIC_LO_LEN + 1];
|
||
|
typedef char DIC_CS[DIC_CS_LEN + 1];
|
||
|
typedef char DIC_DS[DIC_DS_LEN + 1];
|
||
|
typedef char DIC_IS[DIC_IS_LEN + 1];
|
||
|
typedef char DIC_NODENAME[DIC_NODENAME_LEN + 1];
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Useful Macros
|
||
|
*/
|
||
|
|
||
|
#ifndef MAX
|
||
|
#define MAX(x, y) (((x) < (y)) ? (y) : (x))
|
||
|
#endif
|
||
|
#ifndef MIN
|
||
|
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
|
||
|
#endif
|
||
|
#ifndef IS_EVEN
|
||
|
#define IS_EVEN(i) (~(i) & 0x01)
|
||
|
#endif
|
||
|
#ifndef DIM_OF
|
||
|
#define DIM_OF(a) (sizeof(a) / sizeof(a[0]))
|
||
|
#endif
|
||
|
#ifndef IN_RANGE
|
||
|
#define IN_RANGE(n, lo, hi) ((lo) <= n && (n) <= (hi))
|
||
|
#endif
|
||
|
|
||
|
#endif
|