|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * Try to include the right system headers and get other system-specific
5: * stuff right.
6: *
7: * Copyright 1996 Bernd Schmidt
8: */
9:
10: #include <stdio.h>
11: #include <stdlib.h>
12: #include <errno.h>
13: #include <assert.h>
14:
15: #ifdef HAVE_SYS_TYPES_H
16: #include <sys/types.h>
17: #endif
18:
19: #ifdef HAVE_VALUES_H
20: #include <values.h>
21: #endif
22:
23: #ifdef HAVE_STRINGS_H
24: #include <strings.h>
25: #endif
26: #ifdef HAVE_STRING_H
27: #include <string.h>
28: #endif
29:
30: #ifdef HAVE_UNISTD_H
31: #include <unistd.h>
32: #endif
33: #ifdef HAVE_FCNTL_H
34: #include <fcntl.h>
35: #endif
36:
37: #ifdef HAVE_UTIME_H
38: #include <utime.h>
39: #endif
40:
41: #ifdef HAVE_SYS_PARAM_H
42: #include <sys/param.h>
43: #endif
44:
45: #ifdef HAVE_SYS_SELECT_H
46: #include <sys/select.h>
47: #endif
48:
49: #ifdef HAVE_SYS_VFS_H
50: #include <sys/vfs.h>
51: #endif
52:
53: #ifdef HAVE_SYS_STAT_H
54: #include <sys/stat.h>
55: #endif
56:
57: #ifdef HAVE_SYS_MOUNT_H
58: #include <sys/mount.h>
59: #endif
60:
61: #ifdef HAVE_SYS_STATFS_H
62: #include <sys/statfs.h>
63: #endif
64:
65: #ifdef HAVE_SYS_STATVFS_H
66: #include <sys/statvfs.h>
67: #endif
68:
69: #if TIME_WITH_SYS_TIME
70: # include <sys/time.h>
71: # include <time.h>
72: #else
73: # if HAVE_SYS_TIME_H
74: # include <sys/time.h>
75: # else
76: # include <time.h>
77: # endif
78: #endif
79:
80: #if HAVE_DIRENT_H
81: # include <dirent.h>
82: #else
83: # define dirent direct
84: # if HAVE_SYS_NDIR_H
85: # include <sys/ndir.h>
86: # endif
87: # if HAVE_SYS_DIR_H
88: # include <sys/dir.h>
89: # endif
90: # if HAVE_NDIR_H
91: # include <ndir.h>
92: # endif
93: #endif
94:
95: #include <errno.h>
96: #include <assert.h>
97:
98: #if EEXIST == ENOTEMPTY
99: #define BROKEN_OS_PROBABLY_AIX
100: #endif
101:
102: #ifdef HAVE_LINUX_JOYSTICK_H
103: #if BROKEN_JOYSTICK_H == 1
104: #include "joystick.h"
105: #else
106: #include <linux/joystick.h>
107: #endif
108: #endif
109:
110: #ifdef __NeXT__
111: #define S_IRUSR S_IREAD
112: #define S_IWUSR S_IWRITE
113: #define S_IXUSR S_IEXEC
114: #define S_ISDIR(val) (S_IFDIR & val)
115: struct utimbuf
116: {
117: time_t actime;
118: time_t modtime;
119: };
120: #endif
121:
122: #if defined(__SASC) && defined(AMIGA)
123: #include <sys/types.h>
124: #include <sys/stat.h>
125: #include <dirent.h>
126: #include <stdio.h>
127: #include <fcntl.h>
128: #include <time.h>
129:
130: int mkdir(const char *);
131: int rmdir(const char *);
132:
133: #define S_ISDIR(m) (m & S_IFDIR)
134: #define S_IRUSR ~S_IREAD
135: #define S_IWUSR ~(S_IWRITE|S_IDELETE)
136: #define S_IXUSR ~S_IEXECUTE
137:
138: typedef unsigned short mode_t;
139:
140: #define strcasecmp stricmp
141: #define chip rhubarb
142: #endif
143:
144: #ifdef __DOS__
145: #include <pc.h>
146: #include <io.h>
147: #else
148: #undef O_BINARY
149: #define O_BINARY 0
150: #endif
151:
152: /* If char has more then 8 bits, good night. */
153: typedef unsigned char UBYTE;
154: typedef signed char BYTE;
155: typedef struct {UBYTE RGB[3];} RGB;
156:
157: #if SIZEOF_SHORT == 2
158: typedef unsigned short UWORD;
159: typedef short WORD;
160: #elif SIZEOF_INT == 2
161: typedef unsigned int UWORD;
162: typedef int WORD;
163: #else
164: #error No 2 byte type, you lose.
165: #endif
166:
167: #if SIZEOF_INT == 4
168: typedef unsigned int ULONG;
169: typedef int LONG;
170: #elif SIZEOF_LONG == 4
171: typedef unsigned long ULONG;
172: typedef long LONG;
173: #else
174: #error No 4 byte type, you lose.
175: #endif
176: typedef ULONG CPTR;
177:
178: #undef INT_64BIT
179:
180: #if SIZEOF_LONG_LONG == 8
181: #define INT_64BIT long long
182: #elif SIZEOF_LONG == 8
183: #define INT_64BIT long
184: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.