summaryrefslogtreecommitdiff
path: root/src/libw32dll/wine/ext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libw32dll/wine/ext.c')
-rw-r--r--src/libw32dll/wine/ext.c102
1 files changed, 55 insertions, 47 deletions
diff --git a/src/libw32dll/wine/ext.c b/src/libw32dll/wine/ext.c
index 1847d6b34..865ff73d9 100644
--- a/src/libw32dll/wine/ext.c
+++ b/src/libw32dll/wine/ext.c
@@ -6,20 +6,23 @@
*
********************************************************/
#include "config.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
#ifdef HAVE_MALLOC_H
#include <malloc.h>
-#else
-#include <stdlib.h>
#endif
-#include <stdio.h>
-#include <unistd.h>
#include <sys/mman.h>
#include <errno.h>
#include <fcntl.h>
#include <string.h>
#include <stdarg.h>
#include "windef.h"
-//#include "winbase.h"
+#include "winbase.h"
+#include "debugtools.h"
+#include "heap.h"
+#include "ext.h"
+
int dbg_header_err( const char *dbg_channel, const char *func )
{
return 0;
@@ -36,7 +39,7 @@ int dbg_header_trace( const char *dbg_channel, const char *func )
{
return 0;
}
-int dbg_vprintf( const char *format, ... )
+int dbg_vprintf( const char *format, va_list args )
{
return 0;
}
@@ -52,12 +55,12 @@ int __vprintf( const char *format, ... )
return 0;
}
-int GetProcessHeap()
+HANDLE WINAPI GetProcessHeap(void)
{
return 1;
}
-void* HeapAlloc(int heap, int flags, int size)
+LPVOID WINAPI HeapAlloc(HANDLE heap, DWORD flags, DWORD size)
{
if(flags & 0x8)
return calloc(size, 1);
@@ -65,7 +68,7 @@ void* HeapAlloc(int heap, int flags, int size)
return malloc(size);
}
-int HeapFree(int heap, int flags, void* mem)
+WIN_BOOL WINAPI HeapFree(HANDLE heap, DWORD flags, LPVOID mem)
{
free(mem);
return 1;
@@ -73,34 +76,34 @@ int HeapFree(int heap, int flags, void* mem)
static int last_error;
-int GetLastError()
+DWORD WINAPI GetLastError(void)
{
return last_error;
}
-int SetLastError(int error)
+void WINAPI SetLastError(DWORD error)
{
- return last_error=error;
+ last_error=error;
}
-int ReadFile(int handle, void* mem, unsigned long size, long* result, long flags)
+WIN_BOOL WINAPI ReadFile(HANDLE handle, LPVOID mem, DWORD size, LPDWORD result, LPOVERLAPPED flags)
{
*result=read(handle, mem, size);
return *result;
}
-int lstrcmpiA(const char* c1, const char* c2)
+INT WINAPI lstrcmpiA(LPCSTR c1, LPCSTR c2)
{
return strcasecmp(c1,c2);
}
-int lstrcpynA(char* dest, const char* src, int num)
+char* WINAPI lstrcpynA(char* dest, const char* src, int num)
{
- return strncmp(dest,src,num);
+ return strncpy(dest,src,num);
}
-int lstrlenA(const char* s)
+int WINAPI lstrlenA(const char* s)
{
return strlen(s);
}
-int lstrlenW(const short* s)
+int WINAPI lstrlenW(LPCWSTR s)
{
int l;
if(!s)
@@ -110,8 +113,9 @@ int lstrlenW(const short* s)
l++;
return l;
}
-int lstrcpynWtoA(char* dest, const char* src, int count)
+LPSTR WINAPI lstrcpynWtoA(LPSTR dest, LPCWSTR src, INT count)
{
+ LPSTR retval = dest;
int moved=0;
if((dest==0) || (src==0))
return 0;
@@ -120,10 +124,11 @@ int lstrcpynWtoA(char* dest, const char* src, int count)
*dest=*src;
moved++;
if(*src==0)
- return moved;
+ break;
src++;
dest++;
}
+ return retval;
}
int wcsnicmp(const unsigned short* s1, const unsigned short* s2, int n)
{
@@ -149,7 +154,7 @@ int wcsnicmp(const unsigned short* s1, const unsigned short* s2, int n)
}
-int IsBadReadPtr(void* data, int size)
+WIN_BOOL WINAPI IsBadReadPtr(LPCVOID data, UINT size)
{
if(size==0)
return 0;
@@ -157,14 +162,14 @@ int IsBadReadPtr(void* data, int size)
return 1;
return 0;
}
-char* HEAP_strdupA(const char* string)
+LPSTR HEAP_strdupA(HANDLE heap, DWORD flags, LPCSTR string)
{
// return strdup(string);
char* answ=malloc(strlen(string)+1);
strcpy(answ, string);
return answ;
}
-short* HEAP_strdupAtoW(void* heap, void* hz, const char* string)
+LPWSTR HEAP_strdupAtoW(HANDLE heap, DWORD flags, LPCSTR string)
{
int size, i;
short* answer;
@@ -176,7 +181,7 @@ short* HEAP_strdupAtoW(void* heap, void* hz, const char* string)
answer[i]=(short)string[i];
return answer;
}
-char* HEAP_strdupWtoA(void* heap, void* hz, const short* string)
+char* HEAP_strdupWtoA(HANDLE heap, DWORD flags, LPCWSTR string)
{
int size, i;
char* answer;
@@ -305,7 +310,7 @@ typedef struct file_mapping_s
{
int mapping_size;
char* name;
- HANDLE handle;
+ void* handle;
struct file_mapping_s* next;
struct file_mapping_s* prev;
}file_mapping;
@@ -324,24 +329,27 @@ static file_mapping* fm=0;
#define PAGE_GUARD 0x100
#define PAGE_NOCACHE 0x200
-HANDLE CreateFileMappingA(int hFile, void* lpAttr,
-DWORD flProtect, DWORD dwMaxHigh, DWORD dwMaxLow, const char* name)
+HANDLE WINAPI CreateFileMappingA(HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttr,
+ DWORD flProtect,
+ DWORD dwMaxHigh, DWORD dwMaxLow,
+ LPCSTR name)
{
+ int filedesc = (int)hFile;
unsigned int len;
- HANDLE answer;
+ void* answer;
int anon=0;
int mmap_access=0;
- if(hFile<0)
+ if(filedesc<0)
{
anon=1;
- hFile=open("/dev/zero", O_RDWR);
- if(hFile<0)
+ filedesc=open("/dev/zero", O_RDWR);
+ if(filedesc<0)
return 0;
}
if(!anon)
{
- len=lseek(hFile, 0, SEEK_END);
- lseek(hFile, 0, SEEK_SET);
+ len=lseek(filedesc, 0, SEEK_END);
+ lseek(filedesc, 0, SEEK_SET);
}
else len=dwMaxLow;
@@ -350,10 +358,10 @@ DWORD flProtect, DWORD dwMaxHigh, DWORD dwMaxLow, const char* name)
else
mmap_access |=PROT_READ|PROT_WRITE;
- answer=(HANDLE)mmap(NULL, len, mmap_access, MAP_PRIVATE, hFile, 0);
+ answer=mmap(NULL, len, mmap_access, MAP_PRIVATE, filedesc, 0);
if(anon)
- close(hFile);
- if(answer!=(HANDLE)-1)
+ close(filedesc);
+ if(answer!=(void*)-1)
{
if(fm==0)
{
@@ -378,12 +386,12 @@ DWORD flProtect, DWORD dwMaxHigh, DWORD dwMaxLow, const char* name)
fm->mapping_size=len;
if(anon)
- close(hFile);
- return answer;
+ close(filedesc);
+ return (HANDLE)answer;
}
return (HANDLE)0;
}
-int UnmapViewOfFile(HANDLE handle)
+WIN_BOOL WINAPI UnmapViewOfFile(LPVOID handle)
{
file_mapping* p;
int result;
@@ -420,7 +428,7 @@ static virt_alloc* vm=0;
#define MEM_COMMIT 0x00001000
#define MEM_RESERVE 0x00002000
-void* VirtualAlloc(void* address, DWORD size, DWORD type, DWORD protection)
+void* WINAPI VirtualAlloc(void* address, DWORD size, DWORD type, DWORD protection)
{
void* answer;
int fd=open("/dev/zero", O_RDWR);
@@ -490,7 +498,7 @@ void* VirtualAlloc(void* address, DWORD size, DWORD type, DWORD protection)
return answer;
}
}
-int VirtualFree(void* address, int t1, int t2)//not sure
+WIN_BOOL WINAPI VirtualFree(LPVOID address, DWORD t1, DWORD t2)//not sure
{
virt_alloc* str=vm;
int answer;
@@ -511,8 +519,8 @@ int VirtualFree(void* address, int t1, int t2)//not sure
return -1;
}
-int WideCharToMultiByte(unsigned int codepage, long flags, const short* src,
- int srclen,char* dest, int destlen, const char* defch, int* used_defch)
+int WINAPI WideCharToMultiByte(UINT codepage, DWORD flags, LPCWSTR src,
+ INT srclen,LPSTR dest, INT destlen, LPCSTR defch, WIN_BOOL* used_defch)
{
int i;
if(src==0)
@@ -542,12 +550,12 @@ int WideCharToMultiByte(unsigned int codepage, long flags, const short* src,
}
return min(srclen, destlen);
}
-int MultiByteToWideChar(unsigned int codepage,long flags, const char* src, int srclen,
- short* dest, int destlen)
+INT WINAPI MultiByteToWideChar(UINT codepage,DWORD flags, LPCSTR src, INT srclen,
+ LPWSTR dest, INT destlen)
{
return 0;
}
-HANDLE OpenFileMappingA(long access, long prot, char* name)
+HANDLE WINAPI OpenFileMappingA(DWORD access, WIN_BOOL prot, LPCSTR name)
{
file_mapping* p;
if(fm==0)
@@ -559,7 +567,7 @@ HANDLE OpenFileMappingA(long access, long prot, char* name)
if(p->name==0)
continue;
if(strcmp(p->name, name)==0)
- return p->handle;
+ return (HANDLE)p->handle;
}
return 0;
}