diff options
author | 2014-11-03 19:48:51 -0500 | |
---|---|---|
committer | 2014-11-03 19:48:51 -0500 | |
commit | 4532e4e7a627d32723bdd41b82872daaed581246 (patch) | |
tree | ad2b2ad415d0d46f357a31ed561f7059b6348158 /src/lib/web/mongoose.c | |
parent | de9d74f3ea46401a2e21c9e072cc44dfd61b9214 (diff) |
OS/2 build fixes [KO Myung-Hun]
Diffstat (limited to 'src/lib/web/mongoose.c')
-rw-r--r-- | src/lib/web/mongoose.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/web/mongoose.c b/src/lib/web/mongoose.c index e9305981bac..3482875b7b8 100644 --- a/src/lib/web/mongoose.c +++ b/src/lib/web/mongoose.c @@ -72,6 +72,9 @@ #include <stdlib.h> #include <string.h> #include <time.h> +#ifdef __OS2__ +#include <sys/time.h> // struct timeval +#endif #include <signal.h> #ifdef _WIN32 @@ -120,7 +123,11 @@ typedef SOCKET sock_t; #include <sys/socket.h> #include <sys/select.h> #define closesocket(x) close(x) +#ifdef __OS2__ +typedef int socklen_t; +#else #define __cdecl +#endif #define INVALID_SOCKET (-1) #define to64(x) strtoll(x, NULL, 10) typedef int sock_t; @@ -1170,7 +1177,9 @@ typedef HANDLE process_id_t; #include <dlfcn.h> #include <inttypes.h> #include <pwd.h> +#ifndef __OS2__ #define O_BINARY 0 +#endif #define INT64_FMT PRId64 typedef struct stat file_stat_t; typedef pid_t process_id_t; @@ -5152,6 +5161,28 @@ static void *mmap(void *addr, int64_t len, int prot, int flags, int fd, #define MAP_FAILED NULL #define MAP_PRIVATE 0 #define PROT_READ 0 +#elif defined(__OS2__) +static void *mmap(void *addr, int64_t len, int prot, int flags, int fd, + int offset) { + void *p; + off_t curpos; + + p = malloc(len); + if (!p) + return NULL; + + curpos = lseek(fd, 0, SEEK_CUR); + lseek(fd, offset, SEEK_SET); + read(fd, p, len); + lseek(fd, curpos, SEEK_SET); + + return p; +} + +#define munmap(x, y) free(x) +#define MAP_FAILED NULL +#define MAP_PRIVATE 0 +#define PROT_READ 0 #else #include <sys/mman.h> #endif |