r48: Added Microsoft Windows compatibility
[ctsim.git] / include / ct.h
1 /*****************************************************************************
2 **  This is part of the CTSim program
3 **  Copyright (C) 1983-2000 Kevin Rosenberg
4 **
5 **  $Id: ct.h,v 1.5 2000/05/11 01:04:44 kevin Exp $
6 **  $Log: ct.h,v $
7 **  Revision 1.5  2000/05/11 01:04:44  kevin
8 **  Added Microsoft Windows compatibility
9 **
10 **  Revision 1.4  2000/05/03 19:51:41  kevin
11 **  function renaming for phantoms and phantom elements
12 **
13 **  Revision 1.3  2000/04/30 19:17:35  kevin
14 **  Set up include files for conditional INTERACTIVE_GRAPHICS
15 **
16 **  Revision 1.2  2000/04/28 14:14:16  kevin
17 **  *** empty log message ***
18 **
19 **
20 **  This program is free software; you can redistribute it and/or modify
21 **  it under the terms of the GNU General Public License (version 2) as
22 **  published by the Free Software Foundation.
23 **
24 **  This program is distributed in the hope that it will be useful,
25 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
26 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27 **  GNU General Public License for more details.
28 **
29 **  You should have received a copy of the GNU General Public License
30 **  along with this program; if not, write to the Free Software
31 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
32 ******************************************************************************/
33 /*---------------------------------------------------------------------*/
34 /*                  HEADER FILE FOR TOMOGRAPY SYSTEM                   */
35 /*---------------------------------------------------------------------*/
36
37 #ifndef CT_H
38 #define CT_H
39
40 #ifdef _WIN32
41 typedef long off_t;
42 #define HAVE_STRING_H 1
43 #include <fcntl.h>
44 #define snprintf _snprintf
45 #define vsnprintf _vsnprintf
46 #define strcasecmp stricmp
47 #define strncasecmp strnicmp
48 #endif
49
50 #ifdef HAVE_CONFIG_H
51 #include <config.h>
52 #endif
53 #ifdef HAVE_PNG
54 #include "png.h"
55 #endif
56 #ifdef HAVE_STDIO_H
57 #include <stdio.h>
58 #endif
59 #ifdef HAVE_STRING_H
60 #include <string.h>
61 #endif
62 #ifdef HAVE_STDDEF_H
63 #include <stddef.h>
64 #endif
65 #ifdef HAVE_STDLIB_H
66 #include <stdlib.h>
67 #endif
68 #ifdef HAVE_STDARG_H
69 #include <stdarg.h>
70 #endif
71 #ifdef  HAVE_SYS_TYPES_H
72 #include <sys/types.h>
73 #endif
74 #ifdef HAVE_SYS_STAT_H
75 #include <sys/stat.h>
76 #endif
77 #ifdef HAVE_CTYPE_H
78 #include <ctype.h>
79 #endif
80 #ifdef HAVE_MATH_H
81 #include <math.h>
82 #endif
83 #ifdef HAVE_SYS_FCNTL_H
84 #include <sys/fcntl.h>
85 #endif
86 #ifdef HAVE_FCNTL_H
87 #include <fcntl.h>
88 #endif
89 #if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
90 #include <getopt.h>
91 #endif
92 #ifdef HAVE_UNISTD_H
93 #include <unistd.h>
94 #endif
95 #ifdef HAVE_SETJMP_H
96 #include <setjmp.h>
97 #endif
98 #ifdef HAVE_SYS_PARAM_H
99 #include <sys/param.h>          /* for htonl on FreeBSD */
100 #endif
101 #ifdef HAVE_NETINET_IN_H
102 #include <netinet/in.h>         /* for htonl on Linux/Solaris */
103 #endif
104 #ifdef HAVE_INTTYPES_H
105 #include <inttypes.h>           /* for htonl on Solaris */
106 #endif
107 #ifdef HAVE_STDINT_H
108 #include <stdint.h>             /* Standard ints on Linux */
109 #endif
110
111 #ifdef MPI_CT
112 #include "mpi.h"
113 #endif
114
115 #include "kstddef.h"
116 #include "kmath.h"
117 #include "sdf.h"
118 #include "ir.h"
119 #include "keyboard.h"
120 #include "cio.h"
121 #ifdef HAVE_INTERACTIVE_GRAPHICS
122 #include "ezplot.h"
123 #include "sgp.h"
124 #endif
125
126 #endif
127