Commit 4f2205a6 authored by Miodrag Milanovic's avatar Miodrag Milanovic

OS/2 patches by KO Myung-Hun

Upstream patch from MAME project
parent 6cec1d36
...@@ -124,7 +124,12 @@ typedef struct _stati64 ns_stat_t; ...@@ -124,7 +124,12 @@ typedef struct _stati64 ns_stat_t;
#include <sys/socket.h> #include <sys/socket.h>
#include <sys/select.h> #include <sys/select.h>
#define closesocket(x) close(x) #define closesocket(x) close(x)
#ifndef __OS2__
#define __cdecl #define __cdecl
#else
#include <sys/time.h>
typedef int socklen_t;
#endif
#define INVALID_SOCKET (-1) #define INVALID_SOCKET (-1)
#define to64(x) strtoll(x, NULL, 10) #define to64(x) strtoll(x, NULL, 10)
typedef int sock_t; typedef int sock_t;
...@@ -1579,6 +1584,37 @@ static void *mmap(void *addr, int64_t len, int prot, int flags, int fd, ...@@ -1579,6 +1584,37 @@ static void *mmap(void *addr, int64_t len, int prot, int flags, int fd,
#define MAP_FAILED NULL #define MAP_FAILED NULL
#define MAP_PRIVATE 0 #define MAP_PRIVATE 0
#define PROT_READ 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;
int pos = lseek( fd, 0, SEEK_CUR ); /* Get a current position */
if (pos == -1)
return NULL;
/* Seek to offset offset */
if (lseek( fd, offset, SEEK_SET) == -1)
return NULL;
p = malloc(len);
/* Read in a file */
if (!p || read(fd, p, len) == -1) {
free(p);
p = NULL;
}
/* Restore the position */
lseek(fd, pos, SEEK_SET);
return p;
}
#define munmap(x, y) free(x)
#define MAP_FAILED NULL
#define MAP_PRIVATE 0
#define PROT_READ 0
#else #else
#include <sys/mman.h> #include <sys/mman.h>
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment