This file is indexed.

/usr/include/dime/Basic.h is in libdime-dev 0.20030921-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
/**************************************************************************\
 * 
 *  FILE: Basic.h
 *
 *  This source file is part of DIME.
 *  Copyright (C) 1998-1999 by Systems In Motion.  All rights reserved.
 *
 *  This library is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License, version 2, as
 *  published by the Free Software Foundation.
 *
 *  This library is distributed in the hope that it will be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  General Public License (the accompanying file named COPYING) for more
 *  details.
 *
 **************************************************************************
 *
 *  If you need DIME for a non-GPL project, contact Systems In Motion
 *  to acquire a Professional Edition License:
 *
 *  Systems In Motion                                   http://www.sim.no/
 *  Prof. Brochs gate 6                                       sales@sim.no
 *  N-7030 Trondheim                                   Voice: +47 22114160
 *  NORWAY                                               Fax: +47 67172912
 *
\**************************************************************************/

#ifndef DIME_BASIC_H
#define DIME_BASIC_H

#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <assert.h>
#include <math.h>

// we prefer to use floats to save mem. Applications needing
// scientific calculations should typedef this to double
typedef float dxfdouble;

#ifdef _WIN32
#include "float.h"
#define M_PI 3.14159265357989
#endif

#define DXFABS(x) ((x)<0?-(x):(x))
#define DXFMAX(x,y) ((x)>(y)?(x):(y))
#define DXFMIN(x,y) ((x)<(y)?(x):(y))
#define DXFDEG2RAD(x) (M_PI*(x)/180.0)
#define DXFRAD2DEG(x) (180.0*(x)/M_PI)


#ifdef __sgi
#define bool int
#define true 1
#define false 0
#endif // __sgi


template <class T> inline
T DXFSQR(const T x)
{
  return x*x;
}

#if defined(__BEOS__)
#include <support/SupportDefs.h>
#else // ! defined(__BEOS__)
typedef signed char int8;
typedef unsigned char uint8;
typedef signed short int16;
typedef unsigned short uint16;
#ifdef _WIN32
typedef long int32;
#else // ! defined(_WIN32)
typedef signed int int32;
#endif // ! defined(_WIN32)
typedef unsigned int uint32;
#endif // ! defined(__BEOS__)

#ifdef macintosh
 char* strdup( const char* );
#endif
 
#define ARRAY_NEW(memh, type, num) \
memh ? (type*) memh->allocMem((num)*sizeof(type)) : new type[num]

#define DXF_STRCPY(mh, d, s) \
mh ? d = mh->stringAlloc(s) : d = new char[strlen(s)+1]; if (d) strcpy(d,s)

typedef bool dimeCallbackFunc(const class dimeState * const, class dimeEntity *, void *);
typedef dimeCallbackFunc * dimeCallback;

typedef union {
  int8  int8_data;
  int16 int16_data;
  int32 int32_data;
  float float_data;
  dxfdouble double_data;
  const char *string_data;
  const char *hex_data;
} dimeParam;

/* ********************************************************************** */
/* Precaution to avoid an some errors easily made by the application
   programmer. */

#ifdef DIME_DLL_API
# error Leave the internal DIME_DLL_API define alone.
#endif /* DIME_DLL_API */
#ifdef DIME_INTERNAL
# ifdef DIME_NOT_DLL
#  error The DIME_NOT_DLL define is not supposed to be used when building the library, only when building Win32 applications.
# endif /* DIME_INTERNAL && DIME_NOT_DLL */
# ifdef DIME_DLL
#  error The DIME_DLL define is not supposed to be used when building the library, only when building Win32 applications.
# endif /* DIME_INTERNAL && DIME_DLL */
#endif /* DIME_INTERNAL */

/*
  On MSWindows platforms, one of these defines must always be set when
  building application programs:

   - "DIME_DLL", when the application programmer is using the library
     in the form of a dynamic link library (DLL)

   - "DIME_NOT_DLL", when the application programmer is using the
     library in the form of a static object library (LIB)

  Note that either DIME_DLL or DIME_NOT_DLL _must_ be defined by the
  application programmer on MSWindows platforms, or else the #error
  statement will hit. Set up one or the other of these two defines in
  your compiler environment according to how the library was built --
  as a DLL (use "DIME_DLL") or as a LIB (use "DIME_NOT_DLL").

  (Setting up defines for the compiler is typically done by either
  adding something like "/DDIME_DLL" to the compiler's argument line
  (for command-line build processes), or by adding the define to the
  list of preprocessor symbols in your IDE GUI (in the MSVC IDE, this
  is done from the "Project"->"Settings" menu, choose the "C/C++" tab,
  then "Preprocessor" from the dropdown box and add the appropriate
  define)).

  It is extremely important that the application programmer uses the
  correct define, as using "DIME_NOT_DLL" when "DIME_DLL" is correct
  will cause mysterious crashes.
 */
/* FIXME: use a feature check to see if this is a platform which can
   recognize the __declspec keyword instead of the crap #if below.
   20011201 mortene. */
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
# ifdef DIME_INTERNAL
#  ifdef DIME_MAKE_DLL
#   define DIME_DLL_API __declspec(dllexport)
#  endif /* DIME_MAKE_DLL */
# else /* !DIME_INTERNAL */
#  ifdef DIME_DLL
#   ifdef DIME_NOT_DLL
#    error Do not define both DIME_DLL and DIME_NOT_DLL at the same time
#   endif
#   define DIME_DLL_API __declspec(dllimport)
#  else /* !DIME_DLL */
#   ifndef DIME_NOT_DLL
#    error Define either DIME_DLL or DIME_NOT_DLL as appropriate for your linkage! See dime/Basic.h for further instructions.
#   endif /* DIME_NOT_DLL */
#  endif /* !DIME_DLL */
# endif /* !DIME_INTERNAL */
#endif /* Microsoft Windows */

/* Empty define to avoid errors when _not_ compiling an MSWindows DLL. */
#ifndef DIME_DLL_API
# define DIME_DLL_API
#endif /* !DIME_DLL_API */

/* ********************************************************************** */

#endif // !DIME_BASIC_H