add clang
This commit is contained in:
parent
4715742aa8
commit
9a4b261179
890 changed files with 229323 additions and 20 deletions
149
05/tcc-final/win32/include/winapi/basetsd.h
Normal file
149
05/tcc-final/win32/include/winapi/basetsd.h
Normal file
|
@ -0,0 +1,149 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _BASETSD_H_
|
||||
#define _BASETSD_H_
|
||||
|
||||
#if (defined(__x86_64) || defined(__ia64__)) && !defined(RC_INVOKED)
|
||||
typedef unsigned __int64 POINTER_64_INT;
|
||||
#else
|
||||
typedef unsigned long POINTER_64_INT;
|
||||
#endif
|
||||
|
||||
#define POINTER_32
|
||||
#define POINTER_64
|
||||
#define FIRMWARE_PTR
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef signed char INT8,*PINT8;
|
||||
typedef signed short INT16,*PINT16;
|
||||
typedef signed int INT32,*PINT32;
|
||||
typedef signed __int64 INT64,*PINT64;
|
||||
typedef unsigned char UINT8,*PUINT8;
|
||||
typedef unsigned short UINT16,*PUINT16;
|
||||
typedef unsigned int UINT32,*PUINT32;
|
||||
typedef unsigned __int64 UINT64,*PUINT64;
|
||||
typedef signed int LONG32,*PLONG32;
|
||||
typedef unsigned int ULONG32,*PULONG32;
|
||||
typedef unsigned int DWORD32,*PDWORD32;
|
||||
|
||||
#ifndef _W64
|
||||
#define _W64
|
||||
#endif
|
||||
|
||||
#ifdef _WIN64
|
||||
typedef __int64 INT_PTR,*PINT_PTR;
|
||||
typedef unsigned __int64 UINT_PTR,*PUINT_PTR;
|
||||
typedef __int64 LONG_PTR,*PLONG_PTR;
|
||||
typedef unsigned __int64 ULONG_PTR,*PULONG_PTR;
|
||||
#define __int3264 __int64
|
||||
#else
|
||||
typedef int INT_PTR,*PINT_PTR;
|
||||
typedef unsigned int UINT_PTR,*PUINT_PTR;
|
||||
typedef long LONG_PTR,*PLONG_PTR;
|
||||
typedef unsigned long ULONG_PTR,*PULONG_PTR;
|
||||
#define __int3264 __int32
|
||||
#endif
|
||||
|
||||
#ifdef _WIN64
|
||||
#define ADDRESS_TAG_BIT 0x40000000000ULL
|
||||
typedef __int64 SHANDLE_PTR;
|
||||
typedef unsigned __int64 HANDLE_PTR;
|
||||
typedef unsigned int UHALF_PTR,*PUHALF_PTR;
|
||||
typedef int HALF_PTR,*PHALF_PTR;
|
||||
|
||||
static __inline unsigned long HandleToULong(const void *h) { return((unsigned long) (ULONG_PTR) h); }
|
||||
static __inline long HandleToLong(const void *h) { return((long) (LONG_PTR) h); }
|
||||
static __inline void *ULongToHandle(const unsigned long h) { return((void *) (UINT_PTR) h); }
|
||||
static __inline void *LongToHandle(const long h) { return((void *) (INT_PTR) h); }
|
||||
static __inline unsigned long PtrToUlong(const void *p) { return((unsigned long) (ULONG_PTR) p); }
|
||||
static __inline unsigned int PtrToUint(const void *p) { return((unsigned int) (UINT_PTR) p); }
|
||||
static __inline unsigned short PtrToUshort(const void *p) { return((unsigned short) (unsigned long) (ULONG_PTR) p); }
|
||||
static __inline long PtrToLong(const void *p) { return((long) (LONG_PTR) p); }
|
||||
static __inline int PtrToInt(const void *p) { return((int) (INT_PTR) p); }
|
||||
static __inline short PtrToShort(const void *p) { return((short) (long) (LONG_PTR) p); }
|
||||
static __inline void *IntToPtr(const int i) { return((void *)(INT_PTR)i); }
|
||||
static __inline void *UIntToPtr(const unsigned int ui) { return((void *)(UINT_PTR)ui); }
|
||||
static __inline void *LongToPtr(const long l) { return((void *)(LONG_PTR)l); }
|
||||
static __inline void *ULongToPtr(const unsigned long ul) { return((void *)(ULONG_PTR)ul); }
|
||||
|
||||
#define PtrToPtr64(p) ((void *) p)
|
||||
#define Ptr64ToPtr(p) ((void *) p)
|
||||
#define HandleToHandle64(h) (PtrToPtr64(h))
|
||||
#define Handle64ToHandle(h) (Ptr64ToPtr(h))
|
||||
|
||||
static __inline void *Ptr32ToPtr(const void *p) { return (void *)p; }
|
||||
static __inline void *Handle32ToHandle(const void *h) { return((void *) h); }
|
||||
static __inline void *PtrToPtr32(const void *p) { return((void *) (ULONG_PTR) p); }
|
||||
|
||||
#define HandleToHandle32(h) (PtrToPtr32(h))
|
||||
#else
|
||||
|
||||
#define ADDRESS_TAG_BIT 0x80000000UL
|
||||
|
||||
typedef unsigned short UHALF_PTR,*PUHALF_PTR;
|
||||
typedef short HALF_PTR,*PHALF_PTR;
|
||||
typedef long SHANDLE_PTR;
|
||||
typedef unsigned long HANDLE_PTR;
|
||||
|
||||
#define HandleToULong(h) ((ULONG)(ULONG_PTR)(h))
|
||||
#define HandleToLong(h) ((LONG)(LONG_PTR) (h))
|
||||
#define ULongToHandle(ul) ((HANDLE)(ULONG_PTR) (ul))
|
||||
#define LongToHandle(h) ((HANDLE)(LONG_PTR) (h))
|
||||
#define PtrToUlong(p) ((ULONG)(ULONG_PTR) (p))
|
||||
#define PtrToLong(p) ((LONG)(LONG_PTR) (p))
|
||||
#define PtrToUint(p) ((UINT)(UINT_PTR) (p))
|
||||
#define PtrToInt(p) ((INT)(INT_PTR) (p))
|
||||
#define PtrToUshort(p) ((unsigned short)(ULONG_PTR)(p))
|
||||
#define PtrToShort(p) ((short)(LONG_PTR)(p))
|
||||
#define IntToPtr(i) ((VOID *)(INT_PTR)((int)i))
|
||||
#define UIntToPtr(ui) ((VOID *)(UINT_PTR)((unsigned int)ui))
|
||||
#define LongToPtr(l) ((VOID *)(LONG_PTR)((long)l))
|
||||
#define ULongToPtr(ul) ((VOID *)(ULONG_PTR)((unsigned long)ul))
|
||||
|
||||
static __inline void *PtrToPtr64(const void *p) { return((void *) (ULONG_PTR)p); }
|
||||
static __inline void *Ptr64ToPtr(const void *p) { return((void *) (ULONG_PTR) p); }
|
||||
static __inline void *HandleToHandle64(const void *h) { return((void *) h); }
|
||||
static __inline void *Handle64ToHandle(const void *h) { return((void *) (ULONG_PTR) h); }
|
||||
|
||||
#define Ptr32ToPtr(p) ((void *) p)
|
||||
#define Handle32ToHandle(h) (Ptr32ToPtr(h))
|
||||
#define PtrToPtr32(p) ((void *) p)
|
||||
#define HandleToHandle32(h) (PtrToPtr32(h))
|
||||
#endif
|
||||
|
||||
#define HandleToUlong(h) HandleToULong(h)
|
||||
#define UlongToHandle(ul) ULongToHandle(ul)
|
||||
#define UlongToPtr(ul) ULongToPtr(ul)
|
||||
#define UintToPtr(ui) UIntToPtr(ui)
|
||||
|
||||
#define MAXUINT_PTR (~((UINT_PTR)0))
|
||||
#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
|
||||
#define MININT_PTR (~MAXINT_PTR)
|
||||
|
||||
#define MAXULONG_PTR (~((ULONG_PTR)0))
|
||||
#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
|
||||
#define MINLONG_PTR (~MAXLONG_PTR)
|
||||
|
||||
#define MAXUHALF_PTR ((UHALF_PTR)~0)
|
||||
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
|
||||
#define MINHALF_PTR (~MAXHALF_PTR)
|
||||
|
||||
typedef ULONG_PTR SIZE_T,*PSIZE_T;
|
||||
typedef LONG_PTR SSIZE_T,*PSSIZE_T;
|
||||
typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
|
||||
typedef __int64 LONG64,*PLONG64;
|
||||
typedef unsigned __int64 ULONG64,*PULONG64;
|
||||
typedef unsigned __int64 DWORD64,*PDWORD64;
|
||||
typedef ULONG_PTR KAFFINITY;
|
||||
typedef KAFFINITY *PKAFFINITY;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
85
05/tcc-final/win32/include/winapi/basetyps.h
Normal file
85
05/tcc-final/win32/include/winapi/basetyps.h
Normal file
|
@ -0,0 +1,85 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !defined(_BASETYPS_H_)
|
||||
#define _BASETYPS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif
|
||||
|
||||
#define STDMETHODCALLTYPE WINAPI
|
||||
#define STDMETHODVCALLTYPE __cdecl
|
||||
|
||||
#define STDAPICALLTYPE WINAPI
|
||||
#define STDAPIVCALLTYPE __cdecl
|
||||
|
||||
#define STDAPI EXTERN_C HRESULT WINAPI
|
||||
#define STDAPI_(type) EXTERN_C type WINAPI
|
||||
|
||||
#define STDMETHODIMP HRESULT WINAPI
|
||||
#define STDMETHODIMP_(type) type WINAPI
|
||||
|
||||
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
|
||||
|
||||
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||
#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
|
||||
#define __STRUCT__ struct
|
||||
#define STDMETHOD(method) virtual HRESULT WINAPI method
|
||||
#define STDMETHOD_(type,method) virtual type WINAPI method
|
||||
#define STDMETHODV(method) virtual HRESULT STDMETHODVCALLTYPE method
|
||||
#define STDMETHODV_(type,method) virtual type STDMETHODVCALLTYPE method
|
||||
#define PURE = 0
|
||||
#define THIS_
|
||||
#define THIS void
|
||||
#define DECLARE_INTERFACE(iface) __STRUCT__ iface
|
||||
#define DECLARE_INTERFACE_(iface,baseiface) __STRUCT__ iface : public baseiface
|
||||
#else
|
||||
|
||||
#ifndef __OBJC__
|
||||
#define interface struct
|
||||
#endif
|
||||
|
||||
#define STDMETHOD(method) HRESULT (WINAPI *method)
|
||||
#define STDMETHOD_(type,method) type (WINAPI *method)
|
||||
#define STDMETHODV(method) HRESULT (STDMETHODVCALLTYPE *method)
|
||||
#define STDMETHODV_(type,method) type (STDMETHODVCALLTYPE *method)
|
||||
|
||||
#define PURE
|
||||
#define THIS_ INTERFACE *This,
|
||||
#define THIS INTERFACE *This
|
||||
#ifdef CONST_VTABLE
|
||||
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
||||
const struct iface##Vtbl *lpVtbl; } iface; \
|
||||
typedef const struct iface##Vtbl iface##Vtbl; \
|
||||
const struct iface##Vtbl
|
||||
#else
|
||||
#define DECLARE_INTERFACE(iface) typedef struct iface { \
|
||||
struct iface##Vtbl *lpVtbl; \
|
||||
} iface; \
|
||||
typedef struct iface##Vtbl iface##Vtbl; \
|
||||
struct iface##Vtbl
|
||||
#endif
|
||||
#define DECLARE_INTERFACE_(iface,baseiface) DECLARE_INTERFACE(iface)
|
||||
#endif
|
||||
|
||||
#include <guiddef.h>
|
||||
|
||||
#ifndef _ERROR_STATUS_T_DEFINED
|
||||
#define _ERROR_STATUS_T_DEFINED
|
||||
typedef unsigned long error_status_t;
|
||||
#endif
|
||||
|
||||
#ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
#define _WCHAR_T_DEFINED
|
||||
#endif
|
||||
#endif
|
156
05/tcc-final/win32/include/winapi/guiddef.h
Normal file
156
05/tcc-final/win32/include/winapi/guiddef.h
Normal file
|
@ -0,0 +1,156 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef GUID_DEFINED
|
||||
#define GUID_DEFINED
|
||||
typedef struct _GUID {
|
||||
unsigned long Data1;
|
||||
unsigned short Data2;
|
||||
unsigned short Data3;
|
||||
unsigned char Data4[8 ];
|
||||
} GUID;
|
||||
#endif
|
||||
|
||||
#ifndef UUID_DEFINED
|
||||
#define UUID_DEFINED
|
||||
typedef GUID UUID;
|
||||
#endif
|
||||
|
||||
#ifndef FAR
|
||||
#define FAR
|
||||
#endif
|
||||
|
||||
#ifndef DECLSPEC_SELECTANY
|
||||
#define DECLSPEC_SELECTANY __declspec(selectany)
|
||||
#endif
|
||||
|
||||
#ifndef EXTERN_C
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef DEFINE_GUID
|
||||
#undef DEFINE_GUID
|
||||
#endif
|
||||
|
||||
#ifdef INITGUID
|
||||
#ifdef __cplusplus
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
||||
#else
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID DECLSPEC_SELECTANY name = { l,w1,w2,{ b1,b2,b3,b4,b5,b6,b7,b8 } }
|
||||
#endif
|
||||
#else
|
||||
#define DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) EXTERN_C const GUID name
|
||||
#endif
|
||||
|
||||
#define DEFINE_OLEGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
|
||||
#ifndef _GUIDDEF_H_
|
||||
#define _GUIDDEF_H_
|
||||
|
||||
#ifndef __LPGUID_DEFINED__
|
||||
#define __LPGUID_DEFINED__
|
||||
typedef GUID *LPGUID;
|
||||
#endif
|
||||
|
||||
#ifndef __LPCGUID_DEFINED__
|
||||
#define __LPCGUID_DEFINED__
|
||||
typedef const GUID *LPCGUID;
|
||||
#endif
|
||||
|
||||
#ifndef __IID_DEFINED__
|
||||
#define __IID_DEFINED__
|
||||
|
||||
typedef GUID IID;
|
||||
typedef IID *LPIID;
|
||||
#define IID_NULL GUID_NULL
|
||||
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
||||
typedef GUID CLSID;
|
||||
typedef CLSID *LPCLSID;
|
||||
#define CLSID_NULL GUID_NULL
|
||||
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
||||
typedef GUID FMTID;
|
||||
typedef FMTID *LPFMTID;
|
||||
#define FMTID_NULL GUID_NULL
|
||||
#define IsEqualFMTID(rfmtid1,rfmtid2) IsEqualGUID(rfmtid1,rfmtid2)
|
||||
|
||||
#ifdef __midl_proxy
|
||||
#define __MIDL_CONST
|
||||
#else
|
||||
#define __MIDL_CONST const
|
||||
#endif
|
||||
|
||||
#ifndef _REFGUID_DEFINED
|
||||
#define _REFGUID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFGUID const GUID &
|
||||
#else
|
||||
#define REFGUID const GUID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFIID_DEFINED
|
||||
#define _REFIID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFIID const IID &
|
||||
#else
|
||||
#define REFIID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFCLSID_DEFINED
|
||||
#define _REFCLSID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFCLSID const IID &
|
||||
#else
|
||||
#define REFCLSID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _REFFMTID_DEFINED
|
||||
#define _REFFMTID_DEFINED
|
||||
#ifdef __cplusplus
|
||||
#define REFFMTID const IID &
|
||||
#else
|
||||
#define REFFMTID const IID *__MIDL_CONST
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _SYS_GUID_OPERATORS_
|
||||
#define _SYS_GUID_OPERATORS_
|
||||
#include <string.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
__inline int InlineIsEqualGUID(REFGUID rguid1,REFGUID rguid2) {
|
||||
return (((unsigned long *) &rguid1)[0]==((unsigned long *) &rguid2)[0] && ((unsigned long *) &rguid1)[1]==((unsigned long *) &rguid2)[1] &&
|
||||
((unsigned long *) &rguid1)[2]==((unsigned long *) &rguid2)[2] && ((unsigned long *) &rguid1)[3]==((unsigned long *) &rguid2)[3]);
|
||||
}
|
||||
__inline int IsEqualGUID(REFGUID rguid1,REFGUID rguid2) { return !memcmp(&rguid1,&rguid2,sizeof(GUID)); }
|
||||
#else
|
||||
#define InlineIsEqualGUID(rguid1,rguid2) (((unsigned long *) rguid1)[0]==((unsigned long *) rguid2)[0] && ((unsigned long *) rguid1)[1]==((unsigned long *) rguid2)[1] && ((unsigned long *) rguid1)[2]==((unsigned long *) rguid2)[2] && ((unsigned long *) rguid1)[3]==((unsigned long *) rguid2)[3])
|
||||
#define IsEqualGUID(rguid1,rguid2) (!memcmp(rguid1,rguid2,sizeof(GUID)))
|
||||
#endif
|
||||
|
||||
#ifdef __INLINE_ISEQUAL_GUID
|
||||
#undef IsEqualGUID
|
||||
#define IsEqualGUID(rguid1,rguid2) InlineIsEqualGUID(rguid1,rguid2)
|
||||
#endif
|
||||
|
||||
#define IsEqualIID(riid1,riid2) IsEqualGUID(riid1,riid2)
|
||||
#define IsEqualCLSID(rclsid1,rclsid2) IsEqualGUID(rclsid1,rclsid2)
|
||||
|
||||
#if !defined _SYS_GUID_OPERATOR_EQ_ && !defined _NO_SYS_GUID_OPERATOR_EQ_
|
||||
#define _SYS_GUID_OPERATOR_EQ_
|
||||
#ifdef __cplusplus
|
||||
__inline int operator==(REFGUID guidOne,REFGUID guidOther) { return IsEqualGUID(guidOne,guidOther); }
|
||||
__inline int operator!=(REFGUID guidOne,REFGUID guidOther) { return !(guidOne==guidOther); }
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
8
05/tcc-final/win32/include/winapi/poppack.h
Normal file
8
05/tcc-final/win32/include/winapi/poppack.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(pop)
|
||||
#endif
|
8
05/tcc-final/win32/include/winapi/pshpack1.h
Normal file
8
05/tcc-final/win32/include/winapi/pshpack1.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,1)
|
||||
#endif
|
8
05/tcc-final/win32/include/winapi/pshpack2.h
Normal file
8
05/tcc-final/win32/include/winapi/pshpack2.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,2)
|
||||
#endif
|
8
05/tcc-final/win32/include/winapi/pshpack4.h
Normal file
8
05/tcc-final/win32/include/winapi/pshpack4.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,4)
|
||||
#endif
|
8
05/tcc-final/win32/include/winapi/pshpack8.h
Normal file
8
05/tcc-final/win32/include/winapi/pshpack8.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#if !(defined(lint) || defined(RC_INVOKED))
|
||||
#pragma pack(push,8)
|
||||
#endif
|
72
05/tcc-final/win32/include/winapi/qos.h
Normal file
72
05/tcc-final/win32/include/winapi/qos.h
Normal file
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef __QOS_H_
|
||||
#define __QOS_H_
|
||||
|
||||
typedef ULONG SERVICETYPE;
|
||||
|
||||
#define SERVICETYPE_NOTRAFFIC 0x00000000
|
||||
#define SERVICETYPE_BESTEFFORT 0x00000001
|
||||
#define SERVICETYPE_CONTROLLEDLOAD 0x00000002
|
||||
#define SERVICETYPE_GUARANTEED 0x00000003
|
||||
|
||||
#define SERVICETYPE_NETWORK_UNAVAILABLE 0x00000004
|
||||
#define SERVICETYPE_GENERAL_INFORMATION 0x00000005
|
||||
#define SERVICETYPE_NOCHANGE 0x00000006
|
||||
#define SERVICETYPE_NONCONFORMING 0x00000009
|
||||
#define SERVICETYPE_NETWORK_CONTROL 0x0000000A
|
||||
#define SERVICETYPE_QUALITATIVE 0x0000000D
|
||||
|
||||
#define SERVICE_BESTEFFORT 0x80010000
|
||||
#define SERVICE_CONTROLLEDLOAD 0x80020000
|
||||
#define SERVICE_GUARANTEED 0x80040000
|
||||
#define SERVICE_QUALITATIVE 0x80200000
|
||||
|
||||
#define SERVICE_NO_TRAFFIC_CONTROL 0x81000000
|
||||
|
||||
#define SERVICE_NO_QOS_SIGNALING 0x40000000
|
||||
|
||||
typedef struct _flowspec {
|
||||
ULONG TokenRate;
|
||||
ULONG TokenBucketSize;
|
||||
ULONG PeakBandwidth;
|
||||
ULONG Latency;
|
||||
ULONG DelayVariation;
|
||||
SERVICETYPE ServiceType;
|
||||
ULONG MaxSduSize;
|
||||
ULONG MinimumPolicedSize;
|
||||
} FLOWSPEC,*PFLOWSPEC,*LPFLOWSPEC;
|
||||
|
||||
#define QOS_NOT_SPECIFIED 0xFFFFFFFF
|
||||
#define POSITIVE_INFINITY_RATE 0xFFFFFFFE
|
||||
|
||||
typedef struct {
|
||||
ULONG ObjectType;
|
||||
ULONG ObjectLength;
|
||||
} QOS_OBJECT_HDR,*LPQOS_OBJECT_HDR;
|
||||
|
||||
#define QOS_GENERAL_ID_BASE 2000
|
||||
#define QOS_OBJECT_END_OF_LIST (0x00000001 + QOS_GENERAL_ID_BASE)
|
||||
#define QOS_OBJECT_SD_MODE (0x00000002 + QOS_GENERAL_ID_BASE)
|
||||
#define QOS_OBJECT_SHAPING_RATE (0x00000003 + QOS_GENERAL_ID_BASE)
|
||||
#define QOS_OBJECT_DESTADDR (0x00000004 + QOS_GENERAL_ID_BASE)
|
||||
|
||||
typedef struct _QOS_SD_MODE {
|
||||
QOS_OBJECT_HDR ObjectHdr;
|
||||
ULONG ShapeDiscardMode;
|
||||
} QOS_SD_MODE,*LPQOS_SD_MODE;
|
||||
|
||||
#define TC_NONCONF_BORROW 0
|
||||
#define TC_NONCONF_SHAPE 1
|
||||
#define TC_NONCONF_DISCARD 2
|
||||
#define TC_NONCONF_BORROW_PLUS 3
|
||||
|
||||
typedef struct _QOS_SHAPING_RATE {
|
||||
QOS_OBJECT_HDR ObjectHdr;
|
||||
ULONG ShapingRate;
|
||||
} QOS_SHAPING_RATE,*LPQOS_SHAPING_RATE;
|
||||
|
||||
#endif
|
2951
05/tcc-final/win32/include/winapi/winbase.h
Normal file
2951
05/tcc-final/win32/include/winapi/winbase.h
Normal file
File diff suppressed because it is too large
Load diff
301
05/tcc-final/win32/include/winapi/wincon.h
Normal file
301
05/tcc-final/win32/include/winapi/wincon.h
Normal file
|
@ -0,0 +1,301 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINCON_
|
||||
#define _WINCON_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct _COORD {
|
||||
SHORT X;
|
||||
SHORT Y;
|
||||
} COORD,*PCOORD;
|
||||
|
||||
typedef struct _SMALL_RECT {
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
} SMALL_RECT,*PSMALL_RECT;
|
||||
|
||||
typedef struct _KEY_EVENT_RECORD {
|
||||
WINBOOL bKeyDown;
|
||||
WORD wRepeatCount;
|
||||
WORD wVirtualKeyCode;
|
||||
WORD wVirtualScanCode;
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} uChar;
|
||||
DWORD dwControlKeyState;
|
||||
} KEY_EVENT_RECORD,*PKEY_EVENT_RECORD;
|
||||
|
||||
#define RIGHT_ALT_PRESSED 0x1
|
||||
#define LEFT_ALT_PRESSED 0x2
|
||||
#define RIGHT_CTRL_PRESSED 0x4
|
||||
#define LEFT_CTRL_PRESSED 0x8
|
||||
#define SHIFT_PRESSED 0x10
|
||||
#define NUMLOCK_ON 0x20
|
||||
#define SCROLLLOCK_ON 0x40
|
||||
#define CAPSLOCK_ON 0x80
|
||||
#define ENHANCED_KEY 0x100
|
||||
#define NLS_DBCSCHAR 0x10000
|
||||
#define NLS_ALPHANUMERIC 0x0
|
||||
#define NLS_KATAKANA 0x20000
|
||||
#define NLS_HIRAGANA 0x40000
|
||||
#define NLS_ROMAN 0x400000
|
||||
#define NLS_IME_CONVERSION 0x800000
|
||||
#define NLS_IME_DISABLE 0x20000000
|
||||
|
||||
typedef struct _MOUSE_EVENT_RECORD {
|
||||
COORD dwMousePosition;
|
||||
DWORD dwButtonState;
|
||||
DWORD dwControlKeyState;
|
||||
DWORD dwEventFlags;
|
||||
} MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD;
|
||||
|
||||
#define FROM_LEFT_1ST_BUTTON_PRESSED 0x1
|
||||
#define RIGHTMOST_BUTTON_PRESSED 0x2
|
||||
#define FROM_LEFT_2ND_BUTTON_PRESSED 0x4
|
||||
#define FROM_LEFT_3RD_BUTTON_PRESSED 0x8
|
||||
#define FROM_LEFT_4TH_BUTTON_PRESSED 0x10
|
||||
|
||||
#define MOUSE_MOVED 0x1
|
||||
#define DOUBLE_CLICK 0x2
|
||||
#define MOUSE_WHEELED 0x4
|
||||
|
||||
typedef struct _WINDOW_BUFFER_SIZE_RECORD {
|
||||
COORD dwSize;
|
||||
} WINDOW_BUFFER_SIZE_RECORD,*PWINDOW_BUFFER_SIZE_RECORD;
|
||||
|
||||
typedef struct _MENU_EVENT_RECORD {
|
||||
UINT dwCommandId;
|
||||
} MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
|
||||
|
||||
typedef struct _FOCUS_EVENT_RECORD {
|
||||
WINBOOL bSetFocus;
|
||||
} FOCUS_EVENT_RECORD,*PFOCUS_EVENT_RECORD;
|
||||
|
||||
typedef struct _INPUT_RECORD {
|
||||
WORD EventType;
|
||||
union {
|
||||
KEY_EVENT_RECORD KeyEvent;
|
||||
MOUSE_EVENT_RECORD MouseEvent;
|
||||
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
|
||||
MENU_EVENT_RECORD MenuEvent;
|
||||
FOCUS_EVENT_RECORD FocusEvent;
|
||||
} Event;
|
||||
} INPUT_RECORD,*PINPUT_RECORD;
|
||||
|
||||
#define KEY_EVENT 0x1
|
||||
#define MOUSE_EVENT 0x2
|
||||
#define WINDOW_BUFFER_SIZE_EVENT 0x4
|
||||
#define MENU_EVENT 0x8
|
||||
#define FOCUS_EVENT 0x10
|
||||
|
||||
typedef struct _CHAR_INFO {
|
||||
union {
|
||||
WCHAR UnicodeChar;
|
||||
CHAR AsciiChar;
|
||||
} Char;
|
||||
WORD Attributes;
|
||||
} CHAR_INFO,*PCHAR_INFO;
|
||||
|
||||
#define FOREGROUND_BLUE 0x1
|
||||
#define FOREGROUND_GREEN 0x2
|
||||
#define FOREGROUND_RED 0x4
|
||||
#define FOREGROUND_INTENSITY 0x8
|
||||
#define BACKGROUND_BLUE 0x10
|
||||
#define BACKGROUND_GREEN 0x20
|
||||
#define BACKGROUND_RED 0x40
|
||||
#define BACKGROUND_INTENSITY 0x80
|
||||
#define COMMON_LVB_LEADING_BYTE 0x100
|
||||
#define COMMON_LVB_TRAILING_BYTE 0x200
|
||||
#define COMMON_LVB_GRID_HORIZONTAL 0x400
|
||||
#define COMMON_LVB_GRID_LVERTICAL 0x800
|
||||
#define COMMON_LVB_GRID_RVERTICAL 0x1000
|
||||
#define COMMON_LVB_REVERSE_VIDEO 0x4000
|
||||
#define COMMON_LVB_UNDERSCORE 0x8000
|
||||
|
||||
#define COMMON_LVB_SBCSDBCS 0x300
|
||||
|
||||
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
|
||||
COORD dwSize;
|
||||
COORD dwCursorPosition;
|
||||
WORD wAttributes;
|
||||
SMALL_RECT srWindow;
|
||||
COORD dwMaximumWindowSize;
|
||||
} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
|
||||
|
||||
typedef struct _CONSOLE_CURSOR_INFO {
|
||||
DWORD dwSize;
|
||||
WINBOOL bVisible;
|
||||
} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
|
||||
|
||||
typedef struct _CONSOLE_FONT_INFO {
|
||||
DWORD nFont;
|
||||
COORD dwFontSize;
|
||||
} CONSOLE_FONT_INFO,*PCONSOLE_FONT_INFO;
|
||||
|
||||
typedef struct _CONSOLE_SELECTION_INFO {
|
||||
DWORD dwFlags;
|
||||
COORD dwSelectionAnchor;
|
||||
SMALL_RECT srSelection;
|
||||
} CONSOLE_SELECTION_INFO,*PCONSOLE_SELECTION_INFO;
|
||||
|
||||
#define CONSOLE_NO_SELECTION 0x0
|
||||
#define CONSOLE_SELECTION_IN_PROGRESS 0x1
|
||||
#define CONSOLE_SELECTION_NOT_EMPTY 0x2
|
||||
#define CONSOLE_MOUSE_SELECTION 0x4
|
||||
#define CONSOLE_MOUSE_DOWN 0x8
|
||||
|
||||
typedef WINBOOL (WINAPI *PHANDLER_ROUTINE)(DWORD CtrlType);
|
||||
|
||||
#define CTRL_C_EVENT 0
|
||||
#define CTRL_BREAK_EVENT 1
|
||||
#define CTRL_CLOSE_EVENT 2
|
||||
|
||||
#define CTRL_LOGOFF_EVENT 5
|
||||
#define CTRL_SHUTDOWN_EVENT 6
|
||||
|
||||
#define ENABLE_PROCESSED_INPUT 0x1
|
||||
#define ENABLE_LINE_INPUT 0x2
|
||||
#define ENABLE_ECHO_INPUT 0x4
|
||||
#define ENABLE_WINDOW_INPUT 0x8
|
||||
#define ENABLE_MOUSE_INPUT 0x10
|
||||
|
||||
#define ENABLE_PROCESSED_OUTPUT 0x1
|
||||
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x2
|
||||
|
||||
#ifdef UNICODE
|
||||
#define PeekConsoleInput PeekConsoleInputW
|
||||
#define ReadConsoleInput ReadConsoleInputW
|
||||
#define WriteConsoleInput WriteConsoleInputW
|
||||
#define ReadConsoleOutput ReadConsoleOutputW
|
||||
#define WriteConsoleOutput WriteConsoleOutputW
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
|
||||
#define GetConsoleTitle GetConsoleTitleW
|
||||
#define SetConsoleTitle SetConsoleTitleW
|
||||
#define ReadConsole ReadConsoleW
|
||||
#define WriteConsole WriteConsoleW
|
||||
#define AddConsoleAlias AddConsoleAliasW
|
||||
#define GetConsoleAlias GetConsoleAliasW
|
||||
#define GetConsoleAliasesLength GetConsoleAliasesLengthW
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
|
||||
#define GetConsoleAliases GetConsoleAliasesW
|
||||
#define GetConsoleAliasExes GetConsoleAliasExesW
|
||||
#else
|
||||
#define PeekConsoleInput PeekConsoleInputA
|
||||
#define ReadConsoleInput ReadConsoleInputA
|
||||
#define WriteConsoleInput WriteConsoleInputA
|
||||
#define ReadConsoleOutput ReadConsoleOutputA
|
||||
#define WriteConsoleOutput WriteConsoleOutputA
|
||||
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
|
||||
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
|
||||
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
|
||||
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
|
||||
#define GetConsoleTitle GetConsoleTitleA
|
||||
#define SetConsoleTitle SetConsoleTitleA
|
||||
#define ReadConsole ReadConsoleA
|
||||
#define WriteConsole WriteConsoleA
|
||||
#define AddConsoleAlias AddConsoleAliasA
|
||||
#define GetConsoleAlias GetConsoleAliasA
|
||||
#define GetConsoleAliasesLength GetConsoleAliasesLengthA
|
||||
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
|
||||
#define GetConsoleAliases GetConsoleAliasesA
|
||||
#define GetConsoleAliasExes GetConsoleAliasExesA
|
||||
#endif
|
||||
|
||||
WINBASEAPI WINBOOL WINAPI PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleInputA(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleInputW(HANDLE hConsoleInput,CONST INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputA(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputW(HANDLE hConsoleOutput,CONST CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleOutputAttribute(HANDLE hConsoleOutput,CONST WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode);
|
||||
WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
|
||||
WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE hConsoleOutput);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
|
||||
WINBASEAPI WINBOOL WINAPI GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont);
|
||||
WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont);
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
|
||||
WINBASEAPI WINBOOL WINAPI GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput);
|
||||
WINBASEAPI WINBOOL WINAPI FlushConsoleInputBuffer(HANDLE hConsoleInput);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCursorInfo(HANDLE hConsoleOutput,CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo);
|
||||
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill);
|
||||
WINBASEAPI WINBOOL WINAPI ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,CONST SMALL_RECT *lpScrollRectangle,CONST SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,CONST CHAR_INFO *lpFill);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,CONST SMALL_RECT *lpConsoleWindow);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add);
|
||||
WINBASEAPI WINBOOL WINAPI GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId);
|
||||
WINBASEAPI WINBOOL WINAPI AllocConsole(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI FreeConsole(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI AttachConsole(DWORD dwProcessId);
|
||||
|
||||
#define ATTACH_PARENT_PROCESS ((DWORD)-1)
|
||||
|
||||
WINBASEAPI DWORD WINAPI GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTitleA(LPCSTR lpConsoleTitle);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleTitleW(LPCWSTR lpConsoleTitle);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleA(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
|
||||
WINBASEAPI WINBOOL WINAPI WriteConsoleW(HANDLE hConsoleOutput,CONST VOID *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
|
||||
|
||||
#define CONSOLE_TEXTMODE_BUFFER 1
|
||||
|
||||
WINBASEAPI HANDLE WINAPI CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData);
|
||||
WINBASEAPI UINT WINAPI GetConsoleCP(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleCP(UINT wCodePageID);
|
||||
WINBASEAPI UINT WINAPI GetConsoleOutputCP(VOID);
|
||||
WINBASEAPI WINBOOL WINAPI SetConsoleOutputCP(UINT wCodePageID);
|
||||
|
||||
#define CONSOLE_FULLSCREEN 1
|
||||
#define CONSOLE_FULLSCREEN_HARDWARE 2
|
||||
|
||||
WINBASEAPI WINBOOL WINAPI GetConsoleDisplayMode(LPDWORD lpModeFlags);
|
||||
WINBASEAPI HWND WINAPI GetConsoleWindow(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount);
|
||||
WINBASEAPI WINBOOL WINAPI AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName);
|
||||
WINBASEAPI WINBOOL WINAPI AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthA(LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesLengthW(LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthA(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesLengthW(VOID);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength);
|
||||
WINBASEAPI DWORD WINAPI GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
293
05/tcc-final/win32/include/winapi/windef.h
Normal file
293
05/tcc-final/win32/include/winapi/windef.h
Normal file
|
@ -0,0 +1,293 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINDEF_
|
||||
#define _WINDEF_
|
||||
|
||||
#ifndef STRICT
|
||||
#define STRICT 1
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
|
||||
#ifndef BASETYPES
|
||||
#define BASETYPES
|
||||
typedef unsigned long ULONG;
|
||||
typedef ULONG *PULONG;
|
||||
typedef unsigned short USHORT;
|
||||
typedef USHORT *PUSHORT;
|
||||
typedef unsigned char UCHAR;
|
||||
typedef UCHAR *PUCHAR;
|
||||
typedef char *PSZ;
|
||||
#endif
|
||||
|
||||
#define MAX_PATH 260
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef IN
|
||||
#define IN
|
||||
#endif
|
||||
|
||||
#ifndef OUT
|
||||
#define OUT
|
||||
#endif
|
||||
|
||||
#ifndef OPTIONAL
|
||||
#define OPTIONAL
|
||||
#endif
|
||||
|
||||
#undef far
|
||||
#undef near
|
||||
#undef pascal
|
||||
|
||||
#define far
|
||||
#define near
|
||||
#define pascal __stdcall
|
||||
|
||||
#define cdecl
|
||||
#ifndef CDECL
|
||||
#define CDECL
|
||||
#endif
|
||||
#ifndef CALLBACK
|
||||
#define CALLBACK __stdcall
|
||||
#endif
|
||||
#ifndef WINAPI
|
||||
#define WINAPI __stdcall
|
||||
#endif
|
||||
#define WINAPIV __cdecl
|
||||
#define APIENTRY WINAPI
|
||||
#define APIPRIVATE WINAPI
|
||||
#define PASCAL WINAPI
|
||||
#define WINAPI_INLINE WINAPI
|
||||
|
||||
#undef FAR
|
||||
#undef NEAR
|
||||
#define FAR
|
||||
#define NEAR
|
||||
#ifndef CONST
|
||||
#define CONST const
|
||||
#endif
|
||||
|
||||
typedef unsigned long DWORD;
|
||||
typedef int WINBOOL;
|
||||
#define BOOL WINBOOL
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned short WORD;
|
||||
typedef float FLOAT;
|
||||
typedef FLOAT *PFLOAT;
|
||||
typedef WINBOOL *PBOOL;
|
||||
typedef WINBOOL *LPBOOL;
|
||||
typedef BYTE *PBYTE;
|
||||
typedef BYTE *LPBYTE;
|
||||
typedef int *PINT;
|
||||
typedef int *LPINT;
|
||||
typedef WORD *PWORD;
|
||||
typedef WORD *LPWORD;
|
||||
typedef long *LPLONG;
|
||||
typedef DWORD *PDWORD;
|
||||
typedef DWORD *LPDWORD;
|
||||
typedef void *LPVOID;
|
||||
# ifndef _LPCVOID_DEFINED
|
||||
#define _LPCVOID_DEFINED
|
||||
typedef CONST void *LPCVOID;
|
||||
#endif
|
||||
typedef int INT;
|
||||
typedef unsigned int UINT;
|
||||
typedef unsigned int *PUINT;
|
||||
|
||||
#ifndef NT_INCLUDED
|
||||
#include <winnt.h>
|
||||
#endif
|
||||
|
||||
//gr #include <specstrings.h>
|
||||
|
||||
typedef UINT_PTR WPARAM;
|
||||
typedef LONG_PTR LPARAM;
|
||||
typedef LONG_PTR LRESULT;
|
||||
|
||||
#ifndef __cplusplus
|
||||
#ifndef NOMINMAX
|
||||
#ifndef max
|
||||
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
#ifndef min
|
||||
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define MAKEWORD(a,b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
|
||||
#define MAKELONG(a,b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
|
||||
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
|
||||
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
|
||||
#define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
|
||||
#define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
|
||||
|
||||
#ifndef WIN_INTERNAL
|
||||
DECLARE_HANDLE (HWND);
|
||||
DECLARE_HANDLE (HHOOK);
|
||||
#ifdef WINABLE
|
||||
DECLARE_HANDLE (HEVENT);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef WORD ATOM;
|
||||
|
||||
typedef HANDLE *SPHANDLE;
|
||||
typedef HANDLE *LPHANDLE;
|
||||
typedef HANDLE HGLOBAL;
|
||||
typedef HANDLE HLOCAL;
|
||||
typedef HANDLE GLOBALHANDLE;
|
||||
typedef HANDLE LOCALHANDLE;
|
||||
#ifdef _WIN64
|
||||
typedef INT_PTR (WINAPI *FARPROC)();
|
||||
typedef INT_PTR (WINAPI *NEARPROC)();
|
||||
typedef INT_PTR (WINAPI *PROC)();
|
||||
#else
|
||||
typedef int (WINAPI *FARPROC)();
|
||||
typedef int (WINAPI *NEARPROC)();
|
||||
typedef int (WINAPI *PROC)();
|
||||
#endif
|
||||
|
||||
typedef void *HGDIOBJ;
|
||||
|
||||
DECLARE_HANDLE(HKEY);
|
||||
typedef HKEY *PHKEY;
|
||||
|
||||
DECLARE_HANDLE(HACCEL);
|
||||
DECLARE_HANDLE(HBITMAP);
|
||||
DECLARE_HANDLE(HBRUSH);
|
||||
DECLARE_HANDLE(HCOLORSPACE);
|
||||
DECLARE_HANDLE(HDC);
|
||||
DECLARE_HANDLE(HGLRC);
|
||||
DECLARE_HANDLE(HDESK);
|
||||
DECLARE_HANDLE(HENHMETAFILE);
|
||||
DECLARE_HANDLE(HFONT);
|
||||
DECLARE_HANDLE(HICON);
|
||||
DECLARE_HANDLE(HMENU);
|
||||
DECLARE_HANDLE(HMETAFILE);
|
||||
DECLARE_HANDLE(HINSTANCE);
|
||||
typedef HINSTANCE HMODULE;
|
||||
DECLARE_HANDLE(HPALETTE);
|
||||
DECLARE_HANDLE(HPEN);
|
||||
DECLARE_HANDLE(HRGN);
|
||||
DECLARE_HANDLE(HRSRC);
|
||||
DECLARE_HANDLE(HSTR);
|
||||
DECLARE_HANDLE(HTASK);
|
||||
DECLARE_HANDLE(HWINSTA);
|
||||
DECLARE_HANDLE(HKL);
|
||||
DECLARE_HANDLE(HMONITOR);
|
||||
DECLARE_HANDLE(HWINEVENTHOOK);
|
||||
DECLARE_HANDLE(HUMPD);
|
||||
|
||||
typedef int HFILE;
|
||||
typedef HICON HCURSOR;
|
||||
typedef DWORD COLORREF;
|
||||
typedef DWORD *LPCOLORREF;
|
||||
|
||||
#define HFILE_ERROR ((HFILE)-1)
|
||||
|
||||
typedef struct tagRECT {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECT,*PRECT,*NPRECT,*LPRECT;
|
||||
|
||||
typedef const RECT *LPCRECT;
|
||||
|
||||
typedef struct _RECTL {
|
||||
LONG left;
|
||||
LONG top;
|
||||
LONG right;
|
||||
LONG bottom;
|
||||
} RECTL,*PRECTL,*LPRECTL;
|
||||
|
||||
typedef const RECTL *LPCRECTL;
|
||||
|
||||
typedef struct tagPOINT {
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINT,*PPOINT,*NPPOINT,*LPPOINT;
|
||||
|
||||
typedef struct _POINTL {
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINTL,*PPOINTL;
|
||||
|
||||
typedef struct tagSIZE {
|
||||
LONG cx;
|
||||
LONG cy;
|
||||
} SIZE,*PSIZE,*LPSIZE;
|
||||
|
||||
typedef SIZE SIZEL;
|
||||
typedef SIZE *PSIZEL,*LPSIZEL;
|
||||
|
||||
typedef struct tagPOINTS {
|
||||
SHORT x;
|
||||
SHORT y;
|
||||
} POINTS,*PPOINTS,*LPPOINTS;
|
||||
|
||||
typedef struct _FILETIME {
|
||||
DWORD dwLowDateTime;
|
||||
DWORD dwHighDateTime;
|
||||
} FILETIME,*PFILETIME,*LPFILETIME;
|
||||
#define _FILETIME_
|
||||
|
||||
#define DM_UPDATE 1
|
||||
#define DM_COPY 2
|
||||
#define DM_PROMPT 4
|
||||
#define DM_MODIFY 8
|
||||
|
||||
#define DM_IN_BUFFER DM_MODIFY
|
||||
#define DM_IN_PROMPT DM_PROMPT
|
||||
#define DM_OUT_BUFFER DM_COPY
|
||||
#define DM_OUT_DEFAULT DM_UPDATE
|
||||
|
||||
#define DC_FIELDS 1
|
||||
#define DC_PAPERS 2
|
||||
#define DC_PAPERSIZE 3
|
||||
#define DC_MINEXTENT 4
|
||||
#define DC_MAXEXTENT 5
|
||||
#define DC_BINS 6
|
||||
#define DC_DUPLEX 7
|
||||
#define DC_SIZE 8
|
||||
#define DC_EXTRA 9
|
||||
#define DC_VERSION 10
|
||||
#define DC_DRIVER 11
|
||||
#define DC_BINNAMES 12
|
||||
#define DC_ENUMRESOLUTIONS 13
|
||||
#define DC_FILEDEPENDENCIES 14
|
||||
#define DC_TRUETYPE 15
|
||||
#define DC_PAPERNAMES 16
|
||||
#define DC_ORIENTATION 17
|
||||
#define DC_COPIES 18
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
127
05/tcc-final/win32/include/winapi/windows.h
Normal file
127
05/tcc-final/win32/include/winapi/windows.h
Normal file
|
@ -0,0 +1,127 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINDOWS_
|
||||
#define _WINDOWS_
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
|
||||
#include <_mingw.h>
|
||||
|
||||
#ifndef _INC_WINDOWS
|
||||
#define _INC_WINDOWS
|
||||
|
||||
#if defined(RC_INVOKED) && !defined(NOWINRES)
|
||||
|
||||
#include <winresrc.h>
|
||||
#else
|
||||
|
||||
#ifdef RC_INVOKED
|
||||
#define NOATOM
|
||||
#define NOGDI
|
||||
#define NOGDICAPMASKS
|
||||
#define NOMETAFILE
|
||||
#define NOMINMAX
|
||||
#define NOMSG
|
||||
#define NOOPENFILE
|
||||
#define NORASTEROPS
|
||||
#define NOSCROLL
|
||||
#define NOSOUND
|
||||
#define NOSYSMETRICS
|
||||
#define NOTEXTMETRIC
|
||||
#define NOWH
|
||||
#define NOCOMM
|
||||
#define NOKANJI
|
||||
#define NOCRYPT
|
||||
#define NOMCX
|
||||
#endif
|
||||
|
||||
#if !defined(I_X86_) && !defined(_IA64_) && !defined(_AMD64_) && (defined(_X86_) && !defined(__x86_64))
|
||||
#define I_X86_
|
||||
#endif
|
||||
|
||||
#if !defined(I_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(__x86_64)
|
||||
#define _AMD64_
|
||||
#endif
|
||||
|
||||
#if !defined(I_X86_) && !(defined(_X86_) && !defined(__x86_64)) && !defined(_AMD64_) && defined(__ia64__)
|
||||
#if !defined(_IA64_)
|
||||
#define _IA64_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#include <excpt.h>
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <wingdi.h>
|
||||
#include <winuser.h>
|
||||
#include <winnls.h>
|
||||
#include <wincon.h>
|
||||
#include <winver.h>
|
||||
#include <winreg.h>
|
||||
//gr #include <winnetwk.h>
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#include <cderr.h>
|
||||
#include <dde.h>
|
||||
#include <ddeml.h>
|
||||
#include <dlgs.h>
|
||||
#include <lzexpand.h>
|
||||
#include <mmsystem.h>
|
||||
#include <nb30.h>
|
||||
#include <rpc.h>
|
||||
#include <shellapi.h>
|
||||
#include <winperf.h>
|
||||
#include <winsock.h>
|
||||
#ifndef NOCRYPT
|
||||
#include <wincrypt.h>
|
||||
#include <winefs.h>
|
||||
#include <winscard.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOUSER
|
||||
#ifndef NOGDI
|
||||
#include <winspool.h>
|
||||
#ifdef INC_OLE1
|
||||
#include <ole.h>
|
||||
#else
|
||||
#include <ole2.h>
|
||||
#endif
|
||||
#include <commdlg.h>
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//gr #include <stralign.h>
|
||||
|
||||
#ifdef INC_OLE2
|
||||
#include <ole2.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOSERVICE
|
||||
#include <winsvc.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOMCX
|
||||
#include <mcx.h>
|
||||
#endif
|
||||
|
||||
#ifndef NOIME
|
||||
#include <imm.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
3166
05/tcc-final/win32/include/winapi/winerror.h
Normal file
3166
05/tcc-final/win32/include/winapi/winerror.h
Normal file
File diff suppressed because it is too large
Load diff
4080
05/tcc-final/win32/include/winapi/wingdi.h
Normal file
4080
05/tcc-final/win32/include/winapi/wingdi.h
Normal file
File diff suppressed because it is too large
Load diff
778
05/tcc-final/win32/include/winapi/winnls.h
Normal file
778
05/tcc-final/win32/include/winapi/winnls.h
Normal file
|
@ -0,0 +1,778 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINNLS_
|
||||
#define _WINNLS_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef NONLS
|
||||
|
||||
#define MAX_LEADBYTES 12
|
||||
#define MAX_DEFAULTCHAR 2
|
||||
|
||||
#define MB_PRECOMPOSED 0x00000001
|
||||
#define MB_COMPOSITE 0x00000002
|
||||
#define MB_USEGLYPHCHARS 0x00000004
|
||||
#define MB_ERR_INVALID_CHARS 0x00000008
|
||||
|
||||
#define WC_COMPOSITECHECK 0x00000200
|
||||
#define WC_DISCARDNS 0x00000010
|
||||
#define WC_SEPCHARS 0x00000020
|
||||
#define WC_DEFAULTCHAR 0x00000040
|
||||
#define WC_NO_BEST_FIT_CHARS 0x00000400
|
||||
|
||||
#define CT_CTYPE1 0x00000001
|
||||
#define CT_CTYPE2 0x00000002
|
||||
#define CT_CTYPE3 0x00000004
|
||||
|
||||
#define C1_UPPER 0x0001
|
||||
#define C1_LOWER 0x0002
|
||||
#define C1_DIGIT 0x0004
|
||||
#define C1_SPACE 0x0008
|
||||
#define C1_PUNCT 0x0010
|
||||
#define C1_CNTRL 0x0020
|
||||
#define C1_BLANK 0x0040
|
||||
#define C1_XDIGIT 0x0080
|
||||
#define C1_ALPHA 0x0100
|
||||
#define C1_DEFINED 0x0200
|
||||
|
||||
#define C2_LEFTTORIGHT 0x0001
|
||||
#define C2_RIGHTTOLEFT 0x0002
|
||||
|
||||
#define C2_EUROPENUMBER 0x0003
|
||||
#define C2_EUROPESEPARATOR 0x0004
|
||||
#define C2_EUROPETERMINATOR 0x0005
|
||||
#define C2_ARABICNUMBER 0x0006
|
||||
#define C2_COMMONSEPARATOR 0x0007
|
||||
|
||||
#define C2_BLOCKSEPARATOR 0x0008
|
||||
#define C2_SEGMENTSEPARATOR 0x0009
|
||||
#define C2_WHITESPACE 0x000A
|
||||
#define C2_OTHERNEUTRAL 0x000B
|
||||
|
||||
#define C2_NOTAPPLICABLE 0x0000
|
||||
|
||||
#define C3_NONSPACING 0x0001
|
||||
#define C3_DIACRITIC 0x0002
|
||||
#define C3_VOWELMARK 0x0004
|
||||
#define C3_SYMBOL 0x0008
|
||||
|
||||
#define C3_KATAKANA 0x0010
|
||||
#define C3_HIRAGANA 0x0020
|
||||
#define C3_HALFWIDTH 0x0040
|
||||
#define C3_FULLWIDTH 0x0080
|
||||
#define C3_IDEOGRAPH 0x0100
|
||||
#define C3_KASHIDA 0x0200
|
||||
#define C3_LEXICAL 0x0400
|
||||
|
||||
#define C3_ALPHA 0x8000
|
||||
|
||||
#define C3_NOTAPPLICABLE 0x0000
|
||||
|
||||
#define NORM_IGNORECASE 0x00000001
|
||||
#define NORM_IGNORENONSPACE 0x00000002
|
||||
#define NORM_IGNORESYMBOLS 0x00000004
|
||||
|
||||
#define NORM_IGNOREKANATYPE 0x00010000
|
||||
#define NORM_IGNOREWIDTH 0x00020000
|
||||
|
||||
#define MAP_FOLDCZONE 0x00000010
|
||||
#define MAP_PRECOMPOSED 0x00000020
|
||||
#define MAP_COMPOSITE 0x00000040
|
||||
#define MAP_FOLDDIGITS 0x00000080
|
||||
#define MAP_EXPAND_LIGATURES 0x00002000
|
||||
|
||||
#define LCMAP_LOWERCASE 0x00000100
|
||||
#define LCMAP_UPPERCASE 0x00000200
|
||||
#define LCMAP_SORTKEY 0x00000400
|
||||
#define LCMAP_BYTEREV 0x00000800
|
||||
|
||||
#define LCMAP_HIRAGANA 0x00100000
|
||||
#define LCMAP_KATAKANA 0x00200000
|
||||
#define LCMAP_HALFWIDTH 0x00400000
|
||||
#define LCMAP_FULLWIDTH 0x00800000
|
||||
|
||||
#define LCMAP_LINGUISTIC_CASING 0x01000000
|
||||
|
||||
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
|
||||
#define LCMAP_TRADITIONAL_CHINESE 0x04000000
|
||||
|
||||
#define LGRPID_INSTALLED 0x00000001
|
||||
#define LGRPID_SUPPORTED 0x00000002
|
||||
|
||||
#define LCID_INSTALLED 0x00000001
|
||||
#define LCID_SUPPORTED 0x00000002
|
||||
#define LCID_ALTERNATE_SORTS 0x00000004
|
||||
|
||||
#define CP_INSTALLED 0x00000001
|
||||
#define CP_SUPPORTED 0x00000002
|
||||
|
||||
#define SORT_STRINGSORT 0x00001000
|
||||
|
||||
#define CSTR_LESS_THAN 1
|
||||
#define CSTR_EQUAL 2
|
||||
#define CSTR_GREATER_THAN 3
|
||||
|
||||
#define CP_ACP 0
|
||||
#define CP_OEMCP 1
|
||||
#define CP_MACCP 2
|
||||
#define CP_THREAD_ACP 3
|
||||
#define CP_SYMBOL 42
|
||||
|
||||
#define CP_UTF7 65000
|
||||
#define CP_UTF8 65001
|
||||
|
||||
#define CTRY_DEFAULT 0
|
||||
|
||||
#define CTRY_ALBANIA 355
|
||||
#define CTRY_ALGERIA 213
|
||||
#define CTRY_ARGENTINA 54
|
||||
#define CTRY_ARMENIA 374
|
||||
#define CTRY_AUSTRALIA 61
|
||||
#define CTRY_AUSTRIA 43
|
||||
#define CTRY_AZERBAIJAN 994
|
||||
#define CTRY_BAHRAIN 973
|
||||
#define CTRY_BELARUS 375
|
||||
#define CTRY_BELGIUM 32
|
||||
#define CTRY_BELIZE 501
|
||||
#define CTRY_BOLIVIA 591
|
||||
#define CTRY_BRAZIL 55
|
||||
#define CTRY_BRUNEI_DARUSSALAM 673
|
||||
#define CTRY_BULGARIA 359
|
||||
#define CTRY_CANADA 2
|
||||
#define CTRY_CARIBBEAN 1
|
||||
#define CTRY_CHILE 56
|
||||
#define CTRY_COLOMBIA 57
|
||||
#define CTRY_COSTA_RICA 506
|
||||
#define CTRY_CROATIA 385
|
||||
#define CTRY_CZECH 420
|
||||
#define CTRY_DENMARK 45
|
||||
#define CTRY_DOMINICAN_REPUBLIC 1
|
||||
#define CTRY_ECUADOR 593
|
||||
#define CTRY_EGYPT 20
|
||||
#define CTRY_EL_SALVADOR 503
|
||||
#define CTRY_ESTONIA 372
|
||||
#define CTRY_FAEROE_ISLANDS 298
|
||||
#define CTRY_FINLAND 358
|
||||
#define CTRY_FRANCE 33
|
||||
#define CTRY_GEORGIA 995
|
||||
#define CTRY_GERMANY 49
|
||||
#define CTRY_GREECE 30
|
||||
#define CTRY_GUATEMALA 502
|
||||
#define CTRY_HONDURAS 504
|
||||
#define CTRY_HONG_KONG 852
|
||||
#define CTRY_HUNGARY 36
|
||||
#define CTRY_ICELAND 354
|
||||
#define CTRY_INDIA 91
|
||||
#define CTRY_INDONESIA 62
|
||||
#define CTRY_IRAN 981
|
||||
#define CTRY_IRAQ 964
|
||||
#define CTRY_IRELAND 353
|
||||
#define CTRY_ISRAEL 972
|
||||
#define CTRY_ITALY 39
|
||||
#define CTRY_JAMAICA 1
|
||||
#define CTRY_JAPAN 81
|
||||
#define CTRY_JORDAN 962
|
||||
#define CTRY_KAZAKSTAN 7
|
||||
#define CTRY_KENYA 254
|
||||
#define CTRY_KUWAIT 965
|
||||
#define CTRY_KYRGYZSTAN 996
|
||||
#define CTRY_LATVIA 371
|
||||
#define CTRY_LEBANON 961
|
||||
#define CTRY_LIBYA 218
|
||||
#define CTRY_LIECHTENSTEIN 41
|
||||
#define CTRY_LITHUANIA 370
|
||||
#define CTRY_LUXEMBOURG 352
|
||||
#define CTRY_MACAU 853
|
||||
#define CTRY_MACEDONIA 389
|
||||
#define CTRY_MALAYSIA 60
|
||||
#define CTRY_MALDIVES 960
|
||||
#define CTRY_MEXICO 52
|
||||
#define CTRY_MONACO 33
|
||||
#define CTRY_MONGOLIA 976
|
||||
#define CTRY_MOROCCO 212
|
||||
#define CTRY_NETHERLANDS 31
|
||||
#define CTRY_NEW_ZEALAND 64
|
||||
#define CTRY_NICARAGUA 505
|
||||
#define CTRY_NORWAY 47
|
||||
#define CTRY_OMAN 968
|
||||
#define CTRY_PAKISTAN 92
|
||||
#define CTRY_PANAMA 507
|
||||
#define CTRY_PARAGUAY 595
|
||||
#define CTRY_PERU 51
|
||||
#define CTRY_PHILIPPINES 63
|
||||
#define CTRY_POLAND 48
|
||||
#define CTRY_PORTUGAL 351
|
||||
#define CTRY_PRCHINA 86
|
||||
#define CTRY_PUERTO_RICO 1
|
||||
#define CTRY_QATAR 974
|
||||
#define CTRY_ROMANIA 40
|
||||
#define CTRY_RUSSIA 7
|
||||
#define CTRY_SAUDI_ARABIA 966
|
||||
#define CTRY_SERBIA 381
|
||||
#define CTRY_SINGAPORE 65
|
||||
#define CTRY_SLOVAK 421
|
||||
#define CTRY_SLOVENIA 386
|
||||
#define CTRY_SOUTH_AFRICA 27
|
||||
#define CTRY_SOUTH_KOREA 82
|
||||
#define CTRY_SPAIN 34
|
||||
#define CTRY_SWEDEN 46
|
||||
#define CTRY_SWITZERLAND 41
|
||||
#define CTRY_SYRIA 963
|
||||
#define CTRY_TAIWAN 886
|
||||
#define CTRY_TATARSTAN 7
|
||||
#define CTRY_THAILAND 66
|
||||
#define CTRY_TRINIDAD_Y_TOBAGO 1
|
||||
#define CTRY_TUNISIA 216
|
||||
#define CTRY_TURKEY 90
|
||||
#define CTRY_UAE 971
|
||||
#define CTRY_UKRAINE 380
|
||||
#define CTRY_UNITED_KINGDOM 44
|
||||
#define CTRY_UNITED_STATES 1
|
||||
#define CTRY_URUGUAY 598
|
||||
#define CTRY_UZBEKISTAN 7
|
||||
#define CTRY_VENEZUELA 58
|
||||
#define CTRY_VIET_NAM 84
|
||||
#define CTRY_YEMEN 967
|
||||
#define CTRY_ZIMBABWE 263
|
||||
|
||||
#define LOCALE_NOUSEROVERRIDE 0x80000000
|
||||
#define LOCALE_USE_CP_ACP 0x40000000
|
||||
#define LOCALE_RETURN_NUMBER 0x20000000
|
||||
|
||||
#define LOCALE_ILANGUAGE 0x00000001
|
||||
#define LOCALE_SLANGUAGE 0x00000002
|
||||
#define LOCALE_SENGLANGUAGE 0x00001001
|
||||
#define LOCALE_SABBREVLANGNAME 0x00000003
|
||||
#define LOCALE_SNATIVELANGNAME 0x00000004
|
||||
|
||||
#define LOCALE_ICOUNTRY 0x00000005
|
||||
#define LOCALE_SCOUNTRY 0x00000006
|
||||
#define LOCALE_SENGCOUNTRY 0x00001002
|
||||
#define LOCALE_SABBREVCTRYNAME 0x00000007
|
||||
#define LOCALE_SNATIVECTRYNAME 0x00000008
|
||||
|
||||
#define LOCALE_IDEFAULTLANGUAGE 0x00000009
|
||||
#define LOCALE_IDEFAULTCOUNTRY 0x0000000A
|
||||
#define LOCALE_IDEFAULTCODEPAGE 0x0000000B
|
||||
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004
|
||||
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011
|
||||
|
||||
#define LOCALE_SLIST 0x0000000C
|
||||
#define LOCALE_IMEASURE 0x0000000D
|
||||
|
||||
#define LOCALE_SDECIMAL 0x0000000E
|
||||
#define LOCALE_STHOUSAND 0x0000000F
|
||||
#define LOCALE_SGROUPING 0x00000010
|
||||
#define LOCALE_IDIGITS 0x00000011
|
||||
#define LOCALE_ILZERO 0x00000012
|
||||
#define LOCALE_INEGNUMBER 0x00001010
|
||||
#define LOCALE_SNATIVEDIGITS 0x00000013
|
||||
|
||||
#define LOCALE_SCURRENCY 0x00000014
|
||||
#define LOCALE_SINTLSYMBOL 0x00000015
|
||||
#define LOCALE_SMONDECIMALSEP 0x00000016
|
||||
#define LOCALE_SMONTHOUSANDSEP 0x00000017
|
||||
#define LOCALE_SMONGROUPING 0x00000018
|
||||
#define LOCALE_ICURRDIGITS 0x00000019
|
||||
#define LOCALE_IINTLCURRDIGITS 0x0000001A
|
||||
#define LOCALE_ICURRENCY 0x0000001B
|
||||
#define LOCALE_INEGCURR 0x0000001C
|
||||
|
||||
#define LOCALE_SDATE 0x0000001D
|
||||
#define LOCALE_STIME 0x0000001E
|
||||
#define LOCALE_SSHORTDATE 0x0000001F
|
||||
#define LOCALE_SLONGDATE 0x00000020
|
||||
#define LOCALE_STIMEFORMAT 0x00001003
|
||||
#define LOCALE_IDATE 0x00000021
|
||||
#define LOCALE_ILDATE 0x00000022
|
||||
#define LOCALE_ITIME 0x00000023
|
||||
#define LOCALE_ITIMEMARKPOSN 0x00001005
|
||||
#define LOCALE_ICENTURY 0x00000024
|
||||
#define LOCALE_ITLZERO 0x00000025
|
||||
#define LOCALE_IDAYLZERO 0x00000026
|
||||
#define LOCALE_IMONLZERO 0x00000027
|
||||
#define LOCALE_S1159 0x00000028
|
||||
#define LOCALE_S2359 0x00000029
|
||||
|
||||
#define LOCALE_ICALENDARTYPE 0x00001009
|
||||
#define LOCALE_IOPTIONALCALENDAR 0x0000100B
|
||||
#define LOCALE_IFIRSTDAYOFWEEK 0x0000100C
|
||||
#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D
|
||||
|
||||
#define LOCALE_SDAYNAME1 0x0000002A
|
||||
#define LOCALE_SDAYNAME2 0x0000002B
|
||||
#define LOCALE_SDAYNAME3 0x0000002C
|
||||
#define LOCALE_SDAYNAME4 0x0000002D
|
||||
#define LOCALE_SDAYNAME5 0x0000002E
|
||||
#define LOCALE_SDAYNAME6 0x0000002F
|
||||
#define LOCALE_SDAYNAME7 0x00000030
|
||||
#define LOCALE_SABBREVDAYNAME1 0x00000031
|
||||
#define LOCALE_SABBREVDAYNAME2 0x00000032
|
||||
#define LOCALE_SABBREVDAYNAME3 0x00000033
|
||||
#define LOCALE_SABBREVDAYNAME4 0x00000034
|
||||
#define LOCALE_SABBREVDAYNAME5 0x00000035
|
||||
#define LOCALE_SABBREVDAYNAME6 0x00000036
|
||||
#define LOCALE_SABBREVDAYNAME7 0x00000037
|
||||
#define LOCALE_SMONTHNAME1 0x00000038
|
||||
#define LOCALE_SMONTHNAME2 0x00000039
|
||||
#define LOCALE_SMONTHNAME3 0x0000003A
|
||||
#define LOCALE_SMONTHNAME4 0x0000003B
|
||||
#define LOCALE_SMONTHNAME5 0x0000003C
|
||||
#define LOCALE_SMONTHNAME6 0x0000003D
|
||||
#define LOCALE_SMONTHNAME7 0x0000003E
|
||||
#define LOCALE_SMONTHNAME8 0x0000003F
|
||||
#define LOCALE_SMONTHNAME9 0x00000040
|
||||
#define LOCALE_SMONTHNAME10 0x00000041
|
||||
#define LOCALE_SMONTHNAME11 0x00000042
|
||||
#define LOCALE_SMONTHNAME12 0x00000043
|
||||
#define LOCALE_SMONTHNAME13 0x0000100E
|
||||
#define LOCALE_SABBREVMONTHNAME1 0x00000044
|
||||
#define LOCALE_SABBREVMONTHNAME2 0x00000045
|
||||
#define LOCALE_SABBREVMONTHNAME3 0x00000046
|
||||
#define LOCALE_SABBREVMONTHNAME4 0x00000047
|
||||
#define LOCALE_SABBREVMONTHNAME5 0x00000048
|
||||
#define LOCALE_SABBREVMONTHNAME6 0x00000049
|
||||
#define LOCALE_SABBREVMONTHNAME7 0x0000004A
|
||||
#define LOCALE_SABBREVMONTHNAME8 0x0000004B
|
||||
#define LOCALE_SABBREVMONTHNAME9 0x0000004C
|
||||
#define LOCALE_SABBREVMONTHNAME10 0x0000004D
|
||||
#define LOCALE_SABBREVMONTHNAME11 0x0000004E
|
||||
#define LOCALE_SABBREVMONTHNAME12 0x0000004F
|
||||
#define LOCALE_SABBREVMONTHNAME13 0x0000100F
|
||||
|
||||
#define LOCALE_SPOSITIVESIGN 0x00000050
|
||||
#define LOCALE_SNEGATIVESIGN 0x00000051
|
||||
#define LOCALE_IPOSSIGNPOSN 0x00000052
|
||||
#define LOCALE_INEGSIGNPOSN 0x00000053
|
||||
#define LOCALE_IPOSSYMPRECEDES 0x00000054
|
||||
#define LOCALE_IPOSSEPBYSPACE 0x00000055
|
||||
#define LOCALE_INEGSYMPRECEDES 0x00000056
|
||||
#define LOCALE_INEGSEPBYSPACE 0x00000057
|
||||
#define LOCALE_FONTSIGNATURE 0x00000058
|
||||
#define LOCALE_SISO639LANGNAME 0x00000059
|
||||
#define LOCALE_SISO3166CTRYNAME 0x0000005A
|
||||
|
||||
#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012
|
||||
#define LOCALE_IPAPERSIZE 0x0000100A
|
||||
#define LOCALE_SENGCURRNAME 0x00001007
|
||||
#define LOCALE_SNATIVECURRNAME 0x00001008
|
||||
#define LOCALE_SYEARMONTH 0x00001006
|
||||
#define LOCALE_SSORTNAME 0x00001013
|
||||
#define LOCALE_IDIGITSUBSTITUTION 0x00001014
|
||||
|
||||
#define TIME_NOMINUTESORSECONDS 0x00000001
|
||||
#define TIME_NOSECONDS 0x00000002
|
||||
#define TIME_NOTIMEMARKER 0x00000004
|
||||
#define TIME_FORCE24HOURFORMAT 0x00000008
|
||||
|
||||
#define DATE_SHORTDATE 0x00000001
|
||||
#define DATE_LONGDATE 0x00000002
|
||||
#define DATE_USE_ALT_CALENDAR 0x00000004
|
||||
#define DATE_YEARMONTH 0x00000008
|
||||
#define DATE_LTRREADING 0x00000010
|
||||
#define DATE_RTLREADING 0x00000020
|
||||
|
||||
#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
|
||||
#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
|
||||
#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
|
||||
|
||||
#define CAL_ICALINTVALUE 0x00000001
|
||||
#define CAL_SCALNAME 0x00000002
|
||||
#define CAL_IYEAROFFSETRANGE 0x00000003
|
||||
#define CAL_SERASTRING 0x00000004
|
||||
#define CAL_SSHORTDATE 0x00000005
|
||||
#define CAL_SLONGDATE 0x00000006
|
||||
#define CAL_SDAYNAME1 0x00000007
|
||||
#define CAL_SDAYNAME2 0x00000008
|
||||
#define CAL_SDAYNAME3 0x00000009
|
||||
#define CAL_SDAYNAME4 0x0000000a
|
||||
#define CAL_SDAYNAME5 0x0000000b
|
||||
#define CAL_SDAYNAME6 0x0000000c
|
||||
#define CAL_SDAYNAME7 0x0000000d
|
||||
#define CAL_SABBREVDAYNAME1 0x0000000e
|
||||
#define CAL_SABBREVDAYNAME2 0x0000000f
|
||||
#define CAL_SABBREVDAYNAME3 0x00000010
|
||||
#define CAL_SABBREVDAYNAME4 0x00000011
|
||||
#define CAL_SABBREVDAYNAME5 0x00000012
|
||||
#define CAL_SABBREVDAYNAME6 0x00000013
|
||||
#define CAL_SABBREVDAYNAME7 0x00000014
|
||||
#define CAL_SMONTHNAME1 0x00000015
|
||||
#define CAL_SMONTHNAME2 0x00000016
|
||||
#define CAL_SMONTHNAME3 0x00000017
|
||||
#define CAL_SMONTHNAME4 0x00000018
|
||||
#define CAL_SMONTHNAME5 0x00000019
|
||||
#define CAL_SMONTHNAME6 0x0000001a
|
||||
#define CAL_SMONTHNAME7 0x0000001b
|
||||
#define CAL_SMONTHNAME8 0x0000001c
|
||||
#define CAL_SMONTHNAME9 0x0000001d
|
||||
#define CAL_SMONTHNAME10 0x0000001e
|
||||
#define CAL_SMONTHNAME11 0x0000001f
|
||||
#define CAL_SMONTHNAME12 0x00000020
|
||||
#define CAL_SMONTHNAME13 0x00000021
|
||||
#define CAL_SABBREVMONTHNAME1 0x00000022
|
||||
#define CAL_SABBREVMONTHNAME2 0x00000023
|
||||
#define CAL_SABBREVMONTHNAME3 0x00000024
|
||||
#define CAL_SABBREVMONTHNAME4 0x00000025
|
||||
#define CAL_SABBREVMONTHNAME5 0x00000026
|
||||
#define CAL_SABBREVMONTHNAME6 0x00000027
|
||||
#define CAL_SABBREVMONTHNAME7 0x00000028
|
||||
#define CAL_SABBREVMONTHNAME8 0x00000029
|
||||
#define CAL_SABBREVMONTHNAME9 0x0000002a
|
||||
#define CAL_SABBREVMONTHNAME10 0x0000002b
|
||||
#define CAL_SABBREVMONTHNAME11 0x0000002c
|
||||
#define CAL_SABBREVMONTHNAME12 0x0000002d
|
||||
#define CAL_SABBREVMONTHNAME13 0x0000002e
|
||||
#define CAL_SYEARMONTH 0x0000002f
|
||||
#define CAL_ITWODIGITYEARMAX 0x00000030
|
||||
|
||||
#define ENUM_ALL_CALENDARS 0xffffffff
|
||||
|
||||
#define CAL_GREGORIAN 1
|
||||
#define CAL_GREGORIAN_US 2
|
||||
#define CAL_JAPAN 3
|
||||
#define CAL_TAIWAN 4
|
||||
#define CAL_KOREA 5
|
||||
#define CAL_HIJRI 6
|
||||
#define CAL_THAI 7
|
||||
#define CAL_HEBREW 8
|
||||
#define CAL_GREGORIAN_ME_FRENCH 9
|
||||
#define CAL_GREGORIAN_ARABIC 10
|
||||
#define CAL_GREGORIAN_XLIT_ENGLISH 11
|
||||
#define CAL_GREGORIAN_XLIT_FRENCH 12
|
||||
|
||||
#define LGRPID_WESTERN_EUROPE 0x0001
|
||||
#define LGRPID_CENTRAL_EUROPE 0x0002
|
||||
#define LGRPID_BALTIC 0x0003
|
||||
#define LGRPID_GREEK 0x0004
|
||||
#define LGRPID_CYRILLIC 0x0005
|
||||
#define LGRPID_TURKISH 0x0006
|
||||
#define LGRPID_JAPANESE 0x0007
|
||||
#define LGRPID_KOREAN 0x0008
|
||||
#define LGRPID_TRADITIONAL_CHINESE 0x0009
|
||||
#define LGRPID_SIMPLIFIED_CHINESE 0x000a
|
||||
#define LGRPID_THAI 0x000b
|
||||
#define LGRPID_HEBREW 0x000c
|
||||
#define LGRPID_ARABIC 0x000d
|
||||
#define LGRPID_VIETNAMESE 0x000e
|
||||
#define LGRPID_INDIC 0x000f
|
||||
#define LGRPID_GEORGIAN 0x0010
|
||||
#define LGRPID_ARMENIAN 0x0011
|
||||
|
||||
typedef DWORD LGRPID;
|
||||
typedef DWORD LCTYPE;
|
||||
typedef DWORD CALTYPE;
|
||||
typedef DWORD CALID;
|
||||
|
||||
typedef struct _cpinfo {
|
||||
UINT MaxCharSize;
|
||||
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||||
BYTE LeadByte[MAX_LEADBYTES];
|
||||
} CPINFO,*LPCPINFO;
|
||||
|
||||
typedef struct _cpinfoexA {
|
||||
UINT MaxCharSize;
|
||||
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||||
BYTE LeadByte[MAX_LEADBYTES];
|
||||
WCHAR UnicodeDefaultChar;
|
||||
UINT CodePage;
|
||||
CHAR CodePageName[MAX_PATH];
|
||||
} CPINFOEXA,*LPCPINFOEXA;
|
||||
|
||||
typedef struct _cpinfoexW {
|
||||
UINT MaxCharSize;
|
||||
BYTE DefaultChar[MAX_DEFAULTCHAR];
|
||||
BYTE LeadByte[MAX_LEADBYTES];
|
||||
WCHAR UnicodeDefaultChar;
|
||||
UINT CodePage;
|
||||
WCHAR CodePageName[MAX_PATH];
|
||||
} CPINFOEXW,*LPCPINFOEXW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef CPINFOEXW CPINFOEX;
|
||||
typedef LPCPINFOEXW LPCPINFOEX;
|
||||
#else
|
||||
typedef CPINFOEXA CPINFOEX;
|
||||
typedef LPCPINFOEXA LPCPINFOEX;
|
||||
#endif
|
||||
|
||||
typedef struct _numberfmtA {
|
||||
UINT NumDigits;
|
||||
UINT LeadingZero;
|
||||
UINT Grouping;
|
||||
LPSTR lpDecimalSep;
|
||||
LPSTR lpThousandSep;
|
||||
UINT NegativeOrder;
|
||||
} NUMBERFMTA,*LPNUMBERFMTA;
|
||||
|
||||
typedef struct _numberfmtW {
|
||||
UINT NumDigits;
|
||||
UINT LeadingZero;
|
||||
UINT Grouping;
|
||||
LPWSTR lpDecimalSep;
|
||||
LPWSTR lpThousandSep;
|
||||
UINT NegativeOrder;
|
||||
} NUMBERFMTW,*LPNUMBERFMTW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef NUMBERFMTW NUMBERFMT;
|
||||
typedef LPNUMBERFMTW LPNUMBERFMT;
|
||||
#else
|
||||
typedef NUMBERFMTA NUMBERFMT;
|
||||
typedef LPNUMBERFMTA LPNUMBERFMT;
|
||||
#endif
|
||||
|
||||
typedef struct _currencyfmtA {
|
||||
UINT NumDigits;
|
||||
UINT LeadingZero;
|
||||
UINT Grouping;
|
||||
LPSTR lpDecimalSep;
|
||||
LPSTR lpThousandSep;
|
||||
UINT NegativeOrder;
|
||||
UINT PositiveOrder;
|
||||
LPSTR lpCurrencySymbol;
|
||||
} CURRENCYFMTA,*LPCURRENCYFMTA;
|
||||
|
||||
typedef struct _currencyfmtW {
|
||||
UINT NumDigits;
|
||||
UINT LeadingZero;
|
||||
UINT Grouping;
|
||||
LPWSTR lpDecimalSep;
|
||||
LPWSTR lpThousandSep;
|
||||
UINT NegativeOrder;
|
||||
UINT PositiveOrder;
|
||||
LPWSTR lpCurrencySymbol;
|
||||
} CURRENCYFMTW,*LPCURRENCYFMTW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef CURRENCYFMTW CURRENCYFMT;
|
||||
typedef LPCURRENCYFMTW LPCURRENCYFMT;
|
||||
#else
|
||||
typedef CURRENCYFMTA CURRENCYFMT;
|
||||
typedef LPCURRENCYFMTA LPCURRENCYFMT;
|
||||
#endif
|
||||
|
||||
enum SYSNLS_FUNCTION {
|
||||
COMPARE_STRING = 0x0001
|
||||
};
|
||||
|
||||
typedef DWORD NLS_FUNCTION;
|
||||
|
||||
typedef struct _nlsversioninfo{
|
||||
DWORD dwNLSVersionInfoSize;
|
||||
DWORD dwNLSVersion;
|
||||
DWORD dwDefinedVersion;
|
||||
} NLSVERSIONINFO,*LPNLSVERSIONINFO;
|
||||
|
||||
typedef LONG GEOID;
|
||||
typedef DWORD GEOTYPE;
|
||||
typedef DWORD GEOCLASS;
|
||||
|
||||
#define GEOID_NOT_AVAILABLE -1
|
||||
|
||||
enum SYSGEOTYPE {
|
||||
GEO_NATION = 0x0001,GEO_LATITUDE = 0x0002,GEO_LONGITUDE = 0x0003,GEO_ISO2 = 0x0004,GEO_ISO3 = 0x0005,GEO_RFC1766 = 0x0006,GEO_LCID = 0x0007,
|
||||
GEO_FRIENDLYNAME= 0x0008,GEO_OFFICIALNAME= 0x0009,GEO_TIMEZONES = 0x000A,GEO_OFFICIALLANGUAGES = 0x000B
|
||||
};
|
||||
|
||||
enum SYSGEOCLASS {
|
||||
GEOCLASS_NATION = 16,GEOCLASS_REGION = 14
|
||||
};
|
||||
|
||||
typedef enum _NORM_FORM {
|
||||
NormalizationOther = 0,
|
||||
NormalizationC = 0x1,
|
||||
NormalizationD = 0x2,
|
||||
NormalizationKC = 0x5,
|
||||
NormalizationKD = 0x6
|
||||
} NORM_FORM;
|
||||
|
||||
typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID,LPSTR,LPSTR,DWORD,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID,LCID,LPSTR,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
|
||||
typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
|
||||
typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
|
||||
typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR,CALID);
|
||||
typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
|
||||
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
|
||||
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR,CALID);
|
||||
typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID,LPWSTR,LPWSTR,DWORD,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID,LCID,LPWSTR,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR,LONG_PTR);
|
||||
typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
|
||||
typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
|
||||
typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
|
||||
typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR,CALID);
|
||||
typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
|
||||
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
|
||||
typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR,CALID);
|
||||
typedef WINBOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
|
||||
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
|
||||
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
|
||||
#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
|
||||
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
|
||||
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
|
||||
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
|
||||
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
|
||||
#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
|
||||
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
|
||||
#else
|
||||
#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
|
||||
#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
|
||||
#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
|
||||
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
|
||||
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
|
||||
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
|
||||
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
|
||||
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
|
||||
#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
|
||||
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define GetCPInfoEx GetCPInfoExW
|
||||
#define CompareString CompareStringW
|
||||
#define LCMapString LCMapStringW
|
||||
#define GetLocaleInfo GetLocaleInfoW
|
||||
#define SetLocaleInfo SetLocaleInfoW
|
||||
#define GetCalendarInfo GetCalendarInfoW
|
||||
#define SetCalendarInfo SetCalendarInfoW
|
||||
#define GetTimeFormat GetTimeFormatW
|
||||
#define GetDateFormat GetDateFormatW
|
||||
#define GetNumberFormat GetNumberFormatW
|
||||
#define GetCurrencyFormat GetCurrencyFormatW
|
||||
#define EnumCalendarInfo EnumCalendarInfoW
|
||||
#define EnumCalendarInfoEx EnumCalendarInfoExW
|
||||
#define EnumTimeFormats EnumTimeFormatsW
|
||||
#define EnumDateFormats EnumDateFormatsW
|
||||
#define EnumDateFormatsEx EnumDateFormatsExW
|
||||
#define GetGeoInfo GetGeoInfoW
|
||||
#define GetStringTypeEx GetStringTypeExW
|
||||
#define FoldString FoldStringW
|
||||
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
|
||||
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
|
||||
#define EnumUILanguages EnumUILanguagesW
|
||||
#define EnumSystemLocales EnumSystemLocalesW
|
||||
#define EnumSystemCodePages EnumSystemCodePagesW
|
||||
#else
|
||||
#define GetCPInfoEx GetCPInfoExA
|
||||
#define CompareString CompareStringA
|
||||
#define LCMapString LCMapStringA
|
||||
#define GetLocaleInfo GetLocaleInfoA
|
||||
#define SetLocaleInfo SetLocaleInfoA
|
||||
#define GetCalendarInfo GetCalendarInfoA
|
||||
#define SetCalendarInfo SetCalendarInfoA
|
||||
#define GetTimeFormat GetTimeFormatA
|
||||
#define GetDateFormat GetDateFormatA
|
||||
#define GetNumberFormat GetNumberFormatA
|
||||
#define GetCurrencyFormat GetCurrencyFormatA
|
||||
#define EnumCalendarInfo EnumCalendarInfoA
|
||||
#define EnumCalendarInfoEx EnumCalendarInfoExA
|
||||
#define EnumTimeFormats EnumTimeFormatsA
|
||||
#define EnumDateFormats EnumDateFormatsA
|
||||
#define EnumDateFormatsEx EnumDateFormatsExA
|
||||
#define GetGeoInfo GetGeoInfoA
|
||||
#define GetStringTypeEx GetStringTypeExA
|
||||
#define FoldString FoldStringA
|
||||
#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
|
||||
#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
|
||||
#define EnumUILanguages EnumUILanguagesA
|
||||
#define EnumSystemLocales EnumSystemLocalesA
|
||||
#define EnumSystemCodePages EnumSystemCodePagesA
|
||||
#endif
|
||||
|
||||
WINBASEAPI WINBOOL WINAPI IsValidCodePage(UINT CodePage);
|
||||
WINBASEAPI UINT WINAPI GetACP(void);
|
||||
WINBASEAPI UINT WINAPI GetOEMCP(void);
|
||||
WINBASEAPI WINBOOL WINAPI GetCPInfo(UINT CodePage,LPCPINFO lpCPInfo);
|
||||
WINBASEAPI WINBOOL WINAPI GetCPInfoExA(UINT CodePage,DWORD dwFlags,LPCPINFOEXA lpCPInfoEx);
|
||||
WINBASEAPI WINBOOL WINAPI GetCPInfoExW(UINT CodePage,DWORD dwFlags,LPCPINFOEXW lpCPInfoEx);
|
||||
WINBASEAPI WINBOOL WINAPI IsDBCSLeadByte(BYTE TestChar);
|
||||
WINBASEAPI WINBOOL WINAPI IsDBCSLeadByteEx(UINT CodePage,BYTE TestChar);
|
||||
WINBASEAPI int WINAPI MultiByteToWideChar(UINT CodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cbMultiByte,LPWSTR lpWideCharStr,int cchWideChar);
|
||||
WINBASEAPI int WINAPI WideCharToMultiByte(UINT CodePage,DWORD dwFlags,LPCWSTR lpWideCharStr,int cchWideChar,LPSTR lpMultiByteStr,int cbMultiByte,LPCSTR lpDefaultChar,LPBOOL lpUsedDefaultChar);
|
||||
WINBASEAPI int WINAPI CompareStringA(LCID Locale,DWORD dwCmpFlags,LPCSTR lpString1,int cchCount1,LPCSTR lpString2,int cchCount2);
|
||||
WINBASEAPI int WINAPI CompareStringW(LCID Locale,DWORD dwCmpFlags,LPCWSTR lpString1,int cchCount1,LPCWSTR lpString2,int cchCount2);
|
||||
WINBASEAPI int WINAPI LCMapStringA(LCID Locale,DWORD dwMapFlags,LPCSTR lpSrcStr,int cchSrc,LPSTR lpDestStr,int cchDest);
|
||||
WINBASEAPI int WINAPI LCMapStringW(LCID Locale,DWORD dwMapFlags,LPCWSTR lpSrcStr,int cchSrc,LPWSTR lpDestStr,int cchDest);
|
||||
WINBASEAPI int WINAPI GetLocaleInfoA(LCID Locale,LCTYPE LCType,LPSTR lpLCData,int cchData);
|
||||
WINBASEAPI int WINAPI GetLocaleInfoW(LCID Locale,LCTYPE LCType,LPWSTR lpLCData,int cchData);
|
||||
WINBASEAPI WINBOOL WINAPI SetLocaleInfoA(LCID Locale,LCTYPE LCType,LPCSTR lpLCData);
|
||||
WINBASEAPI WINBOOL WINAPI SetLocaleInfoW(LCID Locale,LCTYPE LCType,LPCWSTR lpLCData);
|
||||
WINBASEAPI int WINAPI GetCalendarInfoA(LCID Locale,CALID Calendar,CALTYPE CalType,LPSTR lpCalData,int cchData,LPDWORD lpValue);
|
||||
WINBASEAPI int WINAPI GetCalendarInfoW(LCID Locale,CALID Calendar,CALTYPE CalType,LPWSTR lpCalData,int cchData,LPDWORD lpValue);
|
||||
WINBASEAPI WINBOOL WINAPI SetCalendarInfoA(LCID Locale,CALID Calendar,CALTYPE CalType,LPCSTR lpCalData);
|
||||
WINBASEAPI WINBOOL WINAPI SetCalendarInfoW(LCID Locale,CALID Calendar,CALTYPE CalType,LPCWSTR lpCalData);
|
||||
WINBASEAPI int WINAPI GetTimeFormatA(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpTime,LPCSTR lpFormat,LPSTR lpTimeStr,int cchTime);
|
||||
WINBASEAPI int WINAPI GetTimeFormatW(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpTime,LPCWSTR lpFormat,LPWSTR lpTimeStr,int cchTime);
|
||||
WINBASEAPI int WINAPI GetDateFormatA(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpDate,LPCSTR lpFormat,LPSTR lpDateStr,int cchDate);
|
||||
WINBASEAPI int WINAPI GetDateFormatW(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpDate,LPCWSTR lpFormat,LPWSTR lpDateStr,int cchDate);
|
||||
WINBASEAPI int WINAPI GetNumberFormatA(LCID Locale,DWORD dwFlags,LPCSTR lpValue,CONST NUMBERFMTA *lpFormat,LPSTR lpNumberStr,int cchNumber);
|
||||
WINBASEAPI int WINAPI GetNumberFormatW(LCID Locale,DWORD dwFlags,LPCWSTR lpValue,CONST NUMBERFMTW *lpFormat,LPWSTR lpNumberStr,int cchNumber);
|
||||
WINBASEAPI int WINAPI GetCurrencyFormatA(LCID Locale,DWORD dwFlags,LPCSTR lpValue,CONST CURRENCYFMTA *lpFormat,LPSTR lpCurrencyStr,int cchCurrency);
|
||||
WINBASEAPI int WINAPI GetCurrencyFormatW(LCID Locale,DWORD dwFlags,LPCWSTR lpValue,CONST CURRENCYFMTW *lpFormat,LPWSTR lpCurrencyStr,int cchCurrency);
|
||||
WINBASEAPI WINBOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
|
||||
WINBASEAPI WINBOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
|
||||
WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,LCID Locale,CALID Calendar,CALTYPE CalType);
|
||||
WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,LCID Locale,CALID Calendar,CALTYPE CalType);
|
||||
WINBASEAPI WINBOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA lpDateFmtEnumProc,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW lpDateFmtEnumProc,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI IsValidLanguageGroup(LGRPID LanguageGroup,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI GetNLSVersion(NLS_FUNCTION Function,LCID Locale,LPNLSVERSIONINFO lpVersionInformation);
|
||||
WINBASEAPI WINBOOL WINAPI IsNLSDefinedString(NLS_FUNCTION Function,DWORD dwFlags,LPNLSVERSIONINFO lpVersionInformation,LPCWSTR lpString,INT cchStr);
|
||||
WINBASEAPI WINBOOL WINAPI IsValidLocale(LCID Locale,DWORD dwFlags);
|
||||
WINBASEAPI int WINAPI GetGeoInfoA(GEOID Location,GEOTYPE GeoType,LPSTR lpGeoData,int cchData,LANGID LangId);
|
||||
WINBASEAPI int WINAPI GetGeoInfoW(GEOID Location,GEOTYPE GeoType,LPWSTR lpGeoData,int cchData,LANGID LangId);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemGeoID(GEOCLASS GeoClass,GEOID ParentGeoId,GEO_ENUMPROC lpGeoEnumProc);
|
||||
WINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS GeoClass);
|
||||
WINBASEAPI WINBOOL WINAPI SetUserGeoID(GEOID GeoId);
|
||||
WINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID Locale);
|
||||
WINBASEAPI LCID WINAPI GetThreadLocale(void);
|
||||
WINBASEAPI WINBOOL WINAPI SetThreadLocale(LCID Locale);
|
||||
WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
|
||||
WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
|
||||
WINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
|
||||
WINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
|
||||
WINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
|
||||
WINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
|
||||
WINBASEAPI WINBOOL WINAPI GetStringTypeExA(LCID Locale,DWORD dwInfoType,LPCSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
|
||||
WINBASEAPI WINBOOL WINAPI GetStringTypeExW(LCID Locale,DWORD dwInfoType,LPCWSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
|
||||
WINBASEAPI WINBOOL WINAPI GetStringTypeA(LCID Locale,DWORD dwInfoType,LPCSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
|
||||
WINBASEAPI WINBOOL WINAPI GetStringTypeW(DWORD dwInfoType,LPCWSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
|
||||
WINBASEAPI int WINAPI FoldStringA(DWORD dwMapFlags,LPCSTR lpSrcStr,int cchSrc,LPSTR lpDestStr,int cchDest);
|
||||
WINBASEAPI int WINAPI FoldStringW(DWORD dwMapFlags,LPCWSTR lpSrcStr,int cchSrc,LPWSTR lpDestStr,int cchDest);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,LGRPID LanguageGroup,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,LGRPID LanguageGroup,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,DWORD dwFlags,LONG_PTR lParam);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA lpLocaleEnumProc,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW lpLocaleEnumProc,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA lpCodePageEnumProc,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW lpCodePageEnumProc,DWORD dwFlags);
|
||||
WINBASEAPI WINBOOL WINAPI IsNormalizedString(NORM_FORM NormForm,LPCWSTR lpString,int cwLength);
|
||||
WINBASEAPI int WINAPI NormalizeString(NORM_FORM NormForm,LPCWSTR lpSrcString,int cwSrcLength,LPWSTR lpDstString,int cwDstLength);
|
||||
WINBASEAPI int WINAPI IdnToAscii(DWORD dwFlags,LPCWSTR lpUnicodeCharStr,int cchUnicodeChar,LPWSTR lpASCIICharStr,int cchASCIIChar);
|
||||
WINBASEAPI int WINAPI IdnToNameprepUnicode(DWORD dwFlags,LPCWSTR lpUnicodeCharStr,int cchUnicodeChar,LPWSTR lpNameprepCharStr,int cchNameprepChar);
|
||||
WINBASEAPI int WINAPI IdnToUnicode(DWORD dwFlags,LPCWSTR lpASCIICharStr,int cchASCIIChar,LPWSTR lpUnicodeCharStr,int cchUnicodeChar);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
5835
05/tcc-final/win32/include/winapi/winnt.h
Normal file
5835
05/tcc-final/win32/include/winapi/winnt.h
Normal file
File diff suppressed because it is too large
Load diff
272
05/tcc-final/win32/include/winapi/winreg.h
Normal file
272
05/tcc-final/win32/include/winapi/winreg.h
Normal file
|
@ -0,0 +1,272 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WINREG_
|
||||
#define _WINREG_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0502
|
||||
#endif
|
||||
|
||||
#define RRF_RT_REG_NONE 0x00000001
|
||||
#define RRF_RT_REG_SZ 0x00000002
|
||||
#define RRF_RT_REG_EXPAND_SZ 0x00000004
|
||||
#define RRF_RT_REG_BINARY 0x00000008
|
||||
#define RRF_RT_REG_DWORD 0x00000010
|
||||
#define RRF_RT_REG_MULTI_SZ 0x00000020
|
||||
#define RRF_RT_REG_QWORD 0x00000040
|
||||
|
||||
#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
|
||||
#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
|
||||
#define RRF_RT_ANY 0x0000ffff
|
||||
|
||||
#define RRF_NOEXPAND 0x10000000
|
||||
#define RRF_ZEROONFAILURE 0x20000000
|
||||
|
||||
typedef ACCESS_MASK REGSAM;
|
||||
|
||||
#define HKEY_CLASSES_ROOT ((HKEY) (ULONG_PTR)((LONG)0x80000000))
|
||||
#define HKEY_CURRENT_USER ((HKEY) (ULONG_PTR)((LONG)0x80000001))
|
||||
#define HKEY_LOCAL_MACHINE ((HKEY) (ULONG_PTR)((LONG)0x80000002))
|
||||
#define HKEY_USERS ((HKEY) (ULONG_PTR)((LONG)0x80000003))
|
||||
#define HKEY_PERFORMANCE_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000004))
|
||||
#define HKEY_PERFORMANCE_TEXT ((HKEY) (ULONG_PTR)((LONG)0x80000050))
|
||||
#define HKEY_PERFORMANCE_NLSTEXT ((HKEY) (ULONG_PTR)((LONG)0x80000060))
|
||||
#define HKEY_CURRENT_CONFIG ((HKEY) (ULONG_PTR)((LONG)0x80000005))
|
||||
#define HKEY_DYN_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000006))
|
||||
|
||||
#define REG_SECURE_CONNECTION 1
|
||||
|
||||
#ifndef _PROVIDER_STRUCTS_DEFINED
|
||||
#define _PROVIDER_STRUCTS_DEFINED
|
||||
|
||||
#define PROVIDER_KEEPS_VALUE_LENGTH 0x1
|
||||
struct val_context {
|
||||
int valuelen;
|
||||
LPVOID value_context;
|
||||
LPVOID val_buff_ptr;
|
||||
};
|
||||
|
||||
typedef struct val_context *PVALCONTEXT;
|
||||
|
||||
typedef struct pvalueA {
|
||||
LPSTR pv_valuename;
|
||||
int pv_valuelen;
|
||||
LPVOID pv_value_context;
|
||||
DWORD pv_type;
|
||||
}PVALUEA,*PPVALUEA;
|
||||
|
||||
typedef struct pvalueW {
|
||||
LPWSTR pv_valuename;
|
||||
int pv_valuelen;
|
||||
LPVOID pv_value_context;
|
||||
DWORD pv_type;
|
||||
}PVALUEW,*PPVALUEW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef PVALUEW PVALUE;
|
||||
typedef PPVALUEW PPVALUE;
|
||||
#else
|
||||
typedef PVALUEA PVALUE;
|
||||
typedef PPVALUEA PPVALUE;
|
||||
#endif
|
||||
|
||||
typedef DWORD __cdecl QUERYHANDLER(LPVOID keycontext,PVALCONTEXT val_list,DWORD num_vals,LPVOID outputbuffer,DWORD *total_outlen,DWORD input_blen);
|
||||
|
||||
typedef QUERYHANDLER *PQUERYHANDLER;
|
||||
|
||||
typedef struct provider_info {
|
||||
PQUERYHANDLER pi_R0_1val;
|
||||
PQUERYHANDLER pi_R0_allvals;
|
||||
PQUERYHANDLER pi_R3_1val;
|
||||
PQUERYHANDLER pi_R3_allvals;
|
||||
DWORD pi_flags;
|
||||
LPVOID pi_key_context;
|
||||
} REG_PROVIDER;
|
||||
|
||||
typedef struct provider_info *PPROVIDER;
|
||||
|
||||
typedef struct value_entA {
|
||||
LPSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD_PTR ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} VALENTA,*PVALENTA;
|
||||
|
||||
typedef struct value_entW {
|
||||
LPWSTR ve_valuename;
|
||||
DWORD ve_valuelen;
|
||||
DWORD_PTR ve_valueptr;
|
||||
DWORD ve_type;
|
||||
} VALENTW,*PVALENTW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef VALENTW VALENT;
|
||||
typedef PVALENTW PVALENT;
|
||||
#else
|
||||
typedef VALENTA VALENT;
|
||||
typedef PVALENTA PVALENT;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define WIN31_CLASS NULL
|
||||
|
||||
#ifdef UNICODE
|
||||
#define RegConnectRegistry RegConnectRegistryW
|
||||
#define RegConnectRegistryEx RegConnectRegistryExW
|
||||
#define RegCreateKey RegCreateKeyW
|
||||
#define RegCreateKeyEx RegCreateKeyExW
|
||||
#define RegDeleteKey RegDeleteKeyW
|
||||
#define RegDeleteKeyEx RegDeleteKeyExW
|
||||
#define RegDeleteValue RegDeleteValueW
|
||||
#define RegEnumKey RegEnumKeyW
|
||||
#define RegEnumKeyEx RegEnumKeyExW
|
||||
#define RegEnumValue RegEnumValueW
|
||||
#define RegLoadKey RegLoadKeyW
|
||||
#define RegOpenKey RegOpenKeyW
|
||||
#define RegOpenKeyEx RegOpenKeyExW
|
||||
#define RegQueryInfoKey RegQueryInfoKeyW
|
||||
#define RegQueryValue RegQueryValueW
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesW
|
||||
#define RegQueryValueEx RegQueryValueExW
|
||||
#define RegReplaceKey RegReplaceKeyW
|
||||
#define RegRestoreKey RegRestoreKeyW
|
||||
#define RegSaveKey RegSaveKeyW
|
||||
#define RegSetValue RegSetValueW
|
||||
#define RegSetValueEx RegSetValueExW
|
||||
#define RegUnLoadKey RegUnLoadKeyW
|
||||
#define RegGetValue RegGetValueW
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownW
|
||||
#define AbortSystemShutdown AbortSystemShutdownW
|
||||
#else
|
||||
#define RegConnectRegistry RegConnectRegistryA
|
||||
#define RegConnectRegistryEx RegConnectRegistryExA
|
||||
#define RegCreateKey RegCreateKeyA
|
||||
#define RegCreateKeyEx RegCreateKeyExA
|
||||
#define RegDeleteKey RegDeleteKeyA
|
||||
#define RegDeleteKeyEx RegDeleteKeyExA
|
||||
#define RegDeleteValue RegDeleteValueA
|
||||
#define RegEnumKey RegEnumKeyA
|
||||
#define RegEnumKeyEx RegEnumKeyExA
|
||||
#define RegEnumValue RegEnumValueA
|
||||
#define RegLoadKey RegLoadKeyA
|
||||
#define RegOpenKey RegOpenKeyA
|
||||
#define RegOpenKeyEx RegOpenKeyExA
|
||||
#define RegQueryInfoKey RegQueryInfoKeyA
|
||||
#define RegQueryValue RegQueryValueA
|
||||
#define RegQueryMultipleValues RegQueryMultipleValuesA
|
||||
#define RegQueryValueEx RegQueryValueExA
|
||||
#define RegReplaceKey RegReplaceKeyA
|
||||
#define RegRestoreKey RegRestoreKeyA
|
||||
#define RegSaveKey RegSaveKeyA
|
||||
#define RegSetValue RegSetValueA
|
||||
#define RegSetValueEx RegSetValueExA
|
||||
#define RegUnLoadKey RegUnLoadKeyA
|
||||
#define RegGetValue RegGetValueA
|
||||
#define InitiateSystemShutdown InitiateSystemShutdownA
|
||||
#define AbortSystemShutdown AbortSystemShutdownA
|
||||
#endif
|
||||
|
||||
WINADVAPI LONG WINAPI RegCloseKey(HKEY hKey);
|
||||
WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY hKey,HKEY hNewHKey);
|
||||
WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegDisablePredefinedCache();
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR lpMachineName,HKEY hKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR lpMachineName,HKEY hKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryExA(LPCSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
|
||||
WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
|
||||
WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
|
||||
WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY hBase);
|
||||
WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY hBase);
|
||||
WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled);
|
||||
WINADVAPI LONG WINAPI RegDeleteValueA(HKEY hKey,LPCSTR lpValueName);
|
||||
WINADVAPI LONG WINAPI RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegFlushKey(HKEY hKey);
|
||||
WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor);
|
||||
WINADVAPI LONG WINAPI RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpFile);
|
||||
WINADVAPI LONG WINAPI RegLoadKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpFile);
|
||||
WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY hKey,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,HANDLE hEvent,WINBOOL fAsynchronous);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
|
||||
WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY hKey,LPSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY hKey,LPWSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
|
||||
WINADVAPI LONG WINAPI RegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpData,PLONG lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpData,PLONG lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY hKey,PVALENTA val_list,DWORD num_vals,LPSTR lpValueBuf,LPDWORD ldwTotsize);
|
||||
WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY hKey,PVALENTW val_list,DWORD num_vals,LPWSTR lpValueBuf,LPDWORD ldwTotsize);
|
||||
WINADVAPI LONG WINAPI RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
|
||||
WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpNewFile,LPCSTR lpOldFile);
|
||||
WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpNewFile,LPCWSTR lpOldFile);
|
||||
WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY hKey,LPCSTR lpFile,DWORD dwFlags);
|
||||
WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY hKey,LPCWSTR lpFile,DWORD dwFlags);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
||||
WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
|
||||
WINADVAPI LONG WINAPI RegSetValueA(HKEY hKey,LPCSTR lpSubKey,DWORD dwType,LPCSTR lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueW(HKEY hKey,LPCWSTR lpSubKey,DWORD dwType,LPCWSTR lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegSetValueExW(HKEY hKey,LPCWSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
|
||||
WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY hKey,LPCSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY hKey,LPCWSTR lpSubKey);
|
||||
WINADVAPI LONG WINAPI RegGetValueA(HKEY hkey,LPCSTR lpSubKey,LPCSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
|
||||
WINADVAPI LONG WINAPI RegGetValueW(HKEY hkey,LPCWSTR lpSubKey,LPCWSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
|
||||
WINADVAPI WINBOOL WINAPI AbortSystemShutdownA(LPSTR lpMachineName);
|
||||
WINADVAPI WINBOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
|
||||
|
||||
//gr #include <reason.h>
|
||||
|
||||
#define REASON_SWINSTALL SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION
|
||||
#define REASON_HWINSTALL SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION
|
||||
#define REASON_SERVICEHANG SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG
|
||||
#define REASON_UNSTABLE SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE
|
||||
#define REASON_SWHWRECONF SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG
|
||||
#define REASON_OTHER SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER
|
||||
#define REASON_UNKNOWN SHTDN_REASON_UNKNOWN
|
||||
#define REASON_LEGACY_API SHTDN_REASON_LEGACY_API
|
||||
#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED
|
||||
|
||||
#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
|
||||
|
||||
#ifdef UNICODE
|
||||
#define InitiateSystemShutdownEx InitiateSystemShutdownExW
|
||||
#define RegSaveKeyEx RegSaveKeyExW
|
||||
#else
|
||||
#define InitiateSystemShutdownEx InitiateSystemShutdownExA
|
||||
#define RegSaveKeyEx RegSaveKeyExA
|
||||
#endif
|
||||
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
|
||||
WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
|
||||
WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
|
||||
WINADVAPI LONG WINAPI Wow64Win32ApiEntry (DWORD dwFuncNumber,DWORD dwFlag,DWORD dwRes);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
1474
05/tcc-final/win32/include/winapi/winsock2.h
Normal file
1474
05/tcc-final/win32/include/winapi/winsock2.h
Normal file
File diff suppressed because it is too large
Load diff
5651
05/tcc-final/win32/include/winapi/winuser.h
Normal file
5651
05/tcc-final/win32/include/winapi/winuser.h
Normal file
File diff suppressed because it is too large
Load diff
160
05/tcc-final/win32/include/winapi/winver.h
Normal file
160
05/tcc-final/win32/include/winapi/winver.h
Normal file
|
@ -0,0 +1,160 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef VER_H
|
||||
#define VER_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VS_FILE_INFO RT_VERSION
|
||||
#define VS_VERSION_INFO 1
|
||||
#define VS_USER_DEFINED 100
|
||||
|
||||
#define VS_FFI_SIGNATURE 0xFEEF04BDL
|
||||
#define VS_FFI_STRUCVERSION 0x00010000L
|
||||
#define VS_FFI_FILEFLAGSMASK 0x0000003FL
|
||||
|
||||
#define VS_FF_DEBUG 0x00000001L
|
||||
#define VS_FF_PRERELEASE 0x00000002L
|
||||
#define VS_FF_PATCHED 0x00000004L
|
||||
#define VS_FF_PRIVATEBUILD 0x00000008L
|
||||
#define VS_FF_INFOINFERRED 0x00000010L
|
||||
#define VS_FF_SPECIALBUILD 0x00000020L
|
||||
|
||||
#define VOS_UNKNOWN 0x00000000L
|
||||
#define VOS_DOS 0x00010000L
|
||||
#define VOS_OS216 0x00020000L
|
||||
#define VOS_OS232 0x00030000L
|
||||
#define VOS_NT 0x00040000L
|
||||
#define VOS_WINCE 0x00050000L
|
||||
|
||||
#define VOS__BASE 0x00000000L
|
||||
#define VOS__WINDOWS16 0x00000001L
|
||||
#define VOS__PM16 0x00000002L
|
||||
#define VOS__PM32 0x00000003L
|
||||
#define VOS__WINDOWS32 0x00000004L
|
||||
|
||||
#define VOS_DOS_WINDOWS16 0x00010001L
|
||||
#define VOS_DOS_WINDOWS32 0x00010004L
|
||||
#define VOS_OS216_PM16 0x00020002L
|
||||
#define VOS_OS232_PM32 0x00030003L
|
||||
#define VOS_NT_WINDOWS32 0x00040004L
|
||||
|
||||
#define VFT_UNKNOWN 0x00000000L
|
||||
#define VFT_APP 0x00000001L
|
||||
#define VFT_DLL 0x00000002L
|
||||
#define VFT_DRV 0x00000003L
|
||||
#define VFT_FONT 0x00000004L
|
||||
#define VFT_VXD 0x00000005L
|
||||
#define VFT_STATIC_LIB 0x00000007L
|
||||
|
||||
#define VFT2_UNKNOWN 0x00000000L
|
||||
#define VFT2_DRV_PRINTER 0x00000001L
|
||||
#define VFT2_DRV_KEYBOARD 0x00000002L
|
||||
#define VFT2_DRV_LANGUAGE 0x00000003L
|
||||
#define VFT2_DRV_DISPLAY 0x00000004L
|
||||
#define VFT2_DRV_MOUSE 0x00000005L
|
||||
#define VFT2_DRV_NETWORK 0x00000006L
|
||||
#define VFT2_DRV_SYSTEM 0x00000007L
|
||||
#define VFT2_DRV_INSTALLABLE 0x00000008L
|
||||
#define VFT2_DRV_SOUND 0x00000009L
|
||||
#define VFT2_DRV_COMM 0x0000000AL
|
||||
#define VFT2_DRV_INPUTMETHOD 0x0000000BL
|
||||
#define VFT2_DRV_VERSIONED_PRINTER 0x0000000CL
|
||||
|
||||
#define VFT2_FONT_RASTER 0x00000001L
|
||||
#define VFT2_FONT_VECTOR 0x00000002L
|
||||
#define VFT2_FONT_TRUETYPE 0x00000003L
|
||||
|
||||
#define VFFF_ISSHAREDFILE 0x0001
|
||||
|
||||
#define VFF_CURNEDEST 0x0001
|
||||
#define VFF_FILEINUSE 0x0002
|
||||
#define VFF_BUFFTOOSMALL 0x0004
|
||||
|
||||
#define VIFF_FORCEINSTALL 0x0001
|
||||
#define VIFF_DONTDELETEOLD 0x0002
|
||||
|
||||
#define VIF_TEMPFILE 0x00000001L
|
||||
#define VIF_MISMATCH 0x00000002L
|
||||
#define VIF_SRCOLD 0x00000004L
|
||||
|
||||
#define VIF_DIFFLANG 0x00000008L
|
||||
#define VIF_DIFFCODEPG 0x00000010L
|
||||
#define VIF_DIFFTYPE 0x00000020L
|
||||
|
||||
#define VIF_WRITEPROT 0x00000040L
|
||||
#define VIF_FILEINUSE 0x00000080L
|
||||
#define VIF_OUTOFSPACE 0x00000100L
|
||||
#define VIF_ACCESSVIOLATION 0x00000200L
|
||||
#define VIF_SHARINGVIOLATION 0x00000400L
|
||||
#define VIF_CANNOTCREATE 0x00000800L
|
||||
#define VIF_CANNOTDELETE 0x00001000L
|
||||
#define VIF_CANNOTRENAME 0x00002000L
|
||||
#define VIF_CANNOTDELETECUR 0x00004000L
|
||||
#define VIF_OUTOFMEMORY 0x00008000L
|
||||
|
||||
#define VIF_CANNOTREADSRC 0x00010000L
|
||||
#define VIF_CANNOTREADDST 0x00020000L
|
||||
|
||||
#define VIF_BUFFTOOSMALL 0x00040000L
|
||||
#define VIF_CANNOTLOADLZ32 0x00080000L
|
||||
#define VIF_CANNOTLOADCABINET 0x00100000L
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
typedef struct tagVS_FIXEDFILEINFO
|
||||
{
|
||||
DWORD dwSignature;
|
||||
DWORD dwStrucVersion;
|
||||
DWORD dwFileVersionMS;
|
||||
DWORD dwFileVersionLS;
|
||||
DWORD dwProductVersionMS;
|
||||
DWORD dwProductVersionLS;
|
||||
DWORD dwFileFlagsMask;
|
||||
DWORD dwFileFlags;
|
||||
DWORD dwFileOS;
|
||||
DWORD dwFileType;
|
||||
DWORD dwFileSubtype;
|
||||
DWORD dwFileDateMS;
|
||||
DWORD dwFileDateLS;
|
||||
} VS_FIXEDFILEINFO;
|
||||
|
||||
#ifdef UNICODE
|
||||
#define VerFindFile VerFindFileW
|
||||
#define VerInstallFile VerInstallFileW
|
||||
#define GetFileVersionInfoSize GetFileVersionInfoSizeW
|
||||
#define GetFileVersionInfo GetFileVersionInfoW
|
||||
#define VerLanguageName VerLanguageNameW
|
||||
#define VerQueryValue VerQueryValueW
|
||||
#else
|
||||
#define VerFindFile VerFindFileA
|
||||
#define VerInstallFile VerInstallFileA
|
||||
#define GetFileVersionInfoSize GetFileVersionInfoSizeA
|
||||
#define GetFileVersionInfo GetFileVersionInfoA
|
||||
#define VerLanguageName VerLanguageNameA
|
||||
#define VerQueryValue VerQueryValueA
|
||||
#endif
|
||||
|
||||
DWORD WINAPI VerFindFileA(DWORD uFlags,LPSTR szFileName,LPSTR szWinDir,LPSTR szAppDir,LPSTR szCurDir,PUINT lpuCurDirLen,LPSTR szDestDir,PUINT lpuDestDirLen);
|
||||
DWORD WINAPI VerFindFileW(DWORD uFlags,LPWSTR szFileName,LPWSTR szWinDir,LPWSTR szAppDir,LPWSTR szCurDir,PUINT lpuCurDirLen,LPWSTR szDestDir,PUINT lpuDestDirLen);
|
||||
DWORD WINAPI VerInstallFileA(DWORD uFlags,LPSTR szSrcFileName,LPSTR szDestFileName,LPSTR szSrcDir,LPSTR szDestDir,LPSTR szCurDir,LPSTR szTmpFile,PUINT lpuTmpFileLen);
|
||||
DWORD WINAPI VerInstallFileW(DWORD uFlags,LPWSTR szSrcFileName,LPWSTR szDestFileName,LPWSTR szSrcDir,LPWSTR szDestDir,LPWSTR szCurDir,LPWSTR szTmpFile,PUINT lpuTmpFileLen);
|
||||
DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR lptstrFilename,LPDWORD lpdwHandle);
|
||||
DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR lptstrFilename,LPDWORD lpdwHandle);
|
||||
WINBOOL WINAPI GetFileVersionInfoA(LPCSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
|
||||
WINBOOL WINAPI GetFileVersionInfoW(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
|
||||
DWORD WINAPI VerLanguageNameA(DWORD wLang,LPSTR szLang,DWORD nSize);
|
||||
DWORD WINAPI VerLanguageNameW(DWORD wLang,LPWSTR szLang,DWORD nSize);
|
||||
WINBOOL WINAPI VerQueryValueA(const LPVOID pBlock,LPSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
|
||||
WINBOOL WINAPI VerQueryValueW(const LPVOID pBlock,LPWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
21
05/tcc-final/win32/include/winapi/ws2ipdef.h
Normal file
21
05/tcc-final/win32/include/winapi/ws2ipdef.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
#ifndef _WS2IPDEF_H
|
||||
#define _WS2IPDEF_H
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#include <winsock2.h>
|
||||
|
||||
struct ip_mreq {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_interface;
|
||||
};
|
||||
|
||||
struct ip_mreq_source {
|
||||
struct in_addr imr_multiaddr;
|
||||
struct in_addr imr_sourceaddr;
|
||||
struct in_addr imr_interface;
|
||||
};
|
||||
|
||||
#endif
|
391
05/tcc-final/win32/include/winapi/ws2tcpip.h
Normal file
391
05/tcc-final/win32/include/winapi/ws2tcpip.h
Normal file
|
@ -0,0 +1,391 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within this package.
|
||||
*/
|
||||
#ifndef _WS2TCPIP_H
|
||||
#define _WS2TCPIP_H
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#include <ws2ipdef.h>
|
||||
|
||||
struct ip_msfilter {
|
||||
struct in_addr imsf_multiaddr;
|
||||
struct in_addr imsf_interface;
|
||||
u_long imsf_fmode;
|
||||
u_long imsf_numsrc;
|
||||
struct in_addr imsf_slist[1];
|
||||
};
|
||||
|
||||
#define IP_MSFILTER_SIZE(numsrc) (sizeof(struct ip_msfilter)-sizeof(struct in_addr) + (numsrc)*sizeof(struct in_addr))
|
||||
|
||||
#define MCAST_INCLUDE 0
|
||||
#define MCAST_EXCLUDE 1
|
||||
|
||||
#define SIO_GET_INTERFACE_LIST _IOR('t',127,u_long)
|
||||
|
||||
#define SIO_GET_INTERFACE_LIST_EX _IOR('t',126,u_long)
|
||||
#define SIO_SET_MULTICAST_FILTER _IOW('t',125,u_long)
|
||||
#define SIO_GET_MULTICAST_FILTER _IOW('t',124 | IOC_IN,u_long)
|
||||
|
||||
#define IP_OPTIONS 1
|
||||
#define IP_HDRINCL 2
|
||||
#define IP_TOS 3
|
||||
#define IP_TTL 4
|
||||
#define IP_MULTICAST_IF 9
|
||||
#define IP_MULTICAST_TTL 10
|
||||
#define IP_MULTICAST_LOOP 11
|
||||
#define IP_ADD_MEMBERSHIP 12
|
||||
#define IP_DROP_MEMBERSHIP 13
|
||||
#define IP_DONTFRAGMENT 14
|
||||
#define IP_ADD_SOURCE_MEMBERSHIP 15
|
||||
#define IP_DROP_SOURCE_MEMBERSHIP 16
|
||||
#define IP_BLOCK_SOURCE 17
|
||||
#define IP_UNBLOCK_SOURCE 18
|
||||
#define IP_PKTINFO 19
|
||||
#define IP_RECEIVE_BROADCAST 22
|
||||
|
||||
#define IPV6_HDRINCL 2
|
||||
#define IPV6_UNICAST_HOPS 4
|
||||
#define IPV6_MULTICAST_IF 9
|
||||
#define IPV6_MULTICAST_HOPS 10
|
||||
#define IPV6_MULTICAST_LOOP 11
|
||||
#define IPV6_ADD_MEMBERSHIP 12
|
||||
#define IPV6_DROP_MEMBERSHIP 13
|
||||
#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
|
||||
#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
|
||||
#define IPV6_PKTINFO 19
|
||||
#define IPV6_HOPLIMIT 21
|
||||
#define IPV6_PROTECTION_LEVEL 23
|
||||
|
||||
#define PROTECTION_LEVEL_UNRESTRICTED 10
|
||||
#define PROTECTION_LEVEL_DEFAULT 20
|
||||
#define PROTECTION_LEVEL_RESTRICTED 30
|
||||
|
||||
#define UDP_NOCHECKSUM 1
|
||||
#define UDP_CHECKSUM_COVERAGE 20
|
||||
|
||||
#define TCP_EXPEDITED_1122 0x0002
|
||||
|
||||
#ifndef s6_addr
|
||||
|
||||
struct in6_addr {
|
||||
__MINGW_EXTENSION union {
|
||||
u_char Byte[16];
|
||||
u_short Word[8];
|
||||
} u;
|
||||
};
|
||||
|
||||
#define in_addr6 in6_addr
|
||||
|
||||
#define _S6_un u
|
||||
#define _S6_u8 Byte
|
||||
#define s6_addr _S6_un._S6_u8
|
||||
|
||||
#define s6_bytes u.Byte
|
||||
#define s6_words u.Word
|
||||
#endif
|
||||
|
||||
typedef struct ipv6_mreq {
|
||||
struct in6_addr ipv6mr_multiaddr;
|
||||
unsigned int ipv6mr_interface;
|
||||
} IPV6_MREQ;
|
||||
|
||||
struct sockaddr_in6_old {
|
||||
short sin6_family;
|
||||
u_short sin6_port;
|
||||
u_long sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
};
|
||||
|
||||
struct sockaddr_in6 {
|
||||
short sin6_family;
|
||||
u_short sin6_port;
|
||||
u_long sin6_flowinfo;
|
||||
struct in6_addr sin6_addr;
|
||||
u_long sin6_scope_id;
|
||||
};
|
||||
|
||||
typedef struct in6_addr IN6_ADDR;
|
||||
typedef struct in6_addr *PIN6_ADDR;
|
||||
typedef struct in6_addr *LPIN6_ADDR;
|
||||
|
||||
typedef struct sockaddr_in6 SOCKADDR_IN6;
|
||||
typedef struct sockaddr_in6 *PSOCKADDR_IN6;
|
||||
typedef struct sockaddr_in6 *LPSOCKADDR_IN6;
|
||||
|
||||
#define SS_PORT(ssp) (((struct sockaddr_in*)(ssp))->sin_port)
|
||||
|
||||
#define IN6ADDR_ANY_INIT { 0 }
|
||||
#define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern const struct in6_addr in6addr_any;
|
||||
extern const struct in6_addr in6addr_loopback;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#define WS2TCPIP_INLINE __CRT_INLINE
|
||||
|
||||
int IN6_ADDR_EQUAL(const struct in6_addr *,const struct in6_addr *);
|
||||
int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
|
||||
int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
|
||||
int IN6ADDR_ISANY(const struct sockaddr_in6 *);
|
||||
int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *);
|
||||
void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *);
|
||||
void IN6_SET_ADDR_LOOPBACK(struct in6_addr *);
|
||||
void IN6ADDR_SETANY(struct sockaddr_in6 *);
|
||||
void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *);
|
||||
|
||||
#ifndef __CRT__NO_INLINE
|
||||
WS2TCPIP_INLINE int IN6_ADDR_EQUAL(const struct in6_addr *a,const struct in6_addr *b) { return (memcmp(a,b,sizeof(struct in6_addr))==0); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
|
||||
WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
|
||||
WS2TCPIP_INLINE int IN6ADDR_ISANY(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr)); }
|
||||
WS2TCPIP_INLINE int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_LOOPBACK(&a->sin6_addr)); }
|
||||
WS2TCPIP_INLINE void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { memset(a->s6_bytes,0,sizeof(struct in6_addr)); }
|
||||
WS2TCPIP_INLINE void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a) {
|
||||
memset(a->s6_bytes,0,sizeof(struct in6_addr));
|
||||
a->s6_bytes[15] = 1;
|
||||
}
|
||||
WS2TCPIP_INLINE void IN6ADDR_SETANY(struct sockaddr_in6 *a) {
|
||||
a->sin6_family = AF_INET6;
|
||||
a->sin6_port = 0;
|
||||
a->sin6_flowinfo = 0;
|
||||
IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr);
|
||||
a->sin6_scope_id = 0;
|
||||
}
|
||||
WS2TCPIP_INLINE void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a) {
|
||||
a->sin6_family = AF_INET6;
|
||||
a->sin6_port = 0;
|
||||
a->sin6_flowinfo = 0;
|
||||
IN6_SET_ADDR_LOOPBACK(&a->sin6_addr);
|
||||
a->sin6_scope_id = 0;
|
||||
}
|
||||
#endif /* !__CRT__NO_INLINE */
|
||||
|
||||
typedef union sockaddr_gen {
|
||||
struct sockaddr Address;
|
||||
struct sockaddr_in AddressIn;
|
||||
struct sockaddr_in6_old AddressIn6;
|
||||
} sockaddr_gen;
|
||||
|
||||
typedef struct _INTERFACE_INFO {
|
||||
u_long iiFlags;
|
||||
sockaddr_gen iiAddress;
|
||||
sockaddr_gen iiBroadcastAddress;
|
||||
sockaddr_gen iiNetmask;
|
||||
} INTERFACE_INFO,*LPINTERFACE_INFO;
|
||||
|
||||
typedef struct _INTERFACE_INFO_EX {
|
||||
u_long iiFlags;
|
||||
SOCKET_ADDRESS iiAddress;
|
||||
SOCKET_ADDRESS iiBroadcastAddress;
|
||||
SOCKET_ADDRESS iiNetmask;
|
||||
} INTERFACE_INFO_EX,*LPINTERFACE_INFO_EX;
|
||||
|
||||
#define IFF_UP 0x00000001
|
||||
#define IFF_BROADCAST 0x00000002
|
||||
#define IFF_LOOPBACK 0x00000004
|
||||
#define IFF_POINTTOPOINT 0x00000008
|
||||
#define IFF_MULTICAST 0x00000010
|
||||
|
||||
typedef struct in_pktinfo {
|
||||
IN_ADDR ipi_addr;
|
||||
UINT ipi_ifindex;
|
||||
} IN_PKTINFO;
|
||||
|
||||
C_ASSERT(sizeof(IN_PKTINFO)==8);
|
||||
|
||||
typedef struct in6_pktinfo {
|
||||
IN6_ADDR ipi6_addr;
|
||||
UINT ipi6_ifindex;
|
||||
} IN6_PKTINFO;
|
||||
|
||||
C_ASSERT(sizeof(IN6_PKTINFO)==20);
|
||||
|
||||
#define EAI_AGAIN WSATRY_AGAIN
|
||||
#define EAI_BADFLAGS WSAEINVAL
|
||||
#define EAI_FAIL WSANO_RECOVERY
|
||||
#define EAI_FAMILY WSAEAFNOSUPPORT
|
||||
#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
|
||||
|
||||
#define EAI_NONAME WSAHOST_NOT_FOUND
|
||||
#define EAI_SERVICE WSATYPE_NOT_FOUND
|
||||
#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
|
||||
|
||||
#define EAI_NODATA EAI_NONAME
|
||||
|
||||
typedef struct addrinfo {
|
||||
int ai_flags;
|
||||
int ai_family;
|
||||
int ai_socktype;
|
||||
int ai_protocol;
|
||||
size_t ai_addrlen;
|
||||
char *ai_canonname;
|
||||
struct sockaddr *ai_addr;
|
||||
struct addrinfo *ai_next;
|
||||
} ADDRINFOA,*PADDRINFOA;
|
||||
|
||||
typedef struct addrinfoW {
|
||||
int ai_flags;
|
||||
int ai_family;
|
||||
int ai_socktype;
|
||||
int ai_protocol;
|
||||
size_t ai_addrlen;
|
||||
PWSTR ai_canonname;
|
||||
struct sockaddr *ai_addr;
|
||||
struct addrinfoW *ai_next;
|
||||
} ADDRINFOW,*PADDRINFOW;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef ADDRINFOW ADDRINFOT,*PADDRINFOT;
|
||||
#else
|
||||
typedef ADDRINFOA ADDRINFOT,*PADDRINFOT;
|
||||
#endif
|
||||
|
||||
typedef ADDRINFOA ADDRINFO,*LPADDRINFO;
|
||||
|
||||
#define AI_PASSIVE 0x1
|
||||
#define AI_CANONNAME 0x2
|
||||
#define AI_NUMERICHOST 0x4
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define GetAddrInfo GetAddrInfoW
|
||||
#else
|
||||
#define GetAddrInfo GetAddrInfoA
|
||||
#endif
|
||||
|
||||
WINSOCK_API_LINKAGE int WSAAPI getaddrinfo(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res);
|
||||
WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoW(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult);
|
||||
|
||||
#define GetAddrInfoA getaddrinfo
|
||||
|
||||
#if INCL_WINSOCK_API_TYPEDEFS
|
||||
typedef int (WSAAPI *LPFN_GETADDRINFO)(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res);
|
||||
typedef int (WSAAPI *LPFN_GETADDRINFOW)(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult);
|
||||
|
||||
#define LPFN_GETADDRINFOA LPFN_GETADDRINFO
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LPFN_GETADDRINFOT LPFN_GETADDRINFOW
|
||||
#else
|
||||
#define LPFN_GETADDRINFOT LPFN_GETADDRINFOA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef UNICODE
|
||||
#define FreeAddrInfo FreeAddrInfoW
|
||||
#else
|
||||
#define FreeAddrInfo FreeAddrInfoA
|
||||
#endif
|
||||
|
||||
WINSOCK_API_LINKAGE void WSAAPI freeaddrinfo(LPADDRINFO pAddrInfo);
|
||||
WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoW(PADDRINFOW pAddrInfo);
|
||||
|
||||
#define FreeAddrInfoA freeaddrinfo
|
||||
|
||||
#if INCL_WINSOCK_API_TYPEDEFS
|
||||
typedef void (WSAAPI *LPFN_FREEADDRINFO)(struct addrinfo *ai);
|
||||
typedef void (WSAAPI *LPFN_FREEADDRINFOW)(PADDRINFOW pAddrInfo);
|
||||
|
||||
#define LPFN_FREEADDRINFOA LPFN_FREEADDRINFO
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOW
|
||||
#else
|
||||
#define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#pragma push_macro("socklen_t")
|
||||
#undef socklen_t
|
||||
|
||||
typedef int socklen_t;
|
||||
|
||||
#ifdef UNICODE
|
||||
#define GetNameInfo GetNameInfoW
|
||||
#else
|
||||
#define GetNameInfo GetNameInfoA
|
||||
#endif
|
||||
|
||||
WINSOCK_API_LINKAGE int WSAAPI getnameinfo(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags);
|
||||
WINSOCK_API_LINKAGE INT WSAAPI GetNameInfoW(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags);
|
||||
|
||||
#define GetNameInfoA getnameinfo
|
||||
|
||||
#if INCL_WINSOCK_API_TYPEDEFS
|
||||
typedef int (WSAAPI *LPFN_GETNAMEINFO)(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags);
|
||||
typedef INT (WSAAPI *LPFN_GETNAMEINFOW)(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags);
|
||||
|
||||
#define LPFN_GETNAMEINFOA LPFN_GETNAMEINFO
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOW
|
||||
#else
|
||||
#define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOA
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#pragma pop_macro("socklen_t")
|
||||
|
||||
#ifdef UNICODE
|
||||
#define gai_strerror gai_strerrorW
|
||||
#else
|
||||
#define gai_strerror gai_strerrorA
|
||||
#endif
|
||||
|
||||
#define GAI_STRERROR_BUFFER_SIZE 1024
|
||||
|
||||
char *gai_strerrorA (int);
|
||||
WCHAR *gai_strerrorW(int);
|
||||
|
||||
#define NI_MAXHOST 1025
|
||||
#define NI_MAXSERV 32
|
||||
|
||||
#define INET_ADDRSTRLEN 22
|
||||
#define INET6_ADDRSTRLEN 65
|
||||
|
||||
#define NI_NOFQDN 0x01
|
||||
#define NI_NUMERICHOST 0x02
|
||||
#define NI_NAMEREQD 0x04
|
||||
#define NI_NUMERICSERV 0x08
|
||||
#define NI_DGRAM 0x10
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue