Mercurial > dwindows
annotate compat.h @ 29:a33dfdc5b40a
Forgot to add the EMX .def file.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 17 Aug 2001 12:25:52 +0000 |
parents | cd715f9036c0 |
children | cddb02f847e1 |
rev | line source |
---|---|
3 | 1 /* $Id$ */ |
2 | |
3 /* This header includes and defines everything needed for a given OS/compiler */ | |
4 #if !defined(__EMX__) && !defined(__IBMC__) && !defined(__WIN32__) && !defined(WINNT) | |
5 #include "config.h" | |
6 | |
7 #define msleep(a) usleep(a*1000) | |
8 #endif /* Unix */ | |
9 | |
10 #include <sys/types.h> | |
11 #if HAVE_DIRENT_H | |
12 #include <dirent.h> | |
13 #define NAMLEN(dirent) strlen((dirent)->d_name) | |
14 #else | |
15 #define dirent direct | |
16 #define NAMLEN(dirent) (dirent)->d_namlen | |
17 #if HAVE_SYS_NDIR_H | |
18 #include <sys/ndir.h> | |
19 #endif /* HAVE_SYS_NDIR_H */ | |
20 #if HAVE_SYS_DIR_H | |
21 #include <sys/dir.h> | |
22 #endif /* HAVE_SYS_DIR_H */ | |
23 #if HAVE_NDIR_H | |
24 #include <ndir.h> | |
25 #endif /* HAVE_NDIR_H */ | |
26 #endif /* HAVE_DIRENT_H */ | |
27 | |
28 #ifdef DIRSEP | |
29 #undef DIRSEP | |
30 #endif | |
31 | |
32 #if defined(__EMX__) || defined(__IBMC__) || defined(__WIN32__) || defined(WINNT) | |
33 #include <io.h> | |
34 #include <process.h> | |
35 | |
36 #define DIRSEP "\\" | |
37 #define INIDIR "." | |
38 #define TYPDIR "." | |
39 #else | |
40 #define DIRSEP "/" | |
41 #define INIDIR "~/.handyftp" | |
42 #define TYPDIR "/usr/local/handyftp" | |
43 #endif | |
44 | |
45 /* OS/2 */ | |
46 #if defined(__EMX__) || defined(__IBMC__) | |
47 #define INCL_WIN | |
48 #define INCL_GPI | |
49 #define INCL_VIO | |
50 #define INCL_NLS | |
51 #define INCL_DOS | |
52 #define INCL_DEV | |
53 #define INCL_DOSERRORS | |
54 | |
55 #define msleep(a) DosSleep(a) | |
56 | |
57 #ifdef __EMX__ | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
58 #include <dirent.h> |
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
59 #include <sys/stat.h> |
28
cd715f9036c0
Added HAVE_PIPE define for EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
24
diff
changeset
|
60 #define HAVE_PIPE |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
61 #ifdef FD_SETSIZE |
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
62 #undef FD_SETSIZE |
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
63 #endif |
3 | 64 #define FD_SETSIZE 1024 |
65 #define strcasecmp stricmp | |
66 #define strncasecmp strnicmp | |
67 #endif /* __EMX__ */ | |
68 | |
69 #ifndef OS2 | |
70 #define OS2 | |
71 #endif /* OS2 */ | |
72 | |
73 #include <os2.h> | |
74 | |
75 #ifndef BKS_TABBEDDIALOG | |
76 #define BKS_TABBEDDIALOG 0x0800 | |
77 #endif | |
78 | |
79 #define PIPENAME "\\socket\\handyftp%d" | |
80 #define TPIPENAME "\\socket\\handyftpt%d" | |
81 #else | |
82 #define PIPENAME "/tmp/handyftp%d" | |
83 #define TPIPENAME "/tmp/handyftpt%d" | |
84 #endif /* __EMX__ || __IBMC__ */ | |
85 | |
86 #ifdef __IBMC__ | |
87 #define BSD_SELECT | |
88 | |
89 #include <types.h> | |
90 #include <time.h> | |
91 #include <sys/stat.h> | |
92 #include <sys/select.h> | |
93 #include <sys/ioctl.h> | |
94 #include <direct.h> | |
95 #include <stdarg.h> | |
96 /* For VAC we are using the Mozilla dirent.c */ | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
97 #include "platform/dirent.h" |
3 | 98 #endif |
99 | |
100 /* Windows */ | |
101 #if defined(__WIN32__) || defined(WINNT) | |
102 #include <windows.h> | |
103 #include <winsock.h> | |
104 #include <time.h> | |
105 #include <process.h> | |
106 #include <sys/stat.h> | |
107 #ifdef MSVC | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
108 #include "platform/dirent.h" |
3 | 109 #else |
110 #include <dir.h> | |
111 #include <dirent.h> | |
112 #endif | |
113 #include <stdarg.h> | |
114 | |
115 #if defined(__CYGWIN32__) || defined(__MINGW32__) | |
116 #include <sys/un.h> | |
117 #endif /* __CYGWIN32__ || __MINGW32__ */ | |
118 | |
119 #ifndef __CYGWIN32__ | |
120 #define NO_DOMAIN_SOCKETS | |
121 #endif /* __CYGWIN32__ */ | |
122 | |
123 #if defined(_P_NOWAIT) && !defined(P_NOWAIT) | |
124 #define P_NOWAIT _P_NOWAIT | |
125 #endif | |
126 | |
127 #define strcasecmp stricmp | |
128 #define strncasecmp strnicmp | |
129 #define msleep Sleep | |
130 | |
131 #endif /* WIN32 */ | |
132 | |
133 /* Everything else ;) */ | |
134 #include <stdio.h> | |
135 #ifdef HAVE_UNISTD_H | |
136 #include <unistd.h> | |
137 #endif /* HAVE_UNISTD_H */ | |
138 #ifdef HAVE_SYS_STAT_H | |
139 #include <sys/stat.h> | |
140 #endif | |
141 #include <stdlib.h> | |
142 #include <stddef.h> | |
143 #include <signal.h> | |
144 #include <fcntl.h> | |
145 | |
146 #if !defined(__WIN32__) && !defined(WINNT) | |
147 #include <sys/time.h> | |
148 #include <sys/socket.h> | |
149 #include <sys/un.h> | |
150 #include <netinet/in.h> | |
151 #include <netdb.h> | |
152 #include <arpa/nameser.h> | |
153 #include <resolv.h> | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
154 #if defined(STDC_HEADERS) || defined(__EMX__) |
3 | 155 #include <stdarg.h> |
156 #include <string.h> | |
157 #endif /* STDC_HEADERS */ | |
158 #endif /* !WIN32 */ | |
159 | |
160 #ifndef _MAX_PATH | |
161 #define _MAX_PATH 255 | |
162 #endif | |
163 | |
164 /* IBM C doesn't allow "t" in the mode parameter | |
165 * because it violates the ANSI standard. | |
166 */ | |
167 #ifdef __IBMC__ | |
168 #define FOPEN_READ_TEXT "r" | |
169 #define FOPEN_WRITE_TEXT "w" | |
170 #define FOPEN_APPEND_TEXT "a" | |
171 #else | |
172 #define FOPEN_READ_TEXT "rt" | |
173 #define FOPEN_WRITE_TEXT "wt" | |
174 #define FOPEN_APPEND_TEXT "at" | |
175 #endif | |
176 #define FOPEN_READ_BINARY "rb" | |
177 #define FOPEN_WRITE_BINARY "wb" | |
178 #define FOPEN_APPEND_BINARY "ab" | |
179 | |
180 /* Compatibility layer for IBM C/Winsock */ | |
181 int sockread (int a, void *b, int c, int d); | |
182 int sockwrite (int a, void *b, int c, int d); | |
183 int sockclose(int a); | |
184 int socksprintf(int fd, char *format, ...); | |
185 int sockpipe(int *pipes); | |
186 void sockinit(void); | |
187 void sockshutdown(void); | |
188 int makedir(char *path); | |
189 void nonblock(int fd); | |
190 void setfileinfo(char *filename, char *url); | |
191 #if defined(__IBMC__) || defined(__WIN32__) | |
192 unsigned long drivefree(int drive); | |
193 #else | |
194 unsigned long long drivefree(int drive); | |
195 #endif | |
196 int isdrive(int drive); | |
197 FILE *fsopen(char *path, char *modes); | |
198 int fsclose(FILE *fp); | |
199 char *fsgets(char *str, int size, FILE *stream); | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
200 int fsseek(FILE *stream, long offset, int whence); |
3 | 201 |