diff options
| -rw-r--r-- | ChangeLog | 13 | ||||
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | windows.c | 139 | ||||
| -rw-r--r-- | windows.h | 28 | 
4 files changed, 179 insertions, 9 deletions
| @@ -1,3 +1,16 @@ +1998-08-02  Ben Elliston  <bje@cygnus.com> + +	* windows.h: Remove duplicate TlsSetValue() prototype.  Add  +	TlsGetValue() prototype. +	(FALSE): Define. +	(TRUE): Likewise. +	Add forgotten errno values.  Guard against multiple #includes. + +	* windows.c: New file.  Implement stubs for Win32 functions. + +	* Makefile (SRCS): Remove.  Not explicitly needed. +	(CFLAGS): Add -Wall for all warnings with GCC. +  Sun Aug  2 19:03:42 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>  	* config.h: Create. This is a temporary stand-in for autoconf yet @@ -1,9 +1,5 @@ -CFLAGS	= -I. -DHAVE_CONFIG_H - -SRCS	= attr.c cancel.c cleanup.c condvar.c create.c dll.c \ -	  exit.c fork.c global.c misc.c mutex.c private.c sched.c \ -	  signal.c sync.c tsd.c +CFLAGS	= -I. -DHAVE_CONFIG_H -Wall  OBJS	= attr.o cancel.o cleanup.o condvar.o create.o dll.o \  	  exit.o fork.o global.o misc.o mutex.o private.o sched.o \ @@ -11,4 +7,4 @@ OBJS	= attr.o cancel.o cleanup.o condvar.o create.o dll.o \  INCL	= implement.h pthread.h windows.h -all:	$(OBJS)
\ No newline at end of file +all:	$(OBJS) diff --git a/windows.c b/windows.c new file mode 100644 index 0000000..2549f33 --- /dev/null +++ b/windows.c @@ -0,0 +1,139 @@ +/* + * windows.c + * + * This translation unit implements stubs for all of the Windows API + * calls.  If debugging is on, we dump out diagnostic output for + * reassurance. + * + */ + +#include <stdio.h> + +#include "windows.h" + +#define DEBUG 1 + +#ifdef DEBUG +#define DIAG(fn) fprintf(stderr, "called: %s\n", fn) +#endif /* DEBUG */ + +HANDLE CreateEvent(LPSECURITY_ATTRIBUTES security, +		   BOOL manualReset, +		   BOOL initialState, +		   LPCTSTR name) +{ +	DIAG("CreateEvent"); +	return 0; +} + +BOOL SetEvent(HANDLE event) +{ +	DIAG("SetEvent"); +	return TRUE; +} + +BOOL ResetEvent(HANDLE event) +{ +	DIAG("ResetEvent"); +	return TRUE; +} + +VOID EnterCriticalSection(LPCRITICAL_SECTION criticalSection) +{ +	DIAG("EnterCriticalSection"); +} + +VOID LeaveCriticalSection(LPCRITICAL_SECTION criticalSection) +{ +	DIAG("LeaveCriticalSection"); +} + +VOID DeleteCriticalSection(LPCRITICAL_SECTION criticalSection) +{ +	DIAG("DeleteCriticalSection"); +} + +VOID InitializeCriticalSection(LPCRITICAL_SECTION criticalSection) +{ +	DIAG("InitializeCriticalSection"); +} + +BOOL TryEnterCriticalSection(LPCRITICAL_SECTION criticalSection) +{ +	DIAG("TryEnterCriticalSection"); +	return TRUE; +} + +DWORD WaitForMultipleObjects(DWORD numObjects, +			     CONST HANDLE * objectArray, +			     BOOL waitForAll, +			     DWORD timeout) +{ +	DIAG("WaitForMultipleObjects"); +	return 0; +} + +DWORD WaitForSingleObject(HANDLE object, +			  DWORD timeout) +{ +	DIAG("WaitForSingleObject"); +	return 0; +} + +DWORD TlsAlloc() +{ +	DIAG("TlsAlloc"); +	return 0; +} + +BOOL TlsFree(DWORD index) +{ +	DIAG("TlsFree"); +	return TRUE; +} + +BOOL TlsSetValue(DWORD index, LPVOID value) +{ +	DIAG("TlsSetValue"); +	return TRUE; +} + +BOOL TlsGetValue(DWORD index, LPVOID value) +{ +	DIAG("TlsGetValue"); +	return TRUE; +} + +BOOL SetThreadPriority(HANDLE threadHandle, int priority) +{ +	DIAG("SetThreadPriority"); +	return TRUE; +} + +int GetThreadPriority(HANDLE threadHandle) +{ +	DIAG("GetThreadPriority"); +	return 0; +} + +HANDLE _beginthreadex(LPSECURITY_ATTRIBUTES security, +		      DWORD stack, +		      unsigned (* start_routine)(void *), +		      LPVOID param, +		      DWORD flags, +		      LPDWORD threadID) +{ +	DIAG("_beginthreadex"); +	return 0;  +} + +VOID _endthreadex(DWORD thread) +{ +	DIAG("_endthreadex"); +} + +DWORD GetVersion(VOID) +{ +	DIAG("GetVersion"); +	return 0; +} @@ -6,6 +6,17 @@   *   */ +#ifndef WINDOWS_H +#define WINDOWS_H + +#ifndef TRUE +#define TRUE 1 +#endif /* TRUE */ + +#ifndef FALSE +#define FALSE 0 +#endif /* FALSE */ +  #define WINAPI  #define CONST const @@ -18,13 +29,23 @@  #define DLL_PROCESS_DETACH 3 +#define INFINITE 42 + +#define WAIT_OBJECT_0 0 + +#define WAIT_FAILED 1 +  /* Error numbers */  enum {    EINVAL,    ENOMEM,    ENOSYS, -  EAGAIN +  EAGAIN, +  EDEADLK, +  EBUSY, +  ENOSUP, +  ESRCH  };  typedef void VOID; @@ -68,7 +89,7 @@ VOID DeleteCriticalSection(LPCRITICAL_SECTION criticalSection);  VOID InitializeCriticalSection(LPCRITICAL_SECTION criticalSection); -VOID TryEnterCriticalSection(LPCRITICAL_SECTION criticalSection); +BOOL TryEnterCriticalSection(LPCRITICAL_SECTION criticalSection);  DWORD WaitForMultipleObjects(DWORD numObjects,  			     CONST HANDLE * objectArray, @@ -84,7 +105,7 @@ BOOL TlsFree(DWORD index);  BOOL TlsSetValue(DWORD index, LPVOID value); -BOOL TlsSetValue(DWORD index, LPVOID value); +LPVOID TlsGetValue(DWORD index);  BOOL SetThreadPriority(HANDLE threadHandle, int priority); @@ -101,3 +122,4 @@ VOID _endthreadex(DWORD);  DWORD GetVersion(VOID); +#endif /* WINDOWS_H */ | 
