OFFIS DCMTK  Version 3.6.0
ofdefine.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 developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: ofstd
15  *
16  * Author: Andreas Barth
17  *
18  * Purpose: common defines for configuration
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:15:50 $
22  * CVS/RCS Revision: $Revision: 1.2 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef OFDEFINE_H
30 #define OFDEFINE_H
31 
32 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
33 #include "dcmtk/ofstd/ofcast.h"
34 
35 #define INCLUDE_CSTRING
36 #include "dcmtk/ofstd/ofstdinc.h"
37 
38 
39 #ifdef HAVE_BZERO
40 #ifndef HAVE_PROTOTYPE_BZERO
41 BEGIN_EXTERN_C
42 extern void bzero(char* s, int len);
43 END_EXTERN_C
44 #endif
45 #endif
46 
47 
48 /* memzero */
49 #ifdef HAVE_MEMSET
50 # undef memzero
51 # define memzero(d, n) memset((d), 0, (n))
52 # define HAVE_MEMZERO /* This makes using this easier */
53 #else
54 # ifdef HAVE_BZERO
55 # undef memzero
56 // some platforms, e.g. OSF1, require the first parameter to be char *.
57 # define memzero(d, n) bzero(OFstatic_cast(char *, d), (n))
58 # define HAVE_MEMZERO /* This makes using this easier */
59 # endif
60 #endif
61 
62 /* memcpy */
63 #ifndef HAVE_MEMCPY
64 # ifdef HAVE_BCOPY
65 # undef memcpy
66 # define memcpy(d, s, n) bcopy((s), (d), (n))
67 # define HAVE_MEMCPY /* This makes using this easier */
68 # endif
69 #endif
70 
71 /* memmove */
72 #ifndef HAVE_MEMMOVE
73 # ifdef HAVE_BCOPY
74 # undef memmove
75 # define memmove(d, s, n) bcopy ((s), (d), (n))
76 # define HAVE_MEMMOVE /* This makes using this easier */
77 # endif
78 #endif
79 
80 /* memcmp */
81 #ifndef HAVE_MEMCMP
82 # ifdef HAVE_BCMP
83 # undef memcmp
84 # define memcmp(d, s, n) bcmp((s), (d), (n))
85 # define HAVE_MEMCMP /* This makes using this easier */
86 # endif
87 #endif
88 
89 /* strchr, strrchr */
90 #ifndef HAVE_STRCHR
91 # ifdef HAVE_INDEX
92 # undef strchr
93 # define strchr index
94 # undef strrchr
95 # define strrchr rindex
96 # define HAVE_STRCHR /* This makes using this easier */
97 # define HAVE_STRRCHR /* This makes using this easier */
98 # endif
99 #endif
100 
101 #endif
102 
103 /*
104  * CVS/RCS Log:
105  * $Log: ofdefine.h,v $
106  * Revision 1.2 2010-10-14 13:15:50 joergr
107  * Updated copyright header. Added reference to COPYRIGHT file.
108  *
109  * Revision 1.1 2009-09-28 12:19:02 joergr
110  * Moved general purpose definition file from module dcmdata to ofstd, and
111  * added new defines in order to make the usage easier.
112  *
113  * Revision 1.8 2005/12/08 16:28:05 meichel
114  * Changed include path schema for all DCMTK header files
115  *
116  * Revision 1.7 2002/11/27 12:07:21 meichel
117  * Adapted module dcmdata to use of new header file ofstdinc.h
118  *
119  * Revision 1.6 2001/06/01 15:48:35 meichel
120  * Updated copyright header
121  *
122  * Revision 1.5 2000/03/08 16:26:12 meichel
123  * Updated copyright header.
124  *
125  * Revision 1.4 1999/03/31 09:24:33 meichel
126  * Updated copyright header in module dcmdata
127  *
128  *
129  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2