This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(4) |
2
(5) |
3
|
|
4
|
5
(4) |
6
(5) |
7
|
8
|
9
|
10
|
|
11
(2) |
12
(11) |
13
|
14
(5) |
15
|
16
|
17
|
|
18
|
19
(1) |
20
|
21
|
22
|
23
|
24
|
|
25
|
26
(1) |
27
(6) |
28
(2) |
29
(1) |
30
(2) |
31
|
|
From: <ea...@us...> - 2002-08-30 14:48:02
|
Update of /cvsroot/mingw/runtime In directory usw-pr-cvs1:/tmp/cvs-serv30659 Modified Files: ChangeLog Makefile.in test_headers.c Log Message: Merge winsup changes Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/runtime/ChangeLog,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** ChangeLog 27 Aug 2002 11:20:26 -0000 1.34 --- ChangeLog 30 Aug 2002 14:47:58 -0000 1.35 *************** *** 1,2 **** --- 1,13 ---- + 2002-08-28 Danny Smith <dan...@us...> + + * include/sys/param.h: Add ENDIAN defines. + * test_headers.c: Include sys/param.h. + + 2002-08-28 Danny Smith <dan...@us...> + + * test_headers.c: Don't include varargs.h. + * Makefile.in (test_headers): Don't use -std=xx + with -xc++. + 2002-08-21 Earnie Boyd <ea...@us...> Index: Makefile.in =================================================================== RCS file: /cvsroot/mingw/runtime/Makefile.in,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Makefile.in 27 Aug 2002 11:20:26 -0000 1.12 --- Makefile.in 30 Aug 2002 14:47:58 -0000 1.13 *************** *** 261,265 **** $(CC) -c -D__MSVCRT__ -U__CRTDLL__ $(ALL_CFLAGS) $< -o $@ ! TEST_H_OPTIONS = $(ALL_CFLAGS) -Wall -Wsystem-headers -c \ $(srcdir)/test_headers.c -o test_headers.o --- 261,265 ---- $(CC) -c -D__MSVCRT__ -U__CRTDLL__ $(ALL_CFLAGS) $< -o $@ ! TEST_H_OPTIONS = $(ALL_CFLAGS) -Wall -W -Wsystem-headers -c \ $(srcdir)/test_headers.c -o test_headers.o *************** *** 269,278 **** @for lang in c c++ objective-c ; do \ echo "$$lang ..."; \ ! $(CC) -x$$lang -std=c89 $(TEST_H_OPTIONS) ; \ ! echo "$$lang c89 ..."; \ ! $(CC) -x$$lang -std=c89 $(TEST_H_OPTIONS) ; \ ! echo "$$lang c99..."; \ ! $(CC) -x$$lang -std=c99 $(TEST_H_OPTIONS) ; \ done @rm -f test_headers.o --- 269,282 ---- @for lang in c c++ objective-c ; do \ echo "$$lang ..."; \ ! $(CC) -x$$lang $(TEST_H_OPTIONS) ; \ ! echo "$$lang -ansi"; \ ! $(CC) -x$$lang -ansi $(TEST_H_OPTIONS) ; \ ! done ! # specify -std=xx only for C ! @for std in gnu89 gnu99 c89 c99 ; do \ ! echo "std = $$std"; \ ! $(CC) -std=$$std $(TEST_H_OPTIONS) ; \ done + @rm -f test_headers.o Index: test_headers.c =================================================================== RCS file: /cvsroot/mingw/runtime/test_headers.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** test_headers.c 27 Aug 2002 11:20:26 -0000 1.1 --- test_headers.c 30 Aug 2002 14:47:59 -0000 1.2 *************** *** 37,41 **** #include <unistd.h> #include <values.h> - #include <varargs.h> #include <wchar.h> #include <wctype.h> --- 37,40 ---- *************** *** 43,46 **** --- 42,46 ---- #include <sys/file.h> #include <sys/locking.h> + #include <sys/param.h> #include <sys/stat.h> #include <sys/time.h> *************** *** 49,53 **** #include <sys/unistd.h> #include <sys/utime.h> - int main() --- 49,52 ---- |
|
From: <ea...@us...> - 2002-08-30 14:48:02
|
Update of /cvsroot/mingw/runtime/include/sys In directory usw-pr-cvs1:/tmp/cvs-serv30659/include/sys Modified Files: param.h Log Message: Merge winsup changes Index: param.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/sys/param.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** param.h 27 Aug 2002 11:20:27 -0000 1.1 --- param.h 30 Aug 2002 14:47:59 -0000 1.2 *************** *** 29,31 **** --- 29,38 ---- #include <limits.h> + #ifndef __STRICT_ANSI__ + /* These are useful for cross-compiling */ + #define BIG_ENDIAN 4321 + #define LITTLE_ENDIAN 1234 + #define BYTE_ORDER LITTLE_ENDIAN + #endif + #endif |
|
From: <ea...@us...> - 2002-08-29 22:12:03
|
Update of /cvsroot/mingw/msys/rt/src/winsup/cygwin
In directory usw-pr-cvs1:/tmp/cvs-serv25526
Modified Files:
ChangeLog.MSYS msys.cc path.cc shared.cc
Log Message:
* msys.cc (AbsDllPath): Add debugging.
(__AbsDllPath): Ditto.
* path.cc (cygwin_conv_to_win32_path): Use calloc instead of malloc.
* shared.cc (shared_name): Add debugging. Remove conditionalized
failing code to determine why it was failing.
Index: ChangeLog.MSYS
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/ChangeLog.MSYS,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** ChangeLog.MSYS 26 Aug 2002 01:07:37 -0000 1.21
--- ChangeLog.MSYS 29 Aug 2002 22:12:00 -0000 1.22
***************
*** 1,2 ****
--- 1,10 ----
+ 2002-08-30 Earnie Boyd <ea...@us...>
+
+ * msys.cc (AbsDllPath): Add debugging.
+ (__AbsDllPath): Ditto.
+ * path.cc (cygwin_conv_to_win32_path): Use calloc instead of malloc.
+ * shared.cc (shared_name): Add debugging. Remove conditionalized
+ failing code to determine why it was failing.
+
2002-08-25 Luke Dunstan <in...@us...>
Index: msys.cc
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/msys.cc,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** msys.cc 19 Jun 2002 12:23:00 -0000 1.3
--- msys.cc 29 Aug 2002 22:12:00 -0000 1.4
***************
*** 18,21 ****
--- 18,22 ----
AbsDllPath (const char * DllName, char * AbsDllPath, int AbsDllPathLen)
{
+ TRACE_IN;
__AbsDllPath(DllName, AbsDllPath, AbsDllPathLen);
}
***************
*** 24,35 ****
--- 25,39 ----
__AbsDllPath(const char * DllName, char * AbsDllPath, int AbsDllPathLen)
{
+ TRACE_IN;
HMODULE mn;
mn = GetModuleHandle (DllName);
if (GetModuleFileName (mn, AbsDllPath, AbsDllPathLen) == 0)
{
+ debug_printf("%s", AbsDllPath);
set_errno(EINVAL);
}
else
{
+ debug_printf("%s", AbsDllPath);
char *ptr = strrchr(AbsDllPath, '\\');
if (ptr)
Index: path.cc
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/path.cc,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** path.cc 26 Aug 2002 01:07:37 -0000 1.17
--- path.cc 29 Aug 2002 22:12:00 -0000 1.18
***************
*** 3113,3117 ****
char *swin32_path = new char [MAX_PATH * 4];
#else
! char *swin32_path = (char *)malloc (MAX_PATH * 4);
#endif
int swin32_pathlen;
--- 3113,3117 ----
char *swin32_path = new char [MAX_PATH * 4];
#else
! char *swin32_path = (char *)calloc (1, MAX_PATH * 4);
#endif
int swin32_pathlen;
***************
*** 3120,3127 ****
char *retpath = new char [MAX_PATH * 4];
#else
! char *retpath = (char *)malloc (MAX_PATH * 4);
#endif
int retpath_len = 0;
! int retpath_buflen = MAX_PATH*4;
int sret;
int retval = 0;
--- 3120,3127 ----
char *retpath = new char [MAX_PATH * 4];
#else
! char *retpath = (char *)calloc (1, MAX_PATH * 4);
#endif
int retpath_len = 0;
! int retpath_buflen = MAX_PATH * 4;
int sret;
int retval = 0;
Index: shared.cc
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/shared.cc,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** shared.cc 17 Jul 2002 13:06:56 -0000 1.5
--- shared.cc 29 Aug 2002 22:12:00 -0000 1.6
***************
*** 44,47 ****
--- 44,48 ----
shared_name (const char *str, int num)
{
+ TRACE_IN;
static NO_COPY char buf[MAX_PATH] = {0};
static NO_COPY char buf2[MAX_PATH] = {0};
***************
*** 50,54 ****
//FIXME: This should be based on where the DLL actually is located.
! AbsDllPath("msys-1.0.dll", buf2, MAX_PATH);
strcpy(buf2, &buf2[3]);
tptr = strchr(buf2, '\\');
--- 51,56 ----
//FIXME: This should be based on where the DLL actually is located.
! AbsDllPath("msys-1.0.dll", buf2, sizeof (buf2));
! debug_printf("buf2 = %s", buf2);
strcpy(buf2, &buf2[3]);
tptr = strchr(buf2, '\\');
***************
*** 57,62 ****
debug_printf("buf2 = %s", buf2);
__small_sprintf (buf, "%s.%s.%s.%d", buf2, cygwin_version.shared_id, str, num);
if (!_cygwin_testing)
! strcat (buf, cygwin_version.dll_build_date);
return buf;
}
--- 59,73 ----
debug_printf("buf2 = %s", buf2);
__small_sprintf (buf, "%s.%s.%s.%d", buf2, cygwin_version.shared_id, str, num);
+ #if 0
+ /* This code was removed because cygwin_version.dll_build_date is invalid.
+ * This should be put back into service once we discover the culprit.
+ */
if (!_cygwin_testing)
! {
! debug_printf("%s", buf);
! debug_printf("%s", cygwin_version.dll_build_date);
! strcat (buf, cygwin_version.dll_build_date);
! }
! #endif
return buf;
}
|
|
From: <ea...@us...> - 2002-08-28 22:29:27
|
Update of /cvsroot/mingw/w32api/include In directory usw-pr-cvs1:/tmp/cvs-serv31341/include Modified Files: w32api.h Log Message: Increment version: 2.1 Index: w32api.h =================================================================== RCS file: /cvsroot/mingw/w32api/include/w32api.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** w32api.h 14 Jun 2002 13:52:14 -0000 1.8 --- w32api.h 28 Aug 2002 22:29:24 -0000 1.9 *************** *** 7,11 **** #define __W32API_VERSION 2.0 #define __W32API_MAJOR_VERSION 2 ! #define __W32API_MINOR_VERSION 0 #endif /* ndef _W32API_H_ */ --- 7,11 ---- #define __W32API_VERSION 2.0 #define __W32API_MAJOR_VERSION 2 ! #define __W32API_MINOR_VERSION 1 #endif /* ndef _W32API_H_ */ |
|
From: <ea...@us...> - 2002-08-28 22:29:27
|
Update of /cvsroot/mingw/w32api In directory usw-pr-cvs1:/tmp/cvs-serv31341 Modified Files: ChangeLog Makefile.in Log Message: Increment version: 2.1 Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/w32api/ChangeLog,v retrieving revision 1.103 retrieving revision 1.104 diff -C2 -d -r1.103 -r1.104 *** ChangeLog 27 Aug 2002 12:39:55 -0000 1.103 --- ChangeLog 28 Aug 2002 22:29:24 -0000 1.104 *************** *** 1,2 **** --- 1,7 ---- + 2002-08-28 Earnie Boyd <ea...@us...> + + * include/w32api.h: Increment version to 2.1. + * Makefile.in: Ditto. + 2002-08-26 Bart Oldeman <bar...@bt...> Index: Makefile.in =================================================================== RCS file: /cvsroot/mingw/w32api/Makefile.in,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile.in 14 Jun 2002 13:52:13 -0000 1.11 --- Makefile.in 28 Aug 2002 22:29:24 -0000 1.12 *************** *** 67,71 **** PACKAGE = w32api ! VERSION = 2.0 CYGRELEASE = 1 --- 67,71 ---- PACKAGE = w32api ! VERSION = 2.1 CYGRELEASE = 1 |
Update of /cvsroot/mingw/w32api/include
In directory usw-pr-cvs1:/tmp/cvs-serv19049/include
Modified Files:
commctrl.h nspapi.h wincrypt.h winerror.h winsock2.h winuser.h
Added Files:
svcguid.h ws2spi.h wsahelp.h wsipx.h
Log Message:
Merge winsup changes
--- NEW FILE: svcguid.h ---
#ifndef _SVCGUID_H
#define _SVCGUID_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define SVCID_NETWARE(_SapId) \
{ (0x000B << 16) | (_SapId), 0, 0, { 0xC0,0,0,0,0,0,0,0x46 } }
#define SAPID_FROM_SVCID_NETWARE(_g) \
((WORD)(_g->Data1 & 0xFFFF))
#define SET_NETWARE_SVCID(_g,_SapId) { \
(_g)->Data1 = (0x000B << 16 ) | (_SapId); \
(_g)->Data2 = 0; \
(_g)->Data3 = 0; \
(_g)->Data4[0] = 0xC0; \
(_g)->Data4[1] = 0x0; \
(_g)->Data4[2] = 0x0; \
(_g)->Data4[3] = 0x0; \
(_g)->Data4[4] = 0x0; \
(_g)->Data4[5] = 0x0; \
(_g)->Data4[6] = 0x0; \
(_g)->Data4[7] = 0x46; }
#ifdef __cplusplus
}
#endif
#endif
--- NEW FILE: ws2spi.h ---
/*
* ws2spi.h
*
* Winsock 2 Service Provider interface.
*
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAIMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*/
#ifndef _WS2SPI_H
#define _WS2SPI_H
#include <winsock2.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define WSPAPI WSAAPI
#define WSPDESCRIPTION_LEN 255
#ifndef RC_INVOKED
typedef struct WSPData {
WORD wVersion;
WORD wHighVersion;
WCHAR szDescription[WSPDESCRIPTION_LEN+1];
} WSPDATA, FAR *LPWSPDATA;
typedef struct _WSATHREADID {
HANDLE ThreadHandle;
DWORD Reserved;
} WSATHREADID, FAR *LPWSATHREADID;
typedef BOOL (CALLBACK FAR *LPBLOCKINGCALLBACK)(DWORD);
typedef VOID (CALLBACK FAR *LPWSAUSERAPC)(DWORD);
/* Prototypes for service provider procedure table */
typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET,LPSOCKADDR,LPINT,LPCONDITIONPROC,DWORD,LPINT);
typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD,LPINT);
typedef INT (WSPAPI *LPWSPASYNCSELECT)(SOCKET,HWND,UINT,LONG,LPINT);
typedef INT (WSPAPI *LPWSPBIND)(SOCKET,CONST LPSOCKADDR,INT,LPINT);
typedef INT (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT);
typedef INT (WSPAPI *LPWSPCLEANUP)(LPINT);
typedef INT (WSPAPI *LPWSPCLOSESOCKET)(SOCKET,LPINT);
typedef INT (WSPAPI *LPWSPCONNECT)(SOCKET,CONST LPSOCKADDR,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,LPINT);
typedef INT (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET,DWORD,LPWSAPROTOCOL_INFOW,LPINT);
typedef INT (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS,LPINT);
typedef INT (WSPAPI *LPWSPEVENTSELECT)(SOCKET,WSAEVENT,LONG,LPINT);
typedef BOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD,LPINT);
typedef INT (WSPAPI *LPWSPGETPEERNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
typedef BOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET,LPWSABUF,LPQOS,LPINT);
typedef INT (WSPAPI *LPWSPGETSOCKNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
typedef INT (WSPAPI *LPWSPGETSOCKOPT)(SOCKET,INT,INT,CHAR FAR*,LPINT,LPINT);
typedef INT (WSPAPI *LPWSPIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,
LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET,CONST LPSOCKADDR,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD,LPINT);
typedef INT (WSPAPI *LPWSPLISTEN)(SOCKET,INT,LPINT);
typedef INT (WSPAPI *LPWSPRECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,
LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
typedef INT (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET,LPWSABUF,LPINT);
typedef INT (WSPAPI *LPWSPRECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPSOCKADDR,
LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
typedef INT (WSPAPI *LPWSPSELECT)(INT,LPFD_SET,LPFD_SET,LPFD_SET,CONST LPTIMEVAL,LPINT);
typedef INT (WSPAPI *LPWSPSEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,
LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
typedef INT (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET,LPWSABUF,LPINT);
typedef INT (WSPAPI *LPWSPSENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,CONST LPSOCKADDR,
INT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
typedef INT (WSPAPI *LPWSPSETSOCKOPT)(SOCKET,INT,INT,CONST CHAR FAR*,INT,LPINT);
typedef INT (WSPAPI *LPWSPSHUTDOWN)(SOCKET,INT,LPINT);
typedef SOCKET (WSPAPI *LPWSPSOCKET)(INT,INT,INT,LPWSAPROTOCOL_INFOW,GROUP,DWORD,LPINT);
typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR,INT,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPINT,LPINT);
/* Service provider procedure table */
typedef struct _WSPPROC_TABLE {
LPWSPACCEPT lpWSPAccept;
LPWSPADDRESSTOSTRING lpWSPAddressToString;
LPWSPASYNCSELECT lpWSPAsyncSelect;
LPWSPBIND lpWSPBind;
LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
LPWSPCLEANUP lpWSPCleanup;
LPWSPCLOSESOCKET lpWSPCloseSocket;
LPWSPCONNECT lpWSPConnect;
LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
LPWSPEVENTSELECT lpWSPEventSelect;
LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
LPWSPGETPEERNAME lpWSPGetPeerName;
LPWSPGETSOCKNAME lpWSPGetSockName;
LPWSPGETSOCKOPT lpWSPGetSockOpt;
LPWSPGETQOSBYNAME lpWSPGetQOSByName;
LPWSPIOCTL lpWSPIoctl;
LPWSPJOINLEAF lpWSPJoinLeaf;
LPWSPLISTEN lpWSPListen;
LPWSPRECV lpWSPRecv;
LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
LPWSPRECVFROM lpWSPRecvFrom;
LPWSPSELECT lpWSPSelect;
LPWSPSEND lpWSPSend;
LPWSPSENDDISCONNECT lpWSPSendDisconnect;
LPWSPSENDTO lpWSPSendTo;
LPWSPSETSOCKOPT lpWSPSetSockOpt;
LPWSPSHUTDOWN lpWSPShutdown;
LPWSPSOCKET lpWSPSocket;
LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
/* Prototypes for service provider upcall procedure table */
typedef BOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT,LPINT);
typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET,LPINT);
typedef INT (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID,LPINT);
typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT);
typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD,DWORD,LPINT);
typedef SOCKET (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
typedef INT (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID,LPWSTR,LPINT,LPINT);
typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD,SOCKET,LPINT);
typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID,LPINT);
typedef BOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND,UINT,WPARAM,LPARAM);
typedef INT (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD,LPBLOCKINGCALLBACK FAR*,LPDWORD,LPINT);
typedef INT (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET,LPDWORD,LPINT);
typedef INT (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID,LPWSAUSERAPC,DWORD,LPINT);
typedef BOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT,LPINT);
typedef BOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT,LPINT);
/* Available only directly from the DLL */
typedef INT (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
/* Service Provider upcall table */
typedef struct _WSPUPCALLTABLE {
LPWPUCLOSEEVENT lpWPUCloseEvent;
LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
LPWPUCREATEEVENT lpWPUCreateEvent;
LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
LPWPUFDISSET lpWPUFDIsSet;
LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
LPWPUPOSTMESSAGE lpWPUPostMessage;
LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
LPWPUQUEUEAPC lpWPUQueueApc;
LPWPURESETEVENT lpWPUResetEvent;
LPWPUSETEVENT lpWPUSetEvent;
LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
LPWPUCLOSETHREAD lpWPUCloseThread;
} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
typedef INT (WSPAPI *LPWSPSTARTUP)(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
/* Prototypes for service provider namespace procedure table */
typedef INT (WSPAPI *LPNSPCLEANUP)(LPGUID);
typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
typedef INT (WSPAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSET);
typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
typedef INT (WSPAPI *LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
typedef struct _NSP_ROUTINE {
DWORD cbSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
LPNSPCLEANUP NSPCleanup;
LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
LPNSPSETSERVICE NSPSetService;
LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
INT WSPAPI NSPStartup(LPGUID,LPNSP_ROUTINE);
/* WinSock 2 DLL function prototypes */
INT WSPAPI WPUCompleteOverlappedRequest(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
INT WSPAPI WSPStartup(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
INT WSPAPI WSCDeinstallProvider(LPGUID,LPINT);
INT WSPAPI WSCEnumProtocols(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD,LPINT);
INT WSPAPI WSCGetProviderPath(LPGUID,LPWSTR,LPINT,LPINT);
INT WSPAPI WSCInstallProvider(CONST LPGUID,CONST LPWSTR,CONST LPWSAPROTOCOL_INFOW,DWORD,LPINT);
INT WSPAPI WSCEnableNSProvider(LPGUID,BOOL);
INT WSPAPI WSCInstallNameSpace(LPWSTR,LPWSTR,DWORD,DWORD,LPGUID);
INT WSPAPI WSCUnInstallNameSpace(LPGUID);
INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
#endif /* RC_INVOKED */
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /* _WS2SPI_H */
--- NEW FILE: wsahelp.h ---
#ifndef _WSAHELP_H
#define _WSAHELP_H
#include <winsock2.h>
#include <ntsecapi.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define WSH_NOTIFY_BIND 0x00000001
#define WSH_NOTIFY_LISTEN 0x00000002
#define WSH_NOTIFY_CONNECT 0x00000004
#define WSH_NOTIFY_ACCEPT 0x00000008
#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
#define WSH_NOTIFY_CLOSE 0x00000080
#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
#define SOL_INTERNAL 0xFFFE
#define SO_CONTEXT 1
#ifndef RC_INVOKED
typedef enum _SOCKADDR_ADDRESS_INFO {
SockaddrAddressInfoNormal,
SockaddrAddressInfoWildcard,
SockaddrAddressInfoBroadcast,
SockaddrAddressInfoLoopback
} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
typedef enum _SOCKADDR_ENDPOINT_INFO {
SockaddrEndpointInfoNormal,
SockaddrEndpointInfoWildcard,
SockaddrEndpointInfoReserved
} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
typedef struct _WINSOCK_MAPPING {
DWORD Rows;
DWORD Columns;
struct {
DWORD AddressFamily;
DWORD SocketType;
DWORD Protocol;
} Mapping[1];
} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
typedef struct _SOCKADDR_INFO {
SOCKADDR_ADDRESS_INFO AddressInfo;
SOCKADDR_ENDPOINT_INFO EndpointInfo;
} SOCKADDR_INFO, *PSOCKADDR_INFO;
INT WINAPI WSHAddressToString(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
INT WINAPI WSHEnumProtocols(LPINT,LPWSTR,LPVOID,LPDWORD);
INT WINAPI WSHGetBroadcastSockaddr(PVOID,PSOCKADDR,PINT);
INT WINAPI WSHGetProviderGuid(LPWSTR,LPGUID);
INT WINAPI WSHGetSockaddrType(PSOCKADDR,DWORD,PSOCKADDR_INFO);
INT WINAPI WSHGetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
INT WINAPI WSHGetWildcardSockaddr(PVOID,PSOCKADDR,PINT);
DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING,DWORD);
INT WINAPI WSHGetWSAProtocolInfo(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
INT WINAPI WSHIoctl(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,
LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
INT WINAPI WSHJoinLeaf(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,PSOCKADDR,
DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
INT WINAPI WSHNotify(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
INT WINAPI WSHOpenSocket(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
INT WINAPI WSHOpenSocket2(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
INT WINAPI WSHSetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
INT WINAPI WSHStringToAddress(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
typedef INT (WINAPI *PWSH_ADDRESS_TO_STRING)(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
typedef INT (WINAPI *PWSH_ENUM_PROTOCOLS)(LPINT,LPWSTR,LPVOID,LPDWORD);
typedef INT (WINAPI *PWSH_GET_BROADCAST_SOCKADDR)(PVOID,PSOCKADDR,PINT);
typedef INT (WINAPI *PWSH_GET_PROVIDER_GUID)(LPWSTR,LPGUID);
typedef INT (WINAPI *PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR,DWORD,PSOCKADDR_INFO);
typedef INT (WINAPI *PWSH_GET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
typedef INT (WINAPI *PWSH_GET_WILDCARD_SOCKEADDR)(PVOID,PSOCKADDR,PINT);
typedef DWORD (WINAPI *PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING,DWORD);
typedef INT (WINAPI *PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
typedef INT (WINAPI *PWSH_IOCTL)(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,
LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
typedef INT (WINAPI *PWSH_JOIN_LEAF)(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,
PSOCKADDR,DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
typedef INT (WINAPI *PWSH_NOTIFY)(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
typedef INT (WINAPI *PWSH_OPEN_SOCKET)(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
typedef INT (WINAPI *PWSH_OPEN_SOCKET2)(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
typedef INT (WINAPI *PWSH_SET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
typedef INT (WINAPI *PWSH_STRING_TO_ADDRESS)(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
#endif /* RC_INVOKED */
#ifdef __cplusplus
};
#endif /* __cplusplus */
#endif /* _WSAHELP_H */
--- NEW FILE: wsipx.h ---
/* WSIPX.H - initially taken from the Wine project
*/
#ifndef _WSIPX_H
#define _WSIPX_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define NSPROTO_IPX 1000
#define NSPROTO_SPX 1256
#define NSPROTO_SPXII 1257
typedef struct sockaddr_ipx {
short sa_family;
char sa_netnum[4];
char sa_nodenum[6];
unsigned short sa_socket;
} SOCKADDR_IPX, *PSOCKADDR_IPX, *LPSOCKADDR_IPX;
#ifdef __cplusplus
}
#endif
#endif
Index: commctrl.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/commctrl.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** commctrl.h 12 Aug 2002 12:21:10 -0000 1.11
--- commctrl.h 27 Aug 2002 12:39:55 -0000 1.12
***************
*** 1524,1528 ****
DWORD dwItemSpec;
UINT uItemState;
! LPARAM lItemParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
typedef struct tagNMLVCUSTOMDRAW {
--- 1524,1528 ----
DWORD dwItemSpec;
UINT uItemState;
! LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
typedef struct tagNMLVCUSTOMDRAW {
Index: nspapi.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/nspapi.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** nspapi.h 9 Apr 2002 21:17:17 -0000 1.2
--- nspapi.h 27 Aug 2002 12:39:55 -0000 1.3
***************
*** 8,11 ****
--- 8,46 ----
extern "C" {
#endif
+
+ #define NS_ALL 0
+
+ #define NS_SAP 1
+ #define NS_NDS 2
+ #define NS_PEER_BROWSE 3
+
+ #define NS_TCPIP_LOCAL 10
+ #define NS_TCPIP_HOSTS 11
+ #define NS_DNS 12
+ #define NS_NETBT 13
+ #define NS_WINS 14
+
+ #define NS_NBP 20
+
+ #define NS_MS 30
+ #define NS_STDA 31
+ #define NS_NTDS 32
+
+ #define NS_X500 40
+ #define NS_NIS 41
+ #define NS_NISPLUS 42
+
+ #define NS_WRQ 50
+
+ #define SERVICE_REGISTER 1
+ #define SERVICE_DEREGISTER 2
+ #define SERVICE_FLUSH 3
+ #define SERVICE_FLAG_HARD 0x00000002
+
+ #ifndef RC_INVOKED
+
+ #if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */
+ #ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */
+ #define __CSADDR_T_DEFINED
typedef struct _SOCKET_ADDRESS {
LPSOCKADDR lpSockaddr;
***************
*** 18,21 ****
--- 53,124 ----
INT iProtocol;
} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
+ #endif
+ #endif
+
+ #ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */
+ #define __BLOB_T_DEFINED
+ typedef struct _BLOB {
+ ULONG cbSize;
+ BYTE *pBlobData;
+ } BLOB,*PBLOB,*LPBLOB;
+ #endif
+
+ typedef struct _SERVICE_ADDRESS {
+ DWORD dwAddressType;
+ DWORD dwAddressFlags;
+ DWORD dwAddressLength;
+ DWORD dwPrincipalLength;
+ BYTE *lpAddress;
+ BYTE *lpPrincipal;
+ } SERVICE_ADDRESS;
+ typedef struct _SERVICE_ADDRESSES {
+ DWORD dwAddressCount;
+ SERVICE_ADDRESS Addresses[1];
+ } SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
+ typedef struct _SERVICE_INFOA {
+ LPGUID lpServiceType;
+ LPSTR lpServiceName;
+ LPSTR lpComment;
+ LPSTR lpLocale;
+ DWORD dwDisplayHint;
+ DWORD dwVersion;
+ DWORD dwTime;
+ LPSTR lpMachineName;
+ LPSERVICE_ADDRESSES lpServiceAddress;
+ BLOB ServiceSpecificInfo;
+ } SERVICE_INFOA, *LPSERVICE_INFOA;
+ typedef struct _SERVICE_INFOW {
+ LPGUID lpServiceType;
+ LPWSTR lpServiceName;
+ LPWSTR lpComment;
+ LPWSTR lpLocale;
+ DWORD dwDisplayHint;
+ DWORD dwVersion;
+ DWORD dwTime;
+ LPWSTR lpMachineName;
+ LPSERVICE_ADDRESSES lpServiceAddress;
+ BLOB ServiceSpecificInfo;
+ } SERVICE_INFOW, *LPSERVICE_INFOW;
+
+ typedef void *LPSERVICE_ASYNC_INFO;
+ INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
+ INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
+ INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPTSTR,LPDWORD);
+ INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPTSTR,LPDWORD);
+
+ #ifdef UNICODE
+ typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO;
+ #define _SERVICE_INFO SERVICE_INFOW
+ #define SetService SetServiceW
+ #define GetAddressByName GetAddressByNameW
+ #else
+ typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO;
+ #define _SERVICE_INFO SERVICE_INFOA
+ #define SetService SetServiceA
+ #define GetAddressByName GetAddressByNameA
+ #endif
+
+ #endif /* RC_INVOKED */
+
#ifdef __cplusplus
}
Index: wincrypt.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/wincrypt.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** wincrypt.h 14 Aug 2002 21:05:43 -0000 1.4
--- wincrypt.h 27 Aug 2002 12:39:55 -0000 1.5
***************
*** 19,22 ****
--- 19,23 ----
#define ALG_CLASS_HASH 32768
#define ALG_CLASS_KEY_EXCHANGE 40960
+ #define ALG_CLASS_ALL 57344 /* (7 << 13) */
#define ALG_TYPE_ANY 0
#define ALG_TYPE_DSS 512
***************
*** 24,27 ****
--- 25,30 ----
#define ALG_TYPE_BLOCK 1536
#define ALG_TYPE_STREAM 2048
+ #define ALG_TYPE_DH 2560 /* (5 << 9) */
+ #define ALG_TYPE_SECURECHANNEL 3072 /* (6 << 9) */
#define ALG_SID_ANY 0
#define ALG_SID_RSA_ANY 0
***************
*** 34,37 ****
--- 37,51 ----
#define ALG_SID_DSS_DMS 2
#define ALG_SID_DES 1
+ #define ALG_SID_3DES 3
+ #define ALG_SID_DESX 4
+ #define ALG_SID_IDEA 5
+ #define ALG_SID_CAST 6
+ #define ALG_SID_SAFERSK64 7
+ #define ALG_SID_SAFERSK128 8
+ #define ALG_SID_3DES_112 9
+ #define ALG_SID_SKIPJACK 10
+ #define ALG_SID_TEK 11
+ #define ALG_SID_CYLINK_MEK 12
+ #define ALG_SID_RC5 13
#define ALG_SID_RC2 2
#define ALG_SID_RC4 1
***************
*** 42,46 ****
--- 56,66 ----
#define ALG_SID_SHA 4
#define ALG_SID_MAC 5
+ #define ALG_SID_RIPEMD 6
+ #define ALG_SID_RIPEMD160 7
+ #define ALG_SID_SSL3SHAMD5 8
+ #define ALG_SID_HMAC 9
+ #define ALG_SID_TLS1PRF 10
#define ALG_SID_EXAMPLE 80
+
#define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2)
#define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4)
***************
*** 60,63 ****
--- 80,85 ----
#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL)
#define CALG_DH_EPHEM (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|ALG_SID_DSS_DMS)
+ #define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX)
+ #define CALG_TLS1PRF (ALG_CLASS_DHASH|ALG_TYPE_ANY|ALG_SID_TLS1PRF)
#define CRYPT_VERIFYCONTEXT 0xF0000000
***************
*** 65,68 ****
--- 87,91 ----
#define CRYPT_DELETEKEYSET 16
#define CRYPT_MACHINE_KEYSET 32
+ #define CRYPT_SILENT 64
#define CRYPT_EXPORTABLE 1
#define CRYPT_USER_PROTECTED 2
***************
*** 71,74 ****
--- 94,98 ----
#define SIMPLEBLOB 1
#define PUBLICKEYBLOB 6
+ #define PRIVATEKEYBLOB 7
#define AT_KEYEXCHANGE 1
#define AT_SIGNATURE 2
***************
*** 88,91 ****
--- 112,120 ----
#define CRYPT_MODE_CFB 4
#define CRYPT_MODE_CTS 5
+ #define CRYPT_MODE_CBCI 6
+ #define CRYPT_MODE_CFBP 7
+ #define CRYPT_MODE_OFBP 8
+ #define CRYPT_MODE_CBCOFM 9
+ #define CRYPT_MODE_CBCOFMI 10
#define CRYPT_ENCRYPT 1
#define CRYPT_DECRYPT 2
***************
*** 107,110 ****
--- 136,152 ----
#define PP_VERSION 5
#define PP_CONTAINER 6
+ #define PP_ENUMMANDROOTS 25
+ #define PP_ENUMELECTROOTS 26
+ #define PP_KEYSET_TYPE 27
+ #define PP_ADMIN_PIN 31
+ #define PP_KEYEXCHANGE_PIN 32
+ #define PP_SIGNATURE_PIN 33
+ #define PP_SIG_KEYSIZE_INC 34
+ #define PP_KEYX_KEYSIZE_INC 35
+ #define PP_UNIQUE_CONTAINER 36
+ #define PP_SGC_INFO 37
+ #define PP_USE_HARDWARE_RNG 38
+ #define PP_KEYSPEC 39
+ #define PP_ENUMEX_SIGNING_PROT 40
#define CRYPT_FIRST 1
#define CRYPT_NEXT 2
***************
*** 124,127 ****
--- 166,179 ----
#define PROV_STT_ROOT 10
#define PROV_STT_ISS 11
+ #define PROV_RSA_SCHANNEL 12
+ #define PROV_DSS_DH 13
+ #define PROV_EC_ECDSA_SIG 14
+ #define PROV_EC_ECNRA_SIG 15
+ #define PROV_EC_ECDSA_FULL 16
+ #define PROV_EC_ECNRA_FULL 17
+ #define PROV_DH_SCHANNEL 18
+ #define PROV_SPYRUS_LYNKS 20
+ #define PROV_RNG 21
+ #define PROV_INTEL_SEC 22
#define MAXUIDLEN 64
#define CUR_BLOB_VERSION 2
***************
*** 229,233 ****
--- 281,297 ----
#define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1"
#define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2"
+
#define CRYPT_NOHASHOID 0x00000001
+ #define CRYPT_NO_SALT 0x10
+ #define CRYPT_PREGEN 0x40
+ #define CRYPT_RECIPIENT 0x10
+ #define CRYPT_INITIATOR 0x40
+ #define CRYPT_ONLINE 0x80
+ #define CRYPT_SF 0x100
+ #define CRYPT_CREATE_IV 0x200
+ #define CRYPT_KEK 0x400
+ #define CRYPT_DATA_KEY 0x800
+ #define CRYPT_VOLATILE 0x1000
+ #define CRYPT_SGCKEY 0x2000
typedef UINT ALG_ID;
Index: winerror.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/winerror.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** winerror.h 20 Jun 2002 16:18:03 -0000 1.4
--- winerror.h 27 Aug 2002 12:39:55 -0000 1.5
***************
*** 698,1057 ****
#define NOERROR S_OK
! #define E_UNEXPECTED 0x8000FFFFL
! #define E_NOTIMPL 0x80004001L
! #define E_OUTOFMEMORY 0x8007000EL
! #define E_INVALIDARG 0x80070057L
! #define E_NOINTERFACE 0x80004002L
! #define E_POINTER 0x80004003L
! #define E_HANDLE 0x80070006L
! #define E_ABORT 0x80004004L
! #define E_FAIL 0x80004005L
! #define E_ACCESSDENIED 0x80070005L
! #define E_PENDING 0x8000000AL
! #define CO_E_INIT_TLS 0x80004006L
! #define CO_E_INIT_SHARED_ALLOCATOR 0x80004007L
! #define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008L
! #define CO_E_INIT_CLASS_CACHE 0x80004009L
! #define CO_E_INIT_RPC_CHANNEL 0x8000400AL
! #define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400BL
! #define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400CL
! #define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400DL
! #define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400EL
! #define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400FL
! #define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010L
! #define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011L
! #define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012L
! #define S_OK (0x00000000L)
! #define S_FALSE (0x00000001L)
! #define OLE_E_FIRST 0x80040000L
! #define OLE_E_LAST 0x800400FFL
! #define OLE_S_FIRST 0x00040000L
! #define OLE_S_LAST 0x000400FFL
! #define OLE_E_OLEVERB 0x80040000L
! #define OLE_E_ADVF 0x80040001L
! #define OLE_E_ENUM_NOMORE 0x80040002L
! #define OLE_E_ADVISENOTSUPPORTED 0x80040003L
! #define OLE_E_NOCONNECTION 0x80040004L
! #define OLE_E_NOTRUNNING 0x80040005L
! #define OLE_E_NOCACHE 0x80040006L
! #define OLE_E_BLANK 0x80040007L
! #define OLE_E_CLASSDIFF 0x80040008L
! #define OLE_E_CANT_GETMONIKER 0x80040009L
! #define OLE_E_CANT_BINDTOSOURCE 0x8004000AL
! #define OLE_E_STATIC 0x8004000BL
! #define OLE_E_PROMPTSAVECANCELLED 0x8004000CL
! #define OLE_E_INVALIDRECT 0x8004000DL
! #define OLE_E_WRONGCOMPOBJ 0x8004000EL
! #define OLE_E_INVALIDHWND 0x8004000FL
! #define OLE_E_NOT_INPLACEACTIVE 0x80040010L
! #define OLE_E_CANTCONVERT 0x80040011L
! #define OLE_E_NOSTORAGE 0x80040012L
! #define DV_E_FORMATETC 0x80040064L
! #define DV_E_DVTARGETDEVICE 0x80040065L
! #define DV_E_STGMEDIUM 0x80040066L
! #define DV_E_STATDATA 0x80040067L
! #define DV_E_LINDEX 0x80040068L
! #define DV_E_TYMED 0x80040069L
! #define DV_E_CLIPFORMAT 0x8004006AL
! #define DV_E_DVASPECT 0x8004006BL
! #define DV_E_DVTARGETDEVICE_SIZE 0x8004006CL
! #define DV_E_NOIVIEWOBJECT 0x8004006DL
! #define DRAGDROP_E_FIRST 0x80040100L
! #define DRAGDROP_E_LAST 0x8004010FL
! #define DRAGDROP_S_FIRST 0x00040100L
! #define DRAGDROP_S_LAST 0x0004010FL
! #define DRAGDROP_E_NOTREGISTERED 0x80040100L
! #define DRAGDROP_E_ALREADYREGISTERED 0x80040101L
! #define DRAGDROP_E_INVALIDHWND 0x80040102L
! #define CLASSFACTORY_E_FIRST 0x80040110L
! #define CLASSFACTORY_E_LAST 0x8004011FL
! #define CLASSFACTORY_S_FIRST 0x00040110L
! #define CLASSFACTORY_S_LAST 0x0004011FL
! #define CLASS_E_NOAGGREGATION 0x80040110L
! #define CLASS_E_CLASSNOTAVAILABLE 0x80040111L
! #define MARSHAL_E_FIRST 0x80040120L
! #define MARSHAL_E_LAST 0x8004012FL
! #define MARSHAL_S_FIRST 0x00040120L
! #define MARSHAL_S_LAST 0x0004012FL
! #define DATA_E_FIRST 0x80040130L
! #define DATA_E_LAST 0x8004013FL
! #define DATA_S_FIRST 0x00040130L
! #define DATA_S_LAST 0x0004013FL
! #define VIEW_E_FIRST 0x80040140L
! #define VIEW_E_LAST 0x8004014FL
! #define VIEW_S_FIRST 0x00040140L
! #define VIEW_S_LAST 0x0004014FL
! #define VIEW_E_DRAW 0x80040140L
! #define REGDB_E_FIRST 0x80040150L
! #define REGDB_E_LAST 0x8004015FL
! #define REGDB_S_FIRST 0x00040150L
! #define REGDB_S_LAST 0x0004015FL
! #define REGDB_E_READREGDB 0x80040150L
! #define REGDB_E_WRITEREGDB 0x80040151L
! #define REGDB_E_KEYMISSING 0x80040152L
! #define REGDB_E_INVALIDVALUE 0x80040153L
! #define REGDB_E_CLASSNOTREG 0x80040154L
! #define REGDB_E_IIDNOTREG 0x80040155L
! #define CACHE_E_FIRST 0x80040170L
! #define CACHE_E_LAST 0x8004017FL
! #define CACHE_S_FIRST 0x00040170L
! #define CACHE_S_LAST 0x0004017FL
! #define CACHE_E_NOCACHE_UPDATED 0x80040170L
! #define OLEOBJ_E_FIRST 0x80040180L
! #define OLEOBJ_E_LAST 0x8004018FL
! #define OLEOBJ_S_FIRST 0x00040180L
! #define OLEOBJ_S_LAST 0x0004018FL
! #define OLEOBJ_E_NOVERBS 0x80040180L
! #define OLEOBJ_E_INVALIDVERB 0x80040181L
! #define CLIENTSITE_E_FIRST 0x80040190L
! #define CLIENTSITE_E_LAST 0x8004019FL
! #define CLIENTSITE_S_FIRST 0x00040190L
! #define CLIENTSITE_S_LAST 0x0004019FL
! #define INPLACE_E_NOTUNDOABLE 0x800401A0L
! #define INPLACE_E_NOTOOLSPACE 0x800401A1L
! #define INPLACE_E_FIRST 0x800401A0L
! #define INPLACE_E_LAST 0x800401AFL
! #define INPLACE_S_FIRST 0x000401A0L
! #define INPLACE_S_LAST 0x000401AFL
! #define ENUM_E_FIRST 0x800401B0L
! #define ENUM_E_LAST 0x800401BFL
! #define ENUM_S_FIRST 0x000401B0L
! #define ENUM_S_LAST 0x000401BFL
! #define CONVERT10_E_FIRST 0x800401C0L
! #define CONVERT10_E_LAST 0x800401CFL
! #define CONVERT10_S_FIRST 0x000401C0L
! #define CONVERT10_S_LAST 0x000401CFL
! #define CONVERT10_E_OLESTREAM_GET 0x800401C0L
! #define CONVERT10_E_OLESTREAM_PUT 0x800401C1L
! #define CONVERT10_E_OLESTREAM_FMT 0x800401C2L
! #define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 0x800401C3L
! #define CONVERT10_E_STG_FMT 0x800401C4L
! #define CONVERT10_E_STG_NO_STD_STREAM 0x800401C5L
! #define CONVERT10_E_STG_DIB_TO_BITMAP 0x800401C6L
! #define CLIPBRD_E_FIRST 0x800401D0L
! #define CLIPBRD_E_LAST 0x800401DFL
! #define CLIPBRD_S_FIRST 0x000401D0L
! #define CLIPBRD_S_LAST 0x000401DFL
! #define CLIPBRD_E_CANT_OPEN 0x800401D0L
! #define CLIPBRD_E_CANT_EMPTY 0x800401D1L
! #define CLIPBRD_E_CANT_SET 0x800401D2L
! #define CLIPBRD_E_BAD_DATA 0x800401D3L
! #define CLIPBRD_E_CANT_CLOSE 0x800401D4L
! #define MK_E_FIRST 0x800401E0L
! #define MK_E_LAST 0x800401EFL
! #define MK_S_FIRST 0x000401E0L
! #define MK_S_LAST 0x000401EFL
! #define MK_E_CONNECTMANUALLY 0x800401E0L
! #define MK_E_EXCEEDEDDEADLINE 0x800401E1L
! #define MK_E_NEEDGENERIC 0x800401E2L
! #define MK_E_UNAVAILABLE 0x800401E3L
! #define MK_E_SYNTAX 0x800401E4L
! #define MK_E_NOOBJECT 0x800401E5L
! #define MK_E_INVALIDEXTENSION 0x800401E6L
! #define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 0x800401E7L
! #define MK_E_NOTBINDABLE 0x800401E8L
! #define MK_E_NOTBOUND 0x800401E9L
! #define MK_E_CANTOPENFILE 0x800401EAL
! #define MK_E_MUSTBOTHERUSER 0x800401EBL
! #define MK_E_NOINVERSE 0x800401ECL
! #define MK_E_NOSTORAGE 0x800401EDL
! #define MK_E_NOPREFIX 0x800401EEL
! #define MK_E_ENUMERATION_FAILED 0x800401EFL
! #define CO_E_FIRST 0x800401F0L
! #define CO_E_LAST 0x800401FFL
! #define CO_S_FIRST 0x000401F0L
! #define CO_S_LAST 0x000401FFL
! #define CO_E_NOTINITIALIZED 0x800401F0L
! #define CO_E_ALREADYINITIALIZED 0x800401F1L
! #define CO_E_CANTDETERMINECLASS 0x800401F2L
! #define CO_E_CLASSSTRING 0x800401F3L
! #define CO_E_IIDSTRING 0x800401F4L
! #define CO_E_APPNOTFOUND 0x800401F5L
! #define CO_E_APPSINGLEUSE 0x800401F6L
! #define CO_E_ERRORINAPP 0x800401F7L
! #define CO_E_DLLNOTFOUND 0x800401F8L
! #define CO_E_ERRORINDLL 0x800401F9L
! #define CO_E_WRONGOSFORAPP 0x800401FAL
! #define CO_E_OBJNOTREG 0x800401FBL
! #define CO_E_OBJISREG 0x800401FCL
! #define CO_E_OBJNOTCONNECTED 0x800401FDL
! #define CO_E_APPDIDNTREG 0x800401FEL
! #define CO_E_RELEASED 0x800401FFL
! #define OLE_S_USEREG 0x00040000L
! #define OLE_S_STATIC 0x00040001L
! #define OLE_S_MAC_CLIPFORMAT 0x00040002L
! #define DRAGDROP_S_DROP 0x00040100L
! #define DRAGDROP_S_CANCEL 0x00040101L
! #define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L
! #define DATA_S_SAMEFORMATETC 0x00040130L
! #define VIEW_S_ALREADY_FROZEN 0x00040140L
! #define CACHE_S_FORMATETC_NOTSUPPORTED 0x00040170L
! #define CACHE_S_SAMECACHE 0x00040171L
! #define CACHE_S_SOMECACHES_NOTUPDATED 0x00040172L
! #define OLEOBJ_S_INVALIDVERB 0x00040180L
! #define OLEOBJ_S_CANNOT_DOVERB_NOW 0x00040181L
! #define OLEOBJ_S_INVALIDHWND 0x00040182L
! #define INPLACE_S_TRUNCATED 0x000401A0L
! #define CONVERT10_S_NO_PRESENTATION 0x000401C0L
! #define MK_S_REDUCED_TO_SELF 0x000401E2L
! #define MK_S_ME 0x000401E4L
! #define MK_S_HIM 0x000401E5L
! #define MK_S_US 0x000401E6L
! #define MK_S_MONIKERALREADYREGISTERED 0x000401E7L
! #define CO_E_CLASS_CREATE_FAILED 0x80080001L
! #define CO_E_SCM_ERROR 0x80080002L
! #define CO_E_SCM_RPC_FAILURE 0x80080003L
! #define CO_E_BAD_PATH 0x80080004L
! #define CO_E_SERVER_EXEC_FAILURE 0x80080005L
! #define CO_E_OBJSRV_RPC_FAILURE 0x80080006L
! #define MK_E_NO_NORMALIZED 0x80080007L
! #define CO_E_SERVER_STOPPING 0x80080008L
! #define MEM_E_INVALID_ROOT 0x80080009L
! #define MEM_E_INVALID_LINK 0x80080010L
! #define MEM_E_INVALID_SIZE 0x80080011L
! #define DISP_E_UNKNOWNINTERFACE 0x80020001L
! #define DISP_E_MEMBERNOTFOUND 0x80020003L
! #define DISP_E_PARAMNOTFOUND 0x80020004L
! #define DISP_E_TYPEMISMATCH 0x80020005L
! #define DISP_E_UNKNOWNNAME 0x80020006L
! #define DISP_E_NONAMEDARGS 0x80020007L
! #define DISP_E_BADVARTYPE 0x80020008L
! #define DISP_E_EXCEPTION 0x80020009L
! #define DISP_E_OVERFLOW 0x8002000AL
! #define DISP_E_BADINDEX 0x8002000BL
! #define DISP_E_UNKNOWNLCID 0x8002000CL
! #define DISP_E_ARRAYISLOCKED 0x8002000DL
! #define DISP_E_BADPARAMCOUNT 0x8002000EL
! #define DISP_E_PARAMNOTOPTIONAL 0x8002000FL
! #define DISP_E_BADCALLEE 0x80020010L
! #define DISP_E_NOTACOLLECTION 0x80020011L
! #define TYPE_E_BUFFERTOOSMALL 0x80028016L
! #define TYPE_E_INVDATAREAD 0x80028018L
! #define TYPE_E_UNSUPFORMAT 0x80028019L
! #define TYPE_E_REGISTRYACCESS 0x8002801CL
! #define TYPE_E_LIBNOTREGISTERED 0x8002801DL
! #define TYPE_E_UNDEFINEDTYPE 0x80028027L
! #define TYPE_E_QUALIFIEDNAMEDISALLOWED 0x80028028L
! #define TYPE_E_INVALIDSTATE 0x80028029L
! #define TYPE_E_WRONGTYPEKIND 0x8002802AL
! #define TYPE_E_ELEMENTNOTFOUND 0x8002802BL
! #define TYPE_E_AMBIGUOUSNAME 0x8002802CL
! #define TYPE_E_NAMECONFLICT 0x8002802DL
! #define TYPE_E_UNKNOWNLCID 0x8002802EL
! #define TYPE_E_DLLFUNCTIONNOTFOUND 0x8002802FL
! #define TYPE_E_BADMODULEKIND 0x800288BDL
! #define TYPE_E_SIZETOOBIG 0x800288C5L
! #define TYPE_E_DUPLICATEID 0x800288C6L
! #define TYPE_E_INVALIDID 0x800288CFL
! #define TYPE_E_TYPEMISMATCH 0x80028CA0L
! #define TYPE_E_OUTOFBOUNDS 0x80028CA1L
! #define TYPE_E_IOERROR 0x80028CA2L
! #define TYPE_E_CANTCREATETMPFILE 0x80028CA3L
! #define TYPE_E_CANTLOADLIBRARY 0x80029C4AL
! #define TYPE_E_INCONSISTENTPROPFUNCS 0x80029C83L
! #define TYPE_E_CIRCULARTYPE 0x80029C84L
! #define STG_E_INVALIDFUNCTION 0x80030001L
! #define STG_E_FILENOTFOUND 0x80030002L
! #define STG_E_PATHNOTFOUND 0x80030003L
! #define STG_E_TOOMANYOPENFILES 0x80030004L
! #define STG_E_ACCESSDENIED 0x80030005L
! #define STG_E_INVALIDHANDLE 0x80030006L
! #define STG_E_INSUFFICIENTMEMORY 0x80030008L
! #define STG_E_INVALIDPOINTER 0x80030009L
! #define STG_E_NOMOREFILES 0x80030012L
! #define STG_E_DISKISWRITEPROTECTED 0x80030013L
! #define STG_E_SEEKERROR 0x80030019L
! #define STG_E_WRITEFAULT 0x8003001DL
! #define STG_E_READFAULT 0x8003001EL
! #define STG_E_SHAREVIOLATION 0x80030020L
! #define STG_E_LOCKVIOLATION 0x80030021L
! #define STG_E_FILEALREADYEXISTS 0x80030050L
! #define STG_E_INVALIDPARAMETER 0x80030057L
! #define STG_E_MEDIUMFULL 0x80030070L
! #define STG_E_ABNORMALAPIEXIT 0x800300FAL
! #define STG_E_INVALIDHEADER 0x800300FBL
! #define STG_E_INVALIDNAME 0x800300FCL
! #define STG_E_UNKNOWN 0x800300FDL
! #define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FEL
! #define STG_E_INVALIDFLAG 0x800300FFL
! #define STG_E_INUSE 0x80030100L
! #define STG_E_NOTCURRENT 0x80030101L
! #define STG_E_REVERTED 0x80030102L
! #define STG_E_CANTSAVE 0x80030103L
! #define STG_E_OLDFORMAT 0x80030104L
! #define STG_E_OLDDLL 0x80030105L
! #define STG_E_SHAREREQUIRED 0x80030106L
! #define STG_E_NOTFILEBASEDSTORAGE 0x80030107L
! #define STG_E_EXTANTMARSHALLINGS 0x80030108L
! #define STG_S_CONVERTED 0x00030200L
! #define RPC_E_CALL_REJECTED 0x80010001L
! #define RPC_E_CALL_CANCELED 0x80010002L
! #define RPC_E_CANTPOST_INSENDCALL 0x80010003L
! #define RPC_E_CANTCALLOUT_INASYNCCALL 0x80010004L
! #define RPC_E_CANTCALLOUT_INEXTERNALCALL 0x80010005L
! #define RPC_E_CONNECTION_TERMINATED 0x80010006L
! #define RPC_E_SERVER_DIED 0x80010007L
! #define RPC_E_CLIENT_DIED 0x80010008L
! #define RPC_E_INVALID_DATAPACKET 0x80010009L
! #define RPC_E_CANTTRANSMIT_CALL 0x8001000AL
! #define RPC_E_CLIENT_CANTMARSHAL_DATA 0x8001000BL
! #define RPC_E_CLIENT_CANTUNMARSHAL_DATA 0x8001000CL
! #define RPC_E_SERVER_CANTMARSHAL_DATA 0x8001000DL
! #define RPC_E_SERVER_CANTUNMARSHAL_DATA 0x8001000EL
! #define RPC_E_INVALID_DATA 0x8001000FL
! #define RPC_E_INVALID_PARAMETER 0x80010010L
! #define RPC_E_CANTCALLOUT_AGAIN 0x80010011L
! #define RPC_E_SERVER_DIED_DNE 0x80010012L
! #define RPC_E_SYS_CALL_FAILED 0x80010100L
! #define RPC_E_OUT_OF_RESOURCES 0x80010101L
! #define RPC_E_ATTEMPTED_MULTITHREAD 0x80010102L
! #define RPC_E_NOT_REGISTERED 0x80010103L
! #define RPC_E_FAULT 0x80010104L
! #define RPC_E_SERVERFAULT 0x80010105L
! #define RPC_E_CHANGED_MODE 0x80010106L
! #define RPC_E_INVALIDMETHOD 0x80010107L
! #define RPC_E_DISCONNECTED 0x80010108L
! #define RPC_E_RETRY 0x80010109L
! #define RPC_E_SERVERCALL_RETRYLATER 0x8001010AL
! #define RPC_E_SERVERCALL_REJECTED 0x8001010BL
! #define RPC_E_INVALID_CALLDATA 0x8001010CL
! #define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 0x8001010DL
! #define RPC_E_WRONG_THREAD 0x8001010EL
! #define RPC_E_THREAD_NOT_INIT 0x8001010FL
! #define RPC_E_UNEXPECTED 0x8001FFFFL
! #define NTE_BAD_UID 0x80090001L
! #define NTE_BAD_HASH 0x80090002L
! #define NTE_BAD_KEY 0x80090003L
! #define NTE_BAD_LEN 0x80090004L
! #define NTE_BAD_DATA 0x80090005L
! #define NTE_BAD_SIGNATURE 0x80090006L
! #define NTE_BAD_VER 0x80090007L
! #define NTE_BAD_ALGID 0x80090008L
! #define NTE_BAD_FLAGS 0x80090009L
! #define NTE_BAD_TYPE 0x8009000AL
! #define NTE_BAD_KEY_STATE 0x8009000BL
! #define NTE_BAD_HASH_STATE 0x8009000CL
! #define NTE_NO_KEY 0x8009000DL
! #define NTE_NO_MEMORY 0x8009000EL
! #define NTE_EXISTS 0x8009000FL
! #define NTE_PERM 0x80090010L
! #define NTE_NOT_FOUND 0x80090011L
! #define NTE_DOUBLE_ENCRYPT 0x80090012L
! #define NTE_BAD_PROVIDER 0x80090013L
! #define NTE_BAD_PROV_TYPE 0x80090014L
! #define NTE_BAD_PUBLIC_KEY 0x80090015L
! #define NTE_BAD_KEYSET 0x80090016L
! #define NTE_PROV_TYPE_NOT_DEF 0x80090017L
! #define NTE_PROV_TYPE_ENTRY_BAD 0x80090018L
! #define NTE_KEYSET_NOT_DEF 0x80090019L
! #define NTE_KEYSET_ENTRY_BAD 0x8009001AL
! #define NTE_PROV_TYPE_NO_MATCH 0x8009001BL
! #define NTE_SIGNATURE_FILE_BAD 0x8009001CL
! #define NTE_PROVIDER_DLL_FAIL 0x8009001DL
! #define NTE_PROV_DLL_NOT_FOUND 0x8009001EL
! #define NTE_BAD_KEYSET_PARAM 0x8009001FL
! #define NTE_FAIL 0x80090020L
! #define NTE_SYS_ERR 0x80090021L
/* #define NTE_TOKEN_KEYSET_STORAGE ??? */
--- 698,1057 ----
#define NOERROR S_OK
! #define E_UNEXPECTED ((HRESULT)0x8000FFFFL)
! #define E_NOTIMPL ((HRESULT)0x80004001L)
! #define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
! #define E_INVALIDARG ((HRESULT)0x80070057L)
! #define E_NOINTERFACE ((HRESULT)0x80004002L)
! #define E_POINTER ((HRESULT)0x80004003L)
! #define E_HANDLE ((HRESULT)0x80070006L)
! #define E_ABORT ((HRESULT)0x80004004L)
! #define E_FAIL ((HRESULT)0x80004005L)
! #define E_ACCESSDENIED ((HRESULT)0x80070005L)
! #define E_PENDING ((HRESULT)0x8000000AL)
! #define CO_E_INIT_TLS ((HRESULT)0x80004006L)
! #define CO_E_INIT_SHARED_ALLOCATOR ((HRESULT)0x80004007L)
! #define CO_E_INIT_MEMORY_ALLOCATOR ((HRESULT)0x80004008L)
! #define CO_E_INIT_CLASS_CACHE ((HRESULT)0x80004009L)
! #define CO_E_INIT_RPC_CHANNEL ((HRESULT)0x8000400AL)
! #define CO_E_INIT_TLS_SET_CHANNEL_CONTROL ((HRESULT)0x8000400BL)
! #define CO_E_INIT_TLS_CHANNEL_CONTROL ((HRESULT)0x8000400CL)
! #define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR ((HRESULT)0x8000400DL)
! #define CO_E_INIT_SCM_MUTEX_EXISTS ((HRESULT)0x8000400EL)
! #define CO_E_INIT_SCM_FILE_MAPPING_EXISTS ((HRESULT)0x8000400FL)
! #define CO_E_INIT_SCM_MAP_VIEW_OF_FILE ((HRESULT)0x80004010L)
! #define CO_E_INIT_SCM_EXEC_FAILURE ((HRESULT)0x80004011L)
! #define CO_E_INIT_ONLY_SINGLE_THREADED ((HRESULT)0x80004012L)
! #define S_OK ((HRESULT)0x00000000L)
! #define S_FALSE ((HRESULT)0x00000001L)
! #define OLE_E_FIRST ((HRESULT)0x80040000L)
! #define OLE_E_LAST ((HRESULT)0x800400FFL)
! #define OLE_S_FIRST ((HRESULT)0x00040000L)
! #define OLE_S_LAST ((HRESULT)0x000400FFL)
! #define OLE_E_OLEVERB ((HRESULT)0x80040000L)
! #define OLE_E_ADVF ((HRESULT)0x80040001L)
! #define OLE_E_ENUM_NOMORE ((HRESULT)0x80040002L)
! #define OLE_E_ADVISENOTSUPPORTED ((HRESULT)0x80040003L)
! #define OLE_E_NOCONNECTION ((HRESULT)0x80040004L)
! #define OLE_E_NOTRUNNING ((HRESULT)0x80040005L)
! #define OLE_E_NOCACHE ((HRESULT)0x80040006L)
! #define OLE_E_BLANK ((HRESULT)0x80040007L)
! #define OLE_E_CLASSDIFF ((HRESULT)0x80040008L)
! #define OLE_E_CANT_GETMONIKER ((HRESULT)0x80040009L)
! #define OLE_E_CANT_BINDTOSOURCE ((HRESULT)0x8004000AL)
! #define OLE_E_STATIC ((HRESULT)0x8004000BL)
! #define OLE_E_PROMPTSAVECANCELLED ((HRESULT)0x8004000CL)
! #define OLE_E_INVALIDRECT ((HRESULT)0x8004000DL)
! #define OLE_E_WRONGCOMPOBJ ((HRESULT)0x8004000EL)
! #define OLE_E_INVALIDHWND ((HRESULT)0x8004000FL)
! #define OLE_E_NOT_INPLACEACTIVE ((HRESULT)0x80040010L)
! #define OLE_E_CANTCONVERT ((HRESULT)0x80040011L)
! #define OLE_E_NOSTORAGE ((HRESULT)0x80040012L)
! #define DV_E_FORMATETC ((HRESULT)0x80040064L)
! #define DV_E_DVTARGETDEVICE ((HRESULT)0x80040065L)
! #define DV_E_STGMEDIUM ((HRESULT)0x80040066L)
! #define DV_E_STATDATA ((HRESULT)0x80040067L)
! #define DV_E_LINDEX ((HRESULT)0x80040068L)
! #define DV_E_TYMED ((HRESULT)0x80040069L)
! #define DV_E_CLIPFORMAT ((HRESULT)0x8004006AL)
! #define DV_E_DVASPECT ((HRESULT)0x8004006BL)
! #define DV_E_DVTARGETDEVICE_SIZE ((HRESULT)0x8004006CL)
! #define DV_E_NOIVIEWOBJECT ((HRESULT)0x8004006DL)
! #define DRAGDROP_E_FIRST ((HRESULT)0x80040100L)
! #define DRAGDROP_E_LAST ((HRESULT)0x8004010FL)
! #define DRAGDROP_S_FIRST ((HRESULT)0x00040100L)
! #define DRAGDROP_S_LAST ((HRESULT)0x0004010FL)
! #define DRAGDROP_E_NOTREGISTERED ((HRESULT)0x80040100L)
! #define DRAGDROP_E_ALREADYREGISTERED ((HRESULT)0x80040101L)
! #define DRAGDROP_E_INVALIDHWND ((HRESULT)0x80040102L)
! #define CLASSFACTORY_E_FIRST ((HRESULT)0x80040110L)
! #define CLASSFACTORY_E_LAST ((HRESULT)0x8004011FL)
! #define CLASSFACTORY_S_FIRST ((HRESULT)0x00040110L)
! #define CLASSFACTORY_S_LAST ((HRESULT)0x0004011FL)
! #define CLASS_E_NOAGGREGATION ((HRESULT)0x80040110L)
! #define CLASS_E_CLASSNOTAVAILABLE ((HRESULT)0x80040111L)
! #define MARSHAL_E_FIRST ((HRESULT)0x80040120L)
! #define MARSHAL_E_LAST ((HRESULT)0x8004012FL)
! #define MARSHAL_S_FIRST ((HRESULT)0x00040120L)
! #define MARSHAL_S_LAST ((HRESULT)0x0004012FL)
! #define DATA_E_FIRST ((HRESULT)0x80040130L)
! #define DATA_E_LAST ((HRESULT)0x8004013FL)
! #define DATA_S_FIRST ((HRESULT)0x00040130L)
! #define DATA_S_LAST ((HRESULT)0x0004013FL)
! #define VIEW_E_FIRST ((HRESULT)0x80040140L)
! #define VIEW_E_LAST ((HRESULT)0x8004014FL)
! #define VIEW_S_FIRST ((HRESULT)0x00040140L)
! #define VIEW_S_LAST ((HRESULT)0x0004014FL)
! #define VIEW_E_DRAW ((HRESULT)0x80040140L)
! #define REGDB_E_FIRST ((HRESULT)0x80040150L)
! #define REGDB_E_LAST ((HRESULT)0x8004015FL)
! #define REGDB_S_FIRST ((HRESULT)0x00040150L)
! #define REGDB_S_LAST ((HRESULT)0x0004015FL)
! #define REGDB_E_READREGDB ((HRESULT)0x80040150L)
! #define REGDB_E_WRITEREGDB ((HRESULT)0x80040151L)
! #define REGDB_E_KEYMISSING ((HRESULT)0x80040152L)
! #define REGDB_E_INVALIDVALUE ((HRESULT)0x80040153L)
! #define REGDB_E_CLASSNOTREG ((HRESULT)0x80040154L)
! #define REGDB_E_IIDNOTREG ((HRESULT)0x80040155L)
! #define CACHE_E_FIRST ((HRESULT)0x80040170L)
! #define CACHE_E_LAST ((HRESULT)0x8004017FL)
! #define CACHE_S_FIRST ((HRESULT)0x00040170L)
! #define CACHE_S_LAST ((HRESULT)0x0004017FL)
! #define CACHE_E_NOCACHE_UPDATED ((HRESULT)0x80040170L)
! #define OLEOBJ_E_FIRST ((HRESULT)0x80040180L)
! #define OLEOBJ_E_LAST ((HRESULT)0x8004018FL)
! #define OLEOBJ_S_FIRST ((HRESULT)0x00040180L)
! #define OLEOBJ_S_LAST ((HRESULT)0x0004018FL)
! #define OLEOBJ_E_NOVERBS ((HRESULT)0x80040180L)
! #define OLEOBJ_E_INVALIDVERB ((HRESULT)0x80040181L)
! #define CLIENTSITE_E_FIRST ((HRESULT)0x80040190L)
! #define CLIENTSITE_E_LAST ((HRESULT)0x8004019FL)
! #define CLIENTSITE_S_FIRST ((HRESULT)0x00040190L)
! #define CLIENTSITE_S_LAST ((HRESULT)0x0004019FL)
! #define INPLACE_E_NOTUNDOABLE ((HRESULT)0x800401A0L)
! #define INPLACE_E_NOTOOLSPACE ((HRESULT)0x800401A1L)
! #define INPLACE_E_FIRST ((HRESULT)0x800401A0L)
! #define INPLACE_E_LAST ((HRESULT)0x800401AFL)
! #define INPLACE_S_FIRST ((HRESULT)0x000401A0L)
! #define INPLACE_S_LAST ((HRESULT)0x000401AFL)
! #define ENUM_E_FIRST ((HRESULT)0x800401B0L)
! #define ENUM_E_LAST ((HRESULT)0x800401BFL)
! #define ENUM_S_FIRST ((HRESULT)0x000401B0L)
! #define ENUM_S_LAST ((HRESULT)0x000401BFL)
! #define CONVERT10_E_FIRST ((HRESULT)0x800401C0L)
! #define CONVERT10_E_LAST ((HRESULT)0x800401CFL)
! #define CONVERT10_S_FIRST ((HRESULT)0x000401C0L)
! #define CONVERT10_S_LAST ((HRESULT)0x000401CFL)
! #define CONVERT10_E_OLESTREAM_GET ((HRESULT)0x800401C0L)
! #define CONVERT10_E_OLESTREAM_PUT ((HRESULT)0x800401C1L)
! #define CONVERT10_E_OLESTREAM_FMT ((HRESULT)0x800401C2L)
! #define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB ((HRESULT)0x800401C3L)
! #define CONVERT10_E_STG_FMT ((HRESULT)0x800401C4L)
! #define CONVERT10_E_STG_NO_STD_STREAM ((HRESULT)0x800401C5L)
! #define CONVERT10_E_STG_DIB_TO_BITMAP ((HRESULT)0x800401C6L)
! #define CLIPBRD_E_FIRST ((HRESULT)0x800401D0L)
! #define CLIPBRD_E_LAST ((HRESULT)0x800401DFL)
! #define CLIPBRD_S_FIRST ((HRESULT)0x000401D0L)
! #define CLIPBRD_S_LAST ((HRESULT)0x000401DFL)
! #define CLIPBRD_E_CANT_OPEN ((HRESULT)0x800401D0L)
! #define CLIPBRD_E_CANT_EMPTY ((HRESULT)0x800401D1L)
! #define CLIPBRD_E_CANT_SET ((HRESULT)0x800401D2L)
! #define CLIPBRD_E_BAD_DATA ((HRESULT)0x800401D3L)
! #define CLIPBRD_E_CANT_CLOSE ((HRESULT)0x800401D4L)
! #define MK_E_FIRST ((HRESULT)0x800401E0L)
! #define MK_E_LAST ((HRESULT)0x800401EFL)
! #define MK_S_FIRST ((HRESULT)0x000401E0L)
! #define MK_S_LAST ((HRESULT)0x000401EFL)
! #define MK_E_CONNECTMANUALLY ((HRESULT)0x800401E0L)
! #define MK_E_EXCEEDEDDEADLINE ((HRESULT)0x800401E1L)
! #define MK_E_NEEDGENERIC ((HRESULT)0x800401E2L)
! #define MK_E_UNAVAILABLE ((HRESULT)0x800401E3L)
! #define MK_E_SYNTAX ((HRESULT)0x800401E4L)
! #define MK_E_NOOBJECT ((HRESULT)0x800401E5L)
! #define MK_E_INVALIDEXTENSION ((HRESULT)0x800401E6L)
! #define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED ((HRESULT)0x800401E7L)
! #define MK_E_NOTBINDABLE ((HRESULT)0x800401E8L)
! #define MK_E_NOTBOUND ((HRESULT)0x800401E9L)
! #define MK_E_CANTOPENFILE ((HRESULT)0x800401EAL)
! #define MK_E_MUSTBOTHERUSER ((HRESULT)0x800401EBL)
! #define MK_E_NOINVERSE ((HRESULT)0x800401ECL)
! #define MK_E_NOSTORAGE ((HRESULT)0x800401EDL)
! #define MK_E_NOPREFIX ((HRESULT)0x800401EEL)
! #define MK_E_ENUMERATION_FAILED ((HRESULT)0x800401EFL)
! #define CO_E_FIRST ((HRESULT)0x800401F0L)
! #define CO_E_LAST ((HRESULT)0x800401FFL)
! #define CO_S_FIRST ((HRESULT)0x000401F0L)
! #define CO_S_LAST ((HRESULT)0x000401FFL)
! #define CO_E_NOTINITIALIZED ((HRESULT)0x800401F0L)
! #define CO_E_ALREADYINITIALIZED ((HRESULT)0x800401F1L)
! #define CO_E_CANTDETERMINECLASS ((HRESULT)0x800401F2L)
! #define CO_E_CLASSSTRING ((HRESULT)0x800401F3L)
! #define CO_E_IIDSTRING ((HRESULT)0x800401F4L)
! #define CO_E_APPNOTFOUND ((HRESULT)0x800401F5L)
! #define CO_E_APPSINGLEUSE ((HRESULT)0x800401F6L)
! #define CO_E_ERRORINAPP ((HRESULT)0x800401F7L)
! #define CO_E_DLLNOTFOUND ((HRESULT)0x800401F8L)
! #define CO_E_ERRORINDLL ((HRESULT)0x800401F9L)
! #define CO_E_WRONGOSFORAPP ((HRESULT)0x800401FAL)
! #define CO_E_OBJNOTREG ((HRESULT)0x800401FBL)
! #define CO_E_OBJISREG ((HRESULT)0x800401FCL)
! #define CO_E_OBJNOTCONNECTED ((HRESULT)0x800401FDL)
! #define CO_E_APPDIDNTREG ((HRESULT)0x800401FEL)
! #define CO_E_RELEASED ((HRESULT)0x800401FFL)
! #define OLE_S_USEREG ((HRESULT)0x00040000L)
! #define OLE_S_STATIC ((HRESULT)0x00040001L)
! #define OLE_S_MAC_CLIPFORMAT ((HRESULT)0x00040002L)
! #define DRAGDROP_S_DROP ((HRESULT)0x00040100L)
! #define DRAGDROP_S_CANCEL ((HRESULT)0x00040101L)
! #define DRAGDROP_S_USEDEFAULTCURSORS ((HRESULT)0x00040102L)
! #define DATA_S_SAMEFORMATETC ((HRESULT)0x00040130L)
! #define VIEW_S_ALREADY_FROZEN ((HRESULT)0x00040140L)
! #define CACHE_S_FORMATETC_NOTSUPPORTED ((HRESULT)0x00040170L)
! #define CACHE_S_SAMECACHE ((HRESULT)0x00040171L)
! #define CACHE_S_SOMECACHES_NOTUPDATED ((HRESULT)0x00040172L)
! #define OLEOBJ_S_INVALIDVERB ((HRESULT)0x00040180L)
! #define OLEOBJ_S_CANNOT_DOVERB_NOW ((HRESULT)0x00040181L)
! #define OLEOBJ_S_INVALIDHWND ((HRESULT)0x00040182L)
! #define INPLACE_S_TRUNCATED ((HRESULT)0x000401A0L)
! #define CONVERT10_S_NO_PRESENTATION ((HRESULT)0x000401C0L)
! #define MK_S_REDUCED_TO_SELF ((HRESULT)0x000401E2L)
! #define MK_S_ME ((HRESULT)0x000401E4L)
! #define MK_S_HIM ((HRESULT)0x000401E5L)
! #define MK_S_US ((HRESULT)0x000401E6L)
! #define MK_S_MONIKERALREADYREGISTERED ((HRESULT)0x000401E7L)
! #define CO_E_CLASS_CREATE_FAILED ((HRESULT)0x80080001L)
! #define CO_E_SCM_ERROR ((HRESULT)0x80080002L)
! #define CO_E_SCM_RPC_FAILURE ((HRESULT)0x80080003L)
! #define CO_E_BAD_PATH ((HRESULT)0x80080004L)
! #define CO_E_SERVER_EXEC_FAILURE ((HRESULT)0x80080005L)
! #define CO_E_OBJSRV_RPC_FAILURE ((HRESULT)0x80080006L)
! #define MK_E_NO_NORMALIZED ((HRESULT)0x80080007L)
! #define CO_E_SERVER_STOPPING ((HRESULT)0x80080008L)
! #define MEM_E_INVALID_ROOT ((HRESULT)0x80080009L)
! #define MEM_E_INVALID_LINK ((HRESULT)0x80080010L)
! #define MEM_E_INVALID_SIZE ((HRESULT)0x80080011L)
! #define DISP_E_UNKNOWNINTERFACE ((HRESULT)0x80020001L)
! #define DISP_E_MEMBERNOTFOUND ((HRESULT)0x80020003L)
! #define DISP_E_PARAMNOTFOUND ((HRESULT)0x80020004L)
! #define DISP_E_TYPEMISMATCH ((HRESULT)0x80020005L)
! #define DISP_E_UNKNOWNNAME ((HRESULT)0x80020006L)
! #define DISP_E_NONAMEDARGS ((HRESULT)0x80020007L)
! #define DISP_E_BADVARTYPE ((HRESULT)0x80020008L)
! #define DISP_E_EXCEPTION ((HRESULT)0x80020009L)
! #define DISP_E_OVERFLOW ((HRESULT)0x8002000AL)
! #define DISP_E_BADINDEX ((HRESULT)0x8002000BL)
! #define DISP_E_UNKNOWNLCID ((HRESULT)0x8002000CL)
! #define DISP_E_ARRAYISLOCKED ((HRESULT)0x8002000DL)
! #define DISP_E_BADPARAMCOUNT ((HRESULT)0x8002000EL)
! #define DISP_E_PARAMNOTOPTIONAL ((HRESULT)0x8002000FL)
! #define DISP_E_BADCALLEE ((HRESULT)0x80020010L)
! #define DISP_E_NOTACOLLECTION ((HRESULT)0x80020011L)
! #define TYPE_E_BUFFERTOOSMALL ((HRESULT)0x80028016L)
! #define TYPE_E_INVDATAREAD ((HRESULT)0x80028018L)
! #define TYPE_E_UNSUPFORMAT ((HRESULT)0x80028019L)
! #define TYPE_E_REGISTRYACCESS ((HRESULT)0x8002801CL)
! #define TYPE_E_LIBNOTREGISTERED ((HRESULT)0x8002801DL)
! #define TYPE_E_UNDEFINEDTYPE ((HRESULT)0x80028027L)
! #define TYPE_E_QUALIFIEDNAMEDISALLOWED ((HRESULT)0x80028028L)
! #define TYPE_E_INVALIDSTATE ((HRESULT)0x80028029L)
! #define TYPE_E_WRONGTYPEKIND ((HRESULT)0x8002802AL)
! #define TYPE_E_ELEMENTNOTFOUND ((HRESULT)0x8002802BL)
! #define TYPE_E_AMBIGUOUSNAME ((HRESULT)0x8002802CL)
! #define TYPE_E_NAMECONFLICT ((HRESULT)0x8002802DL)
! #define TYPE_E_UNKNOWNLCID ((HRESULT)0x8002802EL)
! #define TYPE_E_DLLFUNCTIONNOTFOUND ((HRESULT)0x8002802FL)
! #define TYPE_E_BADMODULEKIND ((HRESULT)0x800288BDL)
! #define TYPE_E_SIZETOOBIG ((HRESULT)0x800288C5L)
! #define TYPE_E_DUPLICATEID ((HRESULT)0x800288C6L)
! #define TYPE_E_INVALIDID ((HRESULT)0x800288CFL)
! #define TYPE_E_TYPEMISMATCH ((HRESULT)0x80028CA0L)
! #define TYPE_E_OUTOFBOUNDS ((HRESULT)0x80028CA1L)
! #define TYPE_E_IOERROR ((HRESULT)0x80028CA2L)
! #define TYPE_E_CANTCREATETMPFILE ((HRESULT)0x80028CA3L)
! #define TYPE_E_CANTLOADLIBRARY ((HRESULT)0x80029C4AL)
! #define TYPE_E_INCONSISTENTPROPFUNCS ((HRESULT)0x80029C83L)
! #define TYPE_E_CIRCULARTYPE ((HRESULT)0x80029C84L)
! #define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
! #define STG_E_FILENOTFOUND ((HRESULT)0x80030002L)
! #define STG_E_PATHNOTFOUND ((HRESULT)0x80030003L)
! #define STG_E_TOOMANYOPENFILES ((HRESULT)0x80030004L)
! #define STG_E_ACCESSDENIED ((HRESULT)0x80030005L)
! #define STG_E_INVALIDHANDLE ((HRESULT)0x80030006L)
! #define STG_E_INSUFFICIENTMEMORY ((HRESULT)0x80030008L)
! #define STG_E_INVALIDPOINTER ((HRESULT)0x80030009L)
! #define STG_E_NOMOREFILES ((HRESULT)0x80030012L)
! #define STG_E_DISKISWRITEPROTECTED ((HRESULT)0x80030013L)
! #define STG_E_SEEKERROR ((HRESULT)0x80030019L)
! #define STG_E_WRITEFAULT ((HRESULT)0x8003001DL)
! #define STG_E_READFAULT ((HRESULT)0x8003001EL)
! #define STG_E_SHAREVIOLATION ((HRESULT)0x80030020L)
! #define STG_E_LOCKVIOLATION ((HRESULT)0x80030021L)
! #define STG_E_FILEALREADYEXISTS ((HRESULT)0x80030050L)
! #define STG_E_INVALIDPARAMETER ((HRESULT)0x80030057L)
! #define STG_E_MEDIUMFULL ((HRESULT)0x80030070L)
! #define STG_E_ABNORMALAPIEXIT ((HRESULT)0x800300FAL)
! #define STG_E_INVALIDHEADER ((HRESULT)0x800300FBL)
! #define STG_E_INVALIDNAME ((HRESULT)0x800300FCL)
! #define STG_E_UNKNOWN ((HRESULT)0x800300FDL)
! #define STG_E_UNIMPLEMENTEDFUNCTION ((HRESULT)0x800300FEL)
! #define STG_E_INVALIDFLAG ((HRESULT)0x800300FFL)
! #define STG_E_INUSE ((HRESULT)0x80030100L)
! #define STG_E_NOTCURRENT ((HRESULT)0x80030101L)
! #define STG_E_REVERTED ((HRESULT)0x80030102L)
! #define STG_E_CANTSAVE ((HRESULT)0x80030103L)
! #define STG_E_OLDFORMAT ((HRESULT)0x80030104L)
! #define STG_E_OLDDLL ((HRESULT)0x80030105L)
! #define STG_E_SHAREREQUIRED ((HRESULT)0x80030106L)
! #define STG_E_NOTFILEBASEDSTORAGE ((HRESULT)0x80030107L)
! #define STG_E_EXTANTMARSHALLINGS ((HRESULT)0x80030108L)
! #define STG_S_CONVERTED ((HRESULT)0x00030200L)
! #define RPC_E_CALL_REJECTED ((HRESULT)0x80010001L)
! #define RPC_E_CALL_CANCELED ((HRESULT)0x80010002L)
! #define RPC_E_CANTPOST_INSENDCALL ((HRESULT)0x80010003L)
! #define RPC_E_CANTCALLOUT_INASYNCCALL ((HRESULT)0x80010004L)
! #define RPC_E_CANTCALLOUT_INEXTERNALCALL ((HRESULT)0x80010005L)
! #define RPC_E_CONNECTION_TERMINATED ((HRESULT)0x80010006L)
! #define RPC_E_SERVER_DIED ((HRESULT)0x80010007L)
! #define RPC_E_CLIENT_DIED ((HRESULT)0x80010008L)
! #define RPC_E_INVALID_DATAPACKET ((HRESULT)0x80010009L)
! #define RPC_E_CANTTRANSMIT_CALL ((HRESULT)0x8001000AL)
! #define RPC_E_CLIENT_CANTMARSHAL_DATA ((HRESULT)0x8001000BL)
! #define RPC_E_CLIENT_CANTUNMARSHAL_DATA ((HRESULT)0x8001000CL)
! #define RPC_E_SERVER_CANTMARSHAL_DATA ((HRESULT)0x8001000DL)
! #define RPC_E_SERVER_CANTUNMARSHAL_DATA ((HRESULT)0x8001000EL)
! #define RPC_E_INVALID_DATA ((HRESULT)0x8001000FL)
! #define RPC_E_INVALID_PARAMETER ((HRESULT)0x80010010L)
! #define RPC_E_CANTCALLOUT_AGAIN ((HRESULT)0x80010011L)
! #define RPC_E_SERVER_DIED_DNE ((HRESULT)0x80010012L)
! #define RPC_E_SYS_CALL_FAILED ((HRESULT)0x80010100L)
! #define RPC_E_OUT_OF_RESOURCES ((HRESULT)0x80010101L)
! #define RPC_E_ATTEMPTED_MULTITHREAD ((HRESULT)0x80010102L)
! #define RPC_E_NOT_REGISTERED ((HRESULT)0x80010103L)
! #define RPC_E_FAULT ((HRESULT)0x80010104L)
! #define RPC_E_SERVERFAULT ((HRESULT)0x80010105L)
! #define RPC_E_CHANGED_MODE ((HRESULT)0x80010106L)
! #define RPC_E_INVALIDMETHOD ((HRESULT)0x80010107L)
! #define RPC_E_DISCONNECTED ((HRESULT)0x80010108L)
! #define RPC_E_RETRY ((HRESULT)0x80010109L)
! #define RPC_E_SERVERCALL_RETRYLATER ((HRESULT)0x8001010AL)
! #define RPC_E_SERVERCALL_REJECTED ((HRESULT)0x8001010BL)
! #define RPC_E_INVALID_CALLDATA ((HRESULT)0x8001010CL)
! #define RPC_E_CANTCALLOUT_ININPUTSYNCCALL ((HRESULT)0x8001010DL)
! #define RPC_E_WRONG_THREAD ((HRESULT)0x8001010EL)
! #define RPC_E_THREAD_NOT_INIT ((HRESULT)0x8001010FL)
! #define RPC_E_UNEXPECTED ((HRESULT)0x8001FFFFL)
! #define NTE_BAD_UID ((HRESULT)0x80090001L)
! #define NTE_BAD_HASH ((HRESULT)0x80090002L)
! #define NTE_BAD_KEY ((HRESULT)0x80090003L)
! #define NTE_BAD_LEN ((HRESULT)0x80090004L)
! #define NTE_BAD_DATA ((HRESULT)0x80090005L)
! #define NTE_BAD_SIGNATURE ((HRESULT)0x80090006L)
! #define NTE_BAD_VER ((HRESULT)0x80090007L)
! #define NTE_BAD_ALGID ((HRESULT)0x80090008L)
! #define NTE_BAD_FLAGS ((HRESULT)0x80090009L)
! #define NTE_BAD_TYPE ((HRESULT)0x8009000AL)
! #define NTE_BAD_KEY_STATE ((HRESULT)0x8009000BL)
! #define NTE_BAD_HASH_STATE ((HRESULT)0x8009000CL)
! #define NTE_NO_KEY ((HRESULT)0x8009000DL)
! #define NTE_NO_MEMORY ((HRESULT)0x8009000EL)
! #define NTE_EXISTS ((HRESULT)0x8009000FL)
! #define NTE_PERM ((HRESULT)0x80090010L)
! #define NTE_NOT_FOUND ((HRESULT)0x80090011L)
! #define NTE_DOUBLE_ENCRYPT ((HRESULT)0x80090012L)
! #define NTE_BAD_PROVIDER ((HRESULT)0x80090013L)
! #define NTE_BAD_PROV_TYPE ((HRESULT)0x80090014L)
! #define NTE_BAD_PUBLIC_KEY ((HRESULT)0x80090015L)
! #define NTE_BAD_KEYSET ((HRESULT)0x80090016L)
! #define NTE_PROV_TYPE_NOT_DEF ((HRESULT)0x80090017L)
! #define NTE_PROV_TYPE_ENTRY_BAD ((HRESULT)0x80090018L)
! #define NTE_KEYSET_NOT_DEF ((HRESULT)0x80090019L)
! #define NTE_KEYSET_ENTRY_BAD ((HRESULT)0x8009001AL)
! #define NTE_PROV_TYPE_NO_MATCH ((HRESULT)0x8009001BL)
! #define NTE_SIGNATURE_FILE_BAD ((HRESULT)0x8009001CL)
! #define NTE_PROVIDER_DLL_FAIL ((HRESULT)0x8009001DL)
! #define NTE_PROV_DLL_NOT_FOUND ((HRESULT)0x8009001EL)
! #define NTE_BAD_KEYSET_PARAM ((HRESULT)0x8009001FL)
! #define NTE_FAIL ((HRESULT)0x80090020L)
! #define NTE_SYS_ERR ((HRESULT)0x80090021L)
/* #define NTE_TOKEN_KEYSET_STORAGE ??? */
Index: winsock2.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/winsock2.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** winsock2.h 12 Aug 2002 12:21:11 -0000 1.9
--- winsock2.h 27 Aug 2002 12:39:55 -0000 1.10
***************
*** 493,504 ****
int PASCAL WSAGetLastError(void);
/*
! * Pesudo-blocking functions N/A in ws2_32.dll (use threads instead)
*/
- #if 0
BOOL PASCAL WSAIsBlocking(void);
int PASCAL WSAUnhookBlockingHook(void);
FARPROC PASCAL WSASetBlockingHook(FARPROC);
int PASCAL WSACancelBlockingCall(void);
! #endif
HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
--- 493,504 ----
int PASCAL WSAGetLastError(void);
/*
! * Pseudo-blocking functions are deprecated in WinSock2
! * spec. Use threads instead.
*/
BOOL PASCAL WSAIsBlocking(void);
int PASCAL WSAUnhookBlockingHook(void);
FARPROC PASCAL WSASetBlockingHook(FARPROC);
int PASCAL WSACancelBlockingCall(void);
!
HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
***************
*** 722,726 ****
} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;
-
typedef enum _WSAEcomparator
{
--- 722,725 ----
***************
*** 735,748 ****
} WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
! /*
! * FIXME: nspapi.h has definition of SOCKET_ADDRESS needed by
! * SOCKET_ADDRESS_LIST and LPCSADDR_INFO, needed in WSAQuery
! * but itself needs LPSOCKADDR which is defined earlier in this file
! * Incuding nspapi.h here works for now, but may need to change
! * as nspapi.h actually starts to define the Name Space Provider API.
! * MSDN docs say that SOCKET_ADDRESS is defined in winsock2.h.
! */
!
! #include <nspapi.h>
typedef struct _SOCKET_ADDRESS_LIST {
--- 734,750 ----
} WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
! #ifndef __CSADDR_T_DEFINED /* also in nspapi.h */
! #define __CSADDR_T_DEFINED
! typedef struct _SOCKET_ADDRESS {
! LPSOCKADDR lpSockaddr;
! INT iSockaddrLength;
! } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
! typedef struct _CSADDR_INFO {
! SOCKET_ADDRESS LocalAddr;
! SOCKET_ADDRESS RemoteAddr;
! INT iSocketType;
! INT iProtocol;
! } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
! #endif
typedef struct _SOCKET_ADDRESS_LIST {
***************
*** 751,755 ****
} SOCKET_ADDRESS_LIST, * LPSOCKET_ADDRESS_LIST;
! #ifndef __BLOB_T_DEFINED /* also in wtypes.h */
#define __BLOB_T_DEFINED
typedef struct _BLOB {
--- 753,757 ----
} SOCKET_ADDRESS_LIST, * LPSOCKET_ADDRESS_LIST;
! #ifndef __BLOB_T_DEFINED /* also in wtypes.h and nspapi.h */
#define __BLOB_T_DEFINED
typedef struct _BLOB {
Index: winuser.h
===================================================================
RCS file: /cvsroot/mingw/w32api/include/winuser.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** winuser.h 12 Aug 2002 12:21:11 -0000 1.18
--- winuser.h 27 Aug 2002 12:39:55 -0000 1.19
***************
*** 1911,1914 ****
--- 1911,1915 ----
#define INPUT_KEYBOARD 1
#define INPUT_HARDWARE 2
+ #define CURSOR_SHOWING 0x00000001
#ifndef RC_INVOKED
|
|
From: <ea...@us...> - 2002-08-27 12:39:58
|
Update of /cvsroot/mingw/w32api/lib In directory usw-pr-cvs1:/tmp/cvs-serv19049/lib Modified Files: test.c Log Message: Merge winsup changes Index: test.c =================================================================== RCS file: /cvsroot/mingw/w32api/lib/test.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** test.c 12 Aug 2002 12:21:11 -0000 1.8 --- test.c 27 Aug 2002 12:39:55 -0000 1.9 *************** *** 58,63 **** --- 58,67 ---- #ifdef _WINSOCK2_H #include <ws2tcpip.h> + #include <ws2spi.h> + #include <wsahelp.h> #endif + #include <wsipx.h> #include <wsnetbs.h> + #include <svcguid.h> #include <setupapi.h> #include <aclapi.h> |
|
From: <ea...@us...> - 2002-08-27 12:39:58
|
Update of /cvsroot/mingw/w32api In directory usw-pr-cvs1:/tmp/cvs-serv19049 Modified Files: ChangeLog Log Message: Merge winsup changes Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/w32api/ChangeLog,v retrieving revision 1.102 retrieving revision 1.103 diff -C2 -d -r1.102 -r1.103 *** ChangeLog 14 Aug 2002 21:05:43 -0000 1.102 --- ChangeLog 27 Aug 2002 12:39:55 -0000 1.103 *************** *** 1,2 **** --- 1,70 ---- + 2002-08-26 Bart Oldeman <bar...@bt...> + + * include/winsock2.h (SOCKET_ADDRESS): Define if + __CSADDR_T_DEFINED is not defined (copied from nspapi.h) + (CSADDR_INFO): Ditto. + (nspapi.h) : Don't include. Removed FIXME comment. + * include/nspapi.h (SOCKET_ADDRESS) Only define if + __CSADDR_T_DEFINED is not defined. + (CSADDR_INFO): Ditto. + (BLOB): Add structure and typedef if not already defined. + (NS_*): Add defines. + (SERVICE_*): Ditto. + (SERVICE_ADDRESS): Add structure and typedefs. + (SERVICE_ADDRESSES): Ditto. + (SERVICE_INFO[AW]): Ditto, and add UNICODE mappings. + (LPSERVICE_ASYNC_INFO): Add typedef. + (SetService[AW], GetAddressByName[AW]): Add prototypes and UNICODE + mappings. + * include/wsipx.h: New file. + * include/svcguid.h: New file. + * lib/test.c: Include wspix.h and svcguid.h. + + 2002-08-26 Casper S. Hornstrup <ch...@us...> + + * include/wsahelp.h: New file. + * lib/test.c: Include wsahelp.h. + + 2002-08-21 Earnie Boyd <ea...@us...> + + * include/commctrl.h (NMCUSTOMDRAW): Fix lItemlParam. + Thanks to: "Phil Dempster" <p_d...@ya...>. + + 2002-08-20 Danny Smith <dan...@us...> + + * include/ws2spi.h: Modify comment about being part of + mingw32 package. + (winsock2.h): Change "" to <>. + + 2002-08-20 Casper S. Hornstrup <ch...@us...> + + * include/ws2spi.h: New file. + * lib/test.c: Include ws2spi.h. + + 2002-08-20 Danny Smith <dan...@us...> + + * include/winsock2.h (WSAIsBlocking,WSAUnhookBlockingHook, + WSASetBlockingHook,WSACancelBlockingCall): Expose deprecated + functions. + + 2002-08-17 Danny Smith <dan...@us...> + + * include/winuser.h (CURSOR_SHOWING) Add define. + Thanks to: Jan Hlavatý <hl...@us...> + + 2002-08-17 Danny Smith <dan...@us...> + + * include/winerror.h: Cast OLE error codes to HRESULT. + Thanks to: Gunnar Degnbol <gde...@us...> + + 2002-08-15 Danny Smith <dan...@us...> + + * include/wincrypt.h (ALG_*): Add defines. + (CALG_*): Ditto. + (CRYPT_*): Ditto. + (PP_*): Ditto. + (PROV_*): Ditto. + (PRIVATEKEYBLOB): Add define. + 2002-08-14 Earnie Boyd <ea...@us...> |
|
From: <ea...@us...> - 2002-08-27 11:20:32
|
Update of /cvsroot/mingw/runtime
In directory usw-pr-cvs1:/tmp/cvs-serv23810
Modified Files:
ChangeLog Makefile.in
Added Files:
test_headers.c
Log Message:
Merge Cygwin Changes
--- NEW FILE: test_headers.c ---
#include <_mingw.h>
#include <assert.h>
#include <conio.h>
#include <ctype.h>
#include <dir.h>
#include <direct.h>
#include <dirent.h>
#include <dos.h>
#include <errno.h>
#include <excpt.h>
#include <fcntl.h>
#include <fenv.h>
#include <float.h>
#include <inttypes.h>
#include <io.h>
#include <limits.h>
#include <locale.h>
#include <malloc.h>
#include <math.h>
#include <mbctype.h>
#include <mbstring.h>
#include <mem.h>
#include <memory.h>
#include <process.h>
#include <setjmp.h>
#include <share.h>
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <tchar.h>
#include <time.h>
#include <unistd.h>
#include <values.h>
#include <varargs.h>
#include <wchar.h>
#include <wctype.h>
#include <sys/fcntl.h>
#include <sys/file.h>
#include <sys/locking.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/timeb.h>
#include <sys/types.h>
#include <sys/unistd.h>
#include <sys/utime.h>
int main()
{return 0;}
Index: ChangeLog
===================================================================
RCS file: /cvsroot/mingw/runtime/ChangeLog,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** ChangeLog 14 Aug 2002 21:12:03 -0000 1.33
--- ChangeLog 27 Aug 2002 11:20:26 -0000 1.34
***************
*** 1,2 ****
--- 1,31 ----
+ 2002-08-21 Earnie Boyd <ea...@us...>
+
+ * include/sys/param.h: New File.
+
+ 2002-08-21 Danny Smith <dan...@us...>
+
+ * include/math.h (asm): Change to __asm__ throughout.
+ Expose ISO C99 functions if __GLIPCPP__.
+ (hypotf): Use hypot, not _hypot in stub.
+
+ 2002-08-20 Danny Smith <dan...@us...>
+
+ * include/tchar.h: Ansi-fy another comment.
+
+ 2002-08-20 Danny Smith <dan...@us...>
+
+ * include/tchar.h: Ansi-fy comment.
+
+ 2002-08-20 Danny Smith <dan...@us...>
+
+ * test_headers.c : New file.
+ * Makefile.in (test_headers): New target, using it,
+ (SRCDIST_FILES): Distribute it.
+
+ 2002-08-20 Earnie Boyd <ea...@us...>
+
+ * include/_mingw.h: Increment version to 2.2.
+ Makefile.in: Ditto.
+
2002-08-14 Earnie Boyd <ea...@us...>
Index: Makefile.in
===================================================================
RCS file: /cvsroot/mingw/runtime/Makefile.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Makefile.in 15 Jun 2002 16:01:35 -0000 1.11
--- Makefile.in 27 Aug 2002 11:20:26 -0000 1.12
***************
*** 19,23 ****
PACKAGE = mingw-runtime
! VERSION = 2.1
CYGRELEASE = 1
--- 19,23 ----
PACKAGE = mingw-runtime
! VERSION = 2.2
CYGRELEASE = 1
***************
*** 165,169 ****
moldname-msvcrt.def moldname.def moldname.def.in msvcrt.def msvcrt20.def \
msvcrt40.def mthr.c mthr_init.c mthr_stub.c readme.txt string_old.c \
! CRT_fp8.c CRT_fp10.c
all_dlls_host = @all_dlls_host@
--- 165,169 ----
moldname-msvcrt.def moldname.def moldname.def.in msvcrt.def msvcrt20.def \
msvcrt40.def mthr.c mthr_init.c mthr_stub.c readme.txt string_old.c \
! CRT_fp8.c CRT_fp10.c test_headers.c
all_dlls_host = @all_dlls_host@
***************
*** 260,263 ****
--- 260,279 ----
crt2.o dllcrt2.o:
$(CC) -c -D__MSVCRT__ -U__CRTDLL__ $(ALL_CFLAGS) $< -o $@
+
+ TEST_H_OPTIONS = $(ALL_CFLAGS) -Wall -Wsystem-headers -c \
+ $(srcdir)/test_headers.c -o test_headers.o
+
+ .PHONY: test_headers
+ test_headers:
+ @echo "Testing runtime headers..."
+ @for lang in c c++ objective-c ; do \
+ echo "$$lang ..."; \
+ $(CC) -x$$lang -std=c89 $(TEST_H_OPTIONS) ; \
+ echo "$$lang c89 ..."; \
+ $(CC) -x$$lang -std=c89 $(TEST_H_OPTIONS) ; \
+ echo "$$lang c99..."; \
+ $(CC) -x$$lang -std=c99 $(TEST_H_OPTIONS) ; \
+ done
+ @rm -f test_headers.o
clean:
|
|
From: <ea...@us...> - 2002-08-27 11:20:32
|
Update of /cvsroot/mingw/runtime/include
In directory usw-pr-cvs1:/tmp/cvs-serv23810/include
Modified Files:
_mingw.h math.h tchar.h
Log Message:
Merge Cygwin Changes
Index: _mingw.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/_mingw.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** _mingw.h 12 Aug 2002 13:06:35 -0000 1.9
--- _mingw.h 27 Aug 2002 11:20:26 -0000 1.10
***************
*** 68,72 ****
#define __MINGW32_VERSION 2.1
#define __MINGW32_MAJOR_VERSION 2
! #define __MINGW32_MINOR_VERSION 1
#endif /* __MINGW_H */
--- 68,72 ----
#define __MINGW32_VERSION 2.1
#define __MINGW32_MAJOR_VERSION 2
! #define __MINGW32_MINOR_VERSION 2
#endif /* __MINGW_H */
Index: math.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/math.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** math.h 12 Aug 2002 13:06:35 -0000 1.9
--- math.h 27 Aug 2002 11:20:27 -0000 1.10
***************
*** 148,152 ****
{
double res;
! asm ("fsqrt" : "=t" (res) : "0" (x));
return res;
}
--- 148,152 ----
{
double res;
! __asm__ ("fsqrt;" : "=t" (res) : "0" (x));
return res;
}
***************
*** 157,161 ****
{
double res;
! asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- 157,161 ----
{
double res;
! __asm__ ("fabs;" : "=t" (res) : "0" (x));
return res;
}
***************
*** 233,237 ****
#ifndef __NO_ISOCEXT
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
! || !defined __STRICT_ANSI__
#define NAN (0.0F/0.0F)
--- 233,237 ----
#ifndef __NO_ISOCEXT
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
! || !defined __STRICT_ANSI__ || defined __GLIBCPP__
#define NAN (0.0F/0.0F)
***************
*** 438,442 ****
{
double res;
! asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
--- 438,442 ----
{
double res;
! __asm__ ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
***************
*** 446,450 ****
{
float res;
! asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
--- 446,450 ----
{
float res;
! __asm__ ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
***************
*** 454,458 ****
{
long double res;
! asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
--- 454,458 ----
{
long double res;
! __asm__ ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
***************
*** 482,486 ****
{
float res;
! asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- 482,486 ----
{
float res;
! __asm__ ("fabs;" : "=t" (res) : "0" (x));
return res;
}
***************
*** 489,493 ****
{
long double res;
! asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- 489,493 ----
{
long double res;
! __asm__ ("fabs;" : "=t" (res) : "0" (x));
return res;
}
***************
*** 496,500 ****
extern double hypot (double, double); /* in libmoldname.a */
extern __inline__ float hypotf (float x, float y)
! { return (float) _hypot (x, y);}
extern long double hypotl (long double, long double);
--- 496,500 ----
extern double hypot (double, double); /* in libmoldname.a */
extern __inline__ float hypotf (float x, float y)
! { return (float) hypot (x, y);}
extern long double hypotl (long double, long double);
***************
*** 508,512 ****
{
float res;
! asm ("fsqrt" : "=t" (res) : "0" (x));
return res;
}
--- 508,512 ----
{
float res;
! __asm__ ("fsqrt" : "=t" (res) : "0" (x));
return res;
}
***************
*** 515,519 ****
{
long double res;
! asm ("fsqrt" : "=t" (res) : "0" (x));
return res;
}
--- 515,519 ----
{
long double res;
! __asm__ ("fsqrt" : "=t" (res) : "0" (x));
return res;
}
Index: tchar.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/tchar.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** tchar.h 12 Aug 2002 13:06:35 -0000 1.8
--- tchar.h 27 Aug 2002 11:20:27 -0000 1.9
***************
*** 166,170 ****
#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
! #if 1 // defined __MSVCRT__
/*
* These wide functions not in crtdll.dll.
--- 166,170 ----
#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
! #if 1 /* defined __MSVCRT__ */
/*
* These wide functions not in crtdll.dll.
***************
*** 361,366 ****
#define _tfinddata_t _finddata_t
!
! #if 1 // defined __MSVCRT__
/* Not in crtdll.dll. Define macros anyway? */
#define _ttoi64 _atoi64
--- 361,365 ----
#define _tfinddata_t _finddata_t
! #if 1 /* defined __MSVCRT__ */
/* Not in crtdll.dll. Define macros anyway? */
#define _ttoi64 _atoi64
|
|
From: <ea...@us...> - 2002-08-27 11:20:32
|
Update of /cvsroot/mingw/runtime/include/sys In directory usw-pr-cvs1:/tmp/cvs-serv23810/include/sys Added Files: param.h Log Message: Merge Cygwin Changes --- NEW FILE: param.h --- /* * param.h * * This file is part of the Mingw32 package. * * Contributors: * Created by Earnie Boyd <ea...@us...> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * $Revision: 1.1 $ * $Author: earnie $ * $Date: 2002/08/27 11:20:27 $ * */ #ifndef _SYS_PARAM_H #define _SYS_PARAM_H #include <sys/types.h> #include <limits.h> #endif |
|
From: <in...@us...> - 2002-08-26 01:07:39
|
Update of /cvsroot/mingw/msys/rt/src/winsup/cygwin
In directory usw-pr-cvs1:/tmp/cvs-serv2981
Modified Files:
ChangeLog.MSYS path.cc
Log Message:
2002-08-25 Luke Dunstan <in...@us...>
* path.cc (mount_info::read_mounts): Fix handling of spaces in
mount point paths. Allow DOS line endings in /etc/fstab.
Index: ChangeLog.MSYS
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/ChangeLog.MSYS,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** ChangeLog.MSYS 19 Jul 2002 16:13:25 -0000 1.20
--- ChangeLog.MSYS 26 Aug 2002 01:07:37 -0000 1.21
***************
*** 1,2 ****
--- 1,7 ----
+ 2002-08-25 Luke Dunstan <in...@us...>
+
+ * path.cc (mount_info::read_mounts): Fix handling of spaces in
+ mount point paths. Allow DOS line endings in /etc/fstab.
+
2002-07-19 Earnie Boyd <ea...@us...>
Index: path.cc
===================================================================
RCS file: /cvsroot/mingw/msys/rt/src/winsup/cygwin/path.cc,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** path.cc 17 Jul 2002 13:06:56 -0000 1.16
--- path.cc 26 Aug 2002 01:07:37 -0000 1.17
***************
*** 1722,1739 ****
st = strchr(pfstab, '\n');
if (st)
! *st = '\0';
if (! strlen (pfstab))
continue;
while ((st = strchr (pfstab, '\t')))
{
*st = ' ';
! };
st = strchr (pfstab, ' ');
*st++ = '\0';
while (*st == ' ')
st++;
- sst = strrchr(st, ' ');
- while (sst && *sst == ' ')
- *sst-- = '\0';
debug_printf("fstab: native - %s, posix - %s", pfstab, st);
res = mount_table->add_item (pfstab, st, MOUNT_BINARY, FALSE);
--- 1722,1749 ----
st = strchr(pfstab, '\n');
if (st)
! {
! *st = '\0';
! // Strip carriage return.
! if (st > pfstab && *--st == '\r')
! *st = '\0';
! }
if (! strlen (pfstab))
continue;
+ // Replace tabs with spaces.
while ((st = strchr (pfstab, '\t')))
{
*st = ' ';
! }
! // Strip spaces at end of line.
! sst = strchr(pfstab, '\0');
! while (sst > pfstab && *--sst == ' ')
! *sst = '\0';
! // Find space separator.
st = strchr (pfstab, ' ');
+ if (!st)
+ continue;
*st++ = '\0';
while (*st == ' ')
st++;
debug_printf("fstab: native - %s, posix - %s", pfstab, st);
res = mount_table->add_item (pfstab, st, MOUNT_BINARY, FALSE);
|
Update of /cvsroot/mingw/runtime/mingwex In directory usw-pr-cvs1:/tmp/cvs-serv22906 Removed Files: copysignl.S fdim.c fdimf.c fdiml.c fma.S fmaf.S fmal.c fmax.c fmaxf.c fmaxl.c fmin.c fminf.c fminl.c fp_consts.c fpclassify.c fpclassifyf.c fpclassifyl.c fucom.c isnan.c isnanf.c isnanl.c log2.c log2f.c log2l.c math_stubs.c rint.c rintf.c rintl.c round.c roundf.c roundl.c signbit.c signbitf.c signbitl.c trunc.c truncf.c truncl.c Log Message: Merging winsup changes --- copysignl.S DELETED --- --- fdim.c DELETED --- --- fdimf.c DELETED --- --- fdiml.c DELETED --- --- fma.S DELETED --- --- fmaf.S DELETED --- --- fmal.c DELETED --- --- fmax.c DELETED --- --- fmaxf.c DELETED --- --- fmaxl.c DELETED --- --- fmin.c DELETED --- --- fminf.c DELETED --- --- fminl.c DELETED --- --- fp_consts.c DELETED --- --- fpclassify.c DELETED --- --- fpclassifyf.c DELETED --- --- fpclassifyl.c DELETED --- --- fucom.c DELETED --- --- isnan.c DELETED --- --- isnanf.c DELETED --- --- isnanl.c DELETED --- --- log2.c DELETED --- --- log2f.c DELETED --- --- log2l.c DELETED --- --- math_stubs.c DELETED --- --- rint.c DELETED --- --- rintf.c DELETED --- --- rintl.c DELETED --- --- round.c DELETED --- --- roundf.c DELETED --- --- roundl.c DELETED --- --- signbit.c DELETED --- --- signbitf.c DELETED --- --- signbitl.c DELETED --- --- trunc.c DELETED --- --- truncf.c DELETED --- --- truncl.c DELETED --- |
|
From: <ea...@us...> - 2002-08-14 21:12:06
|
Update of /cvsroot/mingw/runtime/include In directory usw-pr-cvs1:/tmp/cvs-serv29077/include Modified Files: unistd.h Log Message: Merge winsup changes Index: unistd.h =================================================================== RCS file: /cvsroot/mingw/runtime/include/unistd.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** unistd.h 4 Jun 2001 23:26:02 -0000 1.1.1.1 --- unistd.h 14 Aug 2002 21:12:03 -0000 1.2 *************** *** 7,10 **** --- 7,11 ---- #ifndef __STRICT_ANSI__ #include <io.h> + #include <process.h> #endif |
|
From: <ea...@us...> - 2002-08-14 21:12:05
|
Update of /cvsroot/mingw/runtime In directory usw-pr-cvs1:/tmp/cvs-serv29077 Modified Files: ChangeLog Log Message: Merge winsup changes Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/runtime/ChangeLog,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** ChangeLog 12 Aug 2002 13:06:34 -0000 1.32 --- ChangeLog 14 Aug 2002 21:12:03 -0000 1.33 *************** *** 1,2 **** --- 1,6 ---- + 2002-08-14 Earnie Boyd <ea...@us...> + + * include/unistd.h: Add include of process.h. + 2002-08-03 Danny Smith <dan...@us...> |
|
From: <ea...@us...> - 2002-08-14 21:05:47
|
Update of /cvsroot/mingw/w32api/include In directory usw-pr-cvs1:/tmp/cvs-serv25783/include Modified Files: commdlg.h shellapi.h shlobj.h wincrypt.h Log Message: Merge winsup changes Index: commdlg.h =================================================================== RCS file: /cvsroot/mingw/w32api/include/commdlg.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** commdlg.h 12 Aug 2002 12:21:10 -0000 1.6 --- commdlg.h 14 Aug 2002 21:05:43 -0000 1.7 *************** *** 437,441 **** HANDLE hSetupTemplate; } PRINTDLGW,*LPPRINTDLGW; ! #if (WINVER >= 0x0500) #include <unknwn.h> /* for LPUNKNOWN */ #include <prsht.h> /* for HPROPSHEETPAGE */ --- 437,441 ---- HANDLE hSetupTemplate; } PRINTDLGW,*LPPRINTDLGW; ! #if (WINVER >= 0x0500) && !defined (__OBJC__) #include <unknwn.h> /* for LPUNKNOWN */ #include <prsht.h> /* for HPROPSHEETPAGE */ *************** *** 511,515 **** HWND WINAPI ReplaceTextA(LPFINDREPLACEA); HWND WINAPI ReplaceTextW(LPFINDREPLACEW); ! #if (WINVER >= 0x0500) HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA); HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW); --- 511,515 ---- HWND WINAPI ReplaceTextA(LPFINDREPLACEA); HWND WINAPI ReplaceTextW(LPFINDREPLACEW); ! #if (WINVER >= 0x0500) && !defined (__OBJC__) HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA); HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW); *************** *** 540,544 **** #define PrintDlg PrintDlgW #define ReplaceText ReplaceTextW ! #if (WINVER >= 0x0500) typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX; #define PrintDlgEx PrintDlgExW --- 540,544 ---- #define PrintDlg PrintDlgW #define ReplaceText ReplaceTextW ! #if (WINVER >= 0x0500) && !defined (__OBJC__) typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX; #define PrintDlgEx PrintDlgExW *************** *** 568,572 **** #define PrintDlg PrintDlgA #define ReplaceText ReplaceTextA ! #if (WINVER >= 0x0500) typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX; #define PrintDlgEx PrintDlgExA --- 568,572 ---- #define PrintDlg PrintDlgA #define ReplaceText ReplaceTextA ! #if (WINVER >= 0x0500) && !defined (__OBJC__) typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX; #define PrintDlgEx PrintDlgExA Index: shellapi.h =================================================================== RCS file: /cvsroot/mingw/w32api/include/shellapi.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** shellapi.h 9 Apr 2002 21:17:17 -0000 1.2 --- shellapi.h 14 Aug 2002 21:05:43 -0000 1.3 *************** *** 70,73 **** --- 70,74 ---- #define FOF_SIMPLEPROGRESS 256 #define FOF_NOCONFIRMMKDIR 512 + #define FOF_NOERRORUI 1024 #define PO_DELETE 19 #define PO_RENAME 20 Index: shlobj.h =================================================================== RCS file: /cvsroot/mingw/w32api/include/shlobj.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** shlobj.h 12 Aug 2002 12:21:11 -0000 1.10 --- shlobj.h 14 Aug 2002 21:05:43 -0000 1.11 *************** *** 744,747 **** --- 744,749 ---- BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL); BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPSTR,int,BOOL); + BOOL WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPTSTR); + BOOL WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPTSTR); #ifdef UNICODE *************** *** 754,757 **** --- 756,760 ---- /* FIXME/TODO: Only valid for _WIN32_IE >= 400? */ #define SHGetSpecialFolderPath SHGetSpecialFolderPathW + #define SHGetFolderPath SHGetFolderPathW #else typedef IShellExecuteHookA IShellExecuteHook; *************** *** 763,766 **** --- 766,770 ---- /* FIXME/TODO: Only valid for _WIN32_IE >= 400? */ #define SHGetSpecialFolderPath SHGetSpecialFolderPathA + #define SHGetFolderPath SHGetFolderPathA #endif Index: wincrypt.h =================================================================== RCS file: /cvsroot/mingw/w32api/include/wincrypt.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** wincrypt.h 12 Aug 2002 12:21:11 -0000 1.3 --- wincrypt.h 14 Aug 2002 21:05:43 -0000 1.4 *************** *** 504,507 **** --- 504,511 ---- BOOL WINAPI CryptDeriveKey(HCRYPTPROV,ALG_ID,HCRYPTHASH,DWORD,HCRYPTKEY*); BOOL WINAPI CryptDestroyKey(HCRYPTKEY); + #if (WINVER >= 0x0500) + BOOL WINAPI CryptDuplicateHash(HCRYPTHASH,DWORD*,DWORD,HCRYPTHASH*); + BOOL WINAPI CryptDuplicateKey(HCRYPTKEY,DWORD*,DWORD,HCRYPTKEY*); + #endif BOOL WINAPI CryptSetKeyParam(HCRYPTKEY,DWORD,PBYTE,DWORD); BOOL WINAPI CryptGetKeyParam(HCRYPTKEY,DWORD,PBYTE,PDWORD,DWORD); |
|
From: <ea...@us...> - 2002-08-14 21:05:46
|
Update of /cvsroot/mingw/w32api/lib In directory usw-pr-cvs1:/tmp/cvs-serv25783/lib Modified Files: shell32.def Log Message: Merge winsup changes Index: shell32.def =================================================================== RCS file: /cvsroot/mingw/w32api/lib/shell32.def,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** shell32.def 5 Jun 2001 01:36:46 -0000 1.1.1.1 --- shell32.def 14 Aug 2002 21:05:43 -0000 1.2 *************** *** 60,64 **** --- 60,68 ---- SHLoadInProc@4 SHHelpShortcuts_RunDLL@16 + SHGetFolderPathA@20 + SHGetFolderPathW@20 SHGetSpecialFolderLocation@12 + SHGetSpecialFolderPathA@16 + SHGetSpecialFolderPathW@16 SHGetPathFromIDListW@8 SHGetPathFromIDListA@8 |
|
From: <ea...@us...> - 2002-08-14 21:05:46
|
Update of /cvsroot/mingw/w32api In directory usw-pr-cvs1:/tmp/cvs-serv25783 Modified Files: ChangeLog Log Message: Merge winsup changes Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/w32api/ChangeLog,v retrieving revision 1.101 retrieving revision 1.102 diff -C2 -d -r1.101 -r1.102 *** ChangeLog 12 Aug 2002 12:21:10 -0000 1.101 --- ChangeLog 14 Aug 2002 21:05:43 -0000 1.102 *************** *** 1,2 **** --- 1,22 ---- + 2002-08-14 Earnie Boyd <ea...@us...> + + * include/shlobj.h (SHGetFolderPath): Add define. + * lib/shell32.def (SHGetSpecialFolderPath): Add export. + (SHGetFolderPath): Ditto. + + 2002-08-13 Danny Smith <dan...@us...> + + * include/commdlg.h: Don't include COM headers or use + COM-dependent symbols if __OBJC__. + + 2002-08-13 Danny Smith <dan...@us...> + + * include/wincrypt.h (CryptDuplicateHash, CryptDuplicateKey): + Add prototypes. + + 2002-08-12 Andriy Palamarchuk <ap...@ya...> + + * include/shellapi.h (FOF_NOERRORUI): Add define. + 2002-08-12 Danny Smith <dan...@us...> |
Update of /cvsroot/mingw/runtime/include
In directory usw-pr-cvs1:/tmp/cvs-serv17417/include
Modified Files:
_mingw.h excpt.h fcntl.h float.h io.h math.h mbstring.h
share.h stdio.h stdlib.h string.h tchar.h wchar.h
Log Message:
Merge winsup changes
Index: _mingw.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/_mingw.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** _mingw.h 15 Jun 2002 16:01:35 -0000 1.8
--- _mingw.h 12 Aug 2002 13:06:35 -0000 1.9
***************
*** 45,55 ****
#ifndef __GNUC__
! # define __MINGW_IMPORT __declspec(dllimport)
# define __DECLSPEC_SUPPORTED
#else /* __GNUC__ */
# ifdef __declspec
/* Note the extern. This is needed to work around GCC's
limitations in handling dllimport attribute. */
! # define __MINGW_IMPORT extern __attribute__((dllimport))
# define __DECLSPEC_SUPPORTED
# else
--- 45,60 ----
#ifndef __GNUC__
! # ifndef __MINGW_IMPORT
! # define __MINGW_IMPORT __declspec(dllimport)
! # endif
# define __DECLSPEC_SUPPORTED
#else /* __GNUC__ */
# ifdef __declspec
+ # ifndef __MINGW_IMPORT
+
/* Note the extern. This is needed to work around GCC's
limitations in handling dllimport attribute. */
! # define __MINGW_IMPORT extern __attribute__((dllimport))
! # endif
# define __DECLSPEC_SUPPORTED
# else
Index: excpt.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/excpt.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** excpt.h 29 Nov 2001 04:26:33 -0000 1.3
--- excpt.h 12 Aug 2002 13:06:35 -0000 1.4
***************
*** 37,41 ****
#ifndef __STRICT_ANSI__
! #include <windows.h>
/*
--- 37,41 ----
#ifndef __STRICT_ANSI__
! #include <windef.h>
/*
Index: fcntl.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/fcntl.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** fcntl.h 14 Jun 2002 15:12:54 -0000 1.4
--- fcntl.h 12 Aug 2002 13:06:35 -0000 1.5
***************
*** 59,62 ****
--- 59,64 ----
#define _O_EXCL 0x0400 /* Open only if the file does not exist. */
+ #define _O_SHORT_LIVED 0x1000
+
/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */
#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */
Index: float.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/float.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** float.h 14 Jun 2002 15:12:54 -0000 1.8
--- float.h 12 Aug 2002 13:06:35 -0000 1.9
***************
*** 33,36 ****
--- 33,38 ----
*/
+ #include_next<float.h>
+
#ifndef _MINGW_FLOAT_H_
#define _MINGW_FLOAT_H_
***************
*** 38,43 ****
/* All the headers include this file. */
#include <_mingw.h>
-
- #include_next<float.h>
/*
--- 40,43 ----
Index: io.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/io.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** io.h 29 Nov 2001 04:26:33 -0000 1.4
--- io.h 12 Aug 2002 13:06:35 -0000 1.5
***************
*** 126,129 ****
--- 126,130 ----
char* _mktemp (char*);
int _rmdir (const char*);
+ int _chmod (const char*, int);
***************
*** 145,148 ****
--- 146,150 ----
char* mktemp (char*);
int rmdir (const char*);
+ int chmod (const char*, int);
#endif /* _UWIN */
***************
*** 182,186 ****
/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
* the "owner write permission" bit (on FAT). */
! int _creat (const char*, unsigned);
int _dup (int);
--- 184,188 ----
/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
* the "owner write permission" bit (on FAT). */
! int _creat (const char*, int);
int _dup (int);
***************
*** 229,233 ****
int _wchmod(const wchar_t*, int);
int _wcreat(const wchar_t*, int);
! long _wfindfirst(wchar_t*, struct _wfinddata_t*);
int _wfindnext(long, struct _wfinddata_t *);
int _wunlink(const wchar_t*);
--- 231,235 ----
int _wchmod(const wchar_t*, int);
int _wcreat(const wchar_t*, int);
! long _wfindfirst(const wchar_t*, struct _wfinddata_t*);
int _wfindnext(long, struct _wfinddata_t *);
int _wunlink(const wchar_t*);
Index: math.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/math.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** math.h 14 Jun 2002 15:12:54 -0000 1.8
--- math.h 12 Aug 2002 13:06:35 -0000 1.9
***************
*** 145,151 ****
--- 145,163 ----
double pow (double, double);
double sqrt (double);
+ extern __inline__ double sqrt (double x)
+ {
+ double res;
+ asm ("fsqrt" : "=t" (res) : "0" (x));
+ return res;
+ }
double ceil (double);
double floor (double);
double fabs (double);
+ extern __inline__ double fabs (double x)
+ {
+ double res;
+ asm ("fabs;" : "=t" (res) : "0" (x));
+ return res;
+ }
double ldexp (double, int);
double frexp (double, int*);
***************
*** 153,159 ****
double fmod (double, double);
#ifndef __STRICT_ANSI__
! /* Complex number (for cabs) */
struct _complex
{
--- 165,172 ----
double fmod (double, double);
+
#ifndef __STRICT_ANSI__
! /* Complex number (for cabs). This really belongs in complex.h */
struct _complex
{
***************
*** 163,166 ****
--- 176,180 ----
double _cabs (struct _complex);
+
double _hypot (double, double);
double _j0 (double);
***************
*** 191,205 ****
/* END FLOAT.H COPY */
- #if !defined (_NO_OLDNAMES) \
- || (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L )
/*
! * Non-underscored versions of non-ANSI functions. These reside in
! * liboldnames.a. They are now also ISO C99 standand names.
! * Provided for extra portability.
*/
double cabs (struct _complex);
- double hypot (double, double);
double j0 (double);
double j1 (double);
--- 205,217 ----
/* END FLOAT.H COPY */
/*
! * Non-underscored versions of non-ANSI functions.
! * These reside in liboldnames.a.
*/
+ #if !defined (_NO_OLDNAMES)
+
double cabs (struct _complex);
double j0 (double);
double j1 (double);
***************
*** 209,234 ****
double yn (int, double);
! #endif /* Not _NO_OLDNAMES */
! #endif /* Not __STRICT_ANSI__ */
! #ifdef __cplusplus
! }
! #endif
! #endif /* Not RC_INVOKED */
#ifndef __NO_ISOCEXT
- #ifndef RC_INVOKED
- #ifdef __cplusplus
- extern "C" {
- #endif
-
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
|| !defined __STRICT_ANSI__
- #define INFINITY HUGE_VAL
#define NAN (0.0F/0.0F)
/*
Return values for fpclassify.
--- 221,245 ----
double yn (int, double);
! double chgsign (double);
! double scalb (double, long);
! int finite (double);
! int fpclass (double);
! #endif /* Not _NO_OLDNAMES */
! #endif /* __STRICT_ANSI__ */
#ifndef __NO_ISOCEXT
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
|| !defined __STRICT_ANSI__
#define NAN (0.0F/0.0F)
+ #define HUGE_VALF (1.0F/0.0F)
+ #define HUGE_VALL (1.0L/0.0L)
+ #define INFINITY (1.0F/0.0F)
+
+ /* 7.12.3.1 */
/*
Return values for fpclassify.
***************
*** 245,259 ****
- /* Return a NaN */
- double nan(const char *tagp);
- float nanf(const char *tagp);
- long double nanl(const char *tagp);
-
- #ifndef __STRICT_ANSI__
- #define nan() nan("")
- #define nanf() nanf("")
- #define nanl() nanl("")
- #endif
-
/*
We can't inline float or double, because we want to ensure truncation
--- 256,259 ----
***************
*** 276,281 ****
--- 276,289 ----
: __fpclassifyl (x))
+ /* 7.12.3.2 */
+ #define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
+
+ /* 7.12.3.3 */
+ #define isinf(x) (fpclassify(x) == FP_INFINITE)
+
+ /* 7.12.3.4 */
/* We don't need to worry about trucation here:
A NaN stays a NaN. */
+
extern __inline__ int __isnan (double _x)
{
***************
*** 305,317 ****
}
#define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) \
: sizeof (x) == sizeof (double) ? __isnan (x) \
: __isnanl (x))
! #define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
! #define isinf(x) (fpclassify(x) == FP_INFINITE)
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
!
extern __inline__ int __signbit (double x) {
unsigned short stw;
--- 313,325 ----
}
+
#define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) \
: sizeof (x) == sizeof (double) ? __isnan (x) \
: __isnanl (x))
! /* 7.12.3.5 */
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
! /* 7.12.3.6 The signbit macro */
extern __inline__ int __signbit (double x) {
unsigned short stw;
***************
*** 336,383 ****
: __signbitl (x))
! /*
! * With these functions, comparisons involving quiet NaNs set the FP
! * condition code to "unordered". The IEEE floating-point spec
! * dictates that the result of floating-point comparisons should be
! * false whenever a NaN is involved, with the exception of the !=,
! * which always returns true: yes, (NaN != NaN) is true).
! */
! #if __GNUC__ >= 3
! #define isgreater(x, y) __builtin_isgreater(x, y)
! #define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
! #define isless(x, y) __builtin_isless(x, y)
! #define islessequal(x, y) __builtin_islessequal(x, y)
! #define islessgreater(x, y) __builtin_islessgreater(x, y)
! #define isunordered(x, y) __builtin_isunordered(x, y)
! #else
! /* helper */
! extern __inline__ int
! __fp_unordered_compare (long double x, long double y){
! unsigned short retval;
! __asm__ ("fucom %%st(1);"
! "fnstsw;": "=a" (retval) : "t" (x), "u" (y));
! return retval;
}
! #define isgreater(x, y) ((__fp_unordered_compare(x, y) \
! & 0x4500) == 0)
! #define isless(x, y) ((__fp_unordered_compare (y, x) \
! & 0x4500) == 0)
! #define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \
! & FP_INFINITE) == 0)
! #define islessequal(x, y) ((__fp_unordered_compare(y, x) \
! & FP_INFINITE) == 0)
! #define islessgreater(x, y) ((__fp_unordered_compare(x, y) \
! & FP_SUBNORMAL) == 0)
! #define isunordered(x, y) ((__fp_unordered_compare(x, y) \
! & 0x4500) == 0x4500)
! #endif
/* round, using fpu control word settings */
! extern __inline__ double rint (double x)
{
double retval;
--- 344,540 ----
: __signbitl (x))
! /* 7.12.4 Trigonometric functions: Double in C89 */
! extern float sinf (float);
! extern long double sinl (long double);
! extern float cosf (float);
! extern long double cosl (long double);
! extern float tanf (float);
! extern long double tanl (long double);
! extern float asinf (float);
! extern long double asinl (long double);
!
! extern float acosf (float);
! extern long double acosl (long double);
!
! extern float atanf (float);
! extern long double atanl (long double);
!
! extern float atan2f (float, float);
! extern long double atan2l (long double, long double);
!
! /* 7.12.5 Hyperbolic functions: Double in C89 */
! extern __inline__ float sinhf (float x)
! {return (float) sinh (x);}
! extern long double sinhl (long double);
!
! extern __inline__ float coshf (float x)
! {return (float) cosh (x);}
! extern long double coshl (long double);
!
! extern __inline__ float tanhf (float x)
! {return (float) tanh (x);}
! extern long double tanhl (long double);
!
! /*
! * TODO: asinh, acosh, atanh
! */
!
! /* 7.12.6.1 Double in C89 */
! extern __inline__ float expf (float x)
! {return (float) exp (x);}
! extern long double expl (long double);
!
! /* 7.12.6.2 */
! extern double exp2(double);
! extern float exp2f(float);
! extern long double exp2l(long double);
!
! /* 7.12.6.3 The expm1 functions: TODO */
!
! /* 7.12.6.4 Double in C89 */
! extern __inline__ float frexpf (float x, int* expn)
! {return (float) frexp (x, expn);}
! extern long double frexpl (long double, int*);
!
! /* 7.12.6.5 */
! #define FP_ILOGB0 ((int)0x80000000)
! #define FP_ILOGBNAN ((int)0x80000000)
! extern int ilogb (double);
! extern int ilogbf (float);
! extern int ilogbl (long double);
!
! /* 7.12.6.6 Double in C89 */
! extern __inline__ float ldexpf (float x, int expn)
! {return (float) ldexp (x, expn);}
! extern long double ldexpl (long double, int);
!
! /* 7.12.6.7 Double in C89 */
! extern float logf (float);
! extern long double logl (long double);
!
! /* 7.12.6.8 Double in C89 */
! extern float log10f (float);
! extern long double log10l (long double);
!
! /* 7.12.6.9 */
! extern double log1p(double);
! extern float log1pf(float);
! extern long double log1pl(long double);
!
! /* 7.12.6.10 */
! extern double log2 (double);
! extern float log2f (float);
! extern long double log2l (long double);
!
! /* 7.12.6.11 */
! extern double logb (double);
! extern float logbf (float);
! extern long double logbl (long double);
!
! extern __inline__ double logb (double x)
! {
! double res;
! asm ("fxtract\n\t"
! "fstp %%st" : "=t" (res) : "0" (x));
! return res;
}
! extern __inline__ float logbf (float x)
! {
! float res;
! asm ("fxtract\n\t"
! "fstp %%st" : "=t" (res) : "0" (x));
! return res;
! }
! extern __inline__ long double logbl (long double x)
! {
! long double res;
! asm ("fxtract\n\t"
! "fstp %%st" : "=t" (res) : "0" (x));
! return res;
! }
!
! /* 7.12.6.12 Double in C89 */
! extern float modff (float, float*);
! extern long double modfl (long double, long double*);
!
! /* 7.12.6.13 */
! extern double scalbn (double, int);
! extern float scalbnf (float, int);
! extern long double scalbnl (long double, int);
!
! extern double scalbln (double, long);
! extern float scalblnf (float, long);
! extern long double scalblnl (long double, long);
!
! /* 7.12.7.1 */
! /* Implementations adapted from Cephes versions */
! extern double cbrt (double);
! extern float cbrtf (float);
! extern long double cbrtl (long double);
!
! /* 7.12.7.2 The fabs functions: Double in C89 */
! extern __inline__ float fabsf (float x)
! {
! float res;
! asm ("fabs;" : "=t" (res) : "0" (x));
! return res;
! }
!
! extern __inline__ long double fabsl (long double x)
! {
! long double res;
! asm ("fabs;" : "=t" (res) : "0" (x));
! return res;
! }
+ /* 7.12.7.3 */
+ extern double hypot (double, double); /* in libmoldname.a */
+ extern __inline__ float hypotf (float x, float y)
+ { return (float) _hypot (x, y);}
+ extern long double hypotl (long double, long double);
+
+ /* 7.12.7.4 The pow functions. Double in C89 */
+ extern __inline__ float powf (float x, float y)
+ {return (float) pow (x, y);}
+ extern long double powl (long double, long double);
+
+ /* 7.12.7.5 The sqrt functions. Double in C89. */
+ extern __inline__ float sqrtf (float x)
+ {
+ float res;
+ asm ("fsqrt" : "=t" (res) : "0" (x));
+ return res;
+ }
+
+ extern __inline__ long double sqrtl (long double x)
+ {
+ long double res;
+ asm ("fsqrt" : "=t" (res) : "0" (x));
+ return res;
+ }
+
+ /* 7.12.8 Error and gamma functions: TODO */
+
+ /* 7.12.9.1 Double in C89 */
+ extern float ceilf (float);
+ extern long double ceill (long double);
+
+ /* 7.12.9.2 Double in C89 */
+ extern float floorf (float);
+ extern long double floorl (long double);
+
+ /* 7.12.9.3 */
+ extern double nearbyint ( double);
+ extern float nearbyintf (float);
+ extern long double nearbyintl (long double);
+
+ /* 7.12.9.4 */
/* round, using fpu control word settings */
! extern __inline__ double rint (double x)
{
double retval;
***************
*** 386,390 ****
}
! extern __inline__ float rintf (float x)
{
float retval;
--- 543,547 ----
}
! extern __inline__ float rintf (float x)
{
float retval;
***************
*** 393,397 ****
}
! extern __inline__ long double rintl (long double x)
{
long double retval;
--- 550,554 ----
}
! extern __inline__ long double rintl (long double x)
{
long double retval;
***************
*** 400,403 ****
--- 557,610 ----
}
+ /* 7.12.9.5 */
+ extern __inline__ long lrint (double x)
+ {
+ long retval;
+ __asm__ __volatile__ \
+ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ extern __inline__ long lrintf (float x)
+ {
+ long retval;
+ __asm__ __volatile__ \
+ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ extern __inline__ long lrintl (long double x)
+ {
+ long retval;
+ __asm__ __volatile__ \
+ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ extern __inline__ long long llrint (double x)
+ {
+ long long retval;
+ __asm__ __volatile__ \
+ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ extern __inline__ long long llrintf (float x)
+ {
+ long long retval;
+ __asm__ __volatile__ \
+ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ extern __inline__ long long llrintl (long double x)
+ {
+ long long retval;
+ __asm__ __volatile__ \
+ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
+ return retval;
+ }
+
+ /* 7.12.9.6 */
/* round away from zero, regardless of fpu control word settings */
extern double round (double);
***************
*** 405,409 ****
--- 612,625 ----
extern long double roundl (long double);
+ /* 7.12.9.7 */
+ extern long lround (double);
+ extern long lroundf (float);
+ extern long lroundl (long double);
+
+ extern long long llround (double);
+ extern long long llroundf (float);
+ extern long long llroundl (long double);
+ /* 7.12.9.8 */
/* round towards zero, regardless of fpu control word settings */
extern double trunc (double);
***************
*** 411,414 ****
--- 627,673 ----
extern long double truncl (long double);
+ /* 7.12.10.1 Double in C89 */
+ extern float fmodf (float, float);
+ extern long double fmodl (long double, long double);
+
+ /* 7.12.10.2 */
+ extern double remainder (double, double);
+ extern float remainderf (float, float);
+ extern long double remainderl (long double, long double);
+
+ /* 7.12.10.3 */
+ extern double remquo(double, double, int *);
+ extern float remquof(float, float, int *);
+ extern long double remquol(long double, long double, int *);
+
+ /* 7.12.11.1 */
+ extern double copysign (double, double); /* in libmoldname.a */
+ extern float copysignf (float, float);
+ extern long double copysignl (long double, long double);
+
+ /* 7.12.11.2 Return a NaN */
+ extern double nan(const char *tagp);
+ extern float nanf(const char *tagp);
+ extern long double nanl(const char *tagp);
+
+ #ifndef __STRICT_ANSI__
+ #define _nan() nan("")
+ #define _nanf() nanf("")
+ #define _nanl() nanl("")
+ #endif
+
+ /* 7.12.11.3 */
+ extern double nextafter (double, double); /* in libmoldname.a */
+ extern float nextafterf (float, float);
+ /* TODO: Not yet implemented */
+ /* extern long double nextafterl (long double, long double); */
+
+ /* 7.12.11.4 The nexttoward functions: TODO */
+
+ /* 7.12.12.1 */
+ /* x > y ? (x - y) : 0.0 */
+ extern double fdim (double x, double y);
+ extern float fdimf (float x, float y);
+ extern long double fdiml (long double x, long double y);
/* fmax and fmin.
***************
*** 417,428 ****
--- 676,690 ----
value. */
+ /* 7.12.12.2 */
extern double fmax (double, double);
extern float fmaxf (float, float);
extern long double fmaxl (long double, long double);
+ /* 7.12.12.3 */
extern double fmin (double, double);
extern float fminf (float, float);
extern long double fminl (long double, long double);
+ /* 7.12.13.1 */
/* return x * y + z as a ternary op */
extern double fma (double, double, double);
***************
*** 430,477 ****
extern long double fmal (long double, long double, long double);
- /* x > y ? (x - y) : 0.0 */
- extern double fdim (double, double);
- extern float fdimf (float, float);
- extern long double fdiml (long double, long double);
! /* one lonely transcendental */
! extern double log2 (double _x);
! extern float log2f (float _x);
! extern long double log2l (long double _x);
! #endif /* __STDC_VERSION__ >= 199901L */
! /* The underscored versions for double are in MSVCRT.dll.
! The stubs for float and double versions are in libmingwex.a */
! double copysign (double, double);
! float copysignf (float, float);
! long double copysignl (long double, long double);
! double logb (double);
! float logbf (float);
! double nextafter (double, double);
! float nextafterf (float, float);
! double scalb (double, long);
! float scalbf (float, long);
- #if !defined (__STRICT_ANSI__) /* inline using non-ANSI functions */
- extern __inline__ double copysign (double x, double y)
- { return _copysign(x, y); }
- extern __inline__ float copysignf (float x, float y)
- { return _copysign(x, y); }
- extern __inline__ double logb (double x)
- { return _logb(x); }
- extern __inline__ float logbf (float x)
- { return _logb(x); }
- extern __inline__ double nextafter(double x, double y)
- { return _nextafter(x, y); }
- extern __inline__ float nextafterf(float x, float y)
- { return _nextafter(x, y); }
- extern __inline__ double scalb (double x, long i)
- { return _scalb (x, i); }
- extern __inline__ float scalbf (float x, long i)
- { return _scalb(x, i); }
- #endif /* (__STRICT_ANSI__) */
#ifdef __cplusplus
--- 692,743 ----
extern long double fmal (long double, long double, long double);
! /* 7.12.14 */
! /*
! * With these functions, comparisons involving quiet NaNs set the FP
! * condition code to "unordered". The IEEE floating-point spec
! * dictates that the result of floating-point comparisons should be
! * false whenever a NaN is involved, with the exception of the != op,
! * which always returns true: yes, (NaN != NaN) is true).
! */
+ #if __GNUC__ >= 3
! #define isgreater(x, y) __builtin_isgreater(x, y)
! #define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
! #define isless(x, y) __builtin_isless(x, y)
! #define islessequal(x, y) __builtin_islessequal(x, y)
! #define islessgreater(x, y) __builtin_islessgreater(x, y)
! #define isunordered(x, y) __builtin_isunordered(x, y)
! #else
! /* helper */
! extern __inline__ int
! __fp_unordered_compare (long double x, long double y){
! unsigned short retval;
! __asm__ ("fucom %%st(1);"
! "fnstsw;": "=a" (retval) : "t" (x), "u" (y));
! return retval;
! }
! #define isgreater(x, y) ((__fp_unordered_compare(x, y) \
! & 0x4500) == 0)
! #define isless(x, y) ((__fp_unordered_compare (y, x) \
! & 0x4500) == 0)
! #define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \
! & FP_INFINITE) == 0)
! #define islessequal(x, y) ((__fp_unordered_compare(y, x) \
! & FP_INFINITE) == 0)
! #define islessgreater(x, y) ((__fp_unordered_compare(x, y) \
! & FP_SUBNORMAL) == 0)
! #define isunordered(x, y) ((__fp_unordered_compare(x, y) \
! & 0x4500) == 0x4500)
!
! #endif
!
!
! #endif /* __STDC_VERSION__ >= 199901L */
! #endif /* __NO_ISOCEXT */
#ifdef __cplusplus
***************
*** 480,485 ****
#endif /* Not RC_INVOKED */
- #endif /* __NO_ISOCEXT */
#endif /* Not _MATH_H_ */
-
--- 746,749 ----
Index: mbstring.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/mbstring.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** mbstring.h 28 May 2002 13:07:26 -0000 1.1
--- mbstring.h 12 Aug 2002 13:06:35 -0000 1.2
***************
*** 77,81 ****
unsigned char* _mbsdup (const unsigned char*);
unsigned char* _mbsrev (unsigned char*);
! unsigned char* _mbscat (unsigned char*, const unsigned char*); /* also in string.h */
unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsnbcat (unsigned char*, const unsigned char*, size_t);
--- 77,81 ----
unsigned char* _mbsdup (const unsigned char*);
unsigned char* _mbsrev (unsigned char*);
! unsigned char* _mbscat (unsigned char*, const unsigned char*);
unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsnbcat (unsigned char*, const unsigned char*, size_t);
***************
*** 83,87 ****
size_t _mbsnbcnt (const unsigned char*, size_t);
size_t _mbsnccnt (const unsigned char*, size_t);
! unsigned char* _mbschr (const unsigned char*, unsigned int); /* also in string.h */
unsigned char* _mbsrchr (const unsigned char*, unsigned int);
size_t _mbsspn (const unsigned char*, const unsigned char*);
--- 83,87 ----
size_t _mbsnbcnt (const unsigned char*, size_t);
size_t _mbsnccnt (const unsigned char*, size_t);
! unsigned char* _mbschr (const unsigned char*, unsigned int);
unsigned char* _mbsrchr (const unsigned char*, unsigned int);
size_t _mbsspn (const unsigned char*, const unsigned char*);
***************
*** 108,112 ****
unsigned char* _mbslwr (unsigned char*);
unsigned char* _mbsupr (unsigned char*);
! unsigned char* _mbstok (unsigned char*, const unsigned char*); /* also in string.h */
/* Kanji */
--- 108,112 ----
unsigned char* _mbslwr (unsigned char*);
unsigned char* _mbsupr (unsigned char*);
! unsigned char* _mbstok (unsigned char*, const unsigned char*);
/* Kanji */
Index: share.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/share.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** share.h 29 Nov 2001 04:26:33 -0000 1.3
--- share.h 12 Aug 2002 13:06:35 -0000 1.4
***************
*** 33,41 ****
#include <_mingw.h>
! #define SH_COMPAT 0x00 /* Compatibility */
! #define SH_DENYRW 0x10 /* Deny read/write */
! #define SH_DENYWR 0x20 /* Deny write */
! #define SH_DENYRD 0x30 /* Deny read */
! #define SH_DENYNO 0x40 /* Deny nothing */
#endif /* Not _SHARE_H_ */
--- 33,55 ----
#include <_mingw.h>
! #define _SH_COMPAT 0x00 /* Compatibility */
! #define _SH_DENYRW 0x10 /* Deny read/write */
! #define _SH_DENYWR 0x20 /* Deny write */
! #define _SH_DENYRD 0x30 /* Deny read */
! #define _SH_DENYNO 0x40 /* Deny nothing */
!
! #ifndef __STRICT_ANSI__
!
! #ifndef _NO_OLDNAMES
!
! /* Non ANSI names */
! #define SH_DENYRW _SH_DENYRW
! #define SH_DENYWR _SH_DENYWR
! #define SH_DENYRD _SH_DENYRD
! #define SH_DENYNO _SH_DENYNO
!
! #endif /* Not _NO_OLDNAMES */
!
! #endif /* Not __STRICT_ANSI__ */
#endif /* Not _SHARE_H_ */
Index: stdio.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/stdio.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** stdio.h 14 Jun 2002 15:12:54 -0000 1.8
--- stdio.h 12 Aug 2002 13:06:35 -0000 1.9
***************
*** 47,52 ****
/* Flags for the iobuf structure */
! #define _IOREAD 1
! #define _IOWRT 2
#define _IORW 0x0080 /* opened as "r+w" */
--- 47,52 ----
/* Flags for the iobuf structure */
! #define _IOREAD 1 /* currently reading */
! #define _IOWRT 2 /* currently writing */
#define _IORW 0x0080 /* opened as "r+w" */
***************
*** 97,104 ****
#define L_tmpnam (16)
! #define _IOFBF 0x0000
! #define _IOLBF 0x0040
! #define _IONBF 0x0004
/*
* The buffer size as used by setbuf such that it is equivalent to
--- 97,111 ----
#define L_tmpnam (16)
! #define _IOFBF 0x0000 /* full buffered */
! #define _IOLBF 0x0040 /* line buffered */
! #define _IONBF 0x0004 /* not buffered */
+ #define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */
+ #define _IOEOF 0x0010 /* EOF reached on read */
+ #define _IOERR 0x0020 /* I/O error from system */
+ #define _IOSTRG 0x0040 /* Strange or no file descriptor */
+ #ifdef _POSIX_SOURCE
+ # define _IOAPPEND 0x0200
+ #endif
/*
* The buffer size as used by setbuf such that it is equivalent to
***************
*** 317,320 ****
--- 324,328 ----
FILE* _fdopen (int, const char*);
int _fileno (FILE*);
+ int _fcloseall(void);
#ifndef _NO_OLDNAMES
***************
*** 354,357 ****
--- 362,366 ----
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
+ FILE* _wfdopen(int, wchar_t *);
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
Index: stdlib.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/stdlib.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** stdlib.h 14 Jun 2002 15:12:54 -0000 1.10
--- stdlib.h 12 Aug 2002 13:06:35 -0000 1.11
***************
*** 417,420 ****
--- 417,425 ----
void _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
wchar_t* _wfullpath (wchar_t*, const wchar_t*, size_t);
+
+ unsigned int _rotl(unsigned int, int);
+ unsigned int _rotr(unsigned int, int);
+ unsigned long _lrotl(unsigned long, int);
+ unsigned long _lrotr(unsigned long, int);
#endif
Index: string.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/string.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** string.h 29 Nov 2001 04:26:33 -0000 1.3
--- string.h 12 Aug 2002 13:06:35 -0000 1.4
***************
*** 92,102 ****
void _swab (const char*, char*, size_t);
- /*
- * Multi-byte character functions
- */
- unsigned char* _mbschr (unsigned char*, unsigned char*);
- unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
- unsigned char* _mbstok (unsigned char*, unsigned char*);
-
#ifdef __MSVCRT__
int _strncoll(const char*, const char*, size_t);
--- 92,95 ----
***************
*** 135,139 ****
#define _wcscmpi _wcsicmp
! wchar_t* _wcsdup (wchar_t*);
int _wcsicmp (const wchar_t*, const wchar_t*);
int _wcsicoll (const wchar_t*, const wchar_t*);
--- 128,132 ----
#define _wcscmpi _wcsicmp
! wchar_t* _wcsdup (const wchar_t*);
int _wcsicmp (const wchar_t*, const wchar_t*);
int _wcsicoll (const wchar_t*, const wchar_t*);
Index: tchar.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/tchar.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** tchar.h 14 Jun 2002 15:12:54 -0000 1.7
--- tchar.h 12 Aug 2002 13:06:35 -0000 1.8
***************
*** 99,105 ****
#define _fputts fputws
#define _gettc getwc
! #define _getts getws
#define _puttc putwc
! #define _putts putws
#define _ungettc ungetwc
#define _tcstod wcstod
--- 99,105 ----
#define _fputts fputws
#define _gettc getwc
! #define _getts _getws
#define _puttc putwc
! #define _putts _putws
#define _ungettc ungetwc
#define _tcstod wcstod
***************
*** 188,191 ****
--- 188,192 ----
#define _tfindfirst _wfindfirst
#define _tfindnext _wfindnext
+ #define _tfdopen _wfdopen
#define _tfopen _wfopen
#define _tgetenv _wgetenv
***************
*** 265,268 ****
--- 266,270 ----
#define _fputtchar _fputchar
#define _fputts fputs
+ #define _tfdopen _fdopen
#define _tfopen fopen
#define _tgetenv getenv
Index: wchar.h
===================================================================
RCS file: /cvsroot/mingw/runtime/include/wchar.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** wchar.h 14 Jun 2002 15:12:54 -0000 1.6
--- wchar.h 12 Aug 2002 13:06:35 -0000 1.7
***************
*** 89,93 ****
int _wchmod (const wchar_t*, int);
int _wcreat (const wchar_t*, int);
! long _wfindfirst (wchar_t*, struct _wfinddata_t *);
int _wfindnext (long, struct _wfinddata_t *);
int _wunlink (const wchar_t*);
--- 89,93 ----
int _wchmod (const wchar_t*, int);
int _wcreat (const wchar_t*, int);
! long _wfindfirst (const wchar_t*, struct _wfinddata_t *);
int _wfindnext (long, struct _wfinddata_t *);
int _wunlink (const wchar_t*);
***************
*** 134,138 ****
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
!
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
--- 134,138 ----
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
! FILE* _wfdopen(int, wchar_t *);
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
|
|
From: <ea...@us...> - 2002-08-12 13:07:08
|
Update of /cvsroot/mingw/runtime/mingwex In directory usw-pr-cvs1:/tmp/cvs-serv17417/mingwex Modified Files: Makefile.in Log Message: Merge winsup changes Index: Makefile.in =================================================================== RCS file: /cvsroot/mingw/runtime/mingwex/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.in 14 Jun 2002 15:12:54 -0000 1.1 --- Makefile.in 12 Aug 2002 13:06:35 -0000 1.2 *************** *** 4,9 **** # This makefile requires GNU make. - VPATH = @srcdir@ srcdir = @srcdir@ objdir = . --- 4,9 ---- # This makefile requires GNU make. srcdir = @srcdir@ + VPATH = $(srcdir):$(srcdir)/math objdir = . *************** *** 27,109 **** mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs DISTFILES = Makefile.in configure configure.in \ ! mingw-fseek.c \ ! _Exit.c \ ! atoll.c \ ! copysignl.S \ ! dirent.c \ ! fdim.c \ ! fdimf.c \ ! fdiml.c \ ! feclearexcept.c \ ! fegetenv.c \ ! fegetexceptflag.c \ ! fegetround.c \ ! feholdexcept.c \ ! feraiseexcept.c \ ! fesetenv.c \ ! fesetround.c \ ! fetestexcept.c \ ! fesetexceptflag.c \ ! feupdateenv.c \ ! fma.S \ ! fmaf.S \ ! fmal.c \ ! fmax.c \ ! fmaxf.c \ ! fmaxl.c \ ! fmin.c \ ! fminf.c \ ! fminl.c \ ! fp_consts.c \ ! fpclassify.c \ ! fpclassifyf.c \ ! fpclassifyl.c \ ! fucom.c \ ! fwide.c \ ! imaxabs.c \ ! imaxdiv.c \ ! isnan.c \ ! isnanf.c \ ! isnanl.c \ ! lltoa.c \ ! lltow.c \ ! log2.c \ ! log2f.c \ ! log2l.c \ ! math_stubs.c \ ! mbsinit.c \ ! rint.c \ ! rintf.c \ ! rintl.c \ ! round.c \ ! roundf.c \ ! roundl.c \ ! signbit.c \ ! signbitf.c \ ! signbitl.c \ ! sitest.c \ ! snprintf.c \ ! snwprintf.c \ ! strtof.c \ ! strtoimax.c \ ! strtoumax.c \ ! testwmem.c \ ! trunc.c \ ! truncf.c \ ! truncl.c \ ! ulltoa.c \ ! ulltow.c \ ! vsnprintf.c \ ! vsnwprintf.c \ ! wcstof.c \ ! wcstoimax.c \ ! wcstoumax.c \ ! wdirent.c \ ! wmemchr.c \ ! wmemcmp.c \ ! wmemcpy.c \ ! wmemmove.c \ ! wmemset.c \ wtoll.c CC = @CC@ --- 27,60 ---- mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs DISTFILES = Makefile.in configure configure.in \ ! _Exit.c atoll.c dirent.c feclearexcept.c fegetenv.c \ ! fegetexceptflag.c fegetround.c feholdexcept.c feraiseexcept.c \ ! fesetenv.c fesetexceptflag.c fesetround.c fetestexcept.c \ ! feupdateenv.c fwide.c imaxabs.c imaxdiv.c lltoa.c lltow.c \ ! mbsinit.c mingw-fseek.c sitest.c snprintf.c snwprintf.c \ ! strtof.c strtoimax.c strtoumax.c testwmem.c ulltoa.c ulltow.c \ ! vsnprintf.c vsnwprintf.c wcstof.c wcstoimax.c wcstoumax.c \ ! wdirent.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c \ wtoll.c + MATH_DISTFILES = \ + acosf.c acosl.c asinf.c asinl.c atan2f.c atan2l.c \ + atanf.c atanl.c cbrt.c cbrtf.c cbrtl.c ceilf.S ceill.S cephes_mconf.h \ + copysign.S copysignf.S copysignl.S cosf.S coshf.c coshl.c cosl.S \ + exp2.S exp2f.S exp2l.S expf.c expl.c fabs.c fabsf.c fabsl.c \ + fdim.c fdimf.c fdiml.c floorf.S floorl.S fma.S fmaf.S fmal.c \ + fmax.c fmaxf.c fmaxl.c fmin.c fminf.c fminl.c fmodf.c \ + fmodl.c fp_consts.c fp_consts.h fp_constsf.c fp_constsl.c \ + fpclassify.c fpclassifyf.c fpclassifyl.c \ + frexpf.c frexpl.S fucom.c hypotf.c hypotl.c ilogb.S ilogbf.S \ + ilogbl.S isnan.c isnanf.c isnanl.c ldexpf.c ldexpl.c llrint.c \ + llrintf.c llrintl.c llround.c llroundf.c llroundl.c \ + log10f.S log10l.S log1p.S log1pf.S log1pl.S log2.S log2f.S \ + log2l.S logb.c logbf.c logbl.c logf.S logl.S lrint.c lrintf.c \ + lrintl.c lround.c lroundf.c lroundl.c modff.c modfl.c \ + nearbyint.S nearbyintf.S nearbyintl.S nextafterf.c powf.c powil.c \ + powl.c remainder.S remainderf.S remainderl.S remquo.S \ + remquof.S remquol.S rint.c rintf.c rintl.c round.c roundf.c \ + roundl.c scalbn.S scalbnf.S scalbnl.S signbit.c signbitf.c \ + signbitl.c sinf.S sinhf.c sinhl.c sinl.S sqrtf.c sqrtl.c \ + tanf.S tanhf.c tanhl.c tanl.S trunc.c truncf.c truncl.c CC = @CC@ *************** *** 112,116 **** AS_FOR_TARGET = $(AS) CFLAGS = @CFLAGS@ -Wall ! CXXFLAGS = @CXXFLAGS@ OPTFLAGS= -fomit-frame-pointer --- 63,67 ---- AS_FOR_TARGET = $(AS) CFLAGS = @CFLAGS@ -Wall ! CXXFLAGS = @CXXFLAGS@ OPTFLAGS= -fomit-frame-pointer *************** *** 151,170 **** snprintf.o vsnprintf.o snwprintf.o vsnwprintf.o MATH_OBJS = \ fpclassify.o fpclassifyf.o fpclassifyl.o \ ! fucom.o \ ! round.o roundf.o roundl.o \ ! rint.o rintf.o rintl.o \ ! signbit.o signbitf.o signbitl.o \ ! trunc.o truncf.o truncl.o \ ! isnan.o isnanf.o isnanl.o \ ! fp_consts.o \ ! fdim.o fdimf.o fdiml.o \ ! fmax.o fmaxf.o fmaxl.o \ ! fmin.o fminf.o fminl.o \ ! fma.o fmaf.o fmal.o \ ! log2.o log2f.o log2l.o \ ! copysignl.o ! MATH_STUB_OBJS = \ ! math_stubs.o FENV_OBJS = fesetround.o fegetround.o \ fegetenv.o fesetenv.o feupdateenv.o \ --- 102,125 ---- snprintf.o vsnprintf.o snwprintf.o vsnwprintf.o MATH_OBJS = \ + acosf.o acosl.o asinf.o asinl.o atan2f.o atan2l.o \ + atanf.o atanl.o cbrt.o cbrtf.o cbrtl.o ceilf.o ceill.o \ + copysign.o copysignf.o copysignl.o cosf.o coshf.o coshl.o cosl.o \ + exp2.o exp2f.o exp2l.o expf.o expl.o fabs.o fabsf.o fabsl.o \ + fdim.o fdimf.o fdiml.o floorf.o floorl.o fma.o fmaf.o fmal.o \ + fmax.o fmaxf.o fmaxl.o fmin.o fminf.o fminl.o fmodf.o \ + fmodl.o fp_consts.o fp_constsf.o fp_constsl.o \ fpclassify.o fpclassifyf.o fpclassifyl.o \ ! frexpf.o frexpl.o fucom.o hypotf.o hypotl.o ilogb.o ilogbf.o \ ! ilogbl.o isnan.o isnanf.o isnanl.o ldexpf.o ldexpl.o llrint.o \ ! llrintf.o llrintl.o llround.o llroundf.o llroundl.o \ ! log10f.o log10l.o log1p.o log1pf.o log1pl.o log2.o log2f.o \ ! log2l.o logb.o logbf.o logbl.o logf.o logl.o lrint.o lrintf.o \ ! lrintl.o lround.o lroundf.o lroundl.o modff.o modfl.o \ ! nearbyint.o nearbyintf.o nearbyintl.o nextafterf.o powf.o powil.o \ ! powl.o remainder.o remainderf.o remainderl.o remquo.o \ ! remquof.o remquol.o rint.o rintf.o rintl.o round.o roundf.o \ ! roundl.o scalbn.o scalbnf.o scalbnl.o signbit.o signbitf.o \ ! signbitl.o sinf.o sinhf.o sinhl.o sinl.o sqrtf.o sqrtl.o \ ! tanf.o tanhf.o tanhl.o tanl.o trunc.o truncf.o truncl.o FENV_OBJS = fesetround.o fegetround.o \ fegetenv.o fesetenv.o feupdateenv.o \ *************** *** 177,181 **** LIB_OBJS = $(Q8_OBJS) $(STDLIB_STUB_OBJS) $(STDIO_STUB_OBJS) \ ! $(MATH_OBJS) $(MATH_STUB_OBJS) $(FENV_OBJS) $(POSIX_OBJS) \ $(REPLACE_OBJS) --- 132,136 ---- LIB_OBJS = $(Q8_OBJS) $(STDLIB_STUB_OBJS) $(STDIO_STUB_OBJS) \ ! $(MATH_OBJS) $(FENV_OBJS) $(POSIX_OBJS) \ $(REPLACE_OBJS) *************** *** 186,189 **** --- 141,145 ---- $(LIBMINGWEX_A): $(LIB_OBJS) + rm -f $(LIBMINGWEX_A) $(AR) $(ARFLAGS) $@ $(LIB_OBJS) $(RANLIB) $@ *************** *** 235,236 **** --- 191,198 ---- cp -p $(srcdir)/$$i $(distdir)/mingwex/$$i ; \ done + mkdir $(distdir)/mingwex/math + chmod 755 $(distdir)//mingwex/math + @for i in $(MATH_DISTFILES); do\ + cp -p $(srcdir)/math/$$i $(distdir)/mingwex/math/$$i ; \ + done + |
|
From: <ea...@us...> - 2002-08-12 13:07:08
|
Update of /cvsroot/mingw/runtime In directory usw-pr-cvs1:/tmp/cvs-serv17417 Modified Files: ChangeLog moldname-crtdll.def moldname-msvcrt.def moldname.def.in Log Message: Merge winsup changes Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/runtime/ChangeLog,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** ChangeLog 15 Jun 2002 16:01:35 -0000 1.31 --- ChangeLog 12 Aug 2002 13:06:34 -0000 1.32 *************** *** 1,2 **** --- 1,197 ---- + 2002-08-03 Danny Smith <dan...@us...> + + * include/stdio.h (_fcloseall): Add prototype. + + 2002-07-29 Danny Smith <dan...@us...> + + * include/tchar.h (_tfdopen): Correct typo. + + 2002-07-29 Danny Smith <dan...@us...> + + * moldname.def.in (chgsign,scalb,finite,fpclass,logb, + nextafter): Add non-underscored stubs. + * moldname-msvcrt.def: Regenerate. + * moldname-crtdll.def: Regenerate. + * mingwex/math: New directory. + * mingwex/rint.c: Move to mingwex/math. + * mingwex/rintf.c: Ditto. + * mingwex/rintl.c: Ditto. + * mingwex/round.c: Ditto. + * mingwex/roundf.c: Ditto. + * mingwex/roundl.c: Ditto. + * mingwex/rint.c: Ditto. + * mingwex/rintf.c: Ditto. + * mingwex/rintl.c: Ditto. + * mingwex/trunc.c: Ditto. + * mingwex/truncf.c: Ditto. + * mingwex/truncl.c: Ditto. + * mingwex/signbit.c: Ditto. + * mingwex/signbitf.c: Ditto. + * mingwex/signbitl.c: Ditto. + * mingwex/copysignl.S: Ditto. + * mingwex/fdim.c: Ditto. + * mingwex/fdimf.c: Ditto. + * mingwex/fdiml.c: Ditto. + * mingwex/fmin.c: Ditto. + * mingwex/fminf.c: Ditto. + * mingwex/fminl.c: Ditto. + * mingwex/fmax.c: Ditto. + * mingwex/fmaxf.c: Ditto. + * mingwex/fmaxl.c: Ditto. + * mingwex/fma.c: Ditto. + * mingwex/fmaf.c: Ditto. + * mingwex/fmal.c: Ditto. + * mingwex/fpclassify.c: Ditto. + * mingwex/fpclassifyl.c: Ditto. + * mingwex/fpclassifyl.c: Ditto. + * mingwex/isnan.c: Ditto. + * mingwex/isnanf.c: Ditto. + * mingwex/isnanl.c: Ditto. + * mingwex/fucom.c: Ditto. + * mingwex/fp_consts.c: Ditto. Split out float and long double + definitions. + * mingwex/math_stubs.c: Remove. + * mingwex/log2.c: Remove. Replaced by math/log2.S + * mingwex/log2f.c: Remove. Replaced by math/log2f.S + * mingwex/log2l.c: Remove. Replaced by math/log2l.S + * mingwex/math/acosf.c : New file. + * mingwex/math/acosl.c: New file. + * mingwex/math/asinf.c: New file. + * mingwex/math/asinl.c: New file. + * mingwex/math/atan2f.c: New file. + * mingwex/math/atan2l.c: New file. + * mingwex/math/atanf.c: New file. + * mingwex/math/atanl.c: New file. + * mingwex/math/cbrt.c: New file. + * mingwex/math/cbrtf.c: New file. + * mingwex/math/cbrtl.c: New file. + * mingwex/math/ceilf.S: New file. + * mingwex/math/ceill.S: New file. + * mingwex/math/cephes_ld.h: New file. + * mingwex/math/copysign.S: New file. + * mingwex/math/copysignf.S: New file. + * mingwex/math/cosf.S: New file. + * mingwex/math/coshf.c: New file. + * mingwex/math/coshl.c: New file. + * mingwex/math/cosl.S: New file. + * mingwex/math/exp2.S: New file. + * mingwex/math/exp2f.S: New file. + * mingwex/math/exp2l.S: New file. + * mingwex/math/expf.c: New file. + * mingwex/math/expl.c: New file. + * mingwex/math/fabs.c: New file. + * mingwex/math/fabsf.c: New file. + * mingwex/math/fabsl.c: New file. + * mingwex/math/floorf.S: New file. + * mingwex/math/floorl.S: New file. + * mingwex/math/fmodf.c: New file. + * mingwex/math/fmodl.c: New file. + * mingwex/math/fp_consts.h: Ditto. + * mingwex/math/fp_constsf.c: Ditto. + * mingwex/math/fp_constsl.c: Ditto. + * mingwex/math/frexpf.c: New file. + * mingwex/math/frexpl.S: New file. + * mingwex/math/hypotf.c: New file. + * mingwex/math/hypotl.c: New file. + * mingwex/math/ilogb.S: New file. + * mingwex/math/ilogbf.S: New file. + * mingwex/math/ilogbl.S: New file. + * mingwex/math/ldexpf.c: New file. + * mingwex/math/ldexpl.c: New file. + * mingwex/math/llrint.c: New file. + * mingwex/math/llrintf.c: New file. + * mingwex/math/llrintl.c: New file. + * mingwex/math/llround.c: New file. + * mingwex/math/llroundf.c: New file. + * mingwex/math/llroundl.c: New file. + * mingwex/math/log10f.S: New file. + * mingwex/math/log10l.S: New file. + * mingwex/math/log1p.S: New file. + * mingwex/math/log1pf.S: New file. + * mingwex/math/log1pl.S: New file. + * mingwex/math/log2.S: New file. + * mingwex/math/log2f.S: New file. + * mingwex/math/log2l.S: New file. + * mingwex/math/logb.c: New file. + * mingwex/math/logbf.c: New file. + * mingwex/math/logbl.c: New file. + * mingwex/math/logf.S: New file. + * mingwex/math/logl.S: New file. + * mingwex/math/lrint.c: New file. + * mingwex/math/lrintf.c: New file. + * mingwex/math/lrintl.c: New file. + * mingwex/math/lround.c: New file. + * mingwex/math/lroundf.c: New file. + * mingwex/math/lroundl.c: New file. + * mingwex/math/modff.c: New file. + * mingwex/math/modfl.c: New file. + * mingwex/math/nearbyint.S: New file. + * mingwex/math/nearbyintf.S: New file. + * mingwex/math/nearbyintl.S: New file. + * mingwex/math/nextafterf.c: New file. + * mingwex/math/powf.c: New file. + * mingwex/math/powl.c: New file. + * mingwex/math/powil.c: New file. + * mingwex/math/remainder.S: New file. + * mingwex/math/remainderf.S: New file. + * mingwex/math/remainderl.S: New file. + * mingwex/math/remquo.S: New file. + * mingwex/math/remquof.S: New file. + * mingwex/math/remquol.S: New file. + * mingwex/math/scalbn.S: New file. + * mingwex/math/scalbnf.S: New file. + * mingwex/math/scalbnl.S: New file. + * mingwex/math/sinf.S: New file. + * mingwex/math/sinhf.c: New file. + * mingwex/math/sinhl.c: New file. + * mingwex/math/sinl.S: New file. + * mingwex/math/sqrt.c: New file. + * mingwex/math/sqrtf.c: New file. + * mingwex/math/sqrtl.c: New file. + * mingwex/math/tanf.S: New file. + * mingwex/math/tanhf.c: New file. + * mingwex/math/tanhl.c: New file. + * mingwex/math/tanl.S: New file. + * mingwex/Makefile.in: Adjust VPATH for source files in + mingwex/math. + Adjust MATH_OBJS. + Add MATH_DISTFILES and use it to build source distro. + * include/ math.h: Add protypes for new functions and + reorganise to reflect ANSI,C99 status. + + 2002-06-19 Danny Smith <dan...@us...> + + * include/tchar.h (_getts): Define as _getws for _UNICODE. + (_putts): Define as _putws for _UNICODE. + Thanks to: Tomasz Pona <coc...@po...> for report. + + 2002-06-18 Danny Smith <dan...@us...> + + * include/float.h: #include_next<float.h> before header guard. + + 2002-06-18 Casper S. Hornstrup <ch...@us...> + + * include/_mingw.h (__MINGW_IMPORT): Check for prior definition before + defining. + * include/excpt.h (): Include windef.h not windows.h. + * include/fcntl.h (_O_SHORT_LIVED): Add define. + (_chmod): Add prototype. + (_creat): Correct prototype. + (SH_DENY*): Rename defines to _SH_DENY*. + (SH_DENY*): Add Non-ANSI names for _SH_DENY*. + include/stdio.h (_IOMYBUF, _IOEOF, _IOERR, _IOSTRG, + _IOAPPEND): Add defines. + (_wfindfirst): Correct prototype. + (_wfdopen): Add prototype. + * include/stdlib.h (_rotl, _rotr, _lrotl, _lrotr): Add + prototypes. + * include/string.h (_mbschr, _mbstok, _mbsncat): Remove + prototypes. + (_wcsdup): Correct prototype. + * include/mbstring.h: Remove comments about _mbschr, _mbstok, + _mbsncat being in string.h. + * include/wchar.h (_wfindfirst): Correct prototype. + * include/tchar.h (_tfdopen): Add _UNICODE mappings. + 2002-06-15 Earnie Boyd <ea...@us...> Index: moldname-crtdll.def =================================================================== RCS file: /cvsroot/mingw/runtime/moldname-crtdll.def,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** moldname-crtdll.def 14 Jun 2002 15:12:54 -0000 1.3 --- moldname-crtdll.def 12 Aug 2002 13:06:35 -0000 1.4 *************** *** 27,31 **** access beep - cabs chdir chmod --- 27,30 ---- *************** *** 68,77 **** getw heapwalk - hypot isatty itoa - j0 - j1 - jn kbhit lseek --- 67,72 ---- *************** *** 139,143 **** --- 134,151 ---- write + ; non-ANSI functions declared in math.h + j0 + j1 + jn y0 y1 yn + chgsign + scalb + finite + fpclass + ; C99 functions + cabs + hypot + logb + nextafter Index: moldname-msvcrt.def =================================================================== RCS file: /cvsroot/mingw/runtime/moldname-msvcrt.def,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** moldname-msvcrt.def 14 Jun 2002 15:12:54 -0000 1.3 --- moldname-msvcrt.def 12 Aug 2002 13:06:35 -0000 1.4 *************** *** 27,31 **** access beep - cabs chdir chmod --- 27,30 ---- *************** *** 68,77 **** getw heapwalk - hypot isatty itoa - j0 - j1 - jn kbhit lseek --- 67,72 ---- *************** *** 139,143 **** --- 134,151 ---- write + ; non-ANSI functions declared in math.h + j0 + j1 + jn y0 y1 yn + chgsign + scalb + finite + fpclass + ; C99 functions + cabs + hypot + logb + nextafter Index: moldname.def.in =================================================================== RCS file: /cvsroot/mingw/runtime/moldname.def.in,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** moldname.def.in 14 Jun 2002 15:12:54 -0000 1.3 --- moldname.def.in 12 Aug 2002 13:06:35 -0000 1.4 *************** *** 27,31 **** access beep - cabs chdir chmod --- 27,30 ---- *************** *** 68,77 **** getw heapwalk - hypot isatty itoa - j0 - j1 - jn kbhit lseek --- 67,72 ---- *************** *** 139,143 **** --- 134,151 ---- #endif write + ; non-ANSI functions declared in math.h + j0 + j1 + jn y0 y1 yn + chgsign + scalb + finite + fpclass + ; C99 functions + cabs + hypot + logb + nextafter |
Update of /cvsroot/mingw/runtime/mingwex/math
In directory usw-pr-cvs1:/tmp/cvs-serv17417/mingwex/math
Added Files:
acosf.c acosl.c asinf.c asinl.c atan2f.c atan2l.c atanf.c
atanl.c cbrt.c cbrtf.c cbrtl.c ceilf.S ceill.S cephes_mconf.h
copysign.S copysignf.S copysignl.S cosf.S coshf.c coshl.c
cosl.S exp2.S exp2f.S exp2l.S expf.c expl.c fabs.c fabsf.c
fabsl.c fdim.c fdimf.c fdiml.c files.txt floorf.S floorl.S
fma.S fmaf.S fmal.c fmax.c fmaxf.c fmaxl.c fmin.c fminf.c
fminl.c fmodf.c fmodl.c fp_consts.c fp_consts.h fp_constsf.c
fp_constsl.c fpclassify.c fpclassifyf.c fpclassifyl.c frexpf.c
frexpl.S fucom.c hypotf.c hypotl.c ilogb.S ilogbf.S ilogbl.S
isnan.c isnanf.c isnanl.c ldexpf.c ldexpl.c llrint.c llrintf.c
llrintl.c llround.c llroundf.c llroundl.c log10f.S log10l.S
log1p.S log1pf.S log1pl.S log2.S log2f.S log2l.S logb.c
logbf.c logbl.c logf.S logl.S lrint.c lrintf.c lrintl.c
lround.c lroundf.c lroundl.c modff.c modfl.c nearbyint.S
nearbyintf.S nearbyintl.S nextafterf.c powf.c powil.c powl.c
remainder.S remainderf.S remainderl.S remquo.S remquof.S
remquol.S rint.c rintf.c rintl.c round.c roundf.c roundl.c
scalbn.S scalbnf.S scalbnl.S signbit.c signbitf.c signbitl.c
sinf.S sinhf.c sinhl.c sinl.S sqrtf.c sqrtl.c tanf.S tanhf.c
tanhl.c tanl.S trunc.c truncf.c truncl.c
Log Message:
Merge winsup changes
--- NEW FILE: acosf.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
#include <math.h>
float
acosf (float x)
{
float res;
/* acosl = atanl (sqrtl(1 - x^2) / x) */
asm ( "fld %%st\n\t"
"fmul %%st(0)\n\t" /* x^2 */
"fld1\n\t"
"fsubp\n\t" /* 1 - x^2 */
"fsqrt\n\t" /* sqrtl (1 - x^2) */
"fxch %%st(1)\n\t"
"fpatan"
: "=t" (res) : "0" (x) : "st(1)");
return res;
}
--- NEW FILE: acosl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*/
#include <math.h>
long double
acosl (long double x)
{
long double res;
/* acosl = atanl (sqrtl(1 - x^2) / x) */
asm ( "fld %%st\n\t"
"fmul %%st(0)\n\t" /* x^2 */
"fld1\n\t"
"fsubp\n\t" /* 1 - x^2 */
"fsqrt\n\t" /* sqrtl (1 - x^2) */
"fxch %%st(1)\n\t"
"fpatan"
: "=t" (res) : "0" (x) : "st(1)");
return res;
}
--- NEW FILE: asinf.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
/* asin = atan (x / sqrt(1 - x^2)) */
float asinf (float x)
{
float res;
asm ( "fld %%st\n\t"
"fmul %%st(0)\n\t" /* x^2 */
"fld1\n\t"
"fsubp\n\t" /* 1 - x^2 */
"fsqrt\n\t" /* sqrt (1 - x^2) */
"fpatan"
: "=t" (res) : "0" (x) : "st(1)");
return res;
}
--- NEW FILE: asinl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Adapted for long double type by Danny Smith <dan...@us...>.
*/
/* asin = atan (x / sqrt(1 - x^2)) */
long double asinl (long double x)
{
long double res;
asm ( "fld %%st\n\t"
"fmul %%st(0)\n\t" /* x^2 */
"fld1\n\t"
"fsubp\n\t" /* 1 - x^2 */
"fsqrt\n\t" /* sqrt (1 - x^2) */
"fpatan"
: "=t" (res) : "0" (x) : "st(1)");
return res;
}
--- NEW FILE: atan2f.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
*/
#include <math.h>
float
atan2f (float y, float x)
{
float res;
asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)");
return res;
}
--- NEW FILE: atan2l.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*/
#include <math.h>
long double
atan2l (long double y, long double x)
{
long double res;
asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)");
return res;
}
--- NEW FILE: atanf.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
*/
#include <math.h>
float
atanf (float x)
{
float res;
asm ("fld1\n\t"
"fpatan" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: atanl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*/
#include <math.h>
long double
atanl (long double x)
{
long double res;
asm ("fld1\n\t"
"fpatan"
: "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: cbrt.c ---
/* cbrt.c
*
* Cube root
*
*
*
* SYNOPSIS:
*
* double x, y, cbrt();
*
* y = cbrt( x );
*
*
*
* DESCRIPTION:
*
* Returns the cube root of the argument, which may be negative.
*
* Range reduction involves determining the power of 2 of
* the argument. A polynomial of degree 2 applied to the
* mantissa, and multiplication by the cube root of 1, 2, or 4
* approximates the root to within about 0.1%. Then Newton's
* iteration is used three times to converge to an accurate
* result.
*
*
*
* ACCURACY:
*
* Relative error:
* arithmetic domain # trials peak rms
* DEC -10,10 200000 1.8e-17 6.2e-18
* IEEE 0,1e308 30000 1.5e-16 5.0e-17
*
*/
/* cbrt.c */
/*
Cephes Math Library Release 2.2: January, 1991
Copyright 1984, 1991 by Stephen L. Moshier
Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
/*
Modified for mingwex.a
2002-07-01 Danny Smith <dan...@us...>
*/
#ifdef __MINGW32__
#include <math.h>
#include "cephes_mconf.h"
#else
#include "mconf.h"
#endif
static const double CBRT2 = 1.2599210498948731647672;
static const double CBRT4 = 1.5874010519681994747517;
static const double CBRT2I = 0.79370052598409973737585;
static const double CBRT4I = 0.62996052494743658238361;
#ifndef __MINGW32__
#ifdef ANSIPROT
extern double frexp ( double, int * );
extern double ldexp ( double, int );
extern int isnan ( double );
extern int isfinite ( double );
#else
double frexp(), ldexp();
int isnan(), isfinite();
#endif
#endif
double cbrt(x)
double x;
{
int e, rem, sign;
double z;
#ifdef __MINGW32__
if (!isfinite (x) || x == 0 )
return x;
#else
#ifdef NANS
if( isnan(x) )
return x;
#endif
#ifdef INFINITIES
if( !isfinite(x) )
return x;
#endif
if( x == 0 )
return( x );
#endif /* __MINGW32__ */
if( x > 0 )
sign = 1;
else
{
sign = -1;
x = -x;
}
z = x;
/* extract power of 2, leaving
* mantissa between 0.5 and 1
*/
x = frexp( x, &e );
/* Approximate cube root of number between .5 and 1,
* peak relative error = 9.2e-6
*/
x = (((-1.3466110473359520655053e-1 * x
+ 5.4664601366395524503440e-1) * x
- 9.5438224771509446525043e-1) * x
+ 1.1399983354717293273738e0 ) * x
+ 4.0238979564544752126924e-1;
/* exponent divided by 3 */
if( e >= 0 )
{
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x *= CBRT2;
else if( rem == 2 )
x *= CBRT4;
}
/* argument less than 1 */
else
{
e = -e;
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x *= CBRT2I;
else if( rem == 2 )
x *= CBRT4I;
e = -e;
}
/* multiply by power of 2 */
x = ldexp( x, e );
/* Newton iteration */
x -= ( x - (z/(x*x)) )*0.33333333333333333333;
#ifdef DEC
x -= ( x - (z/(x*x)) )/3.0;
#else
x -= ( x - (z/(x*x)) )*0.33333333333333333333;
#endif
if( sign < 0 )
x = -x;
return(x);
}
--- NEW FILE: cbrtf.c ---
/* cbrtf.c
*
* Cube root
*
*
*
* SYNOPSIS:
*
* float x, y, cbrtf();
*
* y = cbrtf( x );
*
*
*
* DESCRIPTION:
*
* Returns the cube root of the argument, which may be negative.
*
* Range reduction involves determining the power of 2 of
* the argument. A polynomial of degree 2 applied to the
* mantissa, and multiplication by the cube root of 1, 2, or 4
* approximates the root to within about 0.1%. Then Newton's
* iteration is used to converge to an accurate result.
*
*
*
* ACCURACY:
*
* Relative error:
* arithmetic domain # trials peak rms
* IEEE 0,1e38 100000 7.6e-8 2.7e-8
*
*/
/* cbrt.c */
/*
Cephes Math Library Release 2.2: June, 1992
Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier
Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
/*
Modified for mingwex.a
2002-07-01 Danny Smith <dan...@us...>
*/
#ifdef __MINGW32__
#include <math.h>
#include "cephes_mconf.h"
#else
#include "mconf.h"
#endif
static const float CBRT2 = 1.25992104989487316477;
static const float CBRT4 = 1.58740105196819947475;
#ifndef __MINGW32__
#ifdef ANSIC
float frexpf(float, int *), ldexpf(float, int);
float cbrtf( float xx )
#else
float frexpf(), ldexpf();
float cbrtf(xx)
double xx;
#endif
{
int e, rem, sign;
float x, z;
x = xx;
#else /* __MINGW32__ */
float cbrtf (float x)
{
int e, rem, sign;
float z;
#endif /* __MINGW32__ */
#ifdef __MINGW32__
if (!isfinite (x) || x == 0.0F )
return x;
#else
if( x == 0 )
return( 0.0 );
#endif
if( x > 0 )
sign = 1;
else
{
sign = -1;
x = -x;
}
z = x;
/* extract power of 2, leaving
* mantissa between 0.5 and 1
*/
x = frexpf( x, &e );
/* Approximate cube root of number between .5 and 1,
* peak relative error = 9.2e-6
*/
x = (((-0.13466110473359520655053 * x
+ 0.54664601366395524503440 ) * x
- 0.95438224771509446525043 ) * x
+ 1.1399983354717293273738 ) * x
+ 0.40238979564544752126924;
/* exponent divided by 3 */
if( e >= 0 )
{
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x *= CBRT2;
else if( rem == 2 )
x *= CBRT4;
}
/* argument less than 1 */
else
{
e = -e;
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x /= CBRT2;
else if( rem == 2 )
x /= CBRT4;
e = -e;
}
/* multiply by power of 2 */
x = ldexpf( x, e );
/* Newton iteration */
x -= ( x - (z/(x*x)) ) * 0.333333333333;
if( sign < 0 )
x = -x;
return(x);
}
--- NEW FILE: cbrtl.c ---
/* cbrtl.c
*
* Cube root, long double precision
*
*
*
* SYNOPSIS:
*
* long double x, y, cbrtl();
*
* y = cbrtl( x );
*
*
*
* DESCRIPTION:
*
* Returns the cube root of the argument, which may be negative.
*
* Range reduction involves determining the power of 2 of
* the argument. A polynomial of degree 2 applied to the
* mantissa, and multiplication by the cube root of 1, 2, or 4
* approximates the root to within about 0.1%. Then Newton's
* iteration is used three times to converge to an accurate
* result.
*
*
*
* ACCURACY:
*
* Relative error:
* arithmetic domain # trials peak rms
* IEEE .125,8 80000 7.0e-20 2.2e-20
* IEEE exp(+-707) 100000 7.0e-20 2.4e-20
*
*/
/*
Cephes Math Library Release 2.2: January, 1991
Copyright 1984, 1991 by Stephen L. Moshier
Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
/*
Modified for mingwex.a
2002-07-01 Danny Smith <dan...@us...>
*/
#ifdef __MINGW32__
#include "cephes_mconf.h"
#else
#include "mconf.h"
#endif
static const long double CBRT2 = 1.2599210498948731647672L;
static const long double CBRT4 = 1.5874010519681994747517L;
static const long double CBRT2I = 0.79370052598409973737585L;
static const long double CBRT4I = 0.62996052494743658238361L;
#ifndef __MINGW32__
#ifdef ANSIPROT
extern long double frexpl ( long double, int * );
extern long double ldexpl ( long double, int );
extern int isnanl ( long double );
#else
long double frexpl(), ldexpl();
extern int isnanl();
#endif
#ifdef INFINITIES
extern long double INFINITYL;
#endif
#endif /* __MINGW32__ */
long double cbrtl(x)
long double x;
{
int e, rem, sign;
long double z;
#ifdef __MINGW32__
if (!isfinite (x) || x == 0.0L)
return(x);
#else
#ifdef NANS
if(isnanl(x))
return(x);
#endif
#ifdef INFINITIES
if( x == INFINITYL)
return(x);
if( x == -INFINITYL)
return(x);
#endif
if( x == 0 )
return( x );
#endif /* __MINGW32__ */
if( x > 0 )
sign = 1;
else
{
sign = -1;
x = -x;
}
z = x;
/* extract power of 2, leaving
* mantissa between 0.5 and 1
*/
x = frexpl( x, &e );
/* Approximate cube root of number between .5 and 1,
* peak relative error = 1.2e-6
*/
x = (((( 1.3584464340920900529734e-1L * x
- 6.3986917220457538402318e-1L) * x
+ 1.2875551670318751538055e0L) * x
- 1.4897083391357284957891e0L) * x
+ 1.3304961236013647092521e0L) * x
+ 3.7568280825958912391243e-1L;
/* exponent divided by 3 */
if( e >= 0 )
{
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x *= CBRT2;
else if( rem == 2 )
x *= CBRT4;
}
else
{ /* argument less than 1 */
e = -e;
rem = e;
e /= 3;
rem -= 3*e;
if( rem == 1 )
x *= CBRT2I;
else if( rem == 2 )
x *= CBRT4I;
e = -e;
}
/* multiply by power of 2 */
x = ldexpl( x, e );
/* Newton iteration */
x -= ( x - (z/(x*x)) )*0.3333333333333333333333L;
x -= ( x - (z/(x*x)) )*0.3333333333333333333333L;
if( sign < 0 )
x = -x;
return(x);
}
--- NEW FILE: ceilf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
.file "ceilf.S"
.text
.align 4
.globl _ceilf
.def _ceilf; .scl 2; .type 32; .endef
_ceilf:
flds 4(%esp)
subl $8,%esp
fstcw 4(%esp) /* store fpu control word */
/* We use here %edx although only the low 1 bits are defined.
But none of the operations should care and they are faster
than the 16 bit operations. */
movl $0x0800,%edx /* round towards +oo */
orl 4(%esp),%edx
andl $0xfbff,%edx
movl %edx,(%esp)
fldcw (%esp) /* load modified control word */
frndint /* round */
fldcw 4(%esp) /* restore original control word */
addl $8,%esp
ret
--- NEW FILE: ceill.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Changes for long double by Ulrich Drepper <dr...@cy...>
*/
.file "ceill.S"
.text
.align 4
.globl _ceill
.def _ceill; .scl 2; .type 32; .endef
_ceill:
fldt 4(%esp)
subl $8,%esp
fstcw 4(%esp) /* store fpu control word */
/* We use here %edx although only the low 1 bits are defined.
But none of the operations should care and they are faster
than the 16 bit operations. */
movl $0x0800,%edx /* round towards +oo */
orl 4(%esp),%edx
andl $0xfbff,%edx
movl %edx,(%esp)
fldcw (%esp) /* load modified control word */
frndint /* round */
fldcw 4(%esp) /* restore original control word */
addl $8,%esp
ret
--- NEW FILE: cephes_mconf.h ---
#include <math.h>
#include <errno.h>
/* constants used by cephes functions */
#define MAXNUML 1.189731495357231765021263853E4932L
#define MAXLOGL 1.1356523406294143949492E4L
#define MINLOGL -1.13994985314888605586758E4L
#define LOGE2L 6.9314718055994530941723E-1L
#define LOG2EL 1.4426950408889634073599E0L
#define PIL 3.1415926535897932384626L
#define PIO2L 1.5707963267948966192313L
#define PIO4L 7.8539816339744830961566E-1L
#define isfinitel isfinite
#define isinfl isinf
#define isnanl isnan
#define signbitl signbit
#define IBMPC 1
#define ANSIPROT 1
#define MINUSZERO 1
#define INFINITIES 1
#define NANS 1
#define DENORMAL 1
#define NEGZEROL (-0.0L)
extern long double __INFL;
#define INFINITYL (__INFL)
extern long double __QNANL;
#define NANL (__QNANL)
#define VOLATILE
#define mtherr(fname, code)
#define XPD 0,
#ifdef _CEPHES_USE_ERRNO
#define _SET_ERRNO(x) errno = (x)
#else
#define _SET_ERRNO(x)
#endif
/*
Cephes Math Library Release 2.2: July, 1992
Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier
Direct inquiries to 30 Frost Street, Cambridge, MA 02140
*/
/* polevll.c
* p1evll.c
*
* Evaluate polynomial
*
*
*
* SYNOPSIS:
*
* int N;
* long double x, y, coef[N+1], polevl[];
*
* y = polevll( x, coef, N );
*
*
*
* DESCRIPTION:
*
* Evaluates polynomial of degree N:
*
* 2 N
* y = C + C x + C x +...+ C x
* 0 1 2 N
*
* Coefficients are stored in reverse order:
*
* coef[0] = C , ..., coef[N] = C .
* N 0
*
* The function p1evll() assumes that coef[N] = 1.0 and is
* omitted from the array. Its calling arguments are
* otherwise the same as polevll().
*
*
* SPEED:
*
* In the interest of speed, there are no checks for out
* of bounds arithmetic. This routine is used by most of
* the functions in the library. Depending on available
* equipment features, the user may wish to rewrite the
* program in microcode or assembly language.
*
*/
/* Polynomial evaluator:
* P[0] x^n + P[1] x^(n-1) + ... + P[n]
*/
static __inline__ long double polevll( x, p, n )
long double x;
const void *p;
int n;
{
register long double y;
register long double *P = (long double *)p;
y = *P++;
do
{
y = y * x + *P++;
}
while( --n );
return(y);
}
/* Polynomial evaluator:
* x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n]
*/
static __inline__ long double p1evll( x, p, n )
long double x;
const void *p;
int n;
{
register long double y;
register long double *P = (long double *)p;
n -= 1;
y = x + *P++;
do
{
y = y * x + *P++;
}
while( --n );
return( y );
}
--- NEW FILE: copysign.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
.file "copysign.S"
.text
.align 4
.globl _copysign
.def _copysign; .scl 2; .type 32; .endef
_copysign:
movl 16(%esp),%edx
movl 8(%esp),%eax
andl $0x80000000,%edx
andl $0x7fffffff,%eax
orl %edx,%eax
movl %eax,8(%esp)
fldl 4(%esp)
ret
--- NEW FILE: copysignf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
.file "copysignf.S"
.text
.align 4
.globl _copysignf
.def _copysignf; .scl 2; .type 32; .endef
_copysignf:
movl 8(%esp),%edx
movl 4(%esp),%eax
andl $0x80000000,%edx
andl $0x7fffffff,%eax
orl %edx,%eax
movl %eax,4(%esp)
flds 4(%esp)
ret
--- NEW FILE: copysignl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Changes for long double by Ulrich Drepper <dr...@cy...>
* Public domain.
*/
.file "copysignl.S"
.text
.align 4
.globl _copysignl
.def _copysignl; .scl 2; .type 32; .endef
_copysignl:
movl 24(%esp),%edx
movl 12(%esp),%eax
andl $0x8000,%edx
andl $0x7fff,%eax
orl %edx,%eax
movl %eax,12(%esp)
fldt 4(%esp)
ret
--- NEW FILE: cosf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Removed glibc header dependancy by Danny Smith
* <dan...@us...>
*/
.file "cosf.S"
.text
.align 4
.globl _cosl
.def _cosf; .scl 2; .type 32; .endef
_cosf:
flds 4(%esp)
fcos
fnstsw %ax
testl $0x400,%eax
jnz 1f
ret
1: fldpi
fadd %st(0)
fxch %st(1)
2: fprem1
fnstsw %ax
testl $0x400,%eax
jnz 2b
fstp %st(1)
fcos
ret
--- NEW FILE: coshf.c ---
#include <math.h>
float coshf (float x)
{return (float) cosh (x);}
--- NEW FILE: coshl.c ---
/* coshl.c
*
* Hyperbolic cosine, long double precision
*
*
*
* SYNOPSIS:
*
* long double x, y, coshl();
*
* y = coshl( x );
*
*
*
* DESCRIPTION:
*
* Returns hyperbolic cosine of argument in the range MINLOGL to
* MAXLOGL.
*
* cosh(x) = ( exp(x) + exp(-x) )/2.
*
*
*
* ACCURACY:
*
* Relative error:
* arithmetic domain # trials peak rms
* IEEE +-10000 30000 1.1e-19 2.8e-20
*
*
* ERROR MESSAGES:
*
* message condition value returned
* cosh overflow |x| > MAXLOGL+LOGE2L INFINITYL
*
*
*/
/*
Cephes Math Library Release 2.7: May, 1998
Copyright 1985, 1991, 1998 by Stephen L. Moshier
*/
/*
Modified for mingw
2002-07-22 Danny Smith <dan...@us...>
*/
#ifdef __MINGW32__
#include "cephes_mconf.h"
#else
#include "mconf.h"
#endif
#ifndef _SET_ERRNO
#define _SET_ERRNO(x)
#endif
#ifndef __MINGW32__
extern long double MAXLOGL, MAXNUML, LOGE2L;
#ifdef ANSIPROT
extern long double expl ( long double );
extern int isnanl ( long double );
#else
long double expl(), isnanl();
#endif
#ifdef INFINITIES
extern long double INFINITYL;
#endif
#ifdef NANS
extern long double NANL;
#endif
#endif /* __MINGW32__ */
long double coshl(x)
long double x;
{
long double y;
#ifdef NANS
if( isnanl(x) )
{
_SET_ERRNO(EDOM);
return(x);
}
#endif
if( x < 0 )
x = -x;
if( x > (MAXLOGL + LOGE2L) )
{
mtherr( "coshl", OVERFLOW );
_SET_ERRNO(ERANGE);
#ifdef INFINITIES
return( INFINITYL );
#else
return( MAXNUML );
#endif
}
if( x >= (MAXLOGL - LOGE2L) )
{
y = expl(0.5L * x);
y = (0.5L * y) * y;
return(y);
}
y = expl(x);
y = 0.5L * (y + 1.0L / y);
return( y );
}
--- NEW FILE: cosl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
* Removed glibc header dependancy by Danny Smith
* <dan...@us...>
*/
.file "cosl.S"
.text
.align 4
.globl _cosl
.def _cosl; .scl 2; .type 32; .endef
_cosl:
fldt 4(%esp)
fcos
fnstsw %ax
testl $0x400,%eax
jnz 1f
ret
1: fldpi
fadd %st(0)
fxch %st(1)
2: fprem1
fnstsw %ax
testl $0x400,%eax
jnz 2b
fstp %st(1)
fcos
ret
--- NEW FILE: exp2.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for exp2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*/
.file "exp2.S"
.text
.align 4
.globl _exp2
.def _exp2; .scl 2; .type 32; .endef
_exp2:
fldl 4(%esp)
/* I added the following ugly construct because exp(+-Inf) resulted
in NaN. The ugliness results from the bright minds at Intel.
For the i686 the code can be written better.
-- dr...@cy.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fld %st
frndint /* int(x) */
fsubr %st,%st(1) /* fract(x) */
fxch
f2xm1 /* 2^(fract(x)) - 1 */
fld1
faddp /* 2^(fract(x)) */
fscale /* e^x */
fstp %st(1)
ret
1: testl $0x200, %eax /* Test sign. */
jz 2f /* If positive, jump. */
fstp %st
fldz /* Set result to 0. */
2: ret
--- NEW FILE: exp2f.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for exp2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*/
.file "exp2f.S"
.text
.align 4
.globl _exp2f
.def _exp2f; .scl 2; .type 32; .endef
_exp2f:
flds 4(%esp)
/* I added the following ugly construct because exp(+-Inf) resulted
in NaN. The ugliness results from the bright minds at Intel.
For the i686 the code can be written better.
-- dr...@cy.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fld %st
frndint /* int(x) */
fsubr %st,%st(1) /* fract(x) */
fxch
f2xm1 /* 2^(fract(x)) - 1 */
fld1
faddp /* 2^(fract(x)) */
fscale /* e^x */
fstp %st(1)
ret
1: testl $0x200, %eax /* Test sign. */
jz 2f /* If positive, jump. */
fstp %st
fldz /* Set result to 0. */
2: ret
--- NEW FILE: exp2l.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for exp2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*/
.file "exp2l.S"
.text
.align 4
.globl _exp2l
.def _exp2l; .scl 2; .type 32; .endef
_exp2l:
fldt 4(%esp)
/* I added the following ugly construct because exp(+-Inf) resulted
in NaN. The ugliness results from the bright minds at Intel.
For the i686 the code can be written better.
-- dr...@cy.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fld %st
frndint /* int(x) */
fsubr %st,%st(1) /* fract(x) */
fxch
f2xm1 /* 2^(fract(x)) - 1 */
fld1
faddp /* 2^(fract(x)) */
fscale /* e^x */
fstp %st(1)
ret
1: testl $0x200, %eax /* Test sign. */
jz 2f /* If positive, jump. */
fstp %st
fldz /* Set result to 0. */
2: ret
--- NEW FILE: expf.c ---
#include <math.h>
float expf (float x)
{return (float) exp (x);}
--- NEW FILE: expl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*/
/*
* The 8087 method for the exponential function is to calculate
* exp(x) = 2^(x log2(e))
* after separating integer and fractional parts
* x log2(e) = i + f, |f| <= .5
* 2^i is immediate but f needs to be precise for long double accuracy.
* Suppress range reduction error in computing f by the following.
* Separate x into integer and fractional parts
* x = xi + xf, |xf| <= .5
* Separate log2(e) into the sum of an exact number c0 and small part c1.
* c0 + c1 = log2(e) to extra precision
* Then
* f = (c0 xi - i) + c0 xf + c1 x
* where c0 xi is exact and so also is (c0 xi - i).
* -- mo...@na...
*/
#include <math.h>
static long double c0 = 1.44268798828125L;
static long double c1 = 7.05260771340735992468e-6L;
long double
expl (long double x)
{
long double res;
/* I added the following ugly construct because expl(+-Inf) resulted
in NaN. The ugliness results from the bright minds at Intel.
For the i686 the code can be written better.
-- dr...@cy.... */
asm ("fxam\n\t" /* Is NaN or +-Inf? */
"fstsw %%ax\n\t"
"movb $0x45, %%dh\n\t"
"andb %%ah, %%dh\n\t"
"cmpb $0x05, %%dh\n\t"
"je 1f\n\t" /* Is +-Inf, jump. */
"fldl2e\n\t" /* 1 log2(e) */
"fmul %%st(1),%%st\n\t" /* 1 x log2(e) */
"frndint\n\t" /* 1 i */
"fld %%st(1)\n\t" /* 2 x */
"frndint\n\t" /* 2 xi */
"fld %%st(1)\n\t" /* 3 i */
"fldt %2\n\t" /* 4 c0 */
"fld %%st(2)\n\t" /* 5 xi */
"fmul %%st(1),%%st\n\t" /* 5 c0 xi */
"fsubp %%st,%%st(2)\n\t" /* 4 f = c0 xi - i */
"fld %%st(4)\n\t" /* 5 x */
"fsub %%st(3),%%st\n\t" /* 5 xf = x - xi */
"fmulp %%st,%%st(1)\n\t" /* 4 c0 xf */
"faddp %%st,%%st(1)\n\t" /* 3 f = f + c0 xf */
"fldt %3\n\t" /* 4 */
"fmul %%st(4),%%st\n\t" /* 4 c1 * x */
"faddp %%st,%%st(1)\n\t" /* 3 f = f + c1 * x */
"f2xm1\n\t" /* 3 2^(fract(x * log2(e))) - 1 */
"fld1\n\t" /* 4 1.0 */
"faddp\n\t" /* 3 2^(fract(x * log2(e))) */
"fstp %%st(1)\n\t" /* 2 */
"fscale\n\t" /* 2 scale factor is st(1); e^x */
"fstp %%st(1)\n\t" /* 1 */
"fstp %%st(1)\n\t" /* 0 */
"jmp 2f\n\t"
"1:\ttestl $0x200, %%eax\n\t" /* Test sign. */
"jz 2f\n\t" /* If positive, jump. */
"fstp %%st\n\t"
"fldz\n\t" /* Set result to 0. */
"2:\t\n"
: "=t" (res) : "0" (x), "m" (c0), "m" (c1) : "ax", "dx");
return res;
}
--- NEW FILE: fabs.c ---
#include <math.h>
double
fabs (double x)
{
double res;
asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: fabsf.c ---
#include <math.h>
float
fabsf (float x)
{
float res;
asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: fabsl.c ---
#include <math.h>
long double
fabsl (long double x)
{
long double res;
asm ("fabs;" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: fdim.c ---
#include <math.h>
double
fdim (double x, double y)
{
return (isgreater(x, y) ? (x - y) : 0.0);
}
--- NEW FILE: fdimf.c ---
#include <math.h>
float
fdimf (float x, float y)
{
return (isgreater(x, y) ? (x - y) : 0.0F);
}
--- NEW FILE: fdiml.c ---
#include <math.h>
long double
fdiml (long double x, long double y)
{
return (isgreater(x, y) ? (x - y) : 0.0L);
}
--- NEW FILE: files.txt ---
cvs -z9 add acosf.c acosl.c asinf.c asinl.c atan2f.c atan2l.c atanf.c atanl.c cbrt.c cbrtf.c cbrtl.c ceilf.S ceill.S cephes_mconf.h copysign.S copysignf.S copysignl.S cosf.S coshf.c coshl.c cosl.S exp2.S exp2f.S exp2l.S expf.c expl.c fabs.c fabsf.c fabsl.c fdim.c fdimf.c fdiml.c files.txt floorf.S floorl.S fma.S fmaf.S fmal.c fmax.c fmaxf.c fmaxl.c fmin.c fminf.c fminl.c fmodf.c fmodl.c fp_consts.c fp_consts.h fp_constsf.c fp_constsl.c fpclassify.c fpclassifyf.c fpclassifyl.c frexpf.c frexpl.S fucom.c hypotf.c hypotl.c ilogb.S ilogbf.S ilogbl.S isnan.c isnanf.c isnanl.c ldexpf.c ldexpl.c llrint.c llrintf.c llrintl.c llround.c llroundf.c llroundl.c log10f.S log10l.S log1p.S log1pf.S log1pl.S log2.S log2f.S log2l.S logb.c logbf.c logbl.c logf.S logl.S lrint.c lrintf.c lrintl.c lround.c lroundf.c lroundl.c modff.c modfl.c nearbyint.S nearbyintf.S nearbyintl.S nextafterf.c powf.c powil.c powl.c remainder.S remainderf.S remainderl.S remquo.S remquof.S remquol.S rint.c rintf.c rintl.c round.c roundf.c roundl.c scalbn.S scalbnf.S scalbnl.S signbit.c signbitf.c signbitl.c sinf.S sinhf.c sinhl.c sinl.S sqrtf.c sqrtl.c tanf.S tanhf.c tanhl.c tanl.S trunc.c truncf.c truncl.c
--- NEW FILE: floorf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Changes for long double by Ulrich Drepper <dr...@cy...>
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "floorf.S"
.text
.align 4
.globl _floorf
.def _floorf; .scl 2; .type 32; .endef
_floorf:
flds 4(%esp)
subl $8,%esp
fstcw 4(%esp) /* store fpu control word */
/* We use here %edx although only the low 1 bits are defined.
But none of the operations should care and they are faster
than the 16 bit operations. */
movl $0x400,%edx /* round towards -oo */
orl 4(%esp),%edx
andl $0xf7ff,%edx
movl %edx,(%esp)
fldcw (%esp) /* load modified control word */
frndint /* round */
fldcw 4(%esp) /* restore original control word */
addl $8,%esp
ret
--- NEW FILE: floorl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Changes for long double by Ulrich Drepper <dr...@cy...>
*
*/
.file "floorl.S"
.text
.align 4
.globl _floorl
.def _floorl; .scl 2; .type 32; .endef
_floorl:
fldt 4(%esp)
subl $8,%esp
fstcw 4(%esp) /* store fpu control word */
/* We use here %edx although only the low 1 bits are defined.
But none of the operations should care and they are faster
than the 16 bit operations. */
movl $0x400,%edx /* round towards -oo */
orl 4(%esp),%edx
andl $0xf7ff,%edx
movl %edx,(%esp)
fldcw (%esp) /* load modified control word */
frndint /* round */
fldcw 4(%esp) /* restore original control word */
addl $8,%esp
ret
--- NEW FILE: fma.S ---
.file "fma.S"
.text
.align 2
.p2align 4,,15
.globl _fma
.def _fma; .scl 2; .type 32; .endef
_fma:
fldl 4(%esp)
fmull 12(%esp)
fldl 20(%esp)
faddp
ret
--- NEW FILE: fmaf.S ---
.file "fmaf.S"
.text
.align 2
.p2align 4,,15
.globl _fmaf
.def _fmaf; .scl 2; .type 32; .endef
_fmaf:
flds 4(%esp)
fmuls 8(%esp)
flds 12(%esp)
faddp
ret
--- NEW FILE: fmal.c ---
long double
fmal ( long double _x, long double _y, long double _z)
{
return ((_x * _y) + _z);
}
--- NEW FILE: fmax.c ---
#include <math.h>
double
fmax (double _x, double _y)
{
return ( isgreaterequal (_x, _y)|| __isnan (_y) ? _x : _y );
}
--- NEW FILE: fmaxf.c ---
#include <math.h>
float
fmaxf (float _x, float _y)
{
return (( isgreaterequal(_x, _y) || __isnanf (_y)) ? _x : _y );
}
--- NEW FILE: fmaxl.c ---
#include <math.h>
long double
fmaxl (long double _x, long double _y)
{
return (( isgreaterequal(_x, _y) || __isnanl (_y)) ? _x : _y );
}
--- NEW FILE: fmin.c ---
#include <math.h>
double
fmin (double _x, double _y)
{
return ((islessequal(_x, _y) || __isnan (_y)) ? _x : _y );
}
--- NEW FILE: fminf.c ---
#include <math.h>
float
fminf (float _x, float _y)
{
return ((islessequal(_x, _y) || _isnan (_y)) ? _x : _y );
}
--- NEW FILE: fminl.c ---
#include <math.h>
long double
fminl (long double _x, long double _y)
{
return ((islessequal(_x, _y) || __isnanl (_y)) ? _x : _y );
}
--- NEW FILE: fmodf.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for float type by Danny Smith
* <dan...@us...>.
*/
#include <math.h>
float
fmodf (float x, float y)
{
float res;
asm ("1:\tfprem\n\t"
"fstsw %%ax\n\t"
"sahf\n\t"
"jp 1b\n\t"
"fstp %%st(1)"
: "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
return res;
}
--- NEW FILE: fmodl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*/
#include <math.h>
long double
fmodl (long double x, long double y)
{
long double res;
asm ("1:\tfprem\n\t"
"fstsw %%ax\n\t"
"sahf\n\t"
"jp 1b\n\t"
"fstp %%st(1)"
: "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
return res;
}
--- NEW FILE: fp_consts.c ---
#include "fp_consts.h"
const union _ieee_rep __QNAN = { __DOUBLE_QNAN_REP };
const union _ieee_rep __SNAN = { __DOUBLE_SNAN_REP };
const union _ieee_rep __INF = { __DOUBLE_INF_REP };
const union _ieee_rep __DENORM = { __DOUBLE_DENORM_REP };
/* ISO C99 */
#undef nan
/* FIXME */
double nan (const char * tagp __attribute__((unused)) )
{ return __QNAN.double_val; }
--- NEW FILE: fp_consts.h ---
#ifndef _FP_CONSTS_H
#define _FP_CONSTS_H
/*
According to IEEE 754 a QNaN has exponent bits of all 1 values and
initial significand bit of 1. A SNaN has has an exponent of all 1
values and initial significand bit of 0 (with one or more other
significand bits of 1). An Inf has significand of 0 and
exponent of all 1 values. A denormal value has all exponent bits of 0.
The following does _not_ follow those rules, but uses values
equal to those exported from MS C++ runtime lib, msvcprt.dll
for float and double. MSVC however, does not have long doubles.
*/
#define __DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 }
#define __DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } /* { 0, 0, 0, 0x7ff8 } */
#define __DOUBLE_SNAN_REP { 0, 0, 0, 0xfff0 } /* { 1, 0, 0, 0x7ff0 } */
#define __DOUBLE_DENORM_REP {1, 0, 0, 0}
#define D_NAN_MASK 0x7ff0000000000000LL /* this will mask NaN's and Inf's */
#define __FLOAT_INF_REP { 0, 0x7f80 }
#define __FLOAT_QNAN_REP { 0, 0xffc0 } /* { 0, 0x7fc0 } */
#define __FLOAT_SNAN_REP { 0, 0xff80 } /* { 1, 0x7f80 } */
#define __FLOAT_DENORM_REP {1,0}
#define F_NAN_MASK 0x7f800000
/*
This assumes no implicit (hidden) bit in extended mode.
Padded to 96 bits
*/
#define __LONG_DOUBLE_INF_REP { 0, 0, 0, 0x8000, 0x7fff, 0 }
#define __LONG_DOUBLE_QNAN_REP { 0, 0, 0, 0xc000, 0xffff, 0 }
#define __LONG_DOUBLE_SNAN_REP { 0, 0, 0, 0x8000, 0xffff, 0 }
#define __LONG_DOUBLE_DENORM_REP {1, 0, 0, 0, 0, 0}
union _ieee_rep
{
unsigned short rep[6];
float float_val;
double double_val;
long double ldouble_val;
} ;
#endif
--- NEW FILE: fp_constsf.c ---
#include "fp_consts.h"
const union _ieee_rep __QNANF = { __FLOAT_QNAN_REP };
const union _ieee_rep __SNANF = { __FLOAT_SNAN_REP };
const union _ieee_rep __INFF = { __FLOAT_INF_REP };
const union _ieee_rep __DENORMF = { __FLOAT_DENORM_REP };
/* ISO C99 */
#undef nanf
/* FIXME */
float nanf(const char * tagp __attribute__((unused)) )
{ return __QNANF.float_val;}
--- NEW FILE: fp_constsl.c ---
#include "fp_consts.h"
const union _ieee_rep __QNANL = { __LONG_DOUBLE_QNAN_REP };
const union _ieee_rep __SNANL = { __LONG_DOUBLE_SNAN_REP };
const union _ieee_rep __INFL = { __LONG_DOUBLE_INF_REP };
const union _ieee_rep __DENORML = { __LONG_DOUBLE_DENORM_REP };
#undef nanl
/* FIXME */
long double nanl (const char * tagp __attribute__((unused)) )
{ return __QNANL.ldouble_val; }
--- NEW FILE: fpclassify.c ---
#include <math.h>
/* 'fxam' sets FPU flags C3,C2,C0 'fstsw' stores:
FP_NAN 001 0x0100
FP_NORMAL 010 0x0400
FP_INFINITE 011 0x0500
FP_ZERO 100 0x4000
FP_SUBNORMAL 110 0x4400
and sets C1 flag (signbit) if neg */
int __fpclassify (double _x){
unsigned short sw;
__asm__ (
"fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (_x)
);
return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
}
--- NEW FILE: fpclassifyf.c ---
#include <math.h>
int __fpclassifyf (float _x){
unsigned short sw;
__asm__ (
"fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (_x)
);
return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
}
--- NEW FILE: fpclassifyl.c ---
#include <math.h>
int __fpclassifyl (long double _x){
unsigned short sw;
__asm__ (
"fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (_x)
);
return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
}
--- NEW FILE: frexpf.c ---
#include <math.h>
float frexpf (float x, int* expn)
{return (float)frexp(x, expn);}
--- NEW FILE: frexpl.S ---
/*
Cephes Math Library Release 2.7: May, 1998
Copyright 1984, 1987, 1988, 1992, 1998 by Stephen L. Moshier
Extracted from floorl.387 for use in libmingwex.a by
Danny Smith <dan...@us...>
2002-06-20
*/
/*
* frexpl(long double x, int* expnt) extracts the exponent from x.
* It returns an integer power of two to expnt and the significand
* between 0.5 and 1 to y. Thus x = y * 2**expn.
*/
.align 2
.globl _frexpl
_frexpl:
pushl %ebp
movl %esp,%ebp
subl $24,%esp
pushl %esi
pushl %ebx
fldt 8(%ebp)
movl 20(%ebp),%ebx
fld %st(0)
fstpt -12(%ebp)
leal -4(%ebp),%ecx
movw -4(%ebp),%dx
andl $32767,%edx
jne L25
fldz
fucompp
fnstsw %ax
andb $68,%ah
xorb $64,%ah
jne L21
movl $0,(%ebx)
fldz
jmp L24
.align 2,0x90
.align 2,0x90
L21:
fldt -12(%ebp)
fadd %st(0),%st
fstpt -12(%ebp)
decl %edx
movw (%ecx),%si
andl $32767,%esi
jne L22
cmpl $-66,%edx
jg L21
L22:
addl %esi,%edx
jmp L19
.align 2,0x90
L25:
fstp %st(0)
L19:
addl $-16382,%edx
movl %edx,(%ebx)
movw (%ecx),%ax
andl $-32768,%eax
orl $16382,%eax
movw %ax,(%ecx)
fldt -12(%ebp)
L24:
leal -32(%ebp),%esp
popl %ebx
popl %esi
leave
ret
--- NEW FILE: fucom.c ---
int
__fp_unordered_compare (long double x, long double y){
unsigned short retval;
__asm__ (
"fucom %%st(1);"
"fnstsw;"
: "=a" (retval)
: "t" (x), "u" (y)
);
return retval;
}
--- NEW FILE: hypotf.c ---
#include <math.h>
float hypotf (float x, float y)
{ return (float) _hypot (x, y);}
--- NEW FILE: hypotl.c ---
#include <math.h>
typedef union
{
long double value;
struct
{
unsigned mantissa[2];
unsigned sign_exponent : 16;
unsigned empty : 16;
} parts;
} ieee_long_double_shape_type;
/* Get int from the exponent of a long double. */
static __inline__ void
get_ld_exp (unsigned exp,long double d)
{
ieee_long_double_shape_type u;
u.value = d;
exp = u.parts.sign_exponent;
}
/* Set exponent of a long double from an int. */
static __inline__ void
set_ld_exp (long double d,unsigned exp)
{
ieee_long_double_shape_type u;
u.value = d;
u.parts.sign_exponent = exp;
d = u.value;
}
long double
hypotl (long double x, long double y)
{
unsigned exx = 0U;
unsigned eyy = 0U;
unsigned scale;
long double xx =fabsl(x);
long double yy =fabsl(y);
if (!isfinite(xx) || !isfinite(yy))
return xx + yy; /* Return INF or NAN. */
/* Scale to avoid overflow.*/
get_ld_exp (exx, xx);
get_ld_exp (eyy, yy);
scale = (exx > eyy ? exx : eyy);
if (scale == 0)
return 0.0L;
set_ld_exp (xx, exx - scale);
set_ld_exp (yy, eyy - scale);
xx = sqrtl(xx * xx + yy * yy);
get_ld_exp (exx,xx);
set_ld_exp (xx, exx + scale);
return xx;
}
--- NEW FILE: ilogb.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
.file "ilogb.S"
.text
.align 4
.globl _ilogb
.def _ilogb; .scl 2; .type 32; .endef
_ilogb:
fldl 4(%esp)
/* I added the following ugly construct because ilogb(+-Inf) is
required to return INT_MAX in ISO C99.
-- ja...@re.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fxtract
pushl %eax
fstp %st
fistpl (%esp)
fwait
popl %eax
ret
1: fstp %st
movl $0x7fffffff, %eax
ret
--- NEW FILE: ilogbf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*/
.file "ilogbf.S"
.text
.align 4
.globl _ilogbf
.def _ilogbf; .scl 2; .type 32; .endef
_ilogbf:
flds 4(%esp)
/* I added the following ugly construct because ilogb(+-Inf) is
required to return INT_MAX in ISO C99.
-- ja...@re.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fxtract
pushl %eax
fstp %st
fistpl (%esp)
fwait
popl %eax
ret
1: fstp %st
movl $0x7fffffff, %eax
ret
--- NEW FILE: ilogbl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Changes for long double by Ulrich Drepper <dr...@cy...>
* Public domain.
*/
.file "ilogbl.S"
.text
.align 4
.globl _ilogbl
.def _ilogbl; .scl 2; .type 32; .endef
_ilogbl:
fldt 4(%esp)
/* I added the following ugly construct because ilogb(+-Inf) is
required to return INT_MAX in ISO C99.
-- ja...@re.... */
fxam /* Is NaN or +-Inf? */
fstsw %ax
movb $0x45, %dh
andb %ah, %dh
cmpb $0x05, %dh
je 1f /* Is +-Inf, jump. */
fxtract
pushl %eax
fstp %st
fistpl (%esp)
fwait
popl %eax
ret
1: fstp %st
movl $0x7fffffff, %eax
ret
--- NEW FILE: isnan.c ---
#include <math.h>
int
__isnan (double _x)
{
unsigned short _sw;
__asm__ ("fxam;"
"fstsw %%ax": "=a" (_sw) : "t" (_x));
return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
== FP_NAN;
}
#undef isnan
int __attribute__ ((alias ("__isnan"))) isnan (double);
--- NEW FILE: isnanf.c ---
#include <math.h>
int
__isnanf (float _x)
{
unsigned short _sw;
__asm__ ("fxam;"
"fstsw %%ax": "=a" (_sw) : "t" (_x) );
return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
== FP_NAN;
}
int __attribute__ ((alias ("__isnanf"))) isnanf (float);
--- NEW FILE: isnanl.c ---
#include <math.h>
int
__isnanl (long double _x)
{
unsigned short _sw;
__asm__ ("fxam;"
"fstsw %%ax": "=a" (_sw) : "t" (_x));
return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
== FP_NAN;
}
int __attribute__ ((alias ("__isnanl"))) isnanl (long double);
--- NEW FILE: ldexpf.c ---
#include <math.h>
float ldexpf (float x, int expn)
{return (float) ldexp (x, expn);}
--- NEW FILE: ldexpl.c ---
#include <math.h>
#include <errno.h>
long double ldexpl(long double x, int expn)
{
if (isfinite (x) && x != 0.0L)
{
x = scalbnl (x , expn);
if (!isfinite (x) || x == 0.0) errno = ERANGE;
}
return x;
}
--- NEW FILE: llrint.c ---
#include <math.h>
long long llrint (double x)
{
long long retval;
__asm__ __volatile__ \
("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: llrintf.c ---
#include <math.h>
long long llrintf (float x)
{
long long retval;
__asm__ __volatile__ \
("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: llrintl.c ---
#include <math.h>
long long llrintl (long double x)
{
long long retval;
__asm__ __volatile__ \
("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: llround.c ---
#include <fenv.h>
#include <math.h>
long
lround (double x) {
long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpll %0" : "=m" (retval) : "t" (x) : "st"
);
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: llroundf.c ---
#include <fenv.h>
#include <math.h>
long long
llroundf (float x) {
long long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpll %0" : "=m" (retval) : "t" (x) : "st"
);
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: llroundl.c ---
#include <fenv.h>
#include <math.h>
long long
llroundl (long double x) {
long long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpll %0" : "=m" (retval) : "t" (x) : "st");
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: log10f.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Adapted for float type by Ulrich Drepper <dr...@cy...>.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*/
.file "log10f.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _log10f
.def _log10f; .scl 2; .type 32; .endef
_log10f:
fldlg2 // log10(2)
flds 4(%esp) // x : log10(2)
fxam
fnstsw
fld %st // x : x : log10(2)
sahf
jc 3f // in case x is NaN or ±Inf
4: fsubl one // x-1 : x : log10(2)
fld %st // x-1 : x-1 : x : log10(2)
fabs // |x-1| : x-1 : x : log10(2)
fcompl limit // x-1 : x : log10(2)
fnstsw // x-1 : x : log10(2)
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : log10(2)
fyl2xp1 // log10(x)
ret
2: fstp %st(0) // x : log10(2)
fyl2x // log10(x)
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log10l.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log10l.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _log10l
.def _log10l; .scl 2; .type 32; .endef
_log10l:
fldlg2 // log10(2)
fldt 4(%esp) // x : log10(2)
fxam
fnstsw
fld %st // x : x : log10(2)
sahf
jc 3f // in case x is NaN or ±Inf
4: fsubl one // x-1 : x : log10(2)
fld %st // x-1 : x-1 : x : log10(2)
fabs // |x-1| : x-1 : x : log10(2)
fcompl limit // x-1 : x : log10(2)
fnstsw // x-1 : x : log10(2)
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : log10(2)
fyl2xp1 // log10(x)
ret
2: fstp %st(0) // x : log10(2)
fyl2x // log10(x)
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log1p.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log1p.S"
.text
.align 4
/* The fyl2xp1 can only be used for values in
-1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
0.29 is a safe value.
*/
limit: .double 0.29
one: .double 1.0
/*
* Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
* otherwise fyl2x with the needed extra computation.
*/
.globl _log1p;
.def _log1p; .scl 2; .type 32; .endef
_log1p:
fldln2
fldl 4(%esp)
fxam
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
4: fabs
fcompl limit
fnstsw
sahf
jc 2f
faddl one
fyl2x
ret
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log1pf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log1pf.S"
.text
.align 4
/* The fyl2xp1 can only be used for values in
-1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
0.29 is a safe value.
*/
limit: .float 0.29
one: .float 1.0
/*
* Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
* otherwise fyl2x with the needed extra computation.
*/
.globl _log1pf;
.def _log1pf; .scl 2; .type 32; .endef
_log1pf:
fldln2
flds 4(%esp)
fxam
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
4: fabs
fcomps limit
fnstsw
sahf
jc 2f
fadds one
fyl2x
ret
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log1pl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log1pl.S"
.text
.align 4
/* The fyl2xp1 can only be used for values in
-1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
0.29 is a safe value.
*/
limit: .tfloat 0.29
/* Please note: we use a double value here. Since 1.0 has
an exact representation this does not effect the accuracy
but it helps to optimize the code. */
one: .double 1.0
/*
* Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
* otherwise fyl2x with the needed extra computation.
*/
.globl _log1pl;
.def _log1pl; .scl 2; .type 32; .endef
_log1pl:
fldln2
fldt 4(%esp)
fxam
fnstsw
fld %st
sahf
jc 3f // in case x is NaN or ±Inf
4:
fabs
fldt limit
fcompp
fnstsw
sahf
jnc 2f
faddl one
fyl2x
ret
2: fyl2xp1
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log2.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for use as log2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log2.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _log2
.def _log2; .scl 2; .type 32; .endef
_log2:
fldl one
fldl 4(%esp) // x : 1
fxam
fnstsw
fld %st // x : x : 1
sahf
jc 3f // in case x is NaN or ±Inf
4: fsub %st(2), %st // x-1 : x : 1
fld %st // x-1 : x-1 : x : 1
fabs // |x-1| : x-1 : x : 1
fcompl limit // x-1 : x : 1
fnstsw // x-1 : x : 1
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : 1
fyl2xp1 // log(x)
ret
2: fstp %st(0) // x : 1
fyl2x // log(x)
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log2f.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for use as log2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "log2f.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _log2f
.def _log2f; .scl 2; .type 32; .endef
_log2f:
fldl one
flds 4(%esp) // x : 1
fxam
fnstsw
fld %st // x : x : 1
sahf
jc 3f // in case x is NaN or ±Inf
4: fsub %st(2), %st // x-1 : x : 1
fld %st // x-1 : x-1 : x : 1
fabs // |x-1| : x-1 : x : 1
fcompl limit // x-1 : x : 1
fnstsw // x-1 : x : 1
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : 1
fyl2xp1 // log(x)
ret
2: fstp %st(0) // x : 1
fyl2x // log(x)
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: log2l.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Adapted for use as log2 by Ulrich Drepper <dr...@cy...>.
* Public domain.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*/
.file "log2l.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _log2l
.def _log2l; .scl 2; .type 32; .endef
_log2l:
fldl one
fldt 4(%esp) // x : 1
fxam
fnstsw
fld %st // x : x : 1
sahf
jc 3f // in case x is NaN or ±Inf
4: fsub %st(2), %st // x-1 : x : 1
fld %st // x-1 : x-1 : x : 1
fabs // |x-1| : x-1 : x : 1
fcompl limit // x-1 : x : 1
fnstsw // x-1 : x : 1
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : 1
fyl2xp1 // log(x)
ret
2: fstp %st(0) // x : 1
fyl2x // log(x)
ret
3: jp 4b // in case x is ±Inf
fstp %st(1)
fstp %st(1)
ret
--- NEW FILE: logb.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Changes for long double by Ulrich Drepper <dr...@cy...>
* Public domain.
*/
#include <math.h>
double
logb (double x)
{
double res;
asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: logbf.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Changes for long double by Ulrich Drepper <dr...@cy...>
* Public domain.
*/
#include <math.h>
float
logbf (float x)
{
float res;
asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: logbl.c ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Changes for long double by Ulrich Drepper <dr...@cy...>
* Public domain.
*/
#include <math.h>
long double
logbl (long double x)
{
long double res;
asm ("fxtract\n\t"
"fstp %%st" : "=t" (res) : "0" (x));
return res;
}
--- NEW FILE: logf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Adapted for float by Ulrich Drepper <dr...@cy...>.
*
* Changed to use fyl2xp1 for values near 1, <dr...@cy...>.
*/
.file "logf.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _logf
.def _logf; .scl 2; .type 32; .endef
_logf:
fldln2 // log(2)
flds 4(%esp) // x : log(2)
fld %st // x : x : log(2)
fsubl one // x-1 : x : log(2)
fld %st // x-1 : x-1 : x : log(2)
fabs // |x-1| : x-1 : x : log(2)
fcompl limit // x-1 : x : log(2)
fnstsw // x-1 : x : log(2)
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : log(2)
fyl2xp1 // log(x)
ret
2: fstp %st(0) // x : log(2)
fyl2x // log(x)
ret
--- NEW FILE: logl.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "logl.S"
.text
.align 4
one: .double 1.0
/* It is not important that this constant is precise. It is only
a value which is known to be on the safe side for using the
fyl2xp1 instruction. */
limit: .double 0.29
.text
.align 4
.globl _logl
.def _logl; .scl 2; .type 32; .endef
_logl:
fldln2 // log(2)
fldt 4(%esp) // x : log(2)
fld %st // x : x : log(2)
fsubl one // x-1 : x : log(2)
fld %st // x-1 : x-1 : x : log(2)
fabs // |x-1| : x-1 : x : log(2)
fcompl limit // x-1 : x : log(2)
fnstsw // x-1 : x : log(2)
andb $0x45, %ah
jz 2f
fstp %st(1) // x-1 : log(2)
fyl2xp1 // log(x)
ret
2: fstp %st(0) // x : log(2)
fyl2x // log(x)
ret
--- NEW FILE: lrint.c ---
#include <math.h>
long lrint (double x)
{
long retval;
__asm__ __volatile__ \
("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: lrintf.c ---
#include <math.h>
long lrintf (float x)
{
long retval;
__asm__ __volatile__ \
("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: lrintl.c ---
#include <math.h>
long lrintl (long double x)
{
long retval;
__asm__ __volatile__ \
("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
return retval;
}
--- NEW FILE: lround.c ---
#include <fenv.h>
#include <math.h>
long
lround (double x) {
long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpl %0" : "=m" (retval) : "t" (x) : "st"
);
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: lroundf.c ---
#include <fenv.h>
#include <math.h>
long
lroundf (float x) {
long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpl %0" : "=m" (retval) : "t" (x) : "st"
);
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: lroundl.c ---
#include <fenv.h>
#include <math.h>
long
lroundl (long double x) {
long retval;
unsigned short saved_cw, _cw;
__asm__ (
"fnstcw %0;" : "=m" (saved_cw)
); /* save control word */
_cw = ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
| (x > 0.0 ? FE_UPWARD : FE_DOWNWARD); /* round away from zero */
__asm__ (
"fldcw %0;" : : "m" (_cw)
); /* load the rounding control */
__asm__ __volatile__ (
"fistpl %0" : "=m" (retval) : "t" (x) : "st");
__asm__ (
"fldcw %0;" : : "m" (saved_cw)
); /* restore control word */
return retval;
}
--- NEW FILE: modff.c ---
#include <fenv.h>
#include <math.h>
#include <errno.h>
#define FE_ROUNDING_MASK \
(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
float
modff (float value, float* iptr)
{
float int_part;
unsigned short saved_cw;
/* truncate */
asm ("fnstcw %0;" : "=m" (saved_cw)); /* save control word */
asm ("fldcw %0;" : : "m" ((saved_cw & ~FE_ROUNDING_MASK)
| FE_TOWARDZERO));
asm ("frndint;" : "=t" (int_part) : "0" (value)); /* round */
asm ("fldcw %0;" : : "m" (saved_cw)); /* restore saved cw */
if (iptr)
*iptr = int_part;
return (isinf (value) ? 0.0F : value - int_part);
}
--- NEW FILE: modfl.c ---
#include <fenv.h>
#include <math.h>
#include <errno.h>
#define FE_ROUNDING_MASK \
(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
long double
modfl (long double value, long double* iptr)
{
long double int_part;
unsigned short saved_cw;
/* truncate */
asm ("fnstcw %0;" : "=m" (saved_cw)); /* save control word */
asm ("fldcw %0;" : : "m" ((saved_cw & ~FE_ROUNDING_MASK)
| FE_TOWARDZERO));
asm ("frndint;" : "=t" (int_part) : "0" (value)); /* round */
asm ("fldcw %0;" : : "m" (saved_cw)); /* restore saved cw */
if (iptr)
*iptr = int_part;
return (isinf (value) ? 0.0L : value - int_part);
}
--- NEW FILE: nearbyint.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
*
* Adapted for use as nearbyint by Ulrich Drepper <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "nearbyint.S"
.text
.align 4
.globl _nearbyint
.def _nearbyint; .scl 2; .type 32; .endef
_nearbyint:
fldl 4(%esp)
pushl %eax
pushl %ecx
fnstcw (%esp)
movl (%esp), %eax
orl $0x20, %eax
movl %eax, 4(%esp)
fldcw 4(%esp)
frndint
fclex
fldcw (%esp)
popl %ecx
popl %eax
ret
--- NEW FILE: nearbyintf.S ---
/*
* Written by J.T. Conklin <jt...@ne...>.
* Public domain.
* Adapted for use as nearbyint by Ulrich Drepper <dr...@cy...>.
*
* Removed header file dependency for use in libmingwex.a by
* Danny Smith <dan...@us...>
*/
.file "nearbyintf.S"
.text
.align 4
.globl _nearbyintf
.def _nearbyintf; .scl 2; .type 32; .endef
_nearbyintf:
flds 4(%esp)
pushl %eax
pushl %ecx
fnstcw (%esp)
movl (%esp), %eax
orl $0x20, %eax
movl %eax, 4(%esp)
fldcw 4(%esp)
frndint
fclex
fldcw (%esp)
popl %ecx
popl %eax
ret
--- NEW FILE: nearbyintl.S ---
/*
* Writ...
[truncated message content] |
|
From: <ea...@us...> - 2002-08-12 13:04:49
|
Update of /cvsroot/mingw/runtime/mingwex/math In directory usw-pr-cvs1:/tmp/cvs-serv16863/math Log Message: Directory /cvsroot/mingw/runtime/mingwex/math added to the repository |
|
From: <ea...@us...> - 2002-08-12 12:23:50
|
Update of /cvsroot/mingw/w32api/include
In directory usw-pr-cvs1:/tmp/cvs-serv2658/include
Added Files:
docobj.h exdisp.h exdispid.h idispids.h mshtml.h shlwapi.h
Log Message:
Merge winsup changes
--- NEW FILE: docobj.h ---
#ifndef _DOCOBJ_H
#define _DOCOBJ_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define OLECMDERR_E_UNKNOWNGROUP (-2147221244)
#define OLECMDERR_E_DISABLED (-2147221247)
#define OLECMDERR_E_NOHELP (-2147221246)
#define OLECMDERR_E_CANCELED (-2147221245)
#define OLECMDERR_E_NOTSUPPORTED (-2147221248)
typedef enum {
OLECMDID_OPEN = 1,
OLECMDID_NEW = 2,
OLECMDID_SAVE = 3,
OLECMDID_SAVEAS = 4,
OLECMDID_SAVECOPYAS = 5,
OLECMDID_PRINT = 6,
OLECMDID_PRINTPREVIEW = 7,
OLECMDID_PAGESETUP = 8,
OLECMDID_SPELL = 9,
OLECMDID_PROPERTIES = 10,
OLECMDID_CUT = 11,
OLECMDID_COPY = 12,
OLECMDID_PASTE = 13,
OLECMDID_PASTESPECIAL = 14,
OLECMDID_UNDO = 15,
OLECMDID_REDO = 16,
OLECMDID_SELECTALL = 17,
OLECMDID_CLEARSELECTION = 18,
OLECMDID_ZOOM = 19,
OLECMDID_GETZOOMRANGE = 20,
OLECMDID_UPDATECOMMANDS = 21,
OLECMDID_REFRESH = 22,
OLECMDID_STOP = 23,
OLECMDID_HIDETOOLBARS = 24,
OLECMDID_SETPROGRESSMAX = 25,
OLECMDID_SETPROGRESSPOS = 26,
OLECMDID_SETPROGRESSTEXT = 27,
OLECMDID_SETTITLE = 28,
OLECMDID_SETDOWNLOADSTATE = 29,
OLECMDID_STOPDOWNLOAD = 30
} OLECMDID;
typedef enum {
OLECMDF_SUPPORTED = 1,
OLECMDF_ENABLED = 2,
OLECMDF_LATCHED = 4,
OLECMDF_NINCHED = 8
} OLECMDF;
typedef enum {
OLECMDEXECOPT_DODEFAULT = 0,
OLECMDEXECOPT_PROMPTUSER = 1,
OLECMDEXECOPT_DONTPROMPTUSER = 2,
OLECMDEXECOPT_SHOWHELP = 3
} OLECMDEXECOPT;
typedef struct _tagOLECMDTEXT {
DWORD cmdtextf;
ULONG cwActual;
ULONG cwBuf;
wchar_t rgwz[1];
} OLECMDTEXT;
typedef struct _tagOLECMD {
ULONG cmdID;
DWORD cmdf;
} OLECMD;
typedef interface IOleInPlaceSite *LPOLEINPLACESITE;
/* typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
in oleidl.h */
EXTERN_C const IID IID_IContinueCallback;
EXTERN_C const IID IID_IEnumOleDocumentViews;
EXTERN_C const IID IID_IPrint;
EXTERN_C const IID IID_IOleDocumentView;
#undef INTERFACE
#define INTERFACE IOleDocumentView
DECLARE_INTERFACE_(IOleDocumentView,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(SetInPlaceSite)(THIS_ LPOLEINPLACESITE) PURE;
STDMETHOD(GetInPlaceSite)(THIS_ LPOLEINPLACESITE*) PURE;
STDMETHOD(GetDocument)(THIS_ IUnknown*) PURE;
STDMETHOD(SetRect)(THIS_ LPRECT) PURE;
STDMETHOD(GetRect)(THIS_ LPRECT) PURE;
STDMETHOD(SetRectComplex)(THIS_ LPRECT,LPRECT,LPRECT,LPRECT) PURE;
STDMETHOD(Show)(THIS_ BOOL) PURE;
STDMETHOD(UIActivate)(THIS_ BOOL) PURE;
STDMETHOD(Open)(THIS) PURE;
STDMETHOD(Close)(THIS_ DWORD) PURE;
STDMETHOD(SaveViewState)(THIS_ IStream*) PURE;
STDMETHOD(ApplyViewState)(THIS_ IStream*) PURE;
STDMETHOD(Clone)(THIS_ LPOLEINPLACESITE,IOleDocumentView**) PURE;
};
EXTERN_C const IID IID_IOleDocument;
#undef INTERFACE
#define INTERFACE IOleDocument
DECLARE_INTERFACE_(IOleDocument,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(CreateView)(THIS_ LPOLEINPLACESITE,IStream*,DWORD,IOleDocumentView**) PURE;
STDMETHOD(GetDocMiscStatus)(THIS_ DWORD*) PURE;
STDMETHOD(EnumViews)(THIS_ LPENUMOLEDOCUMENTVIEWS*,IOleDocumentView**) PURE;
};
EXTERN_C const IID IID_IOleCommandTarget;
#undef INTERFACE
#define INTERFACE IOleCommandTarget
DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(QueryStatus)(THIS_ const GUID*,ULONG,OLECMD*,OLECMDTEXT*) PURE;
STDMETHOD(Exec)(THIS_ const GUID*,DWORD,DWORD,VARIANTARG*,VARIANTARG*) PURE;
};
EXTERN_C const IID IID_IOleDocumentSite;
#undef INTERFACE
#define INTERFACE IOleDocumentSite
DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(ActivateMe)(THIS_ IOleDocumentView*) PURE;
};
#ifdef __cplusplus
}
#endif
#endif
--- NEW FILE: exdisp.h ---
#ifndef _EXDISP_H
#define _EXDISP_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include "oaidl.h"
#include <ocidl.h>
#include <docobj.h>
EXTERN_C const CLSID CLSID_WebBrowser;
EXTERN_C const IID DIID_DWebBrowserEvents;
typedef enum {
navOpenInNewWindow = 0x1,
navNoHistory = 0x2,
navNoReadFromCache = 0x4,
navNoWriteTocache = 0x8,
navAllowAutosearch = 0x10,
navBrowserBar = 0x20,
navHyperLink = 0x40
} BrowserNavConstants;
EXTERN_C const IID IID_IWebBrowser;
#undef INTERFACE
#define INTERFACE IWebBrowser
DECLARE_INTERFACE_(IWebBrowser,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(GoBack)(THIS) PURE;
STDMETHOD(GoForward)(THIS) PURE;
STDMETHOD(GoHome)(THIS) PURE;
STDMETHOD(GoSearch)(THIS) PURE;
STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
STDMETHOD(Refresh)(THIS) PURE;
STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
STDMETHOD(Stop)(THIS) PURE;
STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
STDMETHOD(get_Left)(THIS_ long*) PURE;
STDMETHOD(put_Left)(THIS_ long) PURE;
STDMETHOD(get_Top)(THIS_ long*) PURE;
STDMETHOD(put_Top)(THIS_ long) PURE;
STDMETHOD(get_Width)(THIS_ long*) PURE;
STDMETHOD(put_Width)(THIS_ long) PURE;
STDMETHOD(get_Height)(THIS_ long*) PURE;
STDMETHOD(put_Height)(THIS_ long) PURE;
STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
};
EXTERN_C const IID IID_IWebBrowserApp;
#undef INTERFACE
#define INTERFACE IWebBrowserApp
DECLARE_INTERFACE_(IWebBrowserApp,IWebBrowser)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(GoBack)(THIS) PURE;
STDMETHOD(GoForward)(THIS) PURE;
STDMETHOD(GoHome)(THIS) PURE;
STDMETHOD(GoSearch)(THIS) PURE;
STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
STDMETHOD(Refresh)(THIS) PURE;
STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
STDMETHOD(Stop)(THIS) PURE;
STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
STDMETHOD(get_Left)(THIS_ long*) PURE;
STDMETHOD(put_Left)(THIS_ long) PURE;
STDMETHOD(get_Top)(THIS_ long*) PURE;
STDMETHOD(put_Top)(THIS_ long) PURE;
STDMETHOD(get_Width)(THIS_ long*) PURE;
STDMETHOD(put_Width)(THIS_ long) PURE;
STDMETHOD(get_Height)(THIS_ long*) PURE;
STDMETHOD(put_Height)(THIS_ long) PURE;
STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(Quit)(THIS) PURE;
STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
STDMETHOD(get_HWND)(THIS_ long*) PURE;
STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
STDMETHOD(put_ToolBar)(THIS_ int) PURE;
STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
};
EXTERN_C const IID IID_IWebBrowser2;
#undef INTERFACE
#define INTERFACE IWebBrowser2
DECLARE_INTERFACE_(IWebBrowser2,IWebBrowserApp)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(GoBack)(THIS) PURE;
STDMETHOD(GoForward)(THIS) PURE;
STDMETHOD(GoHome)(THIS) PURE;
STDMETHOD(GoSearch)(THIS) PURE;
STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
STDMETHOD(Refresh)(THIS) PURE;
STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
STDMETHOD(Stop)(THIS) PURE;
STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
STDMETHOD(get_Left)(THIS_ long*) PURE;
STDMETHOD(put_Left)(THIS_ long) PURE;
STDMETHOD(get_Top)(THIS_ long*) PURE;
STDMETHOD(put_Top)(THIS_ long) PURE;
STDMETHOD(get_Width)(THIS_ long*) PURE;
STDMETHOD(put_Width)(THIS_ long) PURE;
STDMETHOD(get_Height)(THIS_ long*) PURE;
STDMETHOD(put_Height)(THIS_ long) PURE;
STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(Quit)(THIS) PURE;
STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
STDMETHOD(get_HWND)(THIS_ long*) PURE;
STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
STDMETHOD(put_ToolBar)(THIS_ int) PURE;
STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(Navigate2)(THIS_ VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
STDMETHOD(QueryStatusWB)(THIS_ OLECMDID,OLECMDF*) PURE;
STDMETHOD(ExecWB)(THIS_ OLECMDID,OLECMDEXECOPT,VARIANT*,VARIANT*) PURE;
STDMETHOD(ShowBrowserBar)(THIS_ VARIANT*,VARIANT*,VARIANT*) PURE;
STDMETHOD(get_ReadyState)(THIS_ READYSTATE*) PURE;
STDMETHOD(get_Offline)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_Offline)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_Silent)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_Silent)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_RegistaerAsBrowser)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_RegisterAsBrowser)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_RegistaerAsDropTarget)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_RegisterAsDropTarget)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_TheaterMode)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_TheaterMode)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_AddressBar)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_AddressBar)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_Resizable)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_Resizable)(THIS_ VARIANT_BOOL) PURE;
};
#define STDDISP(m) STDMETHOD_(void,m)
EXTERN_C const IID DIID_DWebBrowserEvents2;
#undef INTERFACE
#define INTERFACE DWebBrowserEvents2
DECLARE_INTERFACE_(DWebBrowserEvents2,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDDISP(StatusTextChange)(THIS_ BSTR) PURE;
STDDISP(ProgressChange)(THIS_ long,long) PURE;
STDDISP(CommandStateChange)(THIS_ long,VARIANT_BOOL) PURE;
STDDISP(DownloadBegin)(THIS) PURE;
STDDISP(DownloadComplete)(THIS) PURE;
STDDISP(TitleChange)(THIS_ BSTR) PURE;
STDDISP(PropertyChange)(THIS_ BSTR) PURE;
STDDISP(BeforeNavigate2)(THIS_ IDispatch*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT_BOOL*) PURE;
STDDISP(NewWindow2)(THIS_ IDispatch**,VARIANT_BOOL*) PURE;
STDDISP(NavigateComplete)(THIS_ IDispatch*,VARIANT*) PURE;
STDDISP(DocumentComplete)(THIS_ IDispatch*,VARIANT*) PURE;
STDDISP(OnQuit)(THIS) PURE;
STDDISP(OnVisible)(THIS_ VARIANT_BOOL) PURE;
STDDISP(OnToolBar)(THIS_ VARIANT_BOOL) PURE;
STDDISP(OnMenuBar)(THIS_ VARIANT_BOOL) PURE;
STDDISP(OnStatusBar)(THIS_ VARIANT_BOOL) PURE;
STDDISP(OnFullScreen)(THIS_ VARIANT_BOOL) PURE;
STDDISP(OnTheaterMode)(THIS_ VARIANT_BOOL) PURE;
STDDISP(WindowSetResizable)(THIS_ VARIANT_BOOL) PURE;
STDDISP(WindowSetLeft)(THIS_ long) PURE;
STDDISP(WindowSetTop)(THIS_ long) PURE;
STDDISP(WindowSetWidth)(THIS_ long) PURE;
STDDISP(WindowSetHeight)(THIS_ long) PURE;
STDDISP(WindowClosing)(THIS_ VARIANT_BOOL,VARIANT_BOOL*) PURE;
STDDISP(ClientToHostWindow)(THIS_ long*,long*) PURE;
STDDISP(SetSecureLockIcon)(THIS_ long) PURE;
STDDISP(FileDownload)(THIS_ VARIANT_BOOL*) PURE;
};
#undef STDDISP
#ifdef __cplusplus
}
#endif
#endif
--- NEW FILE: exdispid.h ---
#ifndef _EXDISPID_H
#define _EXDISPID_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#define DISPID_BEFORENAVIGATE2 250
#define DISPID_NEWWINDOW2 251
#define DISPID_PROGRESSCHANGE 108
#define DISPID_DOCUMENTCOMPLETE 259
#define DISPID_STATUSTEXTCHANGE 102
#define DISPID_TITLECHANGE 113
#endif
--- NEW FILE: idispids.h ---
#ifndef _IDISPIDS_H
#define _IDISPIDS_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED (-5501)
#define DISPID_AMBIENT_SILENT (-5502)
#endif
--- NEW FILE: mshtml.h ---
#ifndef _MSHTML_H
#define _MSHTML_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef interface IHTMLElementCollection *LPHTMLELEMENTCOLLECTION;
typedef interface IHTMLElement *LPHTMLELEMENT;
typedef interface IHTMLSelectionObject *LPHTMLSELECTIONOBJECT;
typedef interface IHTMLFramesCollection *LPHTMLFRAMESCOLLECTION;
typedef interface IHTMLLocation *LPHTMLLOCATION;
typedef interface IHTMLWindow2 *LPHTMLWINDOW2;
typedef interface IHTMLStyleSheetsCollection *LPHTMLSTYLESHEETSCOLLECTION;
typedef interface IHTMLStyleSheet *LPHTMLSTYLESHEET;
typedef interface IHTMLStyle *LPHTMLSTYLE;
typedef interface IHTMLFiltersCollection *LPHTMLFILTERSCOLLECTION;
EXTERN_C const IID IID_IHTMLDocument;
#undef INTERFACE
#define INTERFACE IHTMLDocument
DECLARE_INTERFACE_(IHTMLDocument,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
};
EXTERN_C const IID IID_IHTMLDocument2;
#undef INTERFACE
#define INTERFACE IHTMLDocument2
DECLARE_INTERFACE_(IHTMLDocument2,IHTMLDocument)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
STDMETHOD(get_all)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_body)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(get_activeElement)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(get_images)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_applets)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_links)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_forms)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_anchors)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(put_title)(THIS_ BSTR) PURE;
STDMETHOD(get_title)(THIS_ BSTR*) PURE;
STDMETHOD(get_scripts)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(put_designMode)(THIS_ BSTR) PURE;
STDMETHOD(get_designMode)(THIS_ BSTR*) PURE;
STDMETHOD(get_selection)(LPHTMLSELECTIONOBJECT*) PURE;
STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
STDMETHOD(get_frames)(THIS_ LPHTMLFRAMESCOLLECTION*) PURE;
STDMETHOD(get_embeds)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(get_plugins)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
STDMETHOD(put_alinkColor)(THIS_ VARIANT) PURE;
STDMETHOD(get_alinkColor)(THIS_ VARIANT*) PURE;
STDMETHOD(put_bgColor)(THIS_ VARIANT) PURE;
STDMETHOD(get_bgColor)(THIS_ VARIANT*) PURE;
STDMETHOD(put_fgColor)(THIS_ VARIANT) PURE;
STDMETHOD(get_fgColor)(THIS_ VARIANT*) PURE;
STDMETHOD(put_linkColor)(THIS_ VARIANT) PURE;
STDMETHOD(get_linkColor)(THIS_ VARIANT*) PURE;
STDMETHOD(put_vlinkColor)(THIS_ VARIANT) PURE;
STDMETHOD(get_vlinkColor)(THIS_ VARIANT*) PURE;
STDMETHOD(get_referrer)(THIS_ BSTR*) PURE;
STDMETHOD(get_location)(THIS_ LPHTMLLOCATION*) PURE;
STDMETHOD(get_lastModified)(THIS_ BSTR*) PURE;
STDMETHOD(put_url)(THIS_ BSTR) PURE;
STDMETHOD(get_url)(THIS_ BSTR*) PURE;
STDMETHOD(put_domain)(THIS_ BSTR) PURE;
STDMETHOD(get_domain)(THIS_ BSTR*) PURE;
STDMETHOD(put_cookie)(THIS_ BSTR) PURE;
STDMETHOD(get_cookie)(THIS_ BSTR*) PURE;
STDMETHOD(put_expands)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(get_expands)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(put_charset)(THIS_ BSTR) PURE;
STDMETHOD(get_charset)(THIS_ BSTR*) PURE;
STDMETHOD(put_defaultCharset)(THIS_ BSTR) PURE;
STDMETHOD(get_defaultCharset)(THIS_ BSTR*) PURE;
STDMETHOD(get_mimeType)(THIS_ BSTR*) PURE;
STDMETHOD(get_fileSize)(THIS_ BSTR*) PURE;
STDMETHOD(get_fileCreatedDate)(THIS_ BSTR*) PURE;
STDMETHOD(get_fileModifiedDate)(THIS_ BSTR*) PURE;
STDMETHOD(get_fileUpdatedDate)(THIS_ BSTR*) PURE;
STDMETHOD(get_security)(THIS_ BSTR*) PURE;
STDMETHOD(get_protocol)(THIS_ BSTR*) PURE;
STDMETHOD(get_nameProp)(THIS_ BSTR*) PURE;
STDMETHOD(write)(THIS_ SAFEARRAY) PURE;
STDMETHOD(writeln)(THIS_ SAFEARRAY) PURE;
STDMETHOD(open)(THIS_ BSTR,VARIANT,VARIANT,VARIANT,IDispatch**) PURE;
STDMETHOD(close)(THIS) PURE;
STDMETHOD(clear)(THIS) PURE;
STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(createElement)(THIS_ BSTR,LPHTMLELEMENT*) PURE;
STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
STDMETHOD(elementFromPoint)(THIS_ long,long,LPHTMLELEMENT*) PURE;
STDMETHOD(get_parentWindow)(THIS_ LPHTMLWINDOW2*) PURE;
STDMETHOD(get_styleSheets)(THIS_ LPHTMLSTYLESHEETSCOLLECTION*) PURE;
STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(toString)(THIS_ BSTR*) PURE;
STDMETHOD(createStyleSheet)(THIS_ BSTR,long,LPHTMLSTYLESHEET*) PURE;
};
EXTERN_C const IID IID_IHTMLSelectionObject;
#undef INTERFACE
#define INTERFACE IHTMLSelectionObject
DECLARE_INTERFACE_(IHTMLSelectionObject,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(createRange)(THIS_ IDispatch**) PURE;
STDMETHOD(empty)(THIS) PURE;
STDMETHOD(clear)(THIS) PURE;
STDMETHOD(type)(THIS_ BSTR*) PURE;
};
EXTERN_C const IID IID_IHTMLTxtRange;
#undef INTERFACE
#define INTERFACE IHTMLTxtRange
DECLARE_INTERFACE_(IHTMLTxtRange,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(get_htmlText)(THIS_ BSTR*) PURE;
STDMETHOD(put_text)(THIS_ BSTR) PURE;
STDMETHOD(get_text)(THIS_ BSTR*) PURE;
STDMETHOD(parentElement)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(duplicate)(THIS_ IHTMLTxtRange**) PURE;
STDMETHOD(inRange)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
STDMETHOD(isEqual)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
STDMETHOD(scrollIntoView)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(collapse)(THIS_ VARIANT_BOOL) PURE;
STDMETHOD(expand)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(move)(THIS_ BSTR,long,long*) PURE;
STDMETHOD(moveStart)(THIS_ BSTR,long,long*) PURE;
STDMETHOD(moveEnd)(THIS_ BSTR,long,long*) PURE;
STDMETHOD(select)(THIS) PURE;
STDMETHOD(pasteHTML)(THIS_ BSTR) PURE;
STDMETHOD(moveToElementText)(THIS_ LPHTMLELEMENT) PURE;
STDMETHOD(setEndPoint)(THIS_ BSTR,IHTMLTxtRange*) PURE;
STDMETHOD(compareEndPoints)(THIS_ BSTR,IHTMLTxtRange*,long*) PURE;
STDMETHOD(findText)(THIS_ BSTR,long,long,VARIANT_BOOL*) PURE;
STDMETHOD(moveToPoint)(THIS_ long,long) PURE;
STDMETHOD(getBookmark)(THIS_ BSTR*) PURE;
STDMETHOD(moveToBookbark)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
};
EXTERN_C const IID IID_IHTMLElement;
#undef INTERFACE
#define INTERFACE IHTMLElement
DECLARE_INTERFACE_(IHTMLElement,IDispatch)
{
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
STDMETHOD(setAttribute)(THIS_ BSTR,VARIANT,long) PURE;
STDMETHOD(getAttribute)(THIS_ BSTR,long,VARIANT*) PURE;
STDMETHOD(removeAttribute)(THIS_ BSTR,long,VARIANT_BOOL*) PURE;
STDMETHOD(put_className)(THIS_ BSTR) PURE;
STDMETHOD(get_className)(THIS_ BSTR*) PURE;
STDMETHOD(put_id)(THIS_ BSTR) PURE;
STDMETHOD(get_id)(THIS_ BSTR*) PURE;
STDMETHOD(get_tagName)(THIS_ BSTR*) PURE;
STDMETHOD(get_parentElement)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(get_style)(THIS_ LPHTMLSTYLE*) PURE;
STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
STDMETHOD(get_document)(THIS_ IDispatch**) PURE;
STDMETHOD(put_title)(THIS_ BSTR) PURE;
STDMETHOD(get_title)(THIS_ BSTR*) PURE;
STDMETHOD(put_language)(THIS_ BSTR) PURE;
STDMETHOD(get_language)(THIS_ BSTR*) PURE;
STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
STDMETHOD(scrollIntoView)(THIS_ VARIANT) PURE;
STDMETHOD(contains)(THIS_ LPHTMLELEMENT,VARIANT_BOOL*) PURE;
STDMETHOD(get_source3Index)(THIS_ long*) PURE;
STDMETHOD(get_recordNumber)(THIS_ VARIANT*) PURE;
STDMETHOD(put_lang)(THIS_ BSTR) PURE;
STDMETHOD(get_lang)(THIS_ BSTR*) PURE;
STDMETHOD(get_offsetLeft)(THIS_ long*) PURE;
STDMETHOD(get_offsetTop)(THIS_ long*) PURE;
STDMETHOD(get_offsetWidth)(THIS_ long*) PURE;
STDMETHOD(get_offsetHeight)(THIS_ long*) PURE;
STDMETHOD(get_offsetParent)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(put_innerHTML)(THIS_ BSTR) PURE;
STDMETHOD(get_innerHTML)(THIS_ BSTR*) PURE;
STDMETHOD(put_innerText)(THIS_ BSTR) PURE;
STDMETHOD(get_innerText)(THIS_ BSTR*) PURE;
STDMETHOD(put_outerHTML)(THIS_ BSTR) PURE;
STDMETHOD(get_outerHTML)(THIS_ BSTR*) PURE;
STDMETHOD(put_outerText)(THIS_ BSTR) PURE;
STDMETHOD(get_outerText)(THIS_ BSTR*) PURE;
STDMETHOD(insertAdjacentHTML)(THIS_ BSTR,BSTR) PURE;
STDMETHOD(insertAdjacentText)(THIS_ BSTR,BSTR) PURE;
STDMETHOD(get_parentTextEdit)(THIS_ LPHTMLELEMENT*) PURE;
STDMETHOD(isTextEdit)(THIS_ VARIANT_BOOL*) PURE;
STDMETHOD(click)(THIS) PURE;
STDMETHOD(get_filters)(THIS_ LPHTMLFILTERSCOLLECTION*) PURE;
STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
STDMETHOD(toString)(THIS_ BSTR*) PURE;
STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondatasetchanged)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondatasetchanged)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondataavailable)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondataavailable)(THIS_ VARIANT*) PURE;
STDMETHOD(put_ondatasetcomplete)(THIS_ VARIANT) PURE;
STDMETHOD(get_ondatasetcomplete)(THIS_ VARIANT*) PURE;
STDMETHOD(put_onfilterchange)(THIS_ VARIANT) PURE;
STDMETHOD(get_onfilterchange)(THIS_ VARIANT*) PURE;
STDMETHOD(get_children)(THIS_ IDispatch**) PURE;
STDMETHOD(get_all)(THIS_ IDispatch**) PURE;
};
#ifdef __cplusplus
}
#endif
#endif
--- NEW FILE: shlwapi.h ---
#ifndef _SHLWAPI_H
#define _SHLWAPI_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __OBJC__
#include <objbase.h>
#include <shlobj.h>
#endif
#ifndef WINSHLWAPI
#define WINSHLWAPI DECLSPEC_IMPORT
#endif
#define DLLVER_PLATFORM_WINDOWS 0x00000001
#define DLLVER_PLATFORM_NT 0x00000002
#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
#define URL_DONT_SIMPLIFY 0x08000000
#define URL_ESCAPE_PERCENT 0x00001000
#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
#define URL_ESCAPE_SPACES_ONLY 0x04000000
#define URL_ESCAPE_UNSAFE 0x20000000
#define URL_INTERNAL_PATH 0x00800000
#define URL_PARTFLAG_KEEPSCHEME 0x00000001
#define URL_PLUGGABLE_PROTOCOL 0x40000000
#define URL_UNESCAPE 0x10000000
#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
#define URL_UNESCAPE_INPLACE 0x00100000
#ifndef RC_INVOKED
#include <pshpack1.h>
typedef struct _DllVersionInfo
{
DWORD cbSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformID;
} DLLVERSIONINFO;
typedef struct _DLLVERSIONINFO2
{
DLLVERSIONINFO info1;
DWORD dwFlags;
ULONGLONG ullVersion;
} DLLVERSIONINFO2;
#include <poppack.h>
#define MAKEDLLVERULL(major, minor, build, qfe) \
(((ULONGLONG)(major) << 48) | \
((ULONGLONG)(minor) << 32) | \
((ULONGLONG)(build) << 16) | \
((ULONGLONG)( qfe) << 0))
typedef enum {
ASSOCSTR_COMMAND,
ASSOCSTR_EXECUTABLE,
ASSOCSTR_FRIENDLYDOCNAME,
ASSOCSTR_FRIENDLYAPPNAME,
ASSOCSTR_NOOPEN,
ASSOCSTR_SHELLNEWVALUE,
ASSOCSTR_DDECOMMAND,
ASSOCSTR_DDEIFEXEC,
ASSOCSTR_DDEAPPLICATION,
ASSOCSTR_DDETOPIC
} ASSOCSTR;
typedef enum
{
ASSOCKEY_SHELLEXECCLASS = 1,
ASSOCKEY_APP,
ASSOCKEY_CLASS,
ASSOCKEY_BASECLASS
} ASSOCKEY;
typedef enum
{
ASSOCDATA_MSIDESCRIPTOR = 1,
ASSOCDATA_NOACTIVATEHANDLER,
ASSOCDATA_QUERYCLASSSTORE
} ASSOCDATA;
typedef DWORD ASSOCF;
typedef enum
{
SHREGDEL_DEFAULT = 0x00000000,
SHREGDEL_HKCU = 0x00000001,
SHREGDEL_HKLM = 0x00000010,
SHREGDEL_BOTH = 0x00000011
} SHREGDEL_FLAGS;
typedef enum
{
SHREGENUM_DEFAULT = 0x00000000,
SHREGENUM_HKCU = 0x00000001,
SHREGENUM_HKLM = 0x00000010,
SHREGENUM_BOTH = 0x00000011
} SHREGENUM_FLAGS;
typedef enum
{
URLIS_URL,
URLIS_OPAQUE,
URLIS_NOHISTORY,
URLIS_FILEURL,
URLIS_APPLIABLE,
URLIS_DIRECTORY,
URLIS_HASQUERY
} URLIS;
typedef HANDLE HUSKEY, *PHUSKEY;
typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
WINSHLWAPI BOOL WINAPI ChrCmpIA(WORD,WORD);
WINSHLWAPI BOOL WINAPI ChrCmpIW(WCHAR,WCHAR);
#define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
#define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
#define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
#define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
WINSHLWAPI BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
WINSHLWAPI BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
WINSHLWAPI HRESULT WINAPI SHStrDupA(LPCSTR,LPWSTR*);
WINSHLWAPI HRESULT WINAPI SHStrDupW(LPCWSTR,LPWSTR*);
WINSHLWAPI LPSTR WINAPI StrCatA(LPSTR,LPCSTR);
WINSHLWAPI LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,int);
WINSHLWAPI LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,int);
WINSHLWAPI DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
WINSHLWAPI LPSTR WINAPI StrChrA(LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
WINSHLWAPI LPSTR WINAPI StrChrIA(LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
#define StrCmpIA lstrcmpiA
#define StrCmpA lstrcmpA
#define StrCpyA lstrcpyA
#define StrCpyNA lstrcpynA
WINSHLWAPI int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
WINSHLWAPI LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
WINSHLWAPI LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
WINSHLWAPI int WINAPI StrCmpNA(LPCSTR,LPCSTR,int);
WINSHLWAPI int WINAPI StrCmpNW(LPCWSTR,LPCWSTR,int);
WINSHLWAPI int WINAPI StrCmpNIA(LPCSTR,LPCSTR,int);
WINSHLWAPI int WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,int);
WINSHLWAPI int WINAPI StrCSpnA(LPCSTR,LPCSTR);
WINSHLWAPI int WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI StrCSpnIA(LPCSTR,LPCSTR);
WINSHLWAPI int WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI StrDupA(LPCSTR);
WINSHLWAPI LPWSTR WINAPI StrDupW(LPCWSTR);
WINSHLWAPI LPSTR WINAPI StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
WINSHLWAPI LPSTR WINAPI StrFormatByteSizeA(DWORD,LPSTR,UINT);
WINSHLWAPI LPWSTR WINAPI StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
WINSHLWAPI LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
WINSHLWAPI LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
WINSHLWAPI int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
WINSHLWAPI int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
WINSHLWAPI BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
WINSHLWAPI BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
WINSHLWAPI LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
WINSHLWAPI LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
WINSHLWAPI LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
WINSHLWAPI LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
#ifndef __OBJC__
WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
#endif
WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
WINSHLWAPI int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
WINSHLWAPI LPTSTR WINAPI StrStrA(LPCSTR,LPCSTR);
WINSHLWAPI LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
WINSHLWAPI LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
WINSHLWAPI LPTSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI StrToIntA(LPCSTR);
WINSHLWAPI int WINAPI StrToIntW(LPCWSTR);
WINSHLWAPI BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
WINSHLWAPI BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
WINSHLWAPI BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI PathAddBackslashA(LPSTR);
WINSHLWAPI LPWSTR WINAPI PathAddBackslashW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
WINSHLWAPI BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI PathBuildRootA(LPSTR,int);
WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
WINSHLWAPI BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
WINSHLWAPI BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
WINSHLWAPI BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
WINSHLWAPI HRESULT WINAPI PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI BOOL WINAPI PathFileExistsA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathFileExistsW(LPCWSTR);
WINSHLWAPI LPTSTR WINAPI PathFindExtensionA(LPCWSTR);
WINSHLWAPI LPTSTR WINAPI PathFindExtensionW(LPCSTR);
WINSHLWAPI LPSTR WINAPI PathFindFileNameA(LPCSTR);
WINSHLWAPI LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
WINSHLWAPI LPSTR WINAPI PathFindNextComponentA(LPCSTR);
WINSHLWAPI LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
WINSHLWAPI BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
WINSHLWAPI LPCTSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
WINSHLWAPI LPCTSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
WINSHLWAPI LPSTR WINAPI PathGetArgsA(LPCSTR);
WINSHLWAPI LPWSTR WINAPI PathGetArgsW(LPCWSTR);
WINSHLWAPI UINT WINAPI PathGetCharTypeA(UCHAR);
WINSHLWAPI UINT WINAPI PathGetCharTypeW(WCHAR);
WINSHLWAPI int WINAPI PathGetDriveNumberA(LPCSTR);
WINSHLWAPI int WINAPI PathGetDriveNumberW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsDirectoryA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsDirectoryW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsFileSpecA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsFileSpecW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsNetworkPathA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsRelativeA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsRelativeW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsRootA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsRootW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
WINSHLWAPI BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
WINSHLWAPI BOOL WINAPI PathIsUNCA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsUNCServerA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsUNCServerW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsUNCW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR);
WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR);
WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR);
WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPSTR);
WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR);
WINSHLWAPI int WINAPI PathParseIconLocationW(LPWSTR);
WINSHLWAPI void WINAPI PathQuoteSpacesA(LPSTR);
WINSHLWAPI void WINAPI PathQuoteSpacesW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCWSTR,DWORD);
WINSHLWAPI BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCSTR,DWORD);
WINSHLWAPI void WINAPI PathRemoveArgsA(LPSTR);
WINSHLWAPI void WINAPI PathRemoveArgsW(LPWSTR);
WINSHLWAPI LPSTR WINAPI PathRemoveBackslashA(LPSTR);
WINSHLWAPI LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
WINSHLWAPI void WINAPI PathRemoveBlanksA(LPSTR);
WINSHLWAPI void WINAPI PathRemoveBlanksW(LPWSTR);
WINSHLWAPI void WINAPI PathRemoveExtensionA(LPSTR);
WINSHLWAPI void WINAPI PathRemoveExtensionW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathRemoveFileSpecA(LPSTR);
WINSHLWAPI BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
WINSHLWAPI BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
WINSHLWAPI BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
WINSHLWAPI BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
WINSHLWAPI void WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
WINSHLWAPI void WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
WINSHLWAPI LPSTR WINAPI PathSkipRootA(LPCSTR);
WINSHLWAPI LPWSTR WINAPI PathSkipRootW(LPCWSTR);
WINSHLWAPI void WINAPI PathStripPathA(LPSTR);
WINSHLWAPI void WINAPI PathStripPathW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathStripToRootA(LPSTR);
WINSHLWAPI BOOL WINAPI PathStripToRootW(LPWSTR);
WINSHLWAPI void WINAPI PathUndecorateA(LPSTR);
WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR);
WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPSTR);
WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
#ifndef __OBJC__
WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
#endif
WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
WINSHLWAPI DWORD WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
WINSHLWAPI DWORD WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
#ifndef __OBJC__
WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
#endif
WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
WINSHLWAPI DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
WINSHLWAPI DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
WINSHLWAPI DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
WINSHLWAPI HRESULT WINAPI AssocCreate(CLSID,const IID* const,LPVOID*);
WINSHLWAPI HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
WINSHLWAPI HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
WINSHLWAPI HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
WINSHLWAPI HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
WINSHLWAPI HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI int WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
WINSHLWAPI int WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
WINSHLWAPI HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
WINSHLWAPI LPCTSTR WINAPI UrlGetLocationA(LPCSTR);
WINSHLWAPI LPCTSTR WINAPI UrlGetLocationW(LPCWSTR);
WINSHLWAPI HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlHashA(LPCSTR,LPBYTE,DWORD);
WINSHLWAPI HRESULT WINAPI UrlHashW(LPCWSTR,LPBYTE,DWORD);
WINSHLWAPI BOOL WINAPI UrlIsA(LPCSTR,URLIS);
WINSHLWAPI BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
#define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
#define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
WINSHLWAPI BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
WINSHLWAPI BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
WINSHLWAPI BOOL WINAPI UrlIsOpaqueA(LPCSTR);
WINSHLWAPI BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
WINSHLWAPI HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
#define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
#define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
WINSHLWAPI DWORD WINAPI SHRegCloseUSKey(HUSKEY);
WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY);
WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
WINSHLWAPI DWORD WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
WINSHLWAPI DWORD WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
WINSHLWAPI DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
WINSHLWAPI DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
WINSHLWAPI DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
WINSHLWAPI LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
WINSHLWAPI LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
WINSHLWAPI LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
WINSHLWAPI LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
WINSHLWAPI HRESULT WINAPI HashData(LPBYTE,DWORD,LPBYTE,DWORD);
WINSHLWAPI HPALETTE WINAPI SHCreateShellPalette(HDC);
WINSHLWAPI COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
WINSHLWAPI COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
WINSHLWAPI void WINAPI ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);
WINSHLWAPI int __cdecl wnsprintfA(LPSTR,int,LPCSTR,...);
WINSHLWAPI int __cdecl wnsprintfW(LPWSTR,int,LPCWSTR,...);
WINSHLWAPI int WINAPI wvnsprintfA(LPSTR,int,LPCSTR,va_list);
WINSHLWAPI int WINAPI wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
HINSTANCE WINAPI MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL);
HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
#ifdef UNICODE
#define ChrCmpI ChrCmpIW
#define IntlStrEqN IntlStrEqNW
#define IntlStrEqNI IntlStrEqNIW
#define IntlStrEqWorker IntlStrEqWorkerW
#define SHStrDup SHStrDupW
#define StrCat StrCatW
#define StrCatBuff StrCatBuffW
#define StrChr StrChrW
#define StrChrI StrChrIW
#define StrCmp StrCmpW
#define StrCmpI StrCmpIW
#define StrCmpNI StrCmpNIW
#define StrCmpN StrCmpNW
#define StrCpyN StrCpyNW
#define StrCpy StrCpyW
#define StrCSpnI StrCSpnIW
#define StrCSpn StrCSpnW
#define StrDup StrDupW
#define StrFormatByteSize StrFormatByteSizeW
#define StrFormatKBSize StrFormatKBSizeW
#define StrFromTimeInterval StrFromTimeIntervalW
#define StrIsIntlEqual StrIsIntlEqualW
#define StrNCat StrNCatW
#define StrPBrk StrPBrkW
#define StrRChr StrRChrW
#define StrRChrI StrRChrIW
#ifndef __OBJC__
#define StrRetToBuf StrRetToBufW
#define StrRetToStr StrRetToStrW
#endif
#define StrRStrI StrRStrIW
#define StrSpn StrSpnW
#define StrStrI StrStrIW
#define StrStr StrStrW
#define StrToInt StrToIntW
#define StrToIntEx StrToIntExW
#define StrTrim StrTrimW
#define PathAddBackslash PathAddBackslashW
#define PathAddExtension PathAddExtensionW
#define PathAppend PathAppendW
#define PathBuildRoot PathBuildRootW
#define PathCanonicalize PathCanonicalizeW
#define PathCombine PathCombineW
#define PathCommonPrefix PathCommonPrefixW
#define PathCompactPath PathCompactPathW
#define PathCompactPathEx PathCompactPathExW
#define PathCreateFromUrl PathCreateFromUrlW
#define PathFileExists PathFileExistsW
#define PathFindExtension PathFindExtensionW
#define PathFindFileName PathFindFileNameW
#define PathFindNextComponent PathFindNextComponentW
#define PathFindOnPath PathFindOnPathW
#define PathFindSuffixArray PathFindSuffixArrayW
#define PathGetArgs PathGetArgsW
#define PathGetCharType PathGetCharTypeW
#define PathGetDriveNumber PathGetDriveNumberW
#define PathIsContentType PathIsContentTypeW
#define PathIsDirectoryEmpty PathIsDirectoryEmptyW
#define PathIsDirectory PathIsDirectoryW
#define PathIsFileSpec PathIsFileSpecW
#define PathIsLFNFileSpec PathIsLFNFileSpecW
#define PathIsNetworkPath PathIsNetworkPathW
#define PathIsPrefix PathIsPrefixW
#define PathIsRelative PathIsRelativeW
#define PathIsRoot PathIsRootW
#define PathIsSameRoot PathIsSameRootW
#define PathIsSystemFolder PathIsSystemFolderW
#define PathIsUNCServerShare PathIsUNCServerShareW
#define PathIsUNCServer PathIsUNCServerW
#define PathIsUNC PathIsUNCW
#define PathIsURL PathIsURLW
#define PathMakePretty PathMakePrettyW
#define PathMakeSystemFolder PathMakeSystemFolderW
#define PathMatchSpec PathMatchSpecW
#define PathParseIconLocation PathParseIconLocationW
#define PathQuoteSpaces PathQuoteSpacesW
#define PathRelativePathTo PathRelativePathToW
#define PathRemoveArgs PathRemoveArgsW
#define PathRemoveBackslash PathRemoveBackslashW
#define PathRemoveBlanks PathRemoveBlanksW
#define PathRemoveExtension PathRemoveExtensionW
#define PathRemoveFileSpec PathRemoveFileSpecW
#define PathRenameExtension PathRenameExtensionW
#define PathSearchAndQualify PathSearchAndQualifyW
#define PathSetDlgItemPath PathSetDlgItemPathW
#define PathSkipRoot PathSkipRootW
#define PathStripPath PathStripPathW
#define PathStripToRoot PathStripToRootW
#define PathUndecorate PathUndecorateW
#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
#define PathUnquoteSpaces PathUnquoteSpacesW
#ifndef __OBJC__
#define SHCreateStreamOnFile SHCreateStreamOnFileW
#define SHOpenRegStream SHOpenRegStreamW
#define SHOpenRegStream2 SHOpenRegStream2W
#endif
#define SHCopyKey SHCopyKeyW
#define SHDeleteEmptyKey SHDeleteEmptyKeyW
#define SHDeleteKey SHDeleteKeyW
#define SHEnumKeyEx SHEnumKeyExW
#define SHQueryInfoKey SHRegQueryInfoKeyW
#define SHQueryValueEx SHQueryValueExW
#define SHEnumValue SHEnumValueW
#define SHGetValue SHGetValueW
#define SHSetValue SHSetValueW
#define SHDeleteValue SHDeleteValueW
#define AssocQueryKey AssocQueryKeyW
#define AssocQueryStringByKey AssocQueryStringByKeyW
#define AssocQueryString AssocQueryStringW
#define UrlApplyScheme UrlApplySchemeW
#define UrlCanonicalize UrlCanonicalizeW
#define UrlCombine UrlCombineW
#define UrlCompare UrlCompareW
#define UrlCreateFromPath UrlCreateFromPathW
#define UrlEscape UrlEscapeW
#define UrlGetLocation UrlGetLocationW
#define UrlGetPart UrlGetPartW
#define UrlHash UrlHashW
#define UrlIs UrlIsW
#define UrlIsFileUrl UrlIsFileUrlW
#define UrlIsNoHistory UrlIsNoHistoryW
#define UrlIsOpaque UrlIsOpaqueW
#define UrlUnescape UrlUnescapeW
#define UrlUnescapeInPlace UrlUnescapeInPlaceW
#define SHRegCreateUSKey SHRegCreateUSKeyW
#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
#define SHRegDeleteUSValue SHRegDeleteUSValueW
#define SHRegEnumUSKey SHRegEnumUSKeyW
#define SHRegEnumUSValue SHRegEnumUSValueW
#define SHRegGetBoolUSValue SHRegGetBoolUSValueW
#define SHRegGetPath SHRegGetPathW
#define SHRegGetUSValue SHRegGetUSValueW
#define SHRegOpenUSKey SHRegOpenUSKeyW
#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
#define SHRegQueryUSValue SHRegQueryUSValueW
#define SHRegSetPath SHRegSetPathW
#define SHRegSetUSValue SHRegSetUSValueW
#define SHRegWriteUSValue SHRegWriteUSValueW
#define wnsprintf wnsprintfW
#define wvnsprintf wvnsprintfW
#else /* UNICODE */
#define ChrCmpI ChrCmpIA
#define IntlStrEqN IntlStrEqNA
#define IntlStrEqNI IntlStrEqNIA
#define IntlStrEqWorker IntlStrEqWorkerA
#define SHStrDup SHStrDupA
#define StrCat lstrcatA
#define StrCatBuff StrCatBuffA
#define StrChr StrChrA
#define StrChrI StrChrIA
#define StrCmp lstrcmpA
#define StrCmpI lstrcmpiA
#define StrCmpNI StrCmpNIA
#define StrCmpN StrCmpNA
#define StrCpyN lstrcpynA
#define StrCpy lstrcpyA
#define StrCSpnI StrCSpnIA
#define StrCSpn StrCSpnA
#define StrDup StrDupA
#define StrFormatByteSize StrFormatByteSizeA
#define StrFormatKBSize StrFormatKBSizeA
#define StrFromTimeInterval StrFromTimeIntervalA
#define StrIsIntlEqual StrIsIntlEqualA
#define StrNCat StrNCatA
#define StrPBrk StrPBrkA
#define StrRChr StrRChrA
#define StrRChrI StrRChrIA
#ifndef __OBJC__
#define StrRetToBuf StrRetToBufA
#define StrRetToStr StrRetToStrA
#endif
#define StrRStrI StrRStrIA
#define StrSpn StrSpnA
#define StrStrI StrStrIA
#define StrStr StrStrA
#define StrToInt StrToIntA
#define StrToIntEx StrToIntExA
#define StrTrim StrTrimA
#define PathAddBackslash PathAddBackslashA
#define PathAddExtension PathAddExtensionA
#define PathAppend PathAppendA
#define PathBuildRoot PathBuildRootA
#define PathCanonicalize PathCanonicalizeA
#define PathCombine PathCombineA
#define PathCommonPrefix PathCommonPrefixA
#define PathCompactPath PathCompactPathA
#define PathCompactPathEx PathCompactPathExA
#define PathCreateFromUrl PathCreateFromUrlA
#define PathFileExists PathFileExistsA
#define PathFindExtension PathFindExtensionA
#define PathFindFileName PathFindFileNameA
#define PathFindNextComponent PathFindNextComponentA
#define PathFindOnPath PathFindOnPathA
#define PathFindSuffixArray PathFindSuffixArrayA
#define PathGetArgs PathGetArgsA
#define PathGetCharType PathGetCharTypeA
#define PathGetDriveNumber PathGetDriveNumberA
#define PathIsContentType PathIsContentTypeA
#define PathIsDirectoryEmpty PathIsDirectoryEmptyA
#define PathIsDirectory PathIsDirectoryA
#define PathIsFileSpec PathIsFileSpecA
#define PathIsLFNFileSpec PathIsLFNFileSpecA
#define PathIsNetworkPath PathIsNetworkPathA
#define PathIsPrefix PathIsPrefixA
#define PathIsRelative PathIsRelativeA
#define PathIsRoot PathIsRootA
#define PathIsSameRoot PathIsSameRootA
#define PathIsSystemFolder PathIsSystemFolderA
#define PathIsUNCServerShare PathIsUNCServerShareA
#define PathIsUNCServer PathIsUNCServerA
#define PathIsUNC PathIsUNCA
#define PathIsURL PathIsURLA
#define PathMakePretty PathMakePrettyA
#define PathMakeSystemFolder PathMakeSystemFolderA
#define PathMatchSpec PathMatchSpecA
#define PathParseIconLocation PathParseIconLocationA
#define PathQuoteSpaces PathQuoteSpacesA
#define PathRelativePathTo PathRelativePathToA
#define PathRemoveArgs PathRemoveArgsA
#define PathRemoveBackslash PathRemoveBackslashA
#define PathRemoveBlanks PathRemoveBlanksA
#define PathRemoveExtension PathRemoveExtensionA
#define PathRemoveFileSpec PathRemoveFileSpecA
#define PathRenameExtension PathRenameExtensionA
#define PathSearchAndQualify PathSearchAndQualifyA
#define PathSetDlgItemPath PathSetDlgItemPathA
#define PathSkipRoot PathSkipRootA
#define PathStripPath PathStripPathA
#define PathStripToRoot PathStripToRootA
#define PathUndecorate PathUndecorateA
#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
#define PathUnquoteSpaces PathUnquoteSpacesA
#ifndef __OBJC__
#define SHCreateStreamOnFile SHCreateStreamOnFileA
#define SHOpenRegStream SHOpenRegStreamA
#define SHOpenRegStream2 SHOpenRegStream2A
#endif
#define SHCopyKey SHCopyKeyA
#define SHDeleteEmptyKey SHDeleteEmptyKeyA
#define SHDeleteKey SHDeleteKeyA
#define SHEnumKeyEx SHEnumKeyExA
#define SHQueryInfoKey SHRegQueryInfoKeyA
#define SHQueryValueEx SHQueryValueExA
#define SHEnumValue SHEnumValueA
#define SHGetValue SHGetValueA
#define SHSetValue SHSetValueA
#define SHDeleteValue SHDeleteValueA
#define AssocQueryKey AssocQueryKeyA
#define AssocQueryStringByKey AssocQueryStringByKeyA
#define AssocQueryString AssocQueryStringA
#define UrlApplyScheme UrlApplySchemeA
#define UrlCanonicalize UrlCanonicalizeA
#define UrlCombine UrlCombineA
#define UrlCompare UrlCompareA
#define UrlCreateFromPath UrlCreateFromPathA
#define UrlEscape UrlEscapeA
#define UrlGetLocation UrlGetLocationA
#define UrlGetPart UrlGetPartA
#define UrlHash UrlHashA
#define UrlIs UrlIsA
#define UrlIsFileUrl UrlIsFileUrl
#define UrlIsNoHistory UrlIsNoHistoryA
#define UrlIsOpaque UrlIsOpaqueA
#define UrlUnescape UrlUnescapeA
#define UrlUnescapeInPlace UrlUnescapeInPlaceA
#define SHRegCreateUSKey SHRegCreateUSKeyA
#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
#define SHRegDeleteUSValue SHRegDeleteUSValueA
#define SHRegEnumUSKey SHRegEnumUSKeyA
#define SHRegEnumUSValue SHRegEnumUSValueA
#de...
[truncated message content] |
|
From: <ea...@us...> - 2002-08-12 12:23:50
|
Update of /cvsroot/mingw/w32api/lib In directory usw-pr-cvs1:/tmp/cvs-serv2658/lib Added Files: msimg32.def shlwapi.def Log Message: Merge winsup changes --- NEW FILE: msimg32.def --- LIBRARY MSIMG32.DLL EXPORTS AlphaBlend@44 GradientFill@24 TransparentBlt@44 --- NEW FILE: shlwapi.def --- LIBRARY SHLWAPI.DLL EXPORTS AssocCreate@24 AssocQueryKeyA@20 AssocQueryKeyW@20 AssocQueryStringA@24 AssocQueryStringByKeyA@24 AssocQueryStringByKeyW@24 AssocQueryStringW@24 ChrCmpIA@8 ChrCmpIW@8 ColorAdjustLuma@12 ColorHLSToRGB@12 ColorRGBToHLS@16 GetMenuPosFromID@8 HashData@16 IntlStrEqWorkerA@16 IntlStrEqWorkerW@16 PathAddBackslashA@4 PathAddBackslashW@4 PathAddExtensionA@8 PathAddExtensionW@8 PathAppendA@8 PathAppendW@8 PathBuildRootA@8 PathBuildRootW@8 PathCanonicalizeA@8 PathCanonicalizeW@8 PathCombineA@12 PathCombineW@12 PathCommonPrefixA@12 PathCommonPrefixW@12 PathCompactPathA@12 PathCompactPathExA@16 PathCompactPathExW@16 PathCompactPathW@12 PathCreateFromUrlA@16 PathCreateFromUrlW@16 PathFileExistsA@4 PathFileExistsW@4 PathFindExtensionA@4 PathFindExtensionW@4 PathFindFileNameA@4 PathFindFileNameW@4 PathFindNextComponentA@4 PathFindNextComponentW@4 PathFindOnPathA@8 PathFindOnPathW@8 PathFindSuffixArrayA@12 PathFindSuffixArrayW@12 PathGetArgsA@4 PathGetArgsW@4 PathGetCharTypeA@4 PathGetCharTypeW@4 PathGetDriveNumberA@4 PathGetDriveNumberW@4 PathIsContentTypeA@8 PathIsContentTypeW@8 PathIsDirectoryA@4 PathIsDirectoryEmptyA@4 PathIsDirectoryEmptyW@4 PathIsDirectoryW@4 PathIsFileSpecA@4 PathIsFileSpecW@4 PathIsLFNFileSpecA@4 PathIsLFNFileSpecW@4 PathIsNetworkPathA@4 PathIsNetworkPathW@4 PathIsPrefixA@8 PathIsPrefixW@8 PathIsRelativeA@4 PathIsRelativeW@4 PathIsRootA@4 PathIsRootW@4 PathIsSameRootA@8 PathIsSameRootW@8 PathIsSystemFolderA@8 PathIsSystemFolderW@8 PathIsUNCA@4 PathIsUNCServerA@4 PathIsUNCServerShareA@4 PathIsUNCServerShareW@4 PathIsUNCServerW@4 PathIsUNCW@4 PathIsURLA@4 PathIsURLW@4 PathMakePrettyA@4 PathMakePrettyW@4 PathMakeSystemFolderA@4 PathMakeSystemFolderW@4 PathMatchSpecA@8 PathMatchSpecW@8 PathParseIconLocationA@4 PathParseIconLocationW@4 PathQuoteSpacesA@4 PathQuoteSpacesW@4 PathRelativePathToA@20 PathRelativePathToW@20 PathRemoveArgsA@4 PathRemoveArgsW@4 PathRemoveBackslashA@4 PathRemoveBackslashW@4 PathRemoveBlanksA@4 PathRemoveBlanksW@4 PathRemoveExtensionA@4 PathRemoveExtensionW@4 PathRemoveFileSpecA@4 PathRemoveFileSpecW@4 PathRenameExtensionA@8 PathRenameExtensionW@8 PathSearchAndQualifyA@12 PathSearchAndQualifyW@12 PathSetDlgItemPathA@12 PathSetDlgItemPathW@12 PathSkipRootA@4 PathSkipRootW@4 PathStripPathA@4 PathStripPathW@4 PathStripToRootA@4 PathStripToRootW@4 PathUnExpandEnvStringsA@12 PathUnExpandEnvStringsW@12 PathUndecorateA@4 PathUndecorateW@4 PathUnmakeSystemFolderA@4 PathUnmakeSystemFolderW@4 PathUnquoteSpacesA@4 PathUnquoteSpacesW@4 SHAutoComplete@8 SHCopyKeyA@16 SHCopyKeyW@16 SHCreateShellPalette@4 SHCreateStreamOnFileA@12 SHCreateStreamOnFileEx@24 SHCreateStreamOnFileW@12 SHCreateStreamWrapper@16 SHCreateThread@16 SHDeleteEmptyKeyA@8 SHDeleteEmptyKeyW@8 SHDeleteKeyA@8 SHDeleteKeyW@8 SHDeleteOrphanKeyA@8 SHDeleteOrphanKeyW@8 SHDeleteValueA@12 SHDeleteValueW@12 SHEnumKeyExA@16 SHEnumKeyExW@16 SHEnumValueA@28 SHEnumValueW@28 SHGetInverseCMAP@8 SHGetThreadRef@4 SHGetValueA@24 SHGetValueW@24 SHIsLowMemoryMachine@4 SHLoadIndirectString@16 SHOpenRegStream2A@16 SHOpenRegStream2W@16 SHOpenRegStreamA@16 SHOpenRegStreamW@16 SHQueryInfoKeyA@20 SHQueryInfoKeyW@20 SHQueryValueExA@24 SHQueryValueExW@24 SHRegCloseUSKey@4 SHRegCreateUSKeyA@20 SHRegCreateUSKeyW@20 SHRegDeleteEmptyUSKeyA@12 SHRegDeleteEmptyUSKeyW@12 SHRegDeleteUSValueA@12 SHRegDeleteUSValueW@12 SHRegDuplicateHKey@4 SHRegEnumUSKeyA@20 SHRegEnumUSKeyW@20 SHRegEnumUSValueA@32 SHRegEnumUSValueW@32 SHRegGetBoolUSValueA@16 SHRegGetBoolUSValueW@16 SHRegGetPathA@20 SHRegGetPathW@20 SHRegGetUSValueA@32 SHRegGetUSValueW@32 SHRegOpenUSKeyA@20 SHRegOpenUSKeyW@20 SHRegQueryInfoUSKeyA@24 SHRegQueryInfoUSKeyW@24 SHRegQueryUSValueA@32 SHRegQueryUSValueW@32 SHRegSetPathA@20 SHRegSetPathW@20 SHRegSetUSValueA@24 SHRegSetUSValueW@24 SHRegWriteUSValueA@24 SHRegWriteUSValueW@24 SHRegisterValidateTemplate@8 SHReleaseThreadRef@0 SHSetThreadRef@4 SHSetValueA@24 SHSetValueW@24 SHSkipJunction@8 SHStrDupA@8 SHStrDupW@8 StrCSpnA@8 StrCSpnIA@8 StrCSpnIW@8 StrCSpnW@8 StrCatBuffA@12 StrCatBuffW@12 StrCatChainW@16 StrCatW@8 StrChrA@8 StrChrIA@8 StrChrIW@8 StrChrNIW@12 StrChrNW@12 StrChrW@8 StrCmpIW@8 StrCmpLogicalW@8 StrCmpNA@12 StrCmpNIA@12 StrCmpNIW@12 StrCmpNW@12 StrCmpW@8 StrCpyNW@12 StrCpyW@8 StrDupA@4 StrDupW@4 StrFormatByteSize64A@16 StrFormatByteSizeA@12 StrFormatByteSizeW@16 StrFormatKBSizeA@16 StrFormatKBSizeW@16 StrFromTimeIntervalA@16 StrFromTimeIntervalW@16 StrIsIntlEqualA@16 StrIsIntlEqualW@16 StrNCatA@12 StrNCatW@12 StrPBrkA@8 StrPBrkW@8 StrRChrA@12 StrRChrIA@12 StrRChrIW@12 StrRChrW@12 StrRStrIA@12 StrRStrIW@12 StrRetToBSTR@12 StrRetToBufA@16 StrRetToBufW@16 StrRetToStrA@12 StrRetToStrW@12 StrSpnA@8 StrSpnW@8 StrStrA@8 StrStrIA@8 StrStrIW@8 StrStrNIW@12 StrStrNW@12 StrStrW@8 StrToInt64ExA@12 StrToInt64ExW@12 StrToIntA@4 StrToIntExA@12 StrToIntExW@12 StrToIntW@4 StrTrimA@8 StrTrimW@8 UrlApplySchemeA@16 UrlApplySchemeW@16 UrlCanonicalizeA@16 UrlCanonicalizeW@16 UrlCombineA@20 UrlCombineW@20 UrlCompareA@12 UrlCompareW@12 UrlCreateFromPathA@16 UrlCreateFromPathW@16 UrlEscapeA@16 UrlEscapeW@16 UrlGetLocationA@4 UrlGetLocationW@4 UrlGetPartA@20 UrlGetPartW@20 UrlHashA@12 UrlHashW@12 UrlIsA@8 UrlIsNoHistoryA@4 UrlIsNoHistoryW@4 UrlIsOpaqueA@4 UrlIsOpaqueW@4 UrlIsW@8 UrlUnescapeA@16 UrlUnescapeW@16 wnsprintfA wnsprintfW wvnsprintfA@16 wvnsprintfW@16 |