* lib/test.c (Win32_Winsock): Replace with __USE_W32_SOCKETS.

Add more includes of w32api headers.
	* include/winnt.h (GetCurrentFiber): Change __inline to __inline__.
	Swap asm code with that of GetFiberData.
	(GetFiberData): Ditto.
	* lib/kernels.c: New file, containing library versions of
	GetCurrentFiber and GetFiberData.
	* lib/makefile.in: Add kernel32.o as static object to libkernal32.a.
This commit is contained in:
Earnie Boyd 2001-08-10 11:51:03 +00:00
parent b5c27d80c0
commit 5b9d54bf97
4 changed files with 77 additions and 19 deletions

View File

@ -1,3 +1,17 @@
2001-08-10 Danny Smith <dannysmith@users.sourceforge.net>
* lib/test.c (Win32_Winsock): Replace with __USE_W32_SOCKETS.
Add more includes of w32api headers.
2001-08-10 Danny Smith <dannysmith@users.sourceforge.net>
* include/winnt.h (GetCurrentFiber): Change __inline to __inline__.
Swap asm code with that of GetFiberData.
(GetFiberData): Ditto.
* lib/kernels.c: New file, containing library versions of
GetCurrentFiber and GetFiberData.
* lib/makefile.in: Add kernel32.o as static object to libkernal32.a.
2001-08-08 Danny Smith <dannysmith@users.sourceforge.net>
* include/winuser.h (GET_WHEEL_DELTA_WPARAM): Add macro.

View File

@ -2507,27 +2507,29 @@ typedef struct _REPARSE_POINT_INFORMATION {
WORD ReparseDataLength;
WORD UnparsedNameLength;
} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
extern __inline PVOID GetCurrentFiber(void)
extern __inline__ PVOID GetCurrentFiber(void)
{
void* ret;
__asm__ volatile ("\n\
movl %%fs:0x10,%0\n\
movl (%0),%0\n\
" : "=r" (ret) /* allow use of reg eax, ebx, ecx, edx, esi, edi */
:
);
return ret;
}
extern __inline PVOID GetFiberData(void)
{
void* ret;
__asm__ volatile ("\n\
movl %%fs:0x10,%0\n\
" : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
__asm__ volatile (
"movl %%fs:0x10,%0"
: "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
:
);
return ret;
}
extern __inline__ PVOID GetFiberData(void)
{
void* ret;
__asm__ volatile (
"movl %%fs:0x10,%0\n"
"movl (%0),%0"
: "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
:
);
return ret;
}
#endif
#ifdef __cplusplus
}

View File

@ -94,9 +94,10 @@ DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
EXTRA_LIBS=libuuid.a libscrnsave.a libscrnsavw.a libdxguid.a liblargeint.a
LIBS = $(IMPLIBS) $(EXTRA_LIBS)
EXTRA_OBJS=uuid.o shell32.o dxguid.o scrnsave.o scrnsavw.o largeint.o $(UUID_OBJS) dinput.o
EXTRA_OBJS=uuid.o shell32.o dxguid.o scrnsave.o scrnsavw.o largeint.o \
$(UUID_OBJS) dinput.o kernel32.o
SOURCES = scrnsave.c shell32.c uuid.c largeint.c dinput.c dxguid.c \
res.rc test.c
res.rc test.c kernel32.c
DISTFILES = Makefile.in $(DEF_FILES) $(SOURCES)

View File

@ -1,5 +1,6 @@
/* Perform simple test of headers to avoid typos and such */
#define Win32_Winsock
#define __USE_W32_SOCKETS
#include <w32api.h>
#include <windows.h>
#ifdef __OBJC__
@ -25,9 +26,49 @@
#include <regstr.h>
#include <custcntl.h>
#ifndef __OBJC__
#include <dbt.h>
#include <httpext.h>
#include <imagehlp.h>
#include <initguid.h>
#include <ipexport.h>
#include <iphlpapi.h>
#include <ipifcons.h>
#include <iprtrmib.h>
#include <iptypes.h>
#include <isguids.h>
#include <lmbrowsr.h>
#include <mswsock.h>
#include <nddeapi.h>
#include <ntdef.h>
#include <ntsecapi.h>
#include <odbcinst.h>
#include <psapi.h>
#include <ras.h>
#include <raserror.h>
#include <rassapi.h>
#include <richedit.h>
#include <rpcdce2.h>
#include <subauth.h>
#include <tlhelp32.h>
#include <userenv.h>
#include <winioctl.h>
#include <winresrc.h>
#include <winsock.h>
#include <ws2tcpip.h>
#ifndef __OBJC__ /* problems with BOOL */
#include <ole2.h>
#include <shlobj.h>
#include <intshcut.h>
#include <ocidl.h>
#include <ole2ver.h>
#include <olectl.h>
#include <oledlg.h>
#include <rapi.h>
#include <richole.h>
#include <rpcproxy.h>
#else
#undef BOOL
#endif