annotate compat.h @ 535:b0b5b880513a

Don't reverse packing on vertical boxes to compensate for the inverted Y-axis on OS/2. Instead this should be dealt with in the layout code taking into account the size of the box the items are sitting on. This new code mostly works, but has some problems.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 24 Mar 2004 00:05:39 +0000
parents e0ea29c3d1eb
children 8217ee5c254e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 /* $Id$ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
3 #ifndef _COMPAT_H
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
4 #define _COMPAT_H
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
5
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
6 /* This header includes and defines everything needed for a given OS/compiler */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 234
diff changeset
7 #if defined(__UNIX__) || defined(__MAC__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
8 #include "config.h"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
9
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
10 #include <sys/stat.h>
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
11 #include <unistd.h>
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
12 void msleep(long period);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
13 #endif /* Unix */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
14
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
15 #ifndef __TARGET__
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
16 #define __TARGET__ "dw"
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
17 #endif
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
18
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
19 #include <sys/types.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
20 #if HAVE_DIRENT_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
21 #include <dirent.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
22 #define NAMLEN(dirent) strlen((dirent)->d_name)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
23 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
24 #define dirent direct
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
25 #define NAMLEN(dirent) (dirent)->d_namlen
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
26 #if HAVE_SYS_NDIR_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
27 #include <sys/ndir.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
28 #endif /* HAVE_SYS_NDIR_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
29 #if HAVE_SYS_DIR_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
30 #include <sys/dir.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
31 #endif /* HAVE_SYS_DIR_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
32 #if HAVE_NDIR_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
33 #include <ndir.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
34 #endif /* HAVE_NDIR_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
35 #endif /* HAVE_DIRENT_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
36
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
37 #ifdef DIRSEP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
38 #undef DIRSEP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
39 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
40
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
41 #if defined(__EMX__) || defined(__OS2__) || defined(__WIN32__) || defined(WINNT)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
42 #include <io.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
43 #include <process.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
44
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
45 #define DIRSEP "\\"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
46 #define INIDIR "."
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
47 #define TYPDIR "."
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
48 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
49 #define DIRSEP "/"
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
50 #define INIDIR "~/." __TARGET__
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
51 #define TYPDIR "/usr/local/" __TARGET__
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
52 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
53
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
54 /* OS/2 */
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
55 #if defined(__EMX__) || defined(__OS2__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
56 #define INCL_WIN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
57 #define INCL_GPI
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
58 #define INCL_VIO
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
59 #define INCL_NLS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
60 #define INCL_DOS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
61 #define INCL_DEV
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
62 #define INCL_DOSERRORS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
63
525
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 433
diff changeset
64 #if (defined(__IBMC__) || defined(_System)) && !defined(API)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
65 #define API _System
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
66 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
67
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
68 #define msleep(a) DosSleep(a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
69
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
70 #ifdef __EMX__
525
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 433
diff changeset
71 #ifdef _System
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 433
diff changeset
72 #include "platform/dirent.h"
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 433
diff changeset
73 #else
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
74 #include <dirent.h>
525
2ff26b697877 Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 433
diff changeset
75 #endif
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
76 #include <sys/stat.h>
28
cd715f9036c0 Added HAVE_PIPE define for EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 24
diff changeset
77 #define HAVE_PIPE
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
78 #ifdef FD_SETSIZE
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
79 #undef FD_SETSIZE
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
80 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
81 #define FD_SETSIZE 1024
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
82 #endif /* __EMX__ */
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
83
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
84 #if defined(__EMX__) || defined(__WATCOMC__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
85 #define strcasecmp stricmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 #define strncasecmp strnicmp
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
87 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
88
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 #ifndef OS2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90 #define OS2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
91 #endif /* OS2 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
93 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
94
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
95 #ifndef BKS_TABBEDDIALOG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
96 #define BKS_TABBEDDIALOG 0x0800
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
97 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
98
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
99 #define PIPENAME "\\socket\\" __TARGET__ "%d"
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
100 #define TPIPENAME "\\socket\\" __TARGET__ "%d"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
101 #else
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
102 #define PIPENAME "/tmp/" __TARGET__ "%d"
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
103 #define TPIPENAME "/tmp/" __TARGET__ "%d"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
104 #endif /* __EMX__ || __IBMC__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
105
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
106 #if defined(__OS2__) && (defined(__IBMC__) || defined(__WATCOMC__))
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107 #define BSD_SELECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 #include <types.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 #include <time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 #include <sys/select.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
113 #include <sys/ioctl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
114 #include <direct.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
116 /* For VAC we are using the Mozilla dirent.c */
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
117 #ifndef __WATCOMC__
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
118 #include "platform/dirent.h"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
119 #endif
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
120 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
121
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 /* Windows */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
123 #if defined(__WIN32__) || defined(WINNT)
527
e0ea29c3d1eb Fixed dw_window_pointer() so it works on Windows. Tried to fix the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
124
e0ea29c3d1eb Fixed dw_window_pointer() so it works on Windows. Tried to fix the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
125 #if defined(MSVC) && !defined(API)
e0ea29c3d1eb Fixed dw_window_pointer() so it works on Windows. Tried to fix the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
126 #define API _cdecl
e0ea29c3d1eb Fixed dw_window_pointer() so it works on Windows. Tried to fix the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
127 #endif
e0ea29c3d1eb Fixed dw_window_pointer() so it works on Windows. Tried to fix the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 525
diff changeset
128
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
129 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130 #include <winsock.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
131 #include <time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
132 #include <process.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
133 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
134 #ifdef MSVC
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
135 #include "platform/dirent.h"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
136 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137 #include <dir.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
138 #include <dirent.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
139 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
140 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
142 #if defined(__CYGWIN32__) || defined(__MINGW32__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
143 #include <sys/un.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
144 #endif /* __CYGWIN32__ || __MINGW32__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
145
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
146 #ifndef __CYGWIN32__
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
147 #define NO_DOMAIN_SOCKETS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
148 #endif /* __CYGWIN32__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
149
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
150 #if defined(_P_NOWAIT) && !defined(P_NOWAIT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
151 #define P_NOWAIT _P_NOWAIT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
152 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
153
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
154 #define strcasecmp stricmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
155 #define strncasecmp strnicmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
156 #define msleep Sleep
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
157
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
158 #endif /* WIN32 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
159
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
160 /* Everything else ;) */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
161 #include <stdio.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
162 #ifdef HAVE_UNISTD_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
163 #include <unistd.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
164 #endif /* HAVE_UNISTD_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
165 #ifdef HAVE_SYS_STAT_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
166 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
167 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
168 #include <stdlib.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
169 #include <stddef.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
170 #include <signal.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
171 #include <fcntl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
172
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
173 #if !defined(__WIN32__) && !defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
174 #include <sys/time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
175 #include <sys/socket.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
176 #include <sys/un.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
177 #include <netinet/in.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
178 #include <netdb.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
179 #include <arpa/nameser.h>
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
180 #if defined(__OS2__) && defined(RES_DEFAULT)
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
181 #undef RES_DEFAULT
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
182 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
183 #include <resolv.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
184 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
185 #include <string.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
186 #endif /* !WIN32 */
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
187 #include <ctype.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
188
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
189 #ifndef _MAX_PATH
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
190 #define _MAX_PATH 255
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
191 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
192
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
193 /* IBM C doesn't allow "t" in the mode parameter
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
194 * because it violates the ANSI standard.
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
195 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
196 #ifdef __IBMC__
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
197 #define FOPEN_READ_TEXT "r"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
198 #define FOPEN_WRITE_TEXT "w"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
199 #define FOPEN_APPEND_TEXT "a"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
200 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
201 #define FOPEN_READ_TEXT "rt"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
202 #define FOPEN_WRITE_TEXT "wt"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
203 #define FOPEN_APPEND_TEXT "at"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
204 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
205 #define FOPEN_READ_BINARY "rb"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
206 #define FOPEN_WRITE_BINARY "wb"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
207 #define FOPEN_APPEND_BINARY "ab"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
208
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
209 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
210 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
211 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
212
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
213 /* Compatibility layer for IBM C/Winsock */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
214 int API sockread (int a, void *b, int c, int d);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
215 int API sockwrite (int a, void *b, int c, int d);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
216 int API sockclose(int a);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
217 int API socksprintf(int fd, char *format, ...);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
218 int API sockpipe(int *pipes);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
219 void API sockinit(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
220 void API sockshutdown(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
221 int API makedir(char *path);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
222 void API nonblock(int fd);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
223 void API block(int fd);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
224 void API setfileinfo(char *filename, char *url, char *logfile);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
225 long double API drivesize(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
226 long double API drivefree(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
227 int API isdrive(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
228 void API getfsname(int drive, char *buf, int len);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
229 FILE * API fsopen(char *path, char *modes);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
230 int API fsclose(FILE *fp);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
231 char * API fsgets(char *str, int size, FILE *stream);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
232 int API fsseek(FILE *stream, long offset, int whence);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
233 int API locale_init(char *filename, int my_locale);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
234 char * API locale_string(char *default_text, int message);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
235 #endif