annotate compat.h @ 456:935436731b41

Hybrid fix, seems the last change illiminated some important code that dealt with varying padding sizes in the opposite direction of the box. This readds that code but optimizes it and includes the groupbox calculations that were already present in the previous code path. This fix will be added to the OS/2 tree as well pending testing of this new code path.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 25 Jun 2003 03:39:44 +0000
parents f225f16bebbd
children 2ff26b697877
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
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
64 #if defined(__IBMC__) && !defined(API)
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__
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
71 #include <dirent.h>
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
72 #include <sys/stat.h>
28
cd715f9036c0 Added HAVE_PIPE define for EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 24
diff changeset
73 #define HAVE_PIPE
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
74 #ifdef FD_SETSIZE
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
75 #undef FD_SETSIZE
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
76 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
77 #define FD_SETSIZE 1024
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
78 #endif /* __EMX__ */
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
79
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
80 #if defined(__EMX__) || defined(__WATCOMC__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
81 #define strcasecmp stricmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
82 #define strncasecmp strnicmp
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
83 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
84
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
85 #ifndef OS2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 #define OS2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
87 #endif /* OS2 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
88
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
91 #ifndef BKS_TABBEDDIALOG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92 #define BKS_TABBEDDIALOG 0x0800
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
93 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
94
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
95 #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
96 #define TPIPENAME "\\socket\\" __TARGET__ "%d"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
97 #else
41
af0a78aa0d45 More updates, and a more comprehensive unix install scheme. Use target
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 36
diff changeset
98 #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
99 #define TPIPENAME "/tmp/" __TARGET__ "%d"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
100 #endif /* __EMX__ || __IBMC__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
101
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
102 #if defined(__OS2__) && (defined(__IBMC__) || defined(__WATCOMC__))
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
103 #define BSD_SELECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
104
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
105 #include <types.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
106 #include <time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108 #include <sys/select.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 #include <sys/ioctl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 #include <direct.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 /* 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
113 #ifndef __WATCOMC__
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
114 #include "platform/dirent.h"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 #endif
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
116 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
117
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
118 /* Windows */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
119 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
120 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
121 #include <winsock.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 #include <time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
123 #include <process.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
124 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
125 #ifdef MSVC
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
126 #include "platform/dirent.h"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
127 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
128 #include <dir.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
129 #include <dirent.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
131 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
132
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
133 #if defined(MSVC) && !defined(API)
177
e3dd5c765775 Fixes for Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
134 #define API _cdecl
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
135 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
136
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137 #if defined(__CYGWIN32__) || defined(__MINGW32__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
138 #include <sys/un.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
139 #endif /* __CYGWIN32__ || __MINGW32__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
140
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141 #ifndef __CYGWIN32__
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
142 #define NO_DOMAIN_SOCKETS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
143 #endif /* __CYGWIN32__ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
144
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
145 #if defined(_P_NOWAIT) && !defined(P_NOWAIT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
146 #define P_NOWAIT _P_NOWAIT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
147 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
148
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
149 #define strcasecmp stricmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
150 #define strncasecmp strnicmp
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
151 #define msleep Sleep
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
152
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
153 #endif /* WIN32 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
154
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
155 /* Everything else ;) */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
156 #include <stdio.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
157 #ifdef HAVE_UNISTD_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
158 #include <unistd.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
159 #endif /* HAVE_UNISTD_H */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
160 #ifdef HAVE_SYS_STAT_H
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
161 #include <sys/stat.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
162 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
163 #include <stdlib.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
164 #include <stddef.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
165 #include <signal.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
166 #include <fcntl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
167
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
168 #if !defined(__WIN32__) && !defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
169 #include <sys/time.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
170 #include <sys/socket.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
171 #include <sys/un.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
172 #include <netinet/in.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
173 #include <netdb.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
174 #include <arpa/nameser.h>
172
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
175 #if defined(__OS2__) && defined(RES_DEFAULT)
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
176 #undef RES_DEFAULT
0fc45e386376 Get Dynamic Windows building with Watcom.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 101
diff changeset
177 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
178 #include <resolv.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
179 #include <stdarg.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
180 #include <string.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
181 #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
182 #include <ctype.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
183
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
184 #ifndef _MAX_PATH
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
185 #define _MAX_PATH 255
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
186 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
187
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
188 /* IBM C doesn't allow "t" in the mode parameter
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
189 * because it violates the ANSI standard.
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
190 */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
191 #ifdef __IBMC__
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
192 #define FOPEN_READ_TEXT "r"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
193 #define FOPEN_WRITE_TEXT "w"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
194 #define FOPEN_APPEND_TEXT "a"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
195 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
196 #define FOPEN_READ_TEXT "rt"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
197 #define FOPEN_WRITE_TEXT "wt"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
198 #define FOPEN_APPEND_TEXT "at"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
199 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
200 #define FOPEN_READ_BINARY "rb"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
201 #define FOPEN_WRITE_BINARY "wb"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
202 #define FOPEN_APPEND_BINARY "ab"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
203
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
204 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
205 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
206 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
207
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
208 /* Compatibility layer for IBM C/Winsock */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
209 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
210 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
211 int API sockclose(int a);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
212 int API socksprintf(int fd, char *format, ...);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
213 int API sockpipe(int *pipes);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
214 void API sockinit(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
215 void API sockshutdown(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
216 int API makedir(char *path);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
217 void API nonblock(int fd);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
218 void API block(int fd);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
219 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
220 long double API drivesize(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
221 long double API drivefree(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
222 int API isdrive(int drive);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
223 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
224 FILE * API fsopen(char *path, char *modes);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
225 int API fsclose(FILE *fp);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 172
diff changeset
226 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
227 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
228 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
229 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
230 #endif