Files
2021-11-09 11:32:03 -05:00

73286 lines
2.8 MiB
Plaintext

#pragma pack(push,_CRT_PACKING)
typedef __builtin_va_list __gnuc_va_list;
typedef __gnuc_va_list va_list;
#pragma pack(pop)
void __attribute__((__cdecl__)) __debugbreak(void);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void __attribute__((__cdecl__)) __debugbreak(void)
{
/*__asm__*/
}
const char *__mingw_get_crt_info (void);
#pragma pack(push,_CRT_PACKING)
__extension__ typedef unsigned long long size_t;
__extension__ typedef long long ssize_t;
typedef size_t rsize_t;
__extension__ typedef long long intptr_t;
__extension__ typedef unsigned long long uintptr_t;
__extension__ typedef long long ptrdiff_t;
typedef unsigned short wchar_t;
typedef unsigned short wint_t;
typedef unsigned short wctype_t;
typedef int errno_t;
typedef long __time32_t;
__extension__ typedef long long __time64_t;
typedef __time64_t time_t;
struct threadlocaleinfostruct;
struct threadmbcinfostruct;
typedef struct threadlocaleinfostruct *pthreadlocinfo;
typedef struct threadmbcinfostruct *pthreadmbcinfo;
struct __lc_time_data;
typedef struct localeinfo_struct {
pthreadlocinfo locinfo;
pthreadmbcinfo mbcinfo;
} _locale_tstruct,*_locale_t;
typedef struct tagLC_ID {
unsigned short wLanguage;
unsigned short wCountry;
unsigned short wCodePage;
} LC_ID,*LPLC_ID;
typedef struct threadlocaleinfostruct {
int refcount;
unsigned int lc_codepage;
unsigned int lc_collate_cp;
unsigned long lc_handle[6];
LC_ID lc_id[6];
struct {
char *locale;
wchar_t *wlocale;
int *refcount;
int *wrefcount;
} lc_category[6];
int lc_clike;
int mb_cur_max;
int *lconv_intl_refcount;
int *lconv_num_refcount;
int *lconv_mon_refcount;
struct lconv *lconv;
int *ctype1_refcount;
unsigned short *ctype1;
const unsigned short *pctype;
const unsigned char *pclmap;
const unsigned char *pcumap;
struct __lc_time_data *lc_time_curr;
} threadlocinfo;
#pragma pack(pop)
#pragma pack(push,_CRT_PACKING)
struct _EXCEPTION_POINTERS;
struct _EXCEPTION_RECORD;
struct _CONTEXT;
struct _DISPATCHER_CONTEXT;
__extension__ __attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __C_specific_handler (struct _EXCEPTION_RECORD *_ExceptionRecord, void *_EstablisherFrame, struct _CONTEXT *_ContextRecord, struct _DISPATCHER_CONTEXT *_DispatcherContext);
unsigned long __attribute__((__cdecl__)) _exception_code(void);
void *__attribute__((__cdecl__)) _exception_info(void);
int __attribute__((__cdecl__)) _abnormal_termination(void);
typedef void (__attribute__((__cdecl__)) * _PHNDLR)(int);
struct _XCPT_ACTION {
unsigned long XcptNum;
int SigNum;
_PHNDLR XcptAction;
};
extern struct _XCPT_ACTION _XcptActTab[];
extern int _XcptActTabCount;
extern int _XcptActTabSize;
extern int _First_FPE_Indx;
extern int _Num_FPE;
int __attribute__((__cdecl__)) __CppXcptFilter(unsigned long _ExceptionNum,struct _EXCEPTION_POINTERS * _ExceptionPtr);
int __attribute__((__cdecl__)) _XcptFilter(unsigned long _ExceptionNum,struct _EXCEPTION_POINTERS * _ExceptionPtr);
typedef int (*PEXCEPTION_HANDLER)(struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
#pragma pack(pop)
typedef unsigned long ULONG;
typedef ULONG *PULONG;
typedef unsigned short USHORT;
typedef USHORT *PUSHORT;
typedef unsigned char UCHAR;
typedef UCHAR *PUCHAR;
typedef char *PSZ;
typedef int WINBOOL;
typedef int BOOL;
typedef WINBOOL *PBOOL;
typedef WINBOOL *LPBOOL;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
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;
typedef const void *LPCVOID;
typedef int INT;
typedef unsigned int UINT;
typedef unsigned int *PUINT;
extern unsigned short ** __imp__pctype;
extern unsigned short ** __imp__wctype;
extern unsigned short ** __imp__pwctype;
extern const unsigned char __newclmap[];
extern const unsigned char __newcumap[];
extern pthreadlocinfo __ptlocinfo;
extern pthreadmbcinfo __ptmbcinfo;
extern int __globallocalestatus;
extern int __locale_changed;
extern struct threadlocaleinfostruct __initiallocinfo;
extern _locale_tstruct __initiallocalestructinfo;
pthreadlocinfo __attribute__((__cdecl__)) __updatetlocinfo(void);
pthreadmbcinfo __attribute__((__cdecl__)) __updatetmbcinfo(void);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isctype(int _C,int _Type);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isctype_l(int _C,int _Type,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isalpha(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isalpha_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isupper(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isupper_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) islower(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _islower_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isdigit(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isdigit_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isxdigit(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isxdigit_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isspace(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isspace_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) ispunct(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _ispunct_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isalnum(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isalnum_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isprint(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isprint_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) isgraph(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isgraph_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) iscntrl(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iscntrl_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) toupper(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) tolower(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _tolower(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _tolower_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _toupper(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _toupper_l(int _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __isascii(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __toascii(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iscsymf(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iscsym(int _C);
int __attribute__((__cdecl__)) isblank(int _C);
int __attribute__((__cdecl__)) iswalpha(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswalpha_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswupper(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswupper_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswlower(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswlower_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswdigit(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswdigit_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswxdigit(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswxdigit_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswspace(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswspace_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswpunct(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswpunct_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswalnum(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswalnum_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswprint(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswprint_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswgraph(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswgraph_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswcntrl(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcntrl_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswascii(wint_t _C);
int __attribute__((__cdecl__)) isleadbyte(int _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _isleadbyte_l(int _C,_locale_t _Locale);
wint_t __attribute__((__cdecl__)) towupper(wint_t _C);
__attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _towupper_l(wint_t _C,_locale_t _Locale);
wint_t __attribute__((__cdecl__)) towlower(wint_t _C);
__attribute__ ((__dllimport__)) wint_t __attribute__((__cdecl__)) _towlower_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) iswctype(wint_t _C,wctype_t _Type);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iswcsymf(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcsymf_l(wint_t _C,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) __iswcsym(wint_t _C);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _iswcsym_l(wint_t _C,_locale_t _Locale);
int __attribute__((__cdecl__)) is_wctype(wint_t _C,wctype_t _Type);
int __attribute__((__cdecl__)) iswblank(wint_t _C);
extern int * __imp___mb_cur_max;
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) ___mb_cur_max_func(void);
void __faststorefence(void);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __faststorefence(void) {
__builtin_ia32_sfence();
}
__extension__ void __stosq(unsigned long long *, unsigned long long, size_t);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __stosq(unsigned long long *Dest, unsigned long long Data, size_t Count) { /*__asm__*/ }
__extension__ unsigned char _interlockedbittestandset64(long long volatile *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandset64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char _interlockedbittestandreset64(long long volatile *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandreset64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char _interlockedbittestandcomplement64(long long volatile *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandcomplement64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char InterlockedBitTestAndSet64(volatile long long *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndSet64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char InterlockedBitTestAndReset64(volatile long long *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndReset64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char InterlockedBitTestAndComplement64(volatile long long *a, long long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndComplement64(long long volatile *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ long long _InterlockedAnd64(long long volatile *, long long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedAnd64(volatile long long *Destination, long long Value) { return __sync_fetch_and_and(Destination, Value); }
__extension__ long long _InterlockedOr64(long long volatile *, long long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedOr64(volatile long long *Destination, long long Value) { return __sync_fetch_and_or(Destination, Value); }
__extension__ long long _InterlockedXor64(long long volatile *, long long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedXor64(volatile long long *Destination, long long Value) { return __sync_fetch_and_xor(Destination, Value); }
__extension__ long long _InterlockedIncrement64(long long volatile *Addend);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedIncrement64(long long volatile *Addend) {
return __sync_add_and_fetch(Addend, 1);
}
__extension__ long long _InterlockedDecrement64(long long volatile *Addend);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedDecrement64(long long volatile *Addend) {
return __sync_sub_and_fetch(Addend, 1);
}
__extension__ long long _InterlockedExchange64(long long volatile *Target, long long Value);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedExchange64(long long volatile *Target, long long Value) {
return __sync_lock_test_and_set(Target, Value);
}
__extension__ long long _InterlockedExchangeAdd64(long long volatile *Addend, long long Value);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedExchangeAdd64(long long volatile *Addend, long long Value) {
return __sync_fetch_and_add(Addend, Value);
}
unsigned char __readgsbyte(unsigned long Offset);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char __readgsbyte(unsigned long Offset) { unsigned char ret; /*__asm__*/ return ret; }
unsigned short __readgsword(unsigned long Offset);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned short __readgsword(unsigned long Offset) { unsigned short ret; /*__asm__*/ return ret; }
unsigned long __readgsdword(unsigned long Offset);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned long __readgsdword(unsigned long Offset) { unsigned long ret; /*__asm__*/ return ret; }
__extension__ unsigned long long __readgsqword(unsigned long Offset);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned long long __readgsqword(unsigned long Offset) { unsigned long long ret; /*__asm__*/ return ret; }
void __writegsbyte(unsigned long Offset,unsigned char Data);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __writegsbyte(unsigned long Offset, unsigned char Data) { /*__asm__*/ }
void __writegsword(unsigned long Offset,unsigned short Data);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __writegsword(unsigned long Offset, unsigned short Data) { /*__asm__*/ }
void __writegsdword(unsigned long Offset,unsigned long Data);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __writegsdword(unsigned long Offset, unsigned long Data) { /*__asm__*/ }
__extension__ void __writegsqword(unsigned long Offset,unsigned long long Data);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __writegsqword(unsigned long Offset, unsigned long long Data) { /*__asm__*/ }
__extension__ unsigned char _BitScanForward64(unsigned long *Index, unsigned long long Mask);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _BitScanForward64(unsigned long *Index, unsigned long long Mask) { unsigned long long n; unsigned char old; /*__asm__*/ *Index = n; return old; }
__extension__ unsigned char _BitScanReverse64(unsigned long *Index, unsigned long long Mask);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _BitScanReverse64(unsigned long *Index, unsigned long long Mask) { unsigned long long n; unsigned char old; /*__asm__*/ *Index = n; return old; }
__extension__ unsigned char _bittest64(long long const *a, long long b);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittest64(const long long *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char _bittestandset64(long long *a, long long b);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandset64(long long *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char _bittestandreset64(long long *a, long long b);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandreset64(long long *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ unsigned char _bittestandcomplement64(long long *a, long long b);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandcomplement64(long long *Base, long long Offset) { unsigned char old; /*__asm__*/ return old; }
__extension__ void __movsq(unsigned long long *Dest, unsigned long long const *Source, size_t Count);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __movsq(unsigned long long *Destination, unsigned long long const *Source, size_t Count) { /*__asm__*/ }
long _InterlockedAnd(long volatile *, long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedAnd(volatile long *Destination, long Value) { return __sync_fetch_and_and(Destination, Value); }
long _InterlockedOr(long volatile *, long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedOr(volatile long *Destination, long Value) { return __sync_fetch_and_or(Destination, Value); }
long _InterlockedXor(long volatile *, long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedXor(volatile long *Destination, long Value) { return __sync_fetch_and_xor(Destination, Value); }
short _InterlockedIncrement16(short volatile *Addend);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
short _InterlockedIncrement16(short volatile *Addend) {
return __sync_add_and_fetch(Addend, 1);
}
short _InterlockedDecrement16(short volatile *Addend);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
short _InterlockedDecrement16(short volatile *Addend) {
return __sync_sub_and_fetch(Addend, 1);
}
short _InterlockedCompareExchange16(short volatile *Destination, short ExChange, short Comperand);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
short _InterlockedCompareExchange16(short volatile *Destination, short ExChange, short Comperand) {
return __sync_val_compare_and_swap(Destination, Comperand, ExChange);
}
long _InterlockedExchangeAdd(long volatile *Addend, long Value);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedExchangeAdd(long volatile *Addend, long Value) {
return __sync_fetch_and_add(Addend, Value);
}
long _InterlockedCompareExchange(long volatile *Destination, long ExChange, long Comperand);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedCompareExchange(long volatile *Destination, long ExChange, long Comperand) {
return __sync_val_compare_and_swap(Destination, Comperand, ExChange);
}
long _InterlockedIncrement(long volatile *Addend);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedIncrement(long volatile *Addend) {
return __sync_add_and_fetch(Addend, 1);
}
long _InterlockedDecrement(long volatile *Addend);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedDecrement(long volatile *Addend) {
return __sync_sub_and_fetch(Addend, 1);
}
long _InterlockedAdd(long volatile *Addend, long Value);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedAdd(long volatile *Addend, long Value) {
return __sync_add_and_fetch(Addend, Value);
}
__extension__ long long _InterlockedAdd64(long long volatile *Addend, long long Value);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedAdd64(long long volatile *Addend, long long Value) {
return __sync_add_and_fetch(Addend, Value);
}
long _InterlockedExchange(long volatile *Target, long Value);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long _InterlockedExchange(long volatile *Target, long Value) {
return __sync_lock_test_and_set(Target, Value);
}
__extension__ long long _InterlockedCompareExchange64(long long volatile *Destination, long long ExChange, long long Comperand);
__extension__ extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
long long _InterlockedCompareExchange64(long long volatile *Destination, long long ExChange, long long Comperand) {
return __sync_val_compare_and_swap(Destination, Comperand, ExChange);
}
void *_InterlockedCompareExchangePointer(void * volatile *Destination, void *ExChange, void *Comperand);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void *_InterlockedCompareExchangePointer(void *volatile *Destination, void *ExChange, void *Comperand) {
return __sync_val_compare_and_swap(Destination, Comperand, ExChange);
}
void *_InterlockedExchangePointer(void *volatile *Target,void *Value);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void *_InterlockedExchangePointer(void *volatile *Target,void *Value) {
return __sync_lock_test_and_set(Target, Value);
}
void __int2c(void);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __int2c(void) {
/*__asm__*/
}
void __stosb(unsigned char *, unsigned char, size_t);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __stosb(unsigned char *Dest, unsigned char Data, size_t Count) { /*__asm__*/ }
void __stosw(unsigned short *, unsigned short, size_t);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __stosw(unsigned short *Dest, unsigned short Data, size_t Count) { /*__asm__*/ }
void __stosd(unsigned long *, unsigned long, size_t);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __stosd(unsigned long *Dest, unsigned long Data, size_t Count) { /*__asm__*/ }
unsigned char _interlockedbittestandset(long volatile *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandset(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _interlockedbittestandreset(long volatile *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandreset(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _interlockedbittestandcomplement(long volatile *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _interlockedbittestandcomplement(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char InterlockedBitTestAndSet(volatile long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndSet(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char InterlockedBitTestAndReset(volatile long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndReset(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char InterlockedBitTestAndComplement(volatile long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char InterlockedBitTestAndComplement(long volatile *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _BitScanForward(unsigned long *Index, unsigned long Mask);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _BitScanForward(unsigned long *Index, unsigned long Mask) { unsigned long n; unsigned char old; /*__asm__*/ *Index = n; return old; }
unsigned char _BitScanReverse(unsigned long *Index, unsigned long Mask);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _BitScanReverse(unsigned long *Index, unsigned long Mask) { unsigned long n; unsigned char old; /*__asm__*/ *Index = n; return old; }
unsigned char _bittest(long const *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittest(const long *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _bittestandset(long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandset(long *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _bittestandreset(long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandreset(long *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
unsigned char _bittestandcomplement(long *a, long b);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
unsigned char _bittestandcomplement(long *Base, long Offset) { unsigned char old; /*__asm__*/ return old; }
void __movsb(unsigned char *Destination, unsigned char const *Source, size_t Count);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __movsb(unsigned char *Destination, unsigned char const *Source, size_t Count) { /*__asm__*/ }
void __movsw(unsigned short *Dest, unsigned short const *Source, size_t Count);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __movsw(unsigned short *Destination, unsigned short const *Source, size_t Count) { /*__asm__*/ }
void __movsd(unsigned long *Dest, unsigned long const *Source, size_t Count);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__))
void __movsd(unsigned long *Destination, unsigned long const *Source, size_t Count) { /*__asm__*/ }
__extension__ typedef unsigned long long POINTER_64_INT;
typedef signed char INT8,*PINT8;
typedef signed short INT16,*PINT16;
typedef signed int INT32,*PINT32;
__extension__ typedef signed long long INT64,*PINT64;
typedef unsigned char UINT8,*PUINT8;
typedef unsigned short UINT16,*PUINT16;
typedef unsigned int UINT32,*PUINT32;
__extension__ typedef unsigned long long UINT64,*PUINT64;
typedef signed int LONG32,*PLONG32;
typedef unsigned int ULONG32,*PULONG32;
typedef unsigned int DWORD32,*PDWORD32;
__extension__ typedef long long INT_PTR,*PINT_PTR;
__extension__ typedef unsigned long long UINT_PTR,*PUINT_PTR;
__extension__ typedef long long LONG_PTR,*PLONG_PTR;
__extension__ typedef unsigned long long ULONG_PTR,*PULONG_PTR;
__extension__ typedef long long SHANDLE_PTR;
__extension__ typedef unsigned long long 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); }
static __inline void *Ptr32ToPtr (const void * p) { return ((void *) (ULONG_PTR) (unsigned long) (ULONG_PTR) p); }
static __inline void *Handle32ToHandle (const void * h) { return ((void *) (LONG_PTR) (long) (ULONG_PTR) h); }
static __inline void * PtrToPtr32 (const void *p) { return ((void *) (ULONG_PTR) (unsigned long) (ULONG_PTR) p); }
__extension__ typedef ULONG_PTR SIZE_T,*PSIZE_T;
__extension__ typedef LONG_PTR SSIZE_T,*PSSIZE_T;
__extension__ typedef ULONG_PTR DWORD_PTR,*PDWORD_PTR;
__extension__ typedef long long LONG64,*PLONG64;
__extension__ typedef unsigned long long ULONG64,*PULONG64;
__extension__ typedef unsigned long long DWORD64,*PDWORD64;
__extension__ typedef ULONG_PTR KAFFINITY;
__extension__ typedef KAFFINITY *PKAFFINITY;
typedef void *PVOID;
typedef void *PVOID64;
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
typedef int INT;
typedef wchar_t WCHAR;
typedef WCHAR *PWCHAR,*LPWCH,*PWCH;
typedef const WCHAR *LPCWCH,*PCWCH;
typedef WCHAR *NWPSTR,*LPWSTR,*PWSTR;
typedef PWSTR *PZPWSTR;
typedef const PWSTR *PCZPWSTR;
typedef WCHAR *LPUWSTR,*PUWSTR;
typedef const WCHAR *LPCWSTR,*PCWSTR;
typedef PCWSTR *PZPCWSTR;
typedef const WCHAR *LPCUWSTR,*PCUWSTR;
typedef WCHAR *PZZWSTR;
typedef const WCHAR *PCZZWSTR;
typedef WCHAR *PUZZWSTR;
typedef const WCHAR *PCUZZWSTR;
typedef WCHAR *PNZWCH;
typedef const WCHAR *PCNZWCH;
typedef WCHAR *PUNZWCH;
typedef const WCHAR *PCUNZWCH;
typedef CHAR *PCHAR,*LPCH,*PCH;
typedef const CHAR *LPCCH,*PCCH;
typedef CHAR *NPSTR,*LPSTR,*PSTR;
typedef PSTR *PZPSTR;
typedef const PSTR *PCZPSTR;
typedef const CHAR *LPCSTR,*PCSTR;
typedef PCSTR *PZPCSTR;
typedef CHAR *PZZSTR;
typedef const CHAR *PCZZSTR;
typedef CHAR *PNZCH;
typedef const CHAR *PCNZCH;
typedef char TCHAR, *PTCHAR;
typedef unsigned char TBYTE, *PTBYTE;
typedef LPSTR LPTCH,PTCH;
typedef LPCCH LPCTCH,PCTCH;
typedef LPSTR PTSTR,LPTSTR,PUTSTR,LPUTSTR;
typedef LPCSTR PCTSTR,LPCTSTR,PCUTSTR,LPCUTSTR;
typedef PZZSTR PZZTSTR, PUZZTSTR;
typedef PCZZSTR PCZZTSTR, PCUZZTSTR;
typedef PZPSTR PZPTSTR;
typedef PNZCH PNZTCH, PUNZTCH;
typedef PCNZCH PCNZTCH, PCUNZTCH;
typedef SHORT *PSHORT;
typedef LONG *PLONG;
typedef struct _GROUP_AFFINITY {
KAFFINITY Mask;
WORD Group;
WORD Reserved[3];
} GROUP_AFFINITY, *PGROUP_AFFINITY;
typedef void *HANDLE;
typedef HANDLE *PHANDLE;
typedef BYTE FCHAR;
typedef WORD FSHORT;
typedef DWORD FLONG;
typedef LONG HRESULT;
typedef char CCHAR;
typedef DWORD LCID;
typedef PDWORD PLCID;
typedef WORD LANGID;
typedef enum {
UNSPECIFIED_COMPARTMENT_ID = 0,
DEFAULT_COMPARTMENT_ID
} COMPARTMENT_ID,*PCOMPARTMENT_ID;
typedef struct _FLOAT128 {
__extension__ long long LowPart;
__extension__ long long HighPart;
} FLOAT128;
typedef FLOAT128 *PFLOAT128;
__extension__ typedef long long LONGLONG;
__extension__ typedef unsigned long long ULONGLONG;
typedef LONGLONG *PLONGLONG;
typedef ULONGLONG *PULONGLONG;
typedef LONGLONG USN;
typedef union _LARGE_INTEGER {
__extension__ struct {
DWORD LowPart;
LONG HighPart;
} ;
struct {
DWORD LowPart;
LONG HighPart;
} u;
LONGLONG QuadPart;
} LARGE_INTEGER;
typedef LARGE_INTEGER *PLARGE_INTEGER;
typedef union _ULARGE_INTEGER {
__extension__ struct {
DWORD LowPart;
DWORD HighPart;
} ;
struct {
DWORD LowPart;
DWORD HighPart;
} u;
ULONGLONG QuadPart;
} ULARGE_INTEGER;
typedef ULARGE_INTEGER *PULARGE_INTEGER;
typedef struct _LUID {
DWORD LowPart;
LONG HighPart;
} LUID,*PLUID;
typedef ULONGLONG DWORDLONG;
typedef DWORDLONG *PDWORDLONG;
unsigned char __attribute__((__cdecl__)) _rotl8(unsigned char Value,unsigned char Shift);
unsigned short __attribute__((__cdecl__)) _rotl16(unsigned short Value,unsigned char Shift);
unsigned char __attribute__((__cdecl__)) _rotr8(unsigned char Value,unsigned char Shift);
unsigned short __attribute__((__cdecl__)) _rotr16(unsigned short Value,unsigned char Shift);
unsigned int __attribute__((__cdecl__)) _rotl(unsigned int Value,int Shift);
unsigned int __attribute__((__cdecl__)) _rotr(unsigned int Value,int Shift);
__extension__ unsigned long long __attribute__((__cdecl__)) _rotl64(unsigned long long Value,int Shift);
__extension__ unsigned long long __attribute__((__cdecl__)) _rotr64(unsigned long long Value,int Shift);
typedef BYTE BOOLEAN;
typedef BOOLEAN *PBOOLEAN;
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY,*PLIST_ENTRY,* PRLIST_ENTRY;
typedef struct _SINGLE_LIST_ENTRY {
struct _SINGLE_LIST_ENTRY *Next;
} SINGLE_LIST_ENTRY,*PSINGLE_LIST_ENTRY;
typedef struct LIST_ENTRY32 {
DWORD Flink;
DWORD Blink;
} LIST_ENTRY32;
typedef LIST_ENTRY32 *PLIST_ENTRY32;
typedef struct LIST_ENTRY64 {
ULONGLONG Flink;
ULONGLONG Blink;
} LIST_ENTRY64;
typedef LIST_ENTRY64 *PLIST_ENTRY64;
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
typedef GUID *LPGUID;
typedef const GUID *LPCGUID;
typedef GUID IID;
typedef IID *LPIID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef GUID FMTID;
typedef FMTID *LPFMTID;
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _memccpy(void *_Dst,const void *_Src,int _Val,size_t _MaxCount);
void *__attribute__((__cdecl__)) memchr(const void *_Buf ,int _Val,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _memicmp(const void *_Buf1,const void *_Buf2,size_t _Size);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _memicmp_l(const void *_Buf1,const void *_Buf2,size_t _Size,_locale_t _Locale);
int __attribute__((__cdecl__)) memcmp(const void *_Buf1,const void *_Buf2,size_t _Size);
void * __attribute__((__cdecl__)) memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _Size) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) memcpy_s (void *_dest,size_t _numberOfElements,const void *_src,size_t _count);
void * __attribute__((__cdecl__)) mempcpy (void *_Dst, const void *_Src, size_t _Size);
void * __attribute__((__cdecl__)) memset(void *_Dst,int _Val,size_t _Size);
void * __attribute__((__cdecl__)) memccpy(void *_Dst,const void *_Src,int _Val,size_t _Size) ;
int __attribute__((__cdecl__)) memicmp(const void *_Buf1,const void *_Buf2,size_t _Size) ;
char * __attribute__((__cdecl__)) _strset(char *_Str,int _Val) ;
char * __attribute__((__cdecl__)) _strset_l(char *_Str,int _Val,_locale_t _Locale) ;
char * __attribute__((__cdecl__)) strcpy(char * __restrict__ _Dest,const char * __restrict__ _Source);
char * __attribute__((__cdecl__)) strcat(char * __restrict__ _Dest,const char * __restrict__ _Source);
int __attribute__((__cdecl__)) strcmp(const char *_Str1,const char *_Str2);
size_t __attribute__((__cdecl__)) strlen(const char *_Str);
size_t __attribute__((__cdecl__)) strnlen(const char *_Str,size_t _MaxCount);
void *__attribute__((__cdecl__)) memmove(void *_Dst,const void *_Src,size_t _Size) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strdup(const char *_Src);
char *__attribute__((__cdecl__)) strchr(const char *_Str,int _Val);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _stricmp(const char *_Str1,const char *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strcmpi(const char *_Str1,const char *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _stricmp_l(const char *_Str1,const char *_Str2,_locale_t _Locale);
int __attribute__((__cdecl__)) strcoll(const char *_Str1,const char *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strcoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _stricoll(const char *_Str1,const char *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _stricoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strncoll (const char *_Str1,const char *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strncoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strnicoll (const char *_Str1,const char *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strnicoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale);
size_t __attribute__((__cdecl__)) strcspn(const char *_Str,const char *_Control);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strerror(const char *_ErrMsg) ;
char *__attribute__((__cdecl__)) strerror(int) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strlwr(char *_String) ;
char *strlwr_l(char *_String,_locale_t _Locale) ;
char *__attribute__((__cdecl__)) strncat(char * __restrict__ _Dest,const char * __restrict__ _Source,size_t _Count) ;
int __attribute__((__cdecl__)) strncmp(const char *_Str1,const char *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strnicmp(const char *_Str1,const char *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _strnicmp_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale);
char *strncpy(char * __restrict__ _Dest,const char * __restrict__ _Source,size_t _Count) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strnset(char *_Str,int _Val,size_t _MaxCount) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strnset_l(char *str,int c,size_t count,_locale_t _Locale) ;
char *__attribute__((__cdecl__)) strpbrk(const char *_Str,const char *_Control);
char *__attribute__((__cdecl__)) strrchr(const char *_Str,int _Ch);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strrev(char *_Str);
size_t __attribute__((__cdecl__)) strspn(const char *_Str,const char *_Control);
char *__attribute__((__cdecl__)) strstr(const char *_Str,const char *_SubStr);
char *__attribute__((__cdecl__)) strtok(char * __restrict__ _Str,const char * __restrict__ _Delim) ;
char *strtok_r(char * __restrict__ _Str, const char * __restrict__ _Delim, char ** __restrict__ __last);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strupr(char *_String) ;
__attribute__ ((__dllimport__)) char *_strupr_l(char *_String,_locale_t _Locale) ;
size_t __attribute__((__cdecl__)) strxfrm(char * __restrict__ _Dst,const char * __restrict__ _Src,size_t _MaxCount);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _strxfrm_l(char * __restrict__ _Dst,const char * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale);
char *__attribute__((__cdecl__)) strdup(const char *_Src) ;
int __attribute__((__cdecl__)) strcmpi(const char *_Str1,const char *_Str2) ;
int __attribute__((__cdecl__)) stricmp(const char *_Str1,const char *_Str2) ;
char *__attribute__((__cdecl__)) strlwr(char *_Str) ;
int __attribute__((__cdecl__)) strnicmp(const char *_Str1,const char *_Str,size_t _MaxCount) ;
int __attribute__((__cdecl__)) strncasecmp (const char *, const char *, size_t);
int __attribute__((__cdecl__)) strcasecmp (const char *, const char *);
char *__attribute__((__cdecl__)) strnset(char *_Str,int _Val,size_t _MaxCount) ;
char *__attribute__((__cdecl__)) strrev(char *_Str) ;
char *__attribute__((__cdecl__)) strset(char *_Str,int _Val) ;
char *__attribute__((__cdecl__)) strupr(char *_Str) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsdup(const wchar_t *_Str);
wchar_t *__attribute__((__cdecl__)) wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) ;
wchar_t *__attribute__((__cdecl__)) wcschr(const wchar_t *_Str,wchar_t _Ch);
int __attribute__((__cdecl__)) wcscmp(const wchar_t *_Str1,const wchar_t *_Str2);
wchar_t *__attribute__((__cdecl__)) wcscpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) ;
size_t __attribute__((__cdecl__)) wcscspn(const wchar_t *_Str,const wchar_t *_Control);
size_t __attribute__((__cdecl__)) wcslen(const wchar_t *_Str);
size_t __attribute__((__cdecl__)) wcsnlen(const wchar_t *_Src,size_t _MaxCount);
wchar_t *wcsncat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) ;
int __attribute__((__cdecl__)) wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
wchar_t *wcsncpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) ;
wchar_t *__attribute__((__cdecl__)) _wcsncpy_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count,_locale_t _Locale) ;
wchar_t *__attribute__((__cdecl__)) wcspbrk(const wchar_t *_Str,const wchar_t *_Control);
wchar_t *__attribute__((__cdecl__)) wcsrchr(const wchar_t *_Str,wchar_t _Ch);
size_t __attribute__((__cdecl__)) wcsspn(const wchar_t *_Str,const wchar_t *_Control);
wchar_t *__attribute__((__cdecl__)) wcsstr(const wchar_t *_Str,const wchar_t *_SubStr);
wchar_t *__attribute__((__cdecl__)) wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcserror(int _ErrNum) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) __wcserror(const wchar_t *_Str) ;
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsrev(wchar_t *_Str);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsset(wchar_t *_Str,wchar_t _Val) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcslwr(wchar_t *_String) ;
__attribute__ ((__dllimport__)) wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcsupr(wchar_t *_String) ;
__attribute__ ((__dllimport__)) wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale) ;
size_t __attribute__((__cdecl__)) wcsxfrm(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcsxfrm_l(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale);
int __attribute__((__cdecl__)) wcscoll(const wchar_t *_Str1,const wchar_t *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
wchar_t *__attribute__((__cdecl__)) wcsdup(const wchar_t *_Str) ;
int __attribute__((__cdecl__)) wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) ;
int __attribute__((__cdecl__)) wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) ;
wchar_t *__attribute__((__cdecl__)) wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) ;
wchar_t *__attribute__((__cdecl__)) wcsrev(wchar_t *_Str) ;
wchar_t *__attribute__((__cdecl__)) wcsset(wchar_t *_Str,wchar_t _Val) ;
wchar_t *__attribute__((__cdecl__)) wcslwr(wchar_t *_Str) ;
wchar_t *__attribute__((__cdecl__)) wcsupr(wchar_t *_Str) ;
int __attribute__((__cdecl__)) wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2) ;
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strset_s(char *_Dst,size_t _DstSize,int _Value);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strerror_s(char *_Buf,size_t _SizeInBytes,const char *_ErrMsg);
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) strerror_s(char *_Buf,size_t _SizeInBytes,int _ErrNum);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strlwr_s(char *_Str,size_t _Size);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strlwr_s_l(char *_Str,size_t _Size,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strnset_s(char *_Str,size_t _Size,int _Val,size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strupr_s(char *_Str,size_t _Size);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strupr_s_l(char *_Str,size_t _Size,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) strncat_s(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strncat_s_l(char *_Dst,size_t _DstSizeInChars,const char *_Src,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) strcpy_s(char *_Dst, rsize_t _SizeInBytes, const char *_Src);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) strncpy_s(char *_Dst, size_t _DstSizeInChars, const char *_Src, size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _strncpy_s_l(char *_Dst, size_t _DstSizeInChars, const char *_Src, size_t _MaxCount, _locale_t _Locale);
;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) strtok_s(char *_Str,const char *_Delim,char **_Context);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strtok_s_l(char *_Str,const char *_Delim,char **_Context,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) strcat_s(char *_Dst, rsize_t _SizeInBytes, const char * _Src);
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) memmove_s(void *_dest,size_t _numberOfElements,const void *_src,size_t _count);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) wcstok_s(wchar_t *_Str,const wchar_t *_Delim,wchar_t **_Context);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcserror_s(wchar_t *_Buf,size_t _SizeInWords,int _ErrNum);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) __wcserror_s(wchar_t *_Buffer,size_t _SizeInWords,const wchar_t *_ErrMsg);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsnset_s(wchar_t *_Dst,size_t _DstSizeInWords,wchar_t _Val,size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsset_s(wchar_t *_Str,size_t _SizeInWords,wchar_t _Val);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcslwr_s(wchar_t *_Str,size_t _SizeInWords);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcslwr_s_l(wchar_t *_Str,size_t _SizeInWords,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsupr_s(wchar_t *_Str,size_t _Size);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsupr_s_l(wchar_t *_Str,size_t _Size,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcscpy_s(wchar_t *_Dst, rsize_t _SizeInWords, const wchar_t *_Src);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcscat_s(wchar_t * _Dst, rsize_t _SizeInWords, const wchar_t *_Src);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcsncat_s(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsncat_s_l(wchar_t *_Dst,size_t _DstSizeInChars,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcsncpy_s(wchar_t *_Dst, size_t _DstSizeInChars, const wchar_t *_Src, size_t _MaxCount);
;
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsncpy_s_l(wchar_t *_Dst, size_t _DstSizeInChars, const wchar_t *_Src, size_t _MaxCount, _locale_t _Locale);
;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wcstok_s_l(wchar_t *_Str,const wchar_t *_Delim,wchar_t **_Context,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcsnset_s_l(wchar_t *_Str,size_t _SizeInChars,unsigned int _Val, size_t _Count,_locale_t _Locale);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) size_t __attribute__((__cdecl__)) wcsnlen_s(const wchar_t * _src, size_t _count) {
return _src ? wcsnlen(_src, _count) : 0;
}
typedef struct _OBJECTID {
GUID Lineage;
DWORD Uniquifier;
} OBJECTID;
typedef int EXCEPTION_ROUTINE (struct _EXCEPTION_RECORD *ExceptionRecord, PVOID EstablisherFrame, struct _CONTEXT *ContextRecord, PVOID DispatcherContext);
typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE;
typedef ULONG_PTR KSPIN_LOCK;
typedef KSPIN_LOCK *PKSPIN_LOCK;
typedef struct __attribute__ ((__aligned__ (16))) _M128A {
ULONGLONG Low;
LONGLONG High;
} M128A,*PM128A;
typedef struct __attribute__ ((__aligned__ (16))) _XSAVE_FORMAT {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[16];
BYTE Reserved4[96];
} XSAVE_FORMAT,*PXSAVE_FORMAT;
typedef struct __attribute__ ((__aligned__ (8))) _XSAVE_AREA_HEADER {
DWORD64 Mask;
DWORD64 Reserved[7];
} XSAVE_AREA_HEADER,*PXSAVE_AREA_HEADER;
typedef struct __attribute__ ((__aligned__ (16))) _XSAVE_AREA {
XSAVE_FORMAT LegacyState;
XSAVE_AREA_HEADER Header;
} XSAVE_AREA,*PXSAVE_AREA;
typedef struct _XSTATE_CONTEXT {
DWORD64 Mask;
DWORD Length;
DWORD Reserved1;
PXSAVE_AREA Area;
PVOID Buffer;
} XSTATE_CONTEXT,*PXSTATE_CONTEXT;
typedef struct _SCOPE_TABLE_AMD64 {
DWORD Count;
struct {
DWORD BeginAddress;
DWORD EndAddress;
DWORD HandlerAddress;
DWORD JumpTarget;
} ScopeRecord[1];
} SCOPE_TABLE_AMD64,*PSCOPE_TABLE_AMD64;
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bsfd (int __X)
{
return __builtin_ctz (__X);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bsrd (int __X)
{
return __builtin_ia32_bsrsi (__X);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bswapd (int __X)
{
return __builtin_bswap32 (__X);
}
#pragma GCC push_options
#pragma GCC target("sse4.2")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__crc32b (unsigned int __C, unsigned char __V)
{
return __builtin_ia32_crc32qi (__C, __V);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__crc32w (unsigned int __C, unsigned short __V)
{
return __builtin_ia32_crc32hi (__C, __V);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__crc32d (unsigned int __C, unsigned int __V)
{
return __builtin_ia32_crc32si (__C, __V);
}
#pragma GCC pop_options
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__popcntd (unsigned int __X)
{
return __builtin_popcount (__X);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rdpmc (int __S)
{
return __builtin_ia32_rdpmc (__S);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rdtsc (void)
{
return __builtin_ia32_rdtsc ();
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rdtscp (unsigned int *__A)
{
return __builtin_ia32_rdtscp (__A);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rolb (unsigned char __X, int __C)
{
return __builtin_ia32_rolqi (__X, __C);
}
extern __inline unsigned short
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rolw (unsigned short __X, int __C)
{
return __builtin_ia32_rolhi (__X, __C);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rold (unsigned int __X, int __C)
{
__C &= 31;
return (__X << __C) | (__X >> (-__C & 31));
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rorb (unsigned char __X, int __C)
{
return __builtin_ia32_rorqi (__X, __C);
}
extern __inline unsigned short
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rorw (unsigned short __X, int __C)
{
return __builtin_ia32_rorhi (__X, __C);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rord (unsigned int __X, int __C)
{
__C &= 31;
return (__X >> __C) | (__X << (-__C & 31));
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__pause (void)
{
__builtin_ia32_pause ();
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bsfq (long long __X)
{
return __builtin_ctzll (__X);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bsrq (long long __X)
{
return __builtin_ia32_bsrdi (__X);
}
extern __inline long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bswapq (long long __X)
{
return __builtin_bswap64 (__X);
}
#pragma GCC push_options
#pragma GCC target("sse4.2")
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__crc32q (unsigned long long __C, unsigned long long __V)
{
return __builtin_ia32_crc32di (__C, __V);
}
#pragma GCC pop_options
extern __inline long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__popcntq (unsigned long long __X)
{
return __builtin_popcountll (__X);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rolq (unsigned long long __X, int __C)
{
__C &= 63;
return (__X << __C) | (__X >> (-__C & 63));
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__rorq (unsigned long long __X, int __C)
{
__C &= 63;
return (__X >> __C) | (__X << (-__C & 63));
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__readeflags (void)
{
return __builtin_ia32_readeflags_u64 ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__writeeflags (unsigned long long __X)
{
__builtin_ia32_writeeflags_u64 (__X);
}
typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
typedef int __m64_u __attribute__ ((__vector_size__ (8), __may_alias__, __aligned__ (1)));
typedef int __v2si __attribute__ ((__vector_size__ (8)));
typedef short __v4hi __attribute__ ((__vector_size__ (8)));
typedef char __v8qi __attribute__ ((__vector_size__ (8)));
typedef long long __v1di __attribute__ ((__vector_size__ (8)));
typedef float __v2sf __attribute__ ((__vector_size__ (8)));
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_empty (void)
{
__builtin_ia32_emms ();
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_empty (void)
{
_mm_empty ();
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_si64 (int __i)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_from_int (int __i)
{
return _mm_cvtsi32_si64 (__i);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_from_int64 (long long __i)
{
return (__m64) __i;
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_m64 (long long __i)
{
return (__m64) __i;
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_si64 (long long __i)
{
return (__m64) __i;
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi64x (long long __i)
{
return (__m64) __i;
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si32 (__m64 __i)
{
return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_to_int (__m64 __i)
{
return _mm_cvtsi64_si32 (__i);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_to_int64 (__m64 __i)
{
return (long long)__i;
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtm64_si64 (__m64 __i)
{
return (long long)__i;
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si64x (__m64 __i)
{
return (long long)__i;
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packsswb (__m64 __m1, __m64 __m2)
{
return _mm_packs_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packssdw (__m64 __m1, __m64 __m2)
{
return _mm_packs_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_packuswb (__m64 __m1, __m64 __m2)
{
return _mm_packs_pu16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhbw (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhwd (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckhdq (__m64 __m1, __m64 __m2)
{
return _mm_unpackhi_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpcklbw (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpcklwd (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_punpckldq (__m64 __m1, __m64 __m2)
{
return _mm_unpacklo_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddb (__m64 __m1, __m64 __m2)
{
return _mm_add_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddw (__m64 __m1, __m64 __m2)
{
return _mm_add_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddd (__m64 __m1, __m64 __m2)
{
return _mm_add_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_si64 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddq ((__v1di)__m1, (__v1di)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddsb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddsb (__m64 __m1, __m64 __m2)
{
return _mm_adds_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddsw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddsw (__m64 __m1, __m64 __m2)
{
return _mm_adds_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pu8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddusb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddusb (__m64 __m1, __m64 __m2)
{
return _mm_adds_pu8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_paddusw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_paddusw (__m64 __m1, __m64 __m2)
{
return _mm_adds_pu16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubb (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubw (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubd (__m64 __m1, __m64 __m2)
{
return _mm_sub_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_si64 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubq ((__v1di)__m1, (__v1di)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubsb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubsb (__m64 __m1, __m64 __m2)
{
return _mm_subs_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubsw (__m64 __m1, __m64 __m2)
{
return _mm_subs_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pu8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubusb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubusb (__m64 __m1, __m64 __m2)
{
return _mm_subs_pu8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_pu16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubusw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psubusw (__m64 __m1, __m64 __m2)
{
return _mm_subs_pu16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmaddwd ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaddwd (__m64 __m1, __m64 __m2)
{
return _mm_madd_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmulhw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmulhw (__m64 __m1, __m64 __m2)
{
return _mm_mulhi_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pmullw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmullw (__m64 __m1, __m64 __m2)
{
return _mm_mullo_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (__v4hi)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllw (__m64 __m, __m64 __count)
{
return _mm_sll_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psllwi ((__v4hi)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllwi (__m64 __m, int __count)
{
return _mm_slli_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_pslld ((__v2si)__m, (__v2si)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pslld (__m64 __m, __m64 __count)
{
return _mm_sll_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_pslldi ((__v2si)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pslldi (__m64 __m, int __count)
{
return _mm_slli_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_si64 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psllq ((__v1di)__m, (__v1di)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllq (__m64 __m, __m64 __count)
{
return _mm_sll_si64 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_si64 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psllqi ((__v1di)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psllqi (__m64 __m, int __count)
{
return _mm_slli_si64 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (__v4hi)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psraw (__m64 __m, __m64 __count)
{
return _mm_sra_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrawi ((__v4hi)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrawi (__m64 __m, int __count)
{
return _mm_srai_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrad ((__v2si)__m, (__v2si)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrad (__m64 __m, __m64 __count)
{
return _mm_sra_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psradi ((__v2si)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psradi (__m64 __m, int __count)
{
return _mm_srai_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_pi16 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (__v4hi)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlw (__m64 __m, __m64 __count)
{
return _mm_srl_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_pi16 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrlwi ((__v4hi)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlwi (__m64 __m, int __count)
{
return _mm_srli_pi16 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_pi32 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrld ((__v2si)__m, (__v2si)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrld (__m64 __m, __m64 __count)
{
return _mm_srl_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_pi32 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrldi ((__v2si)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrldi (__m64 __m, int __count)
{
return _mm_srli_pi32 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_si64 (__m64 __m, __m64 __count)
{
return (__m64) __builtin_ia32_psrlq ((__v1di)__m, (__v1di)__count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlq (__m64 __m, __m64 __count)
{
return _mm_srl_si64 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_si64 (__m64 __m, int __count)
{
return (__m64) __builtin_ia32_psrlqi ((__v1di)__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psrlqi (__m64 __m, int __count)
{
return _mm_srli_si64 (__m, __count);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pand (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pand (__m64 __m1, __m64 __m2)
{
return _mm_and_si64 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pandn (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pandn (__m64 __m1, __m64 __m2)
{
return _mm_andnot_si64 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_por (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_por (__m64 __m1, __m64 __m2)
{
return _mm_or_si64 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_si64 (__m64 __m1, __m64 __m2)
{
return __builtin_ia32_pxor (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pxor (__m64 __m1, __m64 __m2)
{
return _mm_xor_si64 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqb (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtb ((__v8qi)__m1, (__v8qi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtb (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi8 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqw (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtw ((__v4hi)__m1, (__v4hi)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtw (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi16 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpeqd (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pcmpgtd (__m64 __m1, __m64 __m2)
{
return _mm_cmpgt_pi32 (__m1, __m2);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_si64 (void)
{
return (__m64)0LL;
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi32 (int __i1, int __i0)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi16 (short __w3, short __w2, short __w1, short __w0)
{
return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi8 (char __b7, char __b6, char __b5, char __b4,
char __b3, char __b2, char __b1, char __b0)
{
return (__m64) __builtin_ia32_vec_init_v8qi (__b0, __b1, __b2, __b3,
__b4, __b5, __b6, __b7);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi32 (int __i0, int __i1)
{
return _mm_set_pi32 (__i1, __i0);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3)
{
return _mm_set_pi16 (__w3, __w2, __w1, __w0);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3,
char __b4, char __b5, char __b6, char __b7)
{
return _mm_set_pi8 (__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi32 (int __i)
{
return _mm_set_pi32 (__i, __i);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi16 (short __w)
{
return _mm_set_pi16 (__w, __w, __w, __w);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pi8 (char __b)
{
return _mm_set_pi8 (__b, __b, __b, __b, __b, __b, __b, __b);
}*/
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _itow_s (int _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ltow_s (long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ultow_s (unsigned long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wgetenv_s(size_t *_ReturnSize,wchar_t *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wdupenv_s(wchar_t **_Buffer,size_t *_BufferSizeInWords,const wchar_t *_VarName);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _i64tow_s(long long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ui64tow_s(unsigned long long _Val,wchar_t *_DstBuf,size_t _SizeInWords,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wmakepath_s(wchar_t *_PathResult,size_t _SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wputenv_s(const wchar_t *_Name,const wchar_t *_Value);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wsearchenv_s(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wsplitpath_s(const wchar_t *_FullPath,wchar_t *_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t _DirSizeInWords,wchar_t *_Filename,size_t _FilenameSizeInWords,wchar_t *_Ext,size_t _ExtSizeInWords);
#pragma pack(push,_CRT_PACKING)
typedef int (__attribute__((__cdecl__)) *_onexit_t)(void);
typedef struct _div_t {
int quot;
int rem;
} div_t;
typedef struct _ldiv_t {
long quot;
long rem;
} ldiv_t;
#pragma pack(4)
typedef struct {
unsigned char ld[10];
} _LDOUBLE;
#pragma pack()
typedef struct {
double x;
} _CRT_DOUBLE;
typedef struct {
float f;
} _CRT_FLOAT;
typedef struct {
long double x;
} _LONGDOUBLE;
#pragma pack(4)
typedef struct {
unsigned char ld12[12];
} _LDBL12;
#pragma pack()
typedef void (__attribute__((__cdecl__)) *_purecall_handler)(void);
__attribute__ ((__dllimport__)) _purecall_handler __attribute__((__cdecl__)) _set_purecall_handler(_purecall_handler _Handler);
__attribute__ ((__dllimport__)) _purecall_handler __attribute__((__cdecl__)) _get_purecall_handler(void);
typedef void (__attribute__((__cdecl__)) *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
__attribute__ ((__dllimport__)) _invalid_parameter_handler __attribute__((__cdecl__)) _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
__attribute__ ((__dllimport__)) _invalid_parameter_handler __attribute__((__cdecl__)) _get_invalid_parameter_handler(void);
__attribute__ ((__dllimport__)) extern int *__attribute__((__cdecl__)) _errno(void);
errno_t __attribute__((__cdecl__)) _set_errno(int _Value);
errno_t __attribute__((__cdecl__)) _get_errno(int *_Value);
__attribute__ ((__dllimport__)) unsigned long *__attribute__((__cdecl__)) __doserrno(void);
errno_t __attribute__((__cdecl__)) _set_doserrno(unsigned long _Value);
errno_t __attribute__((__cdecl__)) _get_doserrno(unsigned long *_Value);
extern __attribute__((dllimport)) char *_sys_errlist[1];
extern __attribute__((dllimport)) int _sys_nerr;
__attribute__ ((__dllimport__)) char ***__attribute__((__cdecl__)) __p___argv(void);
__attribute__ ((__dllimport__)) int *__attribute__((__cdecl__)) __p__fmode(void);
errno_t __attribute__((__cdecl__)) _get_pgmptr(char **_Value);
errno_t __attribute__((__cdecl__)) _get_wpgmptr(wchar_t **_Value);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _set_fmode(int _Mode);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_fmode(int *_PMode);
extern int * __imp___argc;
extern char *** __imp___argv;
extern wchar_t *** __imp___wargv;
extern char *** __imp__environ;
extern wchar_t *** __imp__wenviron;
extern char ** __imp__pgmptr;
extern wchar_t ** __imp__wpgmptr;
extern unsigned int * __imp__osplatform;
extern unsigned int * __imp__osver;
extern unsigned int * __imp__winver;
extern unsigned int * __imp__winmajor;
extern unsigned int * __imp__winminor;
errno_t __attribute__((__cdecl__)) _get_osplatform(unsigned int *_Value);
errno_t __attribute__((__cdecl__)) _get_osver(unsigned int *_Value);
errno_t __attribute__((__cdecl__)) _get_winver(unsigned int *_Value);
errno_t __attribute__((__cdecl__)) _get_winmajor(unsigned int *_Value);
errno_t __attribute__((__cdecl__)) _get_winminor(unsigned int *_Value);
void __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) exit(int _Code) __attribute__ ((__noreturn__));
void __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) _exit(int _Code) __attribute__ ((__noreturn__));
void __attribute__((__cdecl__)) _Exit(int) __attribute__ ((__noreturn__));
void __attribute__((__cdecl__)) __attribute__ ((__noreturn__)) abort(void);
__attribute__ ((__dllimport__)) unsigned int __attribute__((__cdecl__)) _set_abort_behavior(unsigned int _Flags,unsigned int _Mask);
int __attribute__((__cdecl__)) abs(int _X);
long __attribute__((__cdecl__)) labs(long _X);
__extension__ long long __attribute__((__cdecl__)) _abs64(long long);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) long long __attribute__((__cdecl__)) _abs64(long long x) {
return __builtin_llabs(x);
}
int __attribute__((__cdecl__)) atexit(void (__attribute__((__cdecl__)) *)(void));
double __attribute__((__cdecl__)) atof(const char *_String);
double __attribute__((__cdecl__)) _atof_l(const char *_String,_locale_t _Locale);
int __attribute__((__cdecl__)) atoi(const char *_Str);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoi_l(const char *_Str,_locale_t _Locale);
long __attribute__((__cdecl__)) atol(const char *_Str);
__attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _atol_l(const char *_Str,_locale_t _Locale);
void *__attribute__((__cdecl__)) bsearch(const void *_Key,const void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(const void *,const void *));
void __attribute__((__cdecl__)) qsort(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(const void *,const void *));
unsigned short __attribute__((__cdecl__)) _byteswap_ushort(unsigned short _Short);
unsigned long __attribute__((__cdecl__)) _byteswap_ulong (unsigned long _Long);
__extension__ unsigned long long __attribute__((__cdecl__)) _byteswap_uint64(unsigned long long _Int64);
div_t __attribute__((__cdecl__)) div(int _Numerator,int _Denominator);
char *__attribute__((__cdecl__)) getenv(const char *_VarName) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _itoa(int _Value,char *_Dest,int _Radix);
__extension__ __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _i64toa(long long _Val,char *_DstBuf,int _Radix) ;
__extension__ __attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ui64toa(unsigned long long _Val,char *_DstBuf,int _Radix) ;
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _atoi64(const char *_String);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _atoi64_l(const char *_String,_locale_t _Locale);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _strtoi64(const char *_String,char **_EndPtr,int _Radix);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _strtoi64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
__extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _strtoui64(const char *_String,char **_EndPtr,int _Radix);
__extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _strtoui64_l(const char *_String,char **_EndPtr,int _Radix,_locale_t _Locale);
ldiv_t __attribute__((__cdecl__)) ldiv(long _Numerator,long _Denominator);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ltoa(long _Value,char *_Dest,int _Radix) ;
int __attribute__((__cdecl__)) mblen(const char *_Ch,size_t _MaxCount);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _mblen_l(const char *_Ch,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrlen(const char *_Str);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrlen_l(const char *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrnlen(const char *_Str,size_t _MaxCount);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstrnlen_l(const char *_Str,size_t _MaxCount,_locale_t _Locale);
int __attribute__((__cdecl__)) mbtowc(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SrcSizeInBytes);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _mbtowc_l(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SrcSizeInBytes,_locale_t _Locale);
size_t __attribute__((__cdecl__)) mbstowcs(wchar_t * __restrict__ _Dest,const char * __restrict__ _Source,size_t _MaxCount);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _mbstowcs_l(wchar_t * __restrict__ _Dest,const char * __restrict__ _Source,size_t _MaxCount,_locale_t _Locale);
int __attribute__((__cdecl__)) mkstemp(char *template_name);
int __attribute__((__cdecl__)) rand(void);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_error_mode(int _Mode);
void __attribute__((__cdecl__)) srand(unsigned int _Seed);
double __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtod(const char * __restrict__ _Str,char ** __restrict__ _EndPtr);
float __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtof(const char * __restrict__ nptr, char ** __restrict__ endptr);
long double __attribute__((__cdecl__)) __attribute__ ((__nothrow__)) strtold(const char * __restrict__ , char ** __restrict__ );
extern double __attribute__((__cdecl__)) __attribute__ ((__nothrow__))
__strtod (const char * __restrict__ , char ** __restrict__);
float __attribute__((__cdecl__)) __mingw_strtof (const char * __restrict__, char ** __restrict__);
double __attribute__((__cdecl__)) __mingw_strtod (const char * __restrict__, char ** __restrict__);
long double __attribute__((__cdecl__)) __mingw_strtold(const char * __restrict__, char ** __restrict__);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _strtod_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,_locale_t _Locale);
long __attribute__((__cdecl__)) strtol(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix);
__attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _strtol_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale);
unsigned long __attribute__((__cdecl__)) strtoul(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix);
__attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _strtoul_l(const char * __restrict__ _Str,char ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale);
int __attribute__((__cdecl__)) system(const char *_Command);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ultoa(unsigned long _Value,char *_Dest,int _Radix) ;
int __attribute__((__cdecl__)) wctomb(char *_MbCh,wchar_t _WCh) ;
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wctomb_l(char *_MbCh,wchar_t _WCh,_locale_t _Locale) ;
size_t __attribute__((__cdecl__)) wcstombs(char * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _MaxCount) ;
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcstombs_l(char * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _MaxCount,_locale_t _Locale) ;
void *__attribute__((__cdecl__)) calloc(size_t _NumOfElements,size_t _SizeOfElements);
void __attribute__((__cdecl__)) free(void *_Memory);
void *__attribute__((__cdecl__)) malloc(size_t _Size);
void *__attribute__((__cdecl__)) realloc(void *_Memory,size_t _NewSize);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _recalloc(void *_Memory,size_t _Count,size_t _Size);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_malloc(size_t _Size,size_t _Alignment,size_t _Offset);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_realloc(void *_Memory,size_t _Size,size_t _Alignment);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_realloc(void *_Memory,size_t _Size,size_t _Alignment,size_t _Offset);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _aligned_offset_recalloc(void *_Memory,size_t _Count,size_t _Size,size_t _Alignment,size_t _Offset);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _itow(int _Value,wchar_t *_Dest,int _Radix) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ltow(long _Value,wchar_t *_Dest,int _Radix) ;
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix) ;
double __attribute__((__cdecl__)) __mingw_wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr);
float __attribute__((__cdecl__)) __mingw_wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr);
long double __attribute__((__cdecl__)) __mingw_wcstold(const wchar_t * __restrict__, wchar_t ** __restrict__);
double __attribute__((__cdecl__)) wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr);
float __attribute__((__cdecl__)) wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr);
long double __attribute__((__cdecl__)) wcstold(const wchar_t * __restrict__, wchar_t ** __restrict__);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wcstod_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,_locale_t _Locale);
long __attribute__((__cdecl__)) wcstol(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix);
__attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wcstol_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale);
unsigned long __attribute__((__cdecl__)) wcstoul(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix);
__attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _wcstoul_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wgetenv(const wchar_t *_VarName) ;
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wsystem(const wchar_t *_Command);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wtof(const wchar_t *_Str);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _wtof_l(const wchar_t *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wtoi(const wchar_t *_Str);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wtoi_l(const wchar_t *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wtol(const wchar_t *_Str);
__attribute__ ((__dllimport__)) long __attribute__((__cdecl__)) _wtol_l(const wchar_t *_Str,_locale_t _Locale);
__extension__ __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _i64tow(long long _Val,wchar_t *_DstBuf,int _Radix) ;
__extension__ __attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _ui64tow(unsigned long long _Val,wchar_t *_DstBuf,int _Radix) ;
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wtoi64(const wchar_t *_Str);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
__extension__ __attribute__ ((__dllimport__)) long long __attribute__((__cdecl__)) _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
__extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
__extension__ __attribute__ ((__dllimport__)) unsigned long long __attribute__((__cdecl__)) _wcstoui64_l(const wchar_t *_Str ,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _putenv(const char *_EnvString);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _wputenv(const wchar_t *_EnvString);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _fullpath(char *_FullPath,const char *_Path,size_t _SizeInBytes);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) ;
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _gcvt(double _Val,int _NumOfDigits,char *_DstBuf) ;
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atodbl(_CRT_DOUBLE *_Result,char *_Str);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoldbl(_LDOUBLE *_Result,char *_Str);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoflt(_CRT_FLOAT *_Result,char *_Str);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atodbl_l(_CRT_DOUBLE *_Result,char *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoldbl_l(_LDOUBLE *_Result,char *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _atoflt_l(_CRT_FLOAT *_Result,char *_Str,_locale_t _Locale);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _makepath(char *_Path,const char *_Drive,const char *_Dir,const char *_Filename,const char *_Ext);
_onexit_t __attribute__((__cdecl__)) _onexit(_onexit_t _Func);
void __attribute__((__cdecl__)) perror(const char *_ErrMsg);
__extension__ unsigned long long __attribute__((__cdecl__)) _rotl64(unsigned long long _Val,int _Shift);
__extension__ unsigned long long __attribute__((__cdecl__)) _rotr64(unsigned long long Value,int Shift);
unsigned int __attribute__((__cdecl__)) _rotr(unsigned int _Val,int _Shift);
unsigned int __attribute__((__cdecl__)) _rotl(unsigned int _Val,int _Shift);
__extension__ unsigned long long __attribute__((__cdecl__)) _rotr64(unsigned long long _Val,int _Shift);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _searchenv(const char *_Filename,const char *_EnvVar,char *_ResultPath) ;
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _splitpath(const char *_FullPath,char *_Drive,char *_Dir,char *_Filename,char *_Ext) ;
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _swab(char *_Buf1,char *_Buf2,int _SizeInBytes);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wperror(const wchar_t *_ErrMsg);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath) ;
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext) ;
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _beep(unsigned _Frequency,unsigned _Duration) __attribute__ ((__deprecated__));
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _seterrormode(int _Mode) __attribute__ ((__deprecated__));
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _sleep(unsigned long _Duration) __attribute__ ((__deprecated__));
char *__attribute__((__cdecl__)) ecvt(double _Val,int _NumOfDigits,int *_PtDec,int *_PtSign) ;
char *__attribute__((__cdecl__)) fcvt(double _Val,int _NumOfDec,int *_PtDec,int *_PtSign) ;
char *__attribute__((__cdecl__)) gcvt(double _Val,int _NumOfDigits,char *_DstBuf) ;
char *__attribute__((__cdecl__)) itoa(int _Val,char *_DstBuf,int _Radix) ;
char *__attribute__((__cdecl__)) ltoa(long _Val,char *_DstBuf,int _Radix) ;
int __attribute__((__cdecl__)) putenv(const char *_EnvString) ;
void __attribute__((__cdecl__)) swab(char *_Buf1,char *_Buf2,int _SizeInBytes) ;
char *__attribute__((__cdecl__)) ultoa(unsigned long _Val,char *_Dstbuf,int _Radix) ;
_onexit_t __attribute__((__cdecl__)) onexit(_onexit_t _Func);
typedef struct { __extension__ long long quot, rem; } lldiv_t;
__extension__ lldiv_t __attribute__((__cdecl__)) lldiv(long long, long long);
__extension__ long long __attribute__((__cdecl__)) llabs(long long);
__extension__ long long __attribute__((__cdecl__)) strtoll(const char * __restrict__, char ** __restrict, int);
__extension__ unsigned long long __attribute__((__cdecl__)) strtoull(const char * __restrict__, char ** __restrict__, int);
__extension__ long long __attribute__((__cdecl__)) atoll (const char *);
#pragma pack(pop)
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _dupenv_s(char **_PBuffer,size_t *_PBufferSizeInBytes,const char *_VarName);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _itoa_s(int _Value,char *_DstBuf,size_t _Size,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _i64toa_s(long long _Val,char *_DstBuf,size_t _Size,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ui64toa_s(unsigned long long _Val,char *_DstBuf,size_t _Size,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ltoa_s(long _Val,char *_DstBuf,size_t _Size,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) mbstowcs_s(size_t *_PtNumOfCharConverted,wchar_t *_DstBuf,size_t _SizeInWords,const char *_SrcBuf,size_t _MaxCount);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _mbstowcs_s_l(size_t *_PtNumOfCharConverted,wchar_t *_DstBuf,size_t _SizeInWords,const char *_SrcBuf,size_t _MaxCount,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ultoa_s(unsigned long _Val,char *_DstBuf,size_t _Size,int _Radix);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wctomb_s_l(int *_SizeConverted,char *_MbCh,size_t _SizeInBytes,wchar_t _WCh,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) wcstombs_s(size_t *_PtNumOfCharConverted,char *_Dst,size_t _DstSizeInBytes,const wchar_t *_Src,size_t _MaxCountInBytes);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _wcstombs_s_l(size_t *_PtNumOfCharConverted,char *_Dst,size_t _DstSizeInBytes,const wchar_t *_Src,size_t _MaxCountInBytes,_locale_t _Locale);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ecvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDights,int *_PtDec,int *_PtSign);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _fcvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDec,int *_PtDec,int *_PtSign);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _gcvt_s(char *_DstBuf,size_t _Size,double _Val,int _NumOfDigits);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _makepath_s(char *_PathResult,size_t _Size,const char *_Drive,const char *_Dir,const char *_Filename,const char *_Ext);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _putenv_s(const char *_Name,const char *_Value);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _searchenv_s(const char *_Filename,const char *_EnvVar,char *_ResultPath,size_t _SizeInBytes);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _splitpath_s(const char *_FullPath,char *_Drive,size_t _DriveSize,char *_Dir,size_t _DirSize,char *_Filename,size_t _FilenameSize,char *_Ext,size_t _ExtSize);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) qsort_s(void *_Base,size_t _NumOfElements,size_t _SizeOfElements,int (__attribute__((__cdecl__)) *_PtFuncCompare)(void *,const void *,const void *),void *_Context);
#pragma pack(push,_CRT_PACKING)
typedef struct _heapinfo {
int *_pentry;
size_t _size;
int _useflag;
} _HEAPINFO;
extern unsigned int _amblksiz;
void * __mingw_aligned_malloc (size_t _Size, size_t _Alignment);
void __mingw_aligned_free (void *_Memory);
void * __mingw_aligned_offset_realloc (void *_Memory, size_t _Size, size_t _Alignment, size_t _Offset);
void * __mingw_aligned_realloc (void *_Memory, size_t _Size, size_t _Offset);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _resetstkoflw (void);
__attribute__ ((__dllimport__)) unsigned long __attribute__((__cdecl__)) _set_malloc_crt_max_wait(unsigned long _NewValue);
__attribute__ ((__dllimport__)) void *__attribute__((__cdecl__)) _expand(void *_Memory,size_t _NewSize);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _msize(void *_Memory);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _get_sbh_threshold(void);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _set_sbh_threshold(size_t _NewValue);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _set_amblksiz(size_t _Value);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_amblksiz(size_t *_Value);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapadd(void *_Memory,size_t _Size);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapchk(void);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapmin(void);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapset(unsigned int _Fill);
__attribute__ ((__dllimport__)) int __attribute__((__cdecl__)) _heapwalk(_HEAPINFO *_EntryInfo);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _heapused(size_t *_Used,size_t *_Commit);
__attribute__ ((__dllimport__)) intptr_t __attribute__((__cdecl__)) _get_heap_handle(void);
static __inline void *_MarkAllocaS(void *_Ptr,unsigned int _Marker) {
if(_Ptr) {
*((unsigned int*)_Ptr) = _Marker;
_Ptr = (char*)_Ptr + 16;
}
return _Ptr;
}
static __inline void __attribute__((__cdecl__)) _freea(void *_Memory) {
unsigned int _Marker;
if(_Memory) {
_Memory = (char*)_Memory - 16;
_Marker = *(unsigned int *)_Memory;
if(_Marker==0xDDDD) {
free(_Memory);
}
}
}
#pragma pack(pop)
static __inline__ void *
_aligned_malloc(size_t __size,size_t __align)
{
void * __malloc_ptr;
void * __aligned_ptr;
if (__align & (__align - 1))
{
(*_errno()) = 22;
return ((void *) 0);
}
if (__size == 0)
return ((void *) 0);
if (__align < 2 * sizeof (void *))
__align = 2 * sizeof (void *);
__malloc_ptr = malloc (__size + __align);
if (!__malloc_ptr)
return ((void *) 0);
__aligned_ptr = (void *) (((size_t) __malloc_ptr + __align)
& ~((size_t) (__align) - 1));
((void **) __aligned_ptr)[-1] = __malloc_ptr;
return __aligned_ptr;
}
static __inline__ void
_aligned_free(void *__aligned_ptr)
{
if (__aligned_ptr)
free (((void **) __aligned_ptr)[-1]);
}
enum _mm_hint
{
_MM_HINT_ET0 = 7,
_MM_HINT_ET1 = 6,
_MM_HINT_T0 = 3,
_MM_HINT_T1 = 2,
_MM_HINT_T2 = 1,
_MM_HINT_NTA = 0
};
typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__));
typedef float __m128_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
typedef float __v4sf __attribute__ ((__vector_size__ (16)));
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_undefined_ps (void)
{
__m128 __Y = __Y;
return __Y;
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_ps (void)
{
return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_ss (__m128 __A)
{
return (__m128) __builtin_ia32_sqrtss ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp_ss (__m128 __A)
{
return (__m128) __builtin_ia32_rcpss ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt_ss (__m128 __A)
{
return (__m128) __builtin_ia32_rsqrtss ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_ps (__m128 __A, __m128 __B)
{
return (__m128) ((__v4sf)__A + (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_ps (__m128 __A, __m128 __B)
{
return (__m128) ((__v4sf)__A - (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_ps (__m128 __A, __m128 __B)
{
return (__m128) ((__v4sf)__A * (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_ps (__m128 __A, __m128 __B)
{
return (__m128) ((__v4sf)__A / (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_ps (__m128 __A)
{
return (__m128) __builtin_ia32_sqrtps ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rcpps ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rsqrtps ((__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_andps (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_andnps (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_orps (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_ps (__m128 __A, __m128 __B)
{
return __builtin_ia32_xorps (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpeqss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpltss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpless ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpltss ((__v4sf) __B,
(__v4sf)
__A));
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpless ((__v4sf) __B,
(__v4sf)
__A));
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpneqss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnltss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnless ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpnltss ((__v4sf) __B,
(__v4sf)
__A));
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf) __A,
(__v4sf)
__builtin_ia32_cmpnless ((__v4sf) __B,
(__v4sf)
__A));
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpordss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpunordss ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpltps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpleps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpgtps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpgeps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpneqps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnltps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpnleps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpngtps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpngeps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpordps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_cmpunordps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comieq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comieq ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comilt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comilt ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comile_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comile ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comigt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comigt ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comige_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comige ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comineq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_comineq ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomieq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomieq ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomilt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomilt ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomile_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomile ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomigt_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomigt ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomige_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomige ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomineq_ss (__m128 __A, __m128 __B)
{
return __builtin_ia32_ucomineq ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si32 (__m128 __A)
{
return __builtin_ia32_cvtss2si ((__v4sf) __A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_ss2si (__m128 __A)
{
return _mm_cvtss_si32 (__A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si64 (__m128 __A)
{
return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_si64x (__m128 __A)
{
return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi32 (__m128 __A)
{
return (__m64) __builtin_ia32_cvtps2pi ((__v4sf) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_ps2pi (__m128 __A)
{
return _mm_cvtps_pi32 (__A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si32 (__m128 __A)
{
return __builtin_ia32_cvttss2si ((__v4sf) __A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtt_ss2si (__m128 __A)
{
return _mm_cvttss_si32 (__A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si64 (__m128 __A)
{
return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_si64x (__m128 __A)
{
return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_pi32 (__m128 __A)
{
return (__m64) __builtin_ia32_cvttps2pi ((__v4sf) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtt_ps2pi (__m128 __A)
{
return _mm_cvttps_pi32 (__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_ss (__m128 __A, int __B)
{
return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_si2ss (__m128 __A, int __B)
{
return _mm_cvtsi32_ss (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_ss (__m128 __A, long long __B)
{
return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_ss (__m128 __A, long long __B)
{
return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32_ps (__m128 __A, __m64 __B)
{
return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvt_pi2ps (__m128 __A, __m64 __B)
{
return _mm_cvtpi32_ps (__A, __B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi16_ps (__m64 __A)
{
__v4hi __sign;
__v2si __hisi, __losi;
__v4sf __zero, __ra, __rb;
__sign = __builtin_ia32_pcmpgtw ((__v4hi)0LL, (__v4hi)__A);
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, __sign);
__hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, __sign);
__zero = (__v4sf) _mm_setzero_ps ();
__ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
__rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpu16_ps (__m64 __A)
{
__v2si __hisi, __losi;
__v4sf __zero, __ra, __rb;
__losi = (__v2si) __builtin_ia32_punpcklwd ((__v4hi)__A, (__v4hi)0LL);
__hisi = (__v2si) __builtin_ia32_punpckhwd ((__v4hi)__A, (__v4hi)0LL);
__zero = (__v4sf) _mm_setzero_ps ();
__ra = __builtin_ia32_cvtpi2ps (__zero, __losi);
__rb = __builtin_ia32_cvtpi2ps (__ra, __hisi);
return (__m128) __builtin_ia32_movlhps (__ra, __rb);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi8_ps (__m64 __A)
{
__v8qi __sign;
__sign = __builtin_ia32_pcmpgtb ((__v8qi)0LL, (__v8qi)__A);
__A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, __sign);
return _mm_cvtpi16_ps(__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpu8_ps(__m64 __A)
{
__A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, (__v8qi)0LL);
return _mm_cvtpu16_ps(__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32x2_ps(__m64 __A, __m64 __B)
{
__v4sf __zero = (__v4sf) _mm_setzero_ps ();
__v4sf __sfa = __builtin_ia32_cvtpi2ps (__zero, (__v2si)__A);
__v4sf __sfb = __builtin_ia32_cvtpi2ps (__sfa, (__v2si)__B);
return (__m128) __builtin_ia32_movlhps (__sfa, __sfb);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi16(__m128 __A)
{
__v4sf __hisf = (__v4sf)__A;
__v4sf __losf = __builtin_ia32_movhlps (__hisf, __hisf);
__v2si __hisi = __builtin_ia32_cvtps2pi (__hisf);
__v2si __losi = __builtin_ia32_cvtps2pi (__losf);
return (__m64) __builtin_ia32_packssdw (__hisi, __losi);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pi8(__m128 __A)
{
__v4hi __tmp = (__v4hi) _mm_cvtps_pi16 (__A);
return (__m64) __builtin_ia32_packsswb (__tmp, (__v4hi)0LL);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpckhps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpcklps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadh_pi (__m128 __A, __m64 const *__P)
{
return (__m128) __builtin_ia32_loadhps ((__v4sf)__A, (const __v2sf *)__P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeh_pi (__m64 *__P, __m128 __A)
{
__builtin_ia32_storehps ((__v2sf *)__P, (__v4sf)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movehl_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movhlps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movelh_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movlhps ((__v4sf)__A, (__v4sf)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_pi (__m128 __A, __m64 const *__P)
{
return (__m128) __builtin_ia32_loadlps ((__v4sf)__A, (const __v2sf *)__P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_pi (__m64 *__P, __m128 __A)
{
__builtin_ia32_storelps ((__v2sf *)__P, (__v4sf)__A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_ps (__m128 __A)
{
return __builtin_ia32_movmskps ((__v4sf)__A);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_getcsr (void)
{
return __builtin_ia32_stmxcsr ();
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_EXCEPTION_STATE (void)
{
return _mm_getcsr() & 0x003f;
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_EXCEPTION_MASK (void)
{
return _mm_getcsr() & 0x1f80;
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_ROUNDING_MODE (void)
{
return _mm_getcsr() & 0x6000;
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_GET_FLUSH_ZERO_MODE (void)
{
return _mm_getcsr() & 0x8000;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setcsr (unsigned int __I)
{
__builtin_ia32_ldmxcsr (__I);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_EXCEPTION_STATE(unsigned int __mask)
{
_mm_setcsr((_mm_getcsr() & ~0x003f) | __mask);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_EXCEPTION_MASK (unsigned int __mask)
{
_mm_setcsr((_mm_getcsr() & ~0x1f80) | __mask);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_ROUNDING_MODE (unsigned int __mode)
{
_mm_setcsr((_mm_getcsr() & ~0x6000) | __mode);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_MM_SET_FLUSH_ZERO_MODE (unsigned int __mode)
{
_mm_setcsr((_mm_getcsr() & ~0x8000) | __mode);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ss (float __F)
{
return __extension__ (__m128)(__v4sf){ __F, 0.0f, 0.0f, 0.0f };
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_ps (float __F)
{
return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F };
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ps1 (float __F)
{
return _mm_set1_ps (__F);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ss (float const *__P)
{
return _mm_set_ss (*__P);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load1_ps (float const *__P)
{
return _mm_set1_ps (*__P);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ps1 (float const *__P)
{
return _mm_load1_ps (__P);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_ps (float const *__P)
{
return *(__m128 *)__P;
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_ps (float const *__P)
{
return *(__m128_u *)__P;
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadr_ps (float const *__P)
{
__v4sf __tmp = *(__v4sf *)__P;
return (__m128) __builtin_ia32_shufps (__tmp, __tmp, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3)));
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_ps (const float __Z, const float __Y, const float __X, const float __W)
{
return __extension__ (__m128)(__v4sf){ __W, __X, __Y, __Z };
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_ps (float __Z, float __Y, float __X, float __W)
{
return __extension__ (__m128)(__v4sf){ __Z, __Y, __X, __W };
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ss (float *__P, __m128 __A)
{
*__P = ((__v4sf)__A)[0];
}*/
/*extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_f32 (__m128 __A)
{
return ((__v4sf)__A)[0];
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ps (float *__P, __m128 __A)
{
*(__m128 *)__P = __A;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_ps (float *__P, __m128 __A)
{
*(__m128_u *)__P = __A;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store1_ps (float *__P, __m128 __A)
{
__v4sf __va = (__v4sf)__A;
__v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((0) << 4) | ((0) << 2) | (0)));
_mm_storeu_ps (__P, __tmp);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_ps1 (float *__P, __m128 __A)
{
_mm_store1_ps (__P, __A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storer_ps (float *__P, __m128 __A)
{
__v4sf __va = (__v4sf)__A;
__v4sf __tmp = __builtin_ia32_shufps (__va, __va, (((0) << 6) | ((1) << 4) | ((2) << 2) | (3)));
_mm_store_ps (__P, __tmp);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_shuffle ((__v4sf)__A, (__v4sf)__B,
__extension__
(__attribute__((__vector_size__ (16))) int)
{4,1,2,3});
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pi16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmaxsw ((__v4hi)__A, (__v4hi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaxsw (__m64 __A, __m64 __B)
{
return _mm_max_pi16 (__A, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmaxub ((__v8qi)__A, (__v8qi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmaxub (__m64 __A, __m64 __B)
{
return _mm_max_pu8 (__A, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pi16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pminsw ((__v4hi)__A, (__v4hi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pminsw (__m64 __A, __m64 __B)
{
return _mm_min_pi16 (__A, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pminub ((__v8qi)__A, (__v8qi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pminub (__m64 __A, __m64 __B)
{
return _mm_min_pu8 (__A, __B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_pi8 (__m64 __A)
{
return __builtin_ia32_pmovmskb ((__v8qi)__A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmovmskb (__m64 __A)
{
return _mm_movemask_pi8 (__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_pu16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pmulhuw ((__v4hi)__A, (__v4hi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmulhuw (__m64 __A, __m64 __B)
{
return _mm_mulhi_pu16 (__A, __B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P)
{
__builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_maskmovq (__m64 __A, __m64 __N, char *__P)
{
_mm_maskmove_si64 (__A, __N, __P);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pavgb ((__v8qi)__A, (__v8qi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pavgb (__m64 __A, __m64 __B)
{
return _mm_avg_pu8 (__A, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_pu16 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_pavgw ((__v4hi)__A, (__v4hi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pavgw (__m64 __A, __m64 __B)
{
return _mm_avg_pu16 (__A, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sad_pu8 (__m64 __A, __m64 __B)
{
return (__m64) __builtin_ia32_psadbw ((__v8qi)__A, (__v8qi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_psadbw (__m64 __A, __m64 __B)
{
return _mm_sad_pu8 (__A, __B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_pi (__m64 *__P, __m64 __A)
{
__builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_ps (float *__P, __m128 __A)
{
__builtin_ia32_movntps (__P, (__v4sf)__A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sfence (void)
{
__builtin_ia32_sfence ();
}*/
typedef double __v2df __attribute__ ((__vector_size__ (16)));
typedef long long __v2di __attribute__ ((__vector_size__ (16)));
typedef unsigned long long __v2du __attribute__ ((__vector_size__ (16)));
typedef int __v4si __attribute__ ((__vector_size__ (16)));
typedef unsigned int __v4su __attribute__ ((__vector_size__ (16)));
typedef short __v8hi __attribute__ ((__vector_size__ (16)));
typedef unsigned short __v8hu __attribute__ ((__vector_size__ (16)));
typedef char __v16qi __attribute__ ((__vector_size__ (16)));
typedef signed char __v16qs __attribute__ ((__vector_size__ (16)));
typedef unsigned char __v16qu __attribute__ ((__vector_size__ (16)));
typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
typedef long long __m128i_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
typedef double __m128d_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1)));
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_sd (double __F)
{
return __extension__ (__m128d){ __F, 0.0 };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_pd (double __F)
{
return __extension__ (__m128d){ __F, __F };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pd1 (double __F)
{
return _mm_set1_pd (__F);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pd (double __W, double __X)
{
return __extension__ (__m128d){ __X, __W };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_pd (double __W, double __X)
{
return __extension__ (__m128d){ __W, __X };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_undefined_pd (void)
{
__m128d __Y = __Y;
return __Y;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_pd (void)
{
return __extension__ (__m128d){ 0.0, 0.0 };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_sd (__m128d __A, __m128d __B)
{
return __extension__ (__m128d) __builtin_shuffle ((__v2df)__A, (__v2df)__B, (__v2di){2, 1});
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_pd (double const *__P)
{
return *(__m128d *)__P;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_pd (double const *__P)
{
return *(__m128d_u *)__P;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load1_pd (double const *__P)
{
return _mm_set1_pd (*__P);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_sd (double const *__P)
{
return _mm_set_sd (*__P);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_pd1 (double const *__P)
{
return _mm_load1_pd (__P);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadr_pd (double const *__P)
{
__m128d __tmp = _mm_load_pd (__P);
return __builtin_ia32_shufpd (__tmp, __tmp, (((0) << 1) | (1)));
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_pd (double *__P, __m128d __A)
{
*(__m128d *)__P = __A;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_pd (double *__P, __m128d __A)
{
*(__m128d_u *)__P = __A;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_sd (double *__P, __m128d __A)
{
*__P = ((__v2df)__A)[0];
}*/
/*extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_f64 (__m128d __A)
{
return ((__v2df)__A)[0];
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_pd (double *__P, __m128d __A)
{
_mm_store_sd (__P, __A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeh_pd (double *__P, __m128d __A)
{
*__P = ((__v2df)__A)[1];
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store1_pd (double *__P, __m128d __A)
{
_mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (0))));
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_pd1 (double *__P, __m128d __A)
{
_mm_store1_pd (__P, __A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storer_pd (double *__P, __m128d __A)
{
_mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, (((0) << 1) | (1))));
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si32 (__m128i __A)
{
return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si64 (__m128i __A)
{
return ((__v2di)__A)[0];
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi128_si64x (__m128i __A)
{
return ((__v2di)__A)[0];
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_pd (__m128d __A, __m128d __B)
{
return (__m128d) ((__v2df)__A + (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_pd (__m128d __A, __m128d __B)
{
return (__m128d) ((__v2df)__A - (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_pd (__m128d __A, __m128d __B)
{
return (__m128d) ((__v2df)__A * (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_pd (__m128d __A, __m128d __B)
{
return (__m128d) ((__v2df)__A / (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_div_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_pd (__m128d __A)
{
return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sqrt_sd (__m128d __A, __m128d __B)
{
__v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpltsd ((__v2df) __B,
(__v2df)
__A));
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmplesd ((__v2df) __B,
(__v2df)
__A));
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnlt_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnle_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpngt_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpnltsd ((__v2df) __B,
(__v2df)
__A));
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpnge_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
(__v2df)
__builtin_ia32_cmpnlesd ((__v2df) __B,
(__v2df)
__A));
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpord_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpunord_sd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comieq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comilt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comile_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comigt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comige_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comineq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomieq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomilt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomile_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomigt_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomige_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_ucomineq_sd (__m128d __A, __m128d __B)
{
return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi64x (long long __q1, long long __q0)
{
return __extension__ (__m128i)(__v2di){ __q0, __q1 };
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi64 (__m64 __q1, __m64 __q0)
{
return _mm_set_epi64x ((long long)__q1, (long long)__q0);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
{
return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
short __q3, short __q2, short __q1, short __q0)
{
return __extension__ (__m128i)(__v8hi){
__q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
char __q11, char __q10, char __q09, char __q08,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
return __extension__ (__m128i)(__v16qi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
};
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi64x (long long __A)
{
return _mm_set_epi64x (__A, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi64 (__m64 __A)
{
return _mm_set_epi64 (__A, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi32 (int __A)
{
return _mm_set_epi32 (__A, __A, __A, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi16 (short __A)
{
return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set1_epi8 (char __A)
{
return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi64 (__m64 __q0, __m64 __q1)
{
return _mm_set_epi64 (__q1, __q0);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3)
{
return _mm_set_epi32 (__q3, __q2, __q1, __q0);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3,
short __q4, short __q5, short __q6, short __q7)
{
return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03,
char __q04, char __q05, char __q06, char __q07,
char __q08, char __q09, char __q10, char __q11,
char __q12, char __q13, char __q14, char __q15)
{
return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08,
__q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_load_si128 (__m128i const *__P)
{
return *__P;
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_si128 (__m128i_u const *__P)
{
return *__P;
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_epi64 (__m128i_u const *__P)
{
return _mm_set_epi64 ((__m64)0LL, *(__m64_u *)__P);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadu_si64 (void const *__P)
{
return _mm_loadl_epi64 ((__m128i_u *)__P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_si128 (__m128i *__P, __m128i __B)
{
*__P = __B;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_si128 (__m128i_u *__P, __m128i __B)
{
*__P = __B;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storel_epi64 (__m128i_u *__P, __m128i __B)
{
*(__m64_u *)__P = (__m64) ((__v2di)__B)[0];
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_storeu_si64 (void *__P, __m128i __B)
{
_mm_storel_epi64 ((__m128i_u *)__P, __B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi64_pi64 (__m128i __B)
{
return (__m64) ((__v2di)__B)[0];
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movpi64_epi64 (__m64 __A)
{
return _mm_set_epi64 ((__m64)0LL, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_move_epi64 (__m128i __A)
{
return (__m128i)__builtin_ia32_movq128 ((__v2di) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_undefined_si128 (void)
{
__m128i __Y = __Y;
return __Y;
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_setzero_si128 (void)
{
return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_pd (__m128i __A)
{
return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_ps (__m128i __A)
{
return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epi32 (__m128d __A)
{
return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_pi32 (__m128d __A)
{
return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_ps (__m128d __A)
{
return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epi32 (__m128d __A)
{
return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_pi32 (__m128d __A)
{
return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpi32_pd (__m64 __A)
{
return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epi32 (__m128 __A)
{
return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epi32 (__m128 __A)
{
return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_pd (__m128 __A)
{
return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si32 (__m128d __A)
{
return __builtin_ia32_cvtsd2si ((__v2df) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si64 (__m128d __A)
{
return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_si64x (__m128d __A)
{
return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si32 (__m128d __A)
{
return __builtin_ia32_cvttsd2si ((__v2df) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si64 (__m128d __A)
{
return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_si64x (__m128d __A)
{
return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_ss (__m128 __A, __m128d __B)
{
return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_sd (__m128d __A, int __B)
{
return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_sd (__m128d __A, long long __B)
{
return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_sd (__m128d __A, long long __B)
{
return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_sd (__m128d __A, __m128 __B)
{
return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_pd (__m128d __A, __m128d __B)
{
return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadh_pd (__m128d __A, double const *__B)
{
return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loadl_pd (__m128d __A, double const *__B)
{
return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_pd (__m128d __A)
{
return __builtin_ia32_movmskpd ((__v2df)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packs_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packus_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpackhi_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_unpacklo_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v16qu)__A + (__v16qu)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hu)__A + (__v8hu)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4su)__A + (__v4su)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_add_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A + (__v2du)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_adds_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v16qu)__A - (__v16qu)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hu)__A - (__v8hu)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4su)__A - (__v4su)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sub_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A - (__v2du)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epi8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_subs_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hu)__A * (__v8hu)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_su32 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_epu32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_slli_epi64 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srai_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi16 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi32 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srli_epi64 (__m128i __A, int __B)
{
return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sll_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi32 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_srl_epi64 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_and_si128 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A & (__v2du)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_andnot_si128 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_si128 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A | (__v2du)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_si128 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A ^ (__v2du)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v16qi)__A == (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hi)__A == (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4si)__A == (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v16qs)__A < (__v16qs)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hi)__A < (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4si)__A < (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v16qs)__A > (__v16qs)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v8hi)__A > (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4si)__A > (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movemask_epi8 (__m128i __A)
{
return __builtin_ia32_pmovmskb128 ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhi_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C)
{
__builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_avg_epu16 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sad_epu8 (__m128i __A, __m128i __B)
{
return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si32 (int *__A, int __B)
{
__builtin_ia32_movnti (__A, __B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si64 (long long int *__A, long long int __B)
{
__builtin_ia32_movnti64 (__A, __B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_si128 (__m128i *__A, __m128i __B)
{
__builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_pd (double *__A, __m128d __B)
{
__builtin_ia32_movntpd (__A, (__v2df)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_clflush (void const *__A)
{
__builtin_ia32_clflush (__A);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_lfence (void)
{
__builtin_ia32_lfence ();
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mfence (void)
{
__builtin_ia32_mfence ();
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi32_si128 (int __A)
{
return _mm_set_epi32 (0, 0, 0, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64_si128 (long long __A)
{
return _mm_set_epi64x (0, __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsi64x_si128 (long long __A)
{
return _mm_set_epi64x (0, __A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castpd_ps(__m128d __A)
{
return (__m128) __A;
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castpd_si128(__m128d __A)
{
return (__m128i) __A;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castps_pd(__m128 __A)
{
return (__m128d) __A;
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castps_si128(__m128 __A)
{
return (__m128i) __A;
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castsi128_ps(__m128i __A)
{
return (__m128) __A;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_castsi128_pd(__m128i __A)
{
return (__m128d) __A;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_pause (void)
{
__builtin_ia32_pause ();
}*/
#pragma GCC push_options
#pragma GCC target("sse3")
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_addsub_ps (__m128 __X, __m128 __Y)
{
return (__m128) __builtin_ia32_addsubps ((__v4sf)__X, (__v4sf)__Y);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_ps (__m128 __X, __m128 __Y)
{
return (__m128) __builtin_ia32_haddps ((__v4sf)__X, (__v4sf)__Y);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_ps (__m128 __X, __m128 __Y)
{
return (__m128) __builtin_ia32_hsubps ((__v4sf)__X, (__v4sf)__Y);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movehdup_ps (__m128 __X)
{
return (__m128) __builtin_ia32_movshdup ((__v4sf)__X);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_moveldup_ps (__m128 __X)
{
return (__m128) __builtin_ia32_movsldup ((__v4sf)__X);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_addsub_pd (__m128d __X, __m128d __Y)
{
return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_pd (__m128d __X, __m128d __Y)
{
return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_pd (__m128d __X, __m128d __Y)
{
return (__m128d) __builtin_ia32_hsubpd ((__v2df)__X, (__v2df)__Y);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_loaddup_pd (double const *__P)
{
return _mm_load1_pd (__P);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_movedup_pd (__m128d __X)
{
return ((__m128d)__builtin_ia32_shufpd ((__v2df)(__m128d)(__X), (__v2df)(__m128d)(__X), (int)((((0) << 1) | (0)))));
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_lddqu_si128 (__m128i const *__P)
{
return (__m128i) __builtin_ia32_lddqu ((char const *)__P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
{
__builtin_ia32_monitor (__P, __E, __H);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mwait (unsigned int __E, unsigned int __H)
{
__builtin_ia32_mwait (__E, __H);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("ssse3")
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadds_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadd_pi32 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hadds_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsubs_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsub_pi32 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsubs_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddubs_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddubs_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhrs_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mulhrs_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shuffle_epi8 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shuffle_pi8 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_epi8 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_epi16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_pi8 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_pi16 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sign_pi32 (__m64 __X, __m64 __Y)
{
return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi8 (__m128i __X)
{
return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi16 (__m128i __X)
{
return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_pi8 (__m64 __X)
{
return (__m64) __builtin_ia32_pabsb ((__v8qi)__X);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_pi16 (__m64 __X)
{
return (__m64) __builtin_ia32_pabsw ((__v4hi)__X);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_pi32 (__m64 __X)
{
return (__m64) __builtin_ia32_pabsd ((__v2si)__X);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sse4.1")
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testz_si128 (__m128i __M, __m128i __V)
{
return __builtin_ia32_ptestz128 ((__v2di)__M, (__v2di)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testc_si128 (__m128i __M, __m128i __V)
{
return __builtin_ia32_ptestc128 ((__v2di)__M, (__v2di)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testnzc_si128 (__m128i __M, __m128i __V)
{
return __builtin_ia32_ptestnzc128 ((__v2di)__M, (__v2di)__V);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M)
{
return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__X,
(__v16qi)__Y,
(__v16qi)__M);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M)
{
return (__m128) __builtin_ia32_blendvps ((__v4sf)__X,
(__v4sf)__Y,
(__v4sf)__M);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M)
{
return (__m128d) __builtin_ia32_blendvpd ((__v2df)__X,
(__v2df)__Y,
(__v2df)__M);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi64 (__m128i __X, __m128i __Y)
{
return (__m128i) ((__v2di)__X == (__v2di)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi8 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pminsb128 ((__v16qi)__X, (__v16qi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi8 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi)__X, (__v16qi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pminuw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu16 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi)__X, (__v8hi)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pminsd128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pminud128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaxud128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) ((__v4su)__X * (__v4su)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mul_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_minpos_epu16 (__m128i __X)
{
return (__m128i) __builtin_ia32_phminposuw128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi8_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxbd128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi16_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxwd128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi8_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxbq128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxdq128 ((__v4si)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi16_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxwq128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi8_epi16 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxbw128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu8_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxbd128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu16_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxwd128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu8_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxbq128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxdq128 ((__v4si)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu16_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxwq128 ((__v8hi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu8_epi16 (__m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxbw128 ((__v16qi)__X);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_packus_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_packusdw128 ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_load_si128 (__m128i *__X)
{
return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __X);
}*/
#pragma GCC push_options
#pragma GCC target("sse4.2")
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi64 (__m128i __X, __m128i __Y)
{
return (__m128i) ((__v2di)__X > (__v2di)__Y);
}*/
#pragma GCC pop_options
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("popcnt")
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_u32 (unsigned int __X)
{
return __builtin_popcount (__X);
}*/
/*extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_u64 (unsigned long long __X)
{
return __builtin_popcountll (__X);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sse4.1")
#pragma GCC push_options
#pragma GCC target("sse4.2")
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_crc32_u8 (unsigned int __C, unsigned char __V)
{
return __builtin_ia32_crc32qi (__C, __V);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_crc32_u16 (unsigned int __C, unsigned short __V)
{
return __builtin_ia32_crc32hi (__C, __V);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_crc32_u32 (unsigned int __C, unsigned int __V)
{
return __builtin_ia32_crc32si (__C, __V);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_crc32_u64 (unsigned long long __C, unsigned long long __V)
{
return __builtin_ia32_crc32di (__C, __V);
}*/
#pragma GCC pop_options
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("aes,sse2")
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_aesdec_si128 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_aesdec128 ((__v2di)__X, (__v2di)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_aesdeclast_si128 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_aesdeclast128 ((__v2di)__X,
(__v2di)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_aesenc_si128 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_aesenc128 ((__v2di)__X, (__v2di)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_aesenclast_si128 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_aesenclast128 ((__v2di)__X, (__v2di)__Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_aesimc_si128 (__m128i __X)
{
return (__m128i) __builtin_ia32_aesimc128 ((__v2di)__X);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("pclmul,sse2")
#pragma GCC pop_options
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_fxsave (void *__P)
{
__builtin_ia32_fxsave (__P);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_fxrstor (void *__P)
{
__builtin_ia32_fxrstor (__P);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_fxsave64 (void *__P)
{
__builtin_ia32_fxsave64 (__P);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_fxrstor64 (void *__P)
{
__builtin_ia32_fxrstor64 (__P);
}
#pragma GCC push_options
#pragma GCC target("xsave")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsave (void *__P, long long __M)
{
__builtin_ia32_xsave (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xrstor (void *__P, long long __M)
{
__builtin_ia32_xrstor (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsetbv (unsigned int __A, long long __V)
{
__builtin_ia32_xsetbv (__A, __V);
}
extern __inline long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xgetbv (unsigned int __A)
{
return __builtin_ia32_xgetbv (__A);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsave64 (void *__P, long long __M)
{
__builtin_ia32_xsave64 (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xrstor64 (void *__P, long long __M)
{
__builtin_ia32_xrstor64 (__P, __M);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("xsaveopt")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsaveopt (void *__P, long long __M)
{
__builtin_ia32_xsaveopt (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsaveopt64 (void *__P, long long __M)
{
__builtin_ia32_xsaveopt64 (__P, __M);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("xsaves")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsaves (void *__P, long long __M)
{
__builtin_ia32_xsaves (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xrstors (void *__P, long long __M)
{
__builtin_ia32_xrstors (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xrstors64 (void *__P, long long __M)
{
__builtin_ia32_xrstors64 (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsaves64 (void *__P, long long __M)
{
__builtin_ia32_xsaves64 (__P, __M);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("xsavec")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsavec (void *__P, long long __M)
{
__builtin_ia32_xsavec (__P, __M);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xsavec64 (void *__P, long long __M)
{
__builtin_ia32_xsavec64 (__P, __M);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx")
typedef double __v4df __attribute__ ((__vector_size__ (32)));
typedef float __v8sf __attribute__ ((__vector_size__ (32)));
typedef long long __v4di __attribute__ ((__vector_size__ (32)));
typedef unsigned long long __v4du __attribute__ ((__vector_size__ (32)));
typedef int __v8si __attribute__ ((__vector_size__ (32)));
typedef unsigned int __v8su __attribute__ ((__vector_size__ (32)));
typedef short __v16hi __attribute__ ((__vector_size__ (32)));
typedef unsigned short __v16hu __attribute__ ((__vector_size__ (32)));
typedef char __v32qi __attribute__ ((__vector_size__ (32)));
typedef signed char __v32qs __attribute__ ((__vector_size__ (32)));
typedef unsigned char __v32qu __attribute__ ((__vector_size__ (32)));
typedef float __m256 __attribute__ ((__vector_size__ (32),
__may_alias__));
typedef long long __m256i __attribute__ ((__vector_size__ (32),
__may_alias__));
typedef double __m256d __attribute__ ((__vector_size__ (32),
__may_alias__));
typedef float __m256_u __attribute__ ((__vector_size__ (32),
__may_alias__,
__aligned__ (1)));
typedef long long __m256i_u __attribute__ ((__vector_size__ (32),
__may_alias__,
__aligned__ (1)));
typedef double __m256d_u __attribute__ ((__vector_size__ (32),
__may_alias__,
__aligned__ (1)));
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_pd (__m256d __A, __m256d __B)
{
return (__m256d) ((__v4df)__A + (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_ps (__m256 __A, __m256 __B)
{
return (__m256) ((__v8sf)__A + (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_addsub_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_addsubpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_addsub_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_addsubps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_and_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_andpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_and_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_andps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_andnot_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_andnpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_andnot_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_andnps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_blendv_pd (__m256d __X, __m256d __Y, __m256d __M)
{
return (__m256d) __builtin_ia32_blendvpd256 ((__v4df)__X,
(__v4df)__Y,
(__v4df)__M);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_blendv_ps (__m256 __X, __m256 __Y, __m256 __M)
{
return (__m256) __builtin_ia32_blendvps256 ((__v8sf)__X,
(__v8sf)__Y,
(__v8sf)__M);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_div_pd (__m256d __A, __m256d __B)
{
return (__m256d) ((__v4df)__A / (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_div_ps (__m256 __A, __m256 __B)
{
return (__m256) ((__v8sf)__A / (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hadd_pd (__m256d __X, __m256d __Y)
{
return (__m256d) __builtin_ia32_haddpd256 ((__v4df)__X, (__v4df)__Y);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hadd_ps (__m256 __X, __m256 __Y)
{
return (__m256) __builtin_ia32_haddps256 ((__v8sf)__X, (__v8sf)__Y);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hsub_pd (__m256d __X, __m256d __Y)
{
return (__m256d) __builtin_ia32_hsubpd256 ((__v4df)__X, (__v4df)__Y);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hsub_ps (__m256 __X, __m256 __Y)
{
return (__m256) __builtin_ia32_hsubps256 ((__v8sf)__X, (__v8sf)__Y);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_maxpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_maxps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_minpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_minps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mul_pd (__m256d __A, __m256d __B)
{
return (__m256d) ((__v4df)__A * (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mul_ps (__m256 __A, __m256 __B)
{
return (__m256) ((__v8sf)__A * (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_orpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_orps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_pd (__m256d __A, __m256d __B)
{
return (__m256d) ((__v4df)__A - (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_ps (__m256 __A, __m256 __B)
{
return (__m256) ((__v8sf)__A - (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_xorpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_xorps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_pd (__m128i __A)
{
return (__m256d)__builtin_ia32_cvtdq2pd256 ((__v4si) __A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_ps (__m256i __A)
{
return (__m256)__builtin_ia32_cvtdq2ps256 ((__v8si) __A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_ps (__m256d __A)
{
return (__m128)__builtin_ia32_cvtpd2ps256 ((__v4df) __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epi32 (__m256 __A)
{
return (__m256i)__builtin_ia32_cvtps2dq256 ((__v8sf) __A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_pd (__m128 __A)
{
return (__m256d)__builtin_ia32_cvtps2pd256 ((__v4sf) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epi32 (__m256d __A)
{
return (__m128i)__builtin_ia32_cvttpd2dq256 ((__v4df) __A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epi32 (__m256d __A)
{
return (__m128i)__builtin_ia32_cvtpd2dq256 ((__v4df) __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epi32 (__m256 __A)
{
return (__m256i)__builtin_ia32_cvttps2dq256 ((__v8sf) __A);
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsd_f64 (__m256d __A)
{
return __A[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtss_f32 (__m256 __A)
{
return __A[0];
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_zeroall (void)
{
__builtin_ia32_vzeroall ();
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_zeroupper (void)
{
__builtin_ia32_vzeroupper ();
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutevar_pd (__m128d __A, __m128i __C)
{
return (__m128d) __builtin_ia32_vpermilvarpd ((__v2df)__A,
(__v2di)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutevar_pd (__m256d __A, __m256i __C)
{
return (__m256d) __builtin_ia32_vpermilvarpd256 ((__v4df)__A,
(__v4di)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutevar_ps (__m128 __A, __m128i __C)
{
return (__m128) __builtin_ia32_vpermilvarps ((__v4sf)__A,
(__v4si)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutevar_ps (__m256 __A, __m256i __C)
{
return (__m256) __builtin_ia32_vpermilvarps256 ((__v8sf)__A,
(__v8si)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcast_ss (float const *__X)
{
return (__m128) __builtin_ia32_vbroadcastss (__X);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_sd (double const *__X)
{
return (__m256d) __builtin_ia32_vbroadcastsd256 (__X);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_ss (float const *__X)
{
return (__m256) __builtin_ia32_vbroadcastss256 (__X);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_pd (__m128d const *__X)
{
return (__m256d) __builtin_ia32_vbroadcastf128_pd256 (__X);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_ps (__m128 const *__X)
{
return (__m256) __builtin_ia32_vbroadcastf128_ps256 (__X);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_load_pd (double const *__P)
{
return *(__m256d *)__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_pd (double *__P, __m256d __A)
{
*(__m256d *)__P = __A;
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_load_ps (float const *__P)
{
return *(__m256 *)__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_ps (float *__P, __m256 __A)
{
*(__m256 *)__P = __A;
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_loadu_pd (double const *__P)
{
return *(__m256d_u *)__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_storeu_pd (double *__P, __m256d __A)
{
*(__m256d_u *)__P = __A;
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_loadu_ps (float const *__P)
{
return *(__m256_u *)__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_storeu_ps (float *__P, __m256 __A)
{
*(__m256_u *)__P = __A;
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_load_si256 (__m256i const *__P)
{
return *__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_si256 (__m256i *__P, __m256i __A)
{
*__P = __A;
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_loadu_si256 (__m256i_u const *__P)
{
return *__P;
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
{
*__P = __A;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskload_pd (double const *__P, __m128i __M)
{
return (__m128d) __builtin_ia32_maskloadpd ((const __v2df *)__P,
(__v2di)__M);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskstore_pd (double *__P, __m128i __M, __m128d __A)
{
__builtin_ia32_maskstorepd ((__v2df *)__P, (__v2di)__M, (__v2df)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskload_pd (double const *__P, __m256i __M)
{
return (__m256d) __builtin_ia32_maskloadpd256 ((const __v4df *)__P,
(__v4di)__M);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskstore_pd (double *__P, __m256i __M, __m256d __A)
{
__builtin_ia32_maskstorepd256 ((__v4df *)__P, (__v4di)__M, (__v4df)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskload_ps (float const *__P, __m128i __M)
{
return (__m128) __builtin_ia32_maskloadps ((const __v4sf *)__P,
(__v4si)__M);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskstore_ps (float *__P, __m128i __M, __m128 __A)
{
__builtin_ia32_maskstoreps ((__v4sf *)__P, (__v4si)__M, (__v4sf)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskload_ps (float const *__P, __m256i __M)
{
return (__m256) __builtin_ia32_maskloadps256 ((const __v8sf *)__P,
(__v8si)__M);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskstore_ps (float *__P, __m256i __M, __m256 __A)
{
__builtin_ia32_maskstoreps256 ((__v8sf *)__P, (__v8si)__M, (__v8sf)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movehdup_ps (__m256 __X)
{
return (__m256) __builtin_ia32_movshdup256 ((__v8sf)__X);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_moveldup_ps (__m256 __X)
{
return (__m256) __builtin_ia32_movsldup256 ((__v8sf)__X);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movedup_pd (__m256d __X)
{
return (__m256d) __builtin_ia32_movddup256 ((__v4df)__X);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lddqu_si256 (__m256i const *__P)
{
return (__m256i) __builtin_ia32_lddqu256 ((char const *)__P);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_stream_si256 (__m256i *__A, __m256i __B)
{
__builtin_ia32_movntdq256 ((__v4di *)__A, (__v4di)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_stream_pd (double *__A, __m256d __B)
{
__builtin_ia32_movntpd256 (__A, (__v4df)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_stream_ps (float *__P, __m256 __A)
{
__builtin_ia32_movntps256 (__P, (__v8sf)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp_ps (__m256 __A)
{
return (__m256) __builtin_ia32_rcpps256 ((__v8sf)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt_ps (__m256 __A)
{
return (__m256) __builtin_ia32_rsqrtps256 ((__v8sf)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sqrt_pd (__m256d __A)
{
return (__m256d) __builtin_ia32_sqrtpd256 ((__v4df)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sqrt_ps (__m256 __A)
{
return (__m256) __builtin_ia32_sqrtps256 ((__v8sf)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_unpckhpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_unpcklpd256 ((__v4df)__A, (__v4df)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_unpckhps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_unpcklps256 ((__v8sf)__A, (__v8sf)__B);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testz_pd (__m128d __M, __m128d __V)
{
return __builtin_ia32_vtestzpd ((__v2df)__M, (__v2df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testc_pd (__m128d __M, __m128d __V)
{
return __builtin_ia32_vtestcpd ((__v2df)__M, (__v2df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testnzc_pd (__m128d __M, __m128d __V)
{
return __builtin_ia32_vtestnzcpd ((__v2df)__M, (__v2df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testz_ps (__m128 __M, __m128 __V)
{
return __builtin_ia32_vtestzps ((__v4sf)__M, (__v4sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testc_ps (__m128 __M, __m128 __V)
{
return __builtin_ia32_vtestcps ((__v4sf)__M, (__v4sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_testnzc_ps (__m128 __M, __m128 __V)
{
return __builtin_ia32_vtestnzcps ((__v4sf)__M, (__v4sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testz_pd (__m256d __M, __m256d __V)
{
return __builtin_ia32_vtestzpd256 ((__v4df)__M, (__v4df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testc_pd (__m256d __M, __m256d __V)
{
return __builtin_ia32_vtestcpd256 ((__v4df)__M, (__v4df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testnzc_pd (__m256d __M, __m256d __V)
{
return __builtin_ia32_vtestnzcpd256 ((__v4df)__M, (__v4df)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testz_ps (__m256 __M, __m256 __V)
{
return __builtin_ia32_vtestzps256 ((__v8sf)__M, (__v8sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testc_ps (__m256 __M, __m256 __V)
{
return __builtin_ia32_vtestcps256 ((__v8sf)__M, (__v8sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testnzc_ps (__m256 __M, __m256 __V)
{
return __builtin_ia32_vtestnzcps256 ((__v8sf)__M, (__v8sf)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testz_si256 (__m256i __M, __m256i __V)
{
return __builtin_ia32_ptestz256 ((__v4di)__M, (__v4di)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testc_si256 (__m256i __M, __m256i __V)
{
return __builtin_ia32_ptestc256 ((__v4di)__M, (__v4di)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testnzc_si256 (__m256i __M, __m256i __V)
{
return __builtin_ia32_ptestnzc256 ((__v4di)__M, (__v4di)__V);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movemask_pd (__m256d __A)
{
return __builtin_ia32_movmskpd256 ((__v4df)__A);
}*/
/*extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movemask_ps (__m256 __A)
{
return __builtin_ia32_movmskps256 ((__v8sf)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_undefined_pd (void)
{
__m256d __Y = __Y;
return __Y;
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_undefined_ps (void)
{
__m256 __Y = __Y;
return __Y;
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_undefined_si256 (void)
{
__m256i __Y = __Y;
return __Y;
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setzero_pd (void)
{
return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setzero_ps (void)
{
return __extension__ (__m256){ 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 };
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setzero_si256 (void)
{
return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_pd (double __A, double __B, double __C, double __D)
{
return __extension__ (__m256d){ __D, __C, __B, __A };
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_ps (float __A, float __B, float __C, float __D,
float __E, float __F, float __G, float __H)
{
return __extension__ (__m256){ __H, __G, __F, __E,
__D, __C, __B, __A };
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_epi32 (int __A, int __B, int __C, int __D,
int __E, int __F, int __G, int __H)
{
return __extension__ (__m256i)(__v8si){ __H, __G, __F, __E,
__D, __C, __B, __A };
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_epi16 (short __q15, short __q14, short __q13, short __q12,
short __q11, short __q10, short __q09, short __q08,
short __q07, short __q06, short __q05, short __q04,
short __q03, short __q02, short __q01, short __q00)
{
return __extension__ (__m256i)(__v16hi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
};
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_epi8 (char __q31, char __q30, char __q29, char __q28,
char __q27, char __q26, char __q25, char __q24,
char __q23, char __q22, char __q21, char __q20,
char __q19, char __q18, char __q17, char __q16,
char __q15, char __q14, char __q13, char __q12,
char __q11, char __q10, char __q09, char __q08,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
return __extension__ (__m256i)(__v32qi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15,
__q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23,
__q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31
};
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_epi64x (long long __A, long long __B, long long __C,
long long __D)
{
return __extension__ (__m256i)(__v4di){ __D, __C, __B, __A };
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_pd (double __A)
{
return __extension__ (__m256d){ __A, __A, __A, __A };
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_ps (float __A)
{
return __extension__ (__m256){ __A, __A, __A, __A,
__A, __A, __A, __A };
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_epi32 (int __A)
{
return __extension__ (__m256i)(__v8si){ __A, __A, __A, __A,
__A, __A, __A, __A };
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_epi16 (short __A)
{
return _mm256_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_epi8 (char __A)
{
return _mm256_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set1_epi64x (long long __A)
{
return __extension__ (__m256i)(__v4di){ __A, __A, __A, __A };
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_pd (double __A, double __B, double __C, double __D)
{
return _mm256_set_pd (__D, __C, __B, __A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_ps (float __A, float __B, float __C, float __D,
float __E, float __F, float __G, float __H)
{
return _mm256_set_ps (__H, __G, __F, __E, __D, __C, __B, __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_epi32 (int __A, int __B, int __C, int __D,
int __E, int __F, int __G, int __H)
{
return _mm256_set_epi32 (__H, __G, __F, __E, __D, __C, __B, __A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_epi16 (short __q15, short __q14, short __q13, short __q12,
short __q11, short __q10, short __q09, short __q08,
short __q07, short __q06, short __q05, short __q04,
short __q03, short __q02, short __q01, short __q00)
{
return _mm256_set_epi16 (__q00, __q01, __q02, __q03,
__q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11,
__q12, __q13, __q14, __q15);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_epi8 (char __q31, char __q30, char __q29, char __q28,
char __q27, char __q26, char __q25, char __q24,
char __q23, char __q22, char __q21, char __q20,
char __q19, char __q18, char __q17, char __q16,
char __q15, char __q14, char __q13, char __q12,
char __q11, char __q10, char __q09, char __q08,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
return _mm256_set_epi8 (__q00, __q01, __q02, __q03,
__q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11,
__q12, __q13, __q14, __q15,
__q16, __q17, __q18, __q19,
__q20, __q21, __q22, __q23,
__q24, __q25, __q26, __q27,
__q28, __q29, __q30, __q31);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_epi64x (long long __A, long long __B, long long __C,
long long __D)
{
return _mm256_set_epi64x (__D, __C, __B, __A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castpd_ps (__m256d __A)
{
return (__m256) __A;
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castpd_si256 (__m256d __A)
{
return (__m256i) __A;
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castps_pd (__m256 __A)
{
return (__m256d) __A;
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castps_si256(__m256 __A)
{
return (__m256i) __A;
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castsi256_ps (__m256i __A)
{
return (__m256) __A;
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castsi256_pd (__m256i __A)
{
return (__m256d) __A;
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castpd256_pd128 (__m256d __A)
{
return (__m128d) __builtin_ia32_pd_pd256 ((__v4df)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castps256_ps128 (__m256 __A)
{
return (__m128) __builtin_ia32_ps_ps256 ((__v8sf)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castsi256_si128 (__m256i __A)
{
return (__m128i) __builtin_ia32_si_si256 ((__v8si)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castpd128_pd256 (__m128d __A)
{
return (__m256d) __builtin_ia32_pd256_pd ((__v2df)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castps128_ps256 (__m128 __A)
{
return (__m256) __builtin_ia32_ps256_ps ((__v4sf)__A);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_castsi128_si256 (__m128i __A)
{
return (__m256i) __builtin_ia32_si256_si ((__v4si)__A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_m128 ( __m128 __H, __m128 __L)
{
return ((__m256) __builtin_ia32_vinsertf128_ps256 ((__v8sf)(__m256)(_mm256_castps128_ps256 (__L)), (__v4sf)(__m128)(__H), (int)(1)));
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_m128d (__m128d __H, __m128d __L)
{
return ((__m256d) __builtin_ia32_vinsertf128_pd256 ((__v4df)(__m256d)(_mm256_castpd128_pd256 (__L)), (__v2df)(__m128d)(__H), (int)(1)));
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_set_m128i (__m128i __H, __m128i __L)
{
return ((__m256i) __builtin_ia32_vinsertf128_si256 ((__v8si)(__m256i)(_mm256_castsi128_si256 (__L)), (__v4si)(__m128i)(__H), (int)(1)));
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_m128 (__m128 __L, __m128 __H)
{
return _mm256_set_m128 (__H, __L);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_m128d (__m128d __L, __m128d __H)
{
return _mm256_set_m128d (__H, __L);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_setr_m128i (__m128i __L, __m128i __H)
{
return _mm256_set_m128i (__H, __L);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx2")
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi8 (__m256i __A)
{
return (__m256i)__builtin_ia32_pabsb256 ((__v32qi)__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi16 (__m256i __A)
{
return (__m256i)__builtin_ia32_pabsw256 ((__v16hi)__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi32 (__m256i __A)
{
return (__m256i)__builtin_ia32_pabsd256 ((__v8si)__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_packs_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_packssdw256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_packs_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_packsswb256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_packus_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_packusdw256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_packus_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_packuswb256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v32qu)__A + (__v32qu)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v16hu)__A + (__v16hu)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8su)__A + (__v8su)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_add_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A + (__v4du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_adds_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_paddsb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_adds_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_paddsw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_adds_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_paddusb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_adds_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_paddusw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_and_si256 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A & (__v4du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_andnot_si256 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_andnotsi256 ((__v4di)__A, (__v4di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_avg_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pavgb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_avg_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pavgw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_blendv_epi8 (__m256i __X, __m256i __Y, __m256i __M)
{
return (__m256i) __builtin_ia32_pblendvb256 ((__v32qi)__X,
(__v32qi)__Y,
(__v32qi)__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v32qi)__A == (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v16hi)__A == (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8si)__A == (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4di)__A == (__v4di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v32qs)__A > (__v32qs)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v16hi)__A > (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8si)__A > (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4di)__A > (__v4di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hadd_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phaddw256 ((__v16hi)__X,
(__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hadd_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phaddd256 ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hadds_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phaddsw256 ((__v16hi)__X,
(__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hsub_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phsubw256 ((__v16hi)__X,
(__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hsub_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phsubd256 ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_hsubs_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_phsubsw256 ((__v16hi)__X,
(__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maddubs_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmaddubsw256 ((__v32qi)__X,
(__v32qi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_madd_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaddwd256 ((__v16hi)__A,
(__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxsb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxsw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxsd256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxub256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxuw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmaxud256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminsb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminsw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminsd256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminub256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminuw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pminud256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movemask_epi8 (__m256i __A)
{
return __builtin_ia32_pmovmskb256 ((__v32qi)__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi8_epi16 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxbw256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi8_epi32 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxbd256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi8_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxbq256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi16_epi32 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxwd256 ((__v8hi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi16_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxwq256 ((__v8hi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxdq256 ((__v4si)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu8_epi16 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxbw256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu8_epi32 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxbd256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu8_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxbq256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu16_epi32 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxwd256 ((__v8hi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu16_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxwq256 ((__v8hi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxdq256 ((__v4si)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mul_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmuldq256 ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mulhrs_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmulhrsw256 ((__v16hi)__X,
(__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mulhi_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmulhuw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mulhi_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmulhw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mullo_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v16hu)__A * (__v16hu)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mullo_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8su)__A * (__v8su)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mul_epu32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_pmuludq256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_si256 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A | (__v4du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sad_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_psadbw256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pshufb256 ((__v32qi)__X,
(__v32qi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sign_epi8 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psignb256 ((__v32qi)__X, (__v32qi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sign_epi16 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psignw256 ((__v16hi)__X, (__v16hi)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sign_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psignd256 ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_slli_epi16 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psllwi256 ((__v16hi)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sll_epi16 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psllw256((__v16hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_slli_epi32 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_pslldi256 ((__v8si)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sll_epi32 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_pslld256((__v8si)__A, (__v4si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_slli_epi64 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psllqi256 ((__v4di)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sll_epi64 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psllq256((__v4di)__A, (__v2di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srai_epi16 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psrawi256 ((__v16hi)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi16 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psraw256 ((__v16hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srai_epi32 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psradi256 ((__v8si)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi32 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psrad256 ((__v8si)__A, (__v4si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srli_epi16 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psrlwi256 ((__v16hi)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srl_epi16 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psrlw256((__v16hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srli_epi32 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psrldi256 ((__v8si)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srl_epi32 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psrld256((__v8si)__A, (__v4si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srli_epi64 (__m256i __A, int __B)
{
return (__m256i)__builtin_ia32_psrlqi256 ((__v4di)__A, __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srl_epi64 (__m256i __A, __m128i __B)
{
return (__m256i)__builtin_ia32_psrlq256((__v4di)__A, (__v2di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v32qu)__A - (__v32qu)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v16hu)__A - (__v16hu)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8su)__A - (__v8su)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sub_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A - (__v4du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_subs_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_psubsb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_subs_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_psubsw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_subs_epu8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_psubusb256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_subs_epu16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_psubusw256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpckhbw256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpckhwd256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpckhdq256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpckhqdq256 ((__v4di)__A, (__v4di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_epi8 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpcklbw256 ((__v32qi)__A, (__v32qi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_epi16 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpcklwd256 ((__v16hi)__A, (__v16hi)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_epi32 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpckldq256 ((__v8si)__A, (__v8si)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_punpcklqdq256 ((__v4di)__A, (__v4di)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_si256 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A ^ (__v4du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_stream_load_si256 (__m256i const *__X)
{
return (__m256i) __builtin_ia32_movntdqa256 ((__v4di *) __X);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastss_ps (__m128 __X)
{
return (__m128) __builtin_ia32_vbroadcastss_ps ((__v4sf)__X);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastss_ps (__m128 __X)
{
return (__m256) __builtin_ia32_vbroadcastss_ps256 ((__v4sf)__X);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastsd_pd (__m128d __X)
{
return (__m256d) __builtin_ia32_vbroadcastsd_pd256 ((__v2df)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastsi128_si256 (__m128i __X)
{
return (__m256i) __builtin_ia32_vbroadcastsi256 ((__v2di)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastb_epi8 (__m128i __X)
{
return (__m256i) __builtin_ia32_pbroadcastb256 ((__v16qi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastw_epi16 (__m128i __X)
{
return (__m256i) __builtin_ia32_pbroadcastw256 ((__v8hi)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastd_epi32 (__m128i __X)
{
return (__m256i) __builtin_ia32_pbroadcastd256 ((__v4si)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastq_epi64 (__m128i __X)
{
return (__m256i) __builtin_ia32_pbroadcastq256 ((__v2di)__X);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastb_epi8 (__m128i __X)
{
return (__m128i) __builtin_ia32_pbroadcastb128 ((__v16qi)__X);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastw_epi16 (__m128i __X)
{
return (__m128i) __builtin_ia32_pbroadcastw128 ((__v8hi)__X);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastd_epi32 (__m128i __X)
{
return (__m128i) __builtin_ia32_pbroadcastd128 ((__v4si)__X);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastq_epi64 (__m128i __X)
{
return (__m128i) __builtin_ia32_pbroadcastq128 ((__v2di)__X);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutevar8x32_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_permvarsi256 ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutevar8x32_ps (__m256 __X, __m256i __Y)
{
return (__m256) __builtin_ia32_permvarsf256 ((__v8sf)__X, (__v8si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskload_epi32 (int const *__X, __m256i __M )
{
return (__m256i) __builtin_ia32_maskloadd256 ((const __v8si *)__X,
(__v8si)__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskload_epi64 (long long const *__X, __m256i __M )
{
return (__m256i) __builtin_ia32_maskloadq256 ((const __v4di *)__X,
(__v4di)__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskload_epi32 (int const *__X, __m128i __M )
{
return (__m128i) __builtin_ia32_maskloadd ((const __v4si *)__X,
(__v4si)__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskload_epi64 (long long const *__X, __m128i __M )
{
return (__m128i) __builtin_ia32_maskloadq ((const __v2di *)__X,
(__v2di)__M);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskstore_epi32 (int *__X, __m256i __M, __m256i __Y )
{
__builtin_ia32_maskstored256 ((__v8si *)__X, (__v8si)__M, (__v8si)__Y);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskstore_epi64 (long long *__X, __m256i __M, __m256i __Y )
{
__builtin_ia32_maskstoreq256 ((__v4di *)__X, (__v4di)__M, (__v4di)__Y);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskstore_epi32 (int *__X, __m128i __M, __m128i __Y )
{
__builtin_ia32_maskstored ((__v4si *)__X, (__v4si)__M, (__v4si)__Y);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskstore_epi64 (long long *__X, __m128i __M, __m128i __Y )
{
__builtin_ia32_maskstoreq (( __v2di *)__X, (__v2di)__M, (__v2di)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sllv_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psllv8si ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sllv_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psllv4si ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sllv_epi64 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psllv4di ((__v4di)__X, (__v4di)__Y);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sllv_epi64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psllv2di ((__v2di)__X, (__v2di)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrav8si ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrav4si ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srlv_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv8si ((__v8si)__X, (__v8si)__Y);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srlv_epi32 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv4si ((__v4si)__X, (__v4si)__Y);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srlv_epi64 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv4di ((__v4di)__X, (__v4di)__Y);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srlv_epi64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv2di ((__v2di)__X, (__v2di)__Y);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512f")
typedef double __v8df __attribute__ ((__vector_size__ (64)));
typedef float __v16sf __attribute__ ((__vector_size__ (64)));
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
typedef unsigned long long __v8du __attribute__ ((__vector_size__ (64)));
typedef int __v16si __attribute__ ((__vector_size__ (64)));
typedef unsigned int __v16su __attribute__ ((__vector_size__ (64)));
typedef short __v32hi __attribute__ ((__vector_size__ (64)));
typedef unsigned short __v32hu __attribute__ ((__vector_size__ (64)));
typedef char __v64qi __attribute__ ((__vector_size__ (64)));
typedef unsigned char __v64qu __attribute__ ((__vector_size__ (64)));
typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
typedef float __m512_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
typedef long long __m512i_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
typedef double __m512d_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1)));
typedef unsigned char __mmask8;
typedef unsigned short __mmask16;
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_int2mask (int __M)
{
return (__mmask16) __M;
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2int (__mmask16 __M)
{
return (int) __M;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_epi64 (long long __A, long long __B, long long __C,
long long __D, long long __E, long long __F,
long long __G, long long __H)
{
return __extension__ (__m512i) (__v8di)
{ __H, __G, __F, __E, __D, __C, __B, __A };
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_epi32 (int __A, int __B, int __C, int __D,
int __E, int __F, int __G, int __H,
int __I, int __J, int __K, int __L,
int __M, int __N, int __O, int __P)
{
return __extension__ (__m512i)(__v16si)
{ __P, __O, __N, __M, __L, __K, __J, __I,
__H, __G, __F, __E, __D, __C, __B, __A };
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_epi16 (short __q31, short __q30, short __q29, short __q28,
short __q27, short __q26, short __q25, short __q24,
short __q23, short __q22, short __q21, short __q20,
short __q19, short __q18, short __q17, short __q16,
short __q15, short __q14, short __q13, short __q12,
short __q11, short __q10, short __q09, short __q08,
short __q07, short __q06, short __q05, short __q04,
short __q03, short __q02, short __q01, short __q00)
{
return __extension__ (__m512i)(__v32hi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15,
__q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23,
__q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31
};
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_epi8 (char __q63, char __q62, char __q61, char __q60,
char __q59, char __q58, char __q57, char __q56,
char __q55, char __q54, char __q53, char __q52,
char __q51, char __q50, char __q49, char __q48,
char __q47, char __q46, char __q45, char __q44,
char __q43, char __q42, char __q41, char __q40,
char __q39, char __q38, char __q37, char __q36,
char __q35, char __q34, char __q33, char __q32,
char __q31, char __q30, char __q29, char __q28,
char __q27, char __q26, char __q25, char __q24,
char __q23, char __q22, char __q21, char __q20,
char __q19, char __q18, char __q17, char __q16,
char __q15, char __q14, char __q13, char __q12,
char __q11, char __q10, char __q09, char __q08,
char __q07, char __q06, char __q05, char __q04,
char __q03, char __q02, char __q01, char __q00)
{
return __extension__ (__m512i)(__v64qi){
__q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
__q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15,
__q16, __q17, __q18, __q19, __q20, __q21, __q22, __q23,
__q24, __q25, __q26, __q27, __q28, __q29, __q30, __q31,
__q32, __q33, __q34, __q35, __q36, __q37, __q38, __q39,
__q40, __q41, __q42, __q43, __q44, __q45, __q46, __q47,
__q48, __q49, __q50, __q51, __q52, __q53, __q54, __q55,
__q56, __q57, __q58, __q59, __q60, __q61, __q62, __q63
};
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_pd (double __A, double __B, double __C, double __D,
double __E, double __F, double __G, double __H)
{
return __extension__ (__m512d)
{ __H, __G, __F, __E, __D, __C, __B, __A };
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set_ps (float __A, float __B, float __C, float __D,
float __E, float __F, float __G, float __H,
float __I, float __J, float __K, float __L,
float __M, float __N, float __O, float __P)
{
return __extension__ (__m512)
{ __P, __O, __N, __M, __L, __K, __J, __I,
__H, __G, __F, __E, __D, __C, __B, __A };
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_undefined_ps (void)
{
__m512 __Y = __Y;
return __Y;
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_undefined_pd (void)
{
__m512d __Y = __Y;
return __Y;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_undefined_epi32 (void)
{
__m512i __Y = __Y;
return __Y;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi8 (char __A)
{
return __extension__ (__m512i)(__v64qi)
{ __A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A };
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi16 (short __A)
{
return __extension__ (__m512i)(__v32hi)
{ __A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A,
__A, __A, __A, __A, __A, __A, __A, __A };
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_pd (double __A)
{
return (__m512d) __builtin_ia32_broadcastsd512 (__extension__
(__v2df) { __A, },
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_ps (float __A)
{
return (__m512) __builtin_ia32_broadcastss512 (__extension__
(__v4sf) { __A, },
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set4_epi32 (int __A, int __B, int __C, int __D)
{
return __extension__ (__m512i)(__v16si)
{ __D, __C, __B, __A, __D, __C, __B, __A,
__D, __C, __B, __A, __D, __C, __B, __A };
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set4_epi64 (long long __A, long long __B, long long __C,
long long __D)
{
return __extension__ (__m512i) (__v8di)
{ __D, __C, __B, __A, __D, __C, __B, __A };
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set4_pd (double __A, double __B, double __C, double __D)
{
return __extension__ (__m512d)
{ __D, __C, __B, __A, __D, __C, __B, __A };
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set4_ps (float __A, float __B, float __C, float __D)
{
return __extension__ (__m512)
{ __D, __C, __B, __A, __D, __C, __B, __A,
__D, __C, __B, __A, __D, __C, __B, __A };
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_ps (void)
{
return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero (void)
{
return _mm512_setzero_ps ();
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_pd (void)
{
return __extension__ (__m512d) { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_epi32 (void)
{
return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_si512 (void)
{
return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_movapd512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movaps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_load_pd (void const *__P)
{
return *(__m512d *) __P;
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_load_pd (__m512d __W, __mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_load_pd (__mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_loadapd512_mask ((const __v8df *) __P,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_store_pd (void *__P, __m512d __A)
{
*(__m512d *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_store_pd (void *__P, __mmask8 __U, __m512d __A)
{
__builtin_ia32_storeapd512_mask ((__v8df *) __P, (__v8df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_load_ps (void const *__P)
{
return *(__m512 *) __P;
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_load_ps (__m512 __W, __mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_load_ps (__mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_loadaps512_mask ((const __v16sf *) __P,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_store_ps (void *__P, __m512 __A)
{
*(__m512 *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_store_ps (void *__P, __mmask16 __U, __m512 __A)
{
__builtin_ia32_storeaps512_mask ((__v16sf *) __P, (__v16sf) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdqa64_512_mask ((__v8di) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_load_epi64 (void const *__P)
{
return *(__m512i *) __P;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_load_epi64 (__m512i __W, __mmask8 __U, void const *__P)
{
return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_load_epi64 (__mmask8 __U, void const *__P)
{
return (__m512i) __builtin_ia32_movdqa64load512_mask ((const __v8di *) __P,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_store_epi64 (void *__P, __m512i __A)
{
*(__m512i *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
{
__builtin_ia32_movdqa64store512_mask ((__v8di *) __P, (__v8di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdqa32_512_mask ((__v16si) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_load_si512 (void const *__P)
{
return *(__m512i *) __P;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_load_epi32 (void const *__P)
{
return *(__m512i *) __P;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_load_epi32 (__m512i __W, __mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_load_epi32 (__mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_movdqa32load512_mask ((const __v16si *) __P,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_store_si512 (void *__P, __m512i __A)
{
*(__m512i *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_store_epi32 (void *__P, __m512i __A)
{
*(__m512i *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_store_epi32 (void *__P, __mmask16 __U, __m512i __A)
{
__builtin_ia32_movdqa32store512_mask ((__v16si *) __P, (__v16si) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mullo_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A * (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mullo_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mullo_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulld512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mullox_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A * (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mullox_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
{
return _mm512_mask_mov_epi64 (__W, __M, _mm512_mullox_epi64 (__A, __B));
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sllv_epi32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sllv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sllv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srav_epi32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srav_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srav_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srlv_epi32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srlv_epi32 (__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srlv_epi32 (__mmask16 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv16si_mask ((__v16si) __X,
(__v16si) __Y,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A + (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A - (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sllv_epi64 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sllv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sllv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psllv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srav_epi64 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srav_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srav_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrav8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srlv_epi64 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srlv_epi64 (__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srlv_epi64 (__mmask8 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_psrlv8di_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A + (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mul_epi32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mul_epi32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mul_epi32 (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuldq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A - (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mul_epu32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mul_epu32 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mul_epu32 (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmuludq512_mask ((__v16si) __X,
(__v16si) __Y,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sll_epi64 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sll_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sll_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psllq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srl_epi64 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srl_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srl_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrlq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sra_epi64 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sra_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sra_epi64 (__mmask8 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psraq512_mask ((__v8di) __A,
(__v2di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sll_epi32 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sll_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sll_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_pslld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srl_epi32 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srl_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srl_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrld512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sra_epi32 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sra_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sra_epi32 (__mmask16 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrad512_mask ((__v16si) __A,
(__v4si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rcp14_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rcp14_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rcp14_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rcp14pd512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rcp14_ps (__m512 __A)
{
return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rcp14_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rcp14_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rcp14ps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rcp14sd ((__v2df) __B,
(__v2df) __A);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df) __B,
(__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df) __B,
(__v2df) __A,
(__v2df) _mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rcp14ss ((__v4sf) __B,
(__v4sf) __A);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf) __B,
(__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf) __B,
(__v4sf) __A,
(__v4sf) _mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rsqrt14_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rsqrt14_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rsqrt14_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rsqrt14pd512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rsqrt14_ps (__m512 __A)
{
return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rsqrt14_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rsqrt14_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rsqrt14ps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rsqrt14sd ((__v2df) __B,
(__v2df) __A);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df) __B,
(__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df) __B,
(__v2df) __A,
(__v2df) _mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rsqrt14ss ((__v4sf) __B,
(__v4sf) __A);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf) __B,
(__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf) __B,
(__v4sf) __A,
(__v4sf) _mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi8_epi32 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi8_epi32 (__m512i __W, __mmask16 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi8_epi32 (__mmask16 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbd512_mask ((__v16qi) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi8_epi64 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi8_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxbq512_mask ((__v16qi) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi16_epi32 (__m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi16_epi32 (__m512i __W, __mmask16 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi16_epi32 (__mmask16 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxwd512_mask ((__v16hi) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi16_epi64 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi16_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovsxwq512_mask ((__v8hi) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_epi64 (__m256i __X)
{
return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_epi64 (__m512i __W, __mmask8 __U, __m256i __X)
{
return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi32_epi64 (__mmask8 __U, __m256i __X)
{
return (__m512i) __builtin_ia32_pmovsxdq512_mask ((__v8si) __X,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu8_epi32 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu8_epi32 (__m512i __W, __mmask16 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu8_epi32 (__mmask16 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbd512_mask ((__v16qi) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu8_epi64 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu8_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxbq512_mask ((__v16qi) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu16_epi32 (__m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu16_epi32 (__m512i __W, __mmask16 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu16_epi32 (__mmask16 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxwd512_mask ((__v16hi) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu16_epi64 (__m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu16_epi64 (__m512i __W, __mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m512i) __builtin_ia32_pmovzxwq512_mask ((__v8hi) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu32_epi64 (__m256i __X)
{
return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu32_epi64 (__m512i __W, __mmask8 __U, __m256i __X)
{
return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu32_epi64 (__mmask8 __U, __m256i __X)
{
return (__m512i) __builtin_ia32_pmovzxdq512_mask ((__v8si) __X,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_epi64 (__m512i __A)
{
return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsq512_mask ((__v8di) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_epi32 (__m512i __A)
{
return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_abs_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsd512_mask ((__v16si) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastss_ps (__m128 __A)
{
return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastss_ps (__m512 __O, __mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
(__v16sf) __O, __M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastss_ps (__mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastss512 ((__v4sf) __A,
(__v16sf)
_mm512_setzero_ps (),
__M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastsd_pd (__m128d __A)
{
return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastsd_pd (__m512d __O, __mmask8 __M, __m128d __A)
{
return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
(__v8df) __O, __M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
{
return (__m512d) __builtin_ia32_broadcastsd512 ((__v2df) __A,
(__v8df)
_mm512_setzero_pd (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastd_epi32 (__m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastd_epi32 (__m512i __O, __mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
(__v16si) __O, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastd_epi32 (__mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastd512 ((__v4si) __A,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi32 (int __A)
{
return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16)(-1));
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A)
{
return (__m512i) __builtin_ia32_pbroadcastd512_gpr_mask (__A, (__v16si) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_set1_epi32 (__mmask16 __M, int __A)
{
return (__m512i)
__builtin_ia32_pbroadcastd512_gpr_mask (__A,
(__v16si) _mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastq_epi64 (__m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastq_epi64 (__m512i __O, __mmask8 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
(__v8di) __O, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastq512 ((__v2di) __A,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_set1_epi64 (long long __A)
{
return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8)(-1));
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A)
{
return (__m512i) __builtin_ia32_pbroadcastq512_gpr_mask (__A, (__v8di) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_set1_epi64 (__mmask8 __M, long long __A)
{
return (__m512i)
__builtin_ia32_pbroadcastq512_gpr_mask (__A,
(__v8di) _mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x4 (__m128 __A)
{
return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f32x4 (__m512 __O, __mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
(__v16sf) __O,
__M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f32x4 (__mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastf32x4_512 ((__v4sf) __A,
(__v16sf)
_mm512_setzero_ps (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x4 (__m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i32x4 (__m512i __O, __mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
(__v16si) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i32x4 (__mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x4_512 ((__v4si) __A,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f64x4 (__m256d __A)
{
return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f64x4 (__m512d __O, __mmask8 __M, __m256d __A)
{
return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
(__v8df) __O,
__M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f64x4 (__mmask8 __M, __m256d __A)
{
return (__m512d) __builtin_ia32_broadcastf64x4_512 ((__v4df) __A,
(__v8df)
_mm512_setzero_pd (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i64x4 (__m256i __A)
{
return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i64x4 (__m512i __O, __mmask8 __M, __m256i __A)
{
return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
(__v8di) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i64x4 (__mmask8 __M, __m256i __A)
{
return (__m512i) __builtin_ia32_broadcasti64x4_512 ((__v4di) __A,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
typedef enum
{
_MM_PERM_AAAA = 0x00, _MM_PERM_AAAB = 0x01, _MM_PERM_AAAC = 0x02,
_MM_PERM_AAAD = 0x03, _MM_PERM_AABA = 0x04, _MM_PERM_AABB = 0x05,
_MM_PERM_AABC = 0x06, _MM_PERM_AABD = 0x07, _MM_PERM_AACA = 0x08,
_MM_PERM_AACB = 0x09, _MM_PERM_AACC = 0x0A, _MM_PERM_AACD = 0x0B,
_MM_PERM_AADA = 0x0C, _MM_PERM_AADB = 0x0D, _MM_PERM_AADC = 0x0E,
_MM_PERM_AADD = 0x0F, _MM_PERM_ABAA = 0x10, _MM_PERM_ABAB = 0x11,
_MM_PERM_ABAC = 0x12, _MM_PERM_ABAD = 0x13, _MM_PERM_ABBA = 0x14,
_MM_PERM_ABBB = 0x15, _MM_PERM_ABBC = 0x16, _MM_PERM_ABBD = 0x17,
_MM_PERM_ABCA = 0x18, _MM_PERM_ABCB = 0x19, _MM_PERM_ABCC = 0x1A,
_MM_PERM_ABCD = 0x1B, _MM_PERM_ABDA = 0x1C, _MM_PERM_ABDB = 0x1D,
_MM_PERM_ABDC = 0x1E, _MM_PERM_ABDD = 0x1F, _MM_PERM_ACAA = 0x20,
_MM_PERM_ACAB = 0x21, _MM_PERM_ACAC = 0x22, _MM_PERM_ACAD = 0x23,
_MM_PERM_ACBA = 0x24, _MM_PERM_ACBB = 0x25, _MM_PERM_ACBC = 0x26,
_MM_PERM_ACBD = 0x27, _MM_PERM_ACCA = 0x28, _MM_PERM_ACCB = 0x29,
_MM_PERM_ACCC = 0x2A, _MM_PERM_ACCD = 0x2B, _MM_PERM_ACDA = 0x2C,
_MM_PERM_ACDB = 0x2D, _MM_PERM_ACDC = 0x2E, _MM_PERM_ACDD = 0x2F,
_MM_PERM_ADAA = 0x30, _MM_PERM_ADAB = 0x31, _MM_PERM_ADAC = 0x32,
_MM_PERM_ADAD = 0x33, _MM_PERM_ADBA = 0x34, _MM_PERM_ADBB = 0x35,
_MM_PERM_ADBC = 0x36, _MM_PERM_ADBD = 0x37, _MM_PERM_ADCA = 0x38,
_MM_PERM_ADCB = 0x39, _MM_PERM_ADCC = 0x3A, _MM_PERM_ADCD = 0x3B,
_MM_PERM_ADDA = 0x3C, _MM_PERM_ADDB = 0x3D, _MM_PERM_ADDC = 0x3E,
_MM_PERM_ADDD = 0x3F, _MM_PERM_BAAA = 0x40, _MM_PERM_BAAB = 0x41,
_MM_PERM_BAAC = 0x42, _MM_PERM_BAAD = 0x43, _MM_PERM_BABA = 0x44,
_MM_PERM_BABB = 0x45, _MM_PERM_BABC = 0x46, _MM_PERM_BABD = 0x47,
_MM_PERM_BACA = 0x48, _MM_PERM_BACB = 0x49, _MM_PERM_BACC = 0x4A,
_MM_PERM_BACD = 0x4B, _MM_PERM_BADA = 0x4C, _MM_PERM_BADB = 0x4D,
_MM_PERM_BADC = 0x4E, _MM_PERM_BADD = 0x4F, _MM_PERM_BBAA = 0x50,
_MM_PERM_BBAB = 0x51, _MM_PERM_BBAC = 0x52, _MM_PERM_BBAD = 0x53,
_MM_PERM_BBBA = 0x54, _MM_PERM_BBBB = 0x55, _MM_PERM_BBBC = 0x56,
_MM_PERM_BBBD = 0x57, _MM_PERM_BBCA = 0x58, _MM_PERM_BBCB = 0x59,
_MM_PERM_BBCC = 0x5A, _MM_PERM_BBCD = 0x5B, _MM_PERM_BBDA = 0x5C,
_MM_PERM_BBDB = 0x5D, _MM_PERM_BBDC = 0x5E, _MM_PERM_BBDD = 0x5F,
_MM_PERM_BCAA = 0x60, _MM_PERM_BCAB = 0x61, _MM_PERM_BCAC = 0x62,
_MM_PERM_BCAD = 0x63, _MM_PERM_BCBA = 0x64, _MM_PERM_BCBB = 0x65,
_MM_PERM_BCBC = 0x66, _MM_PERM_BCBD = 0x67, _MM_PERM_BCCA = 0x68,
_MM_PERM_BCCB = 0x69, _MM_PERM_BCCC = 0x6A, _MM_PERM_BCCD = 0x6B,
_MM_PERM_BCDA = 0x6C, _MM_PERM_BCDB = 0x6D, _MM_PERM_BCDC = 0x6E,
_MM_PERM_BCDD = 0x6F, _MM_PERM_BDAA = 0x70, _MM_PERM_BDAB = 0x71,
_MM_PERM_BDAC = 0x72, _MM_PERM_BDAD = 0x73, _MM_PERM_BDBA = 0x74,
_MM_PERM_BDBB = 0x75, _MM_PERM_BDBC = 0x76, _MM_PERM_BDBD = 0x77,
_MM_PERM_BDCA = 0x78, _MM_PERM_BDCB = 0x79, _MM_PERM_BDCC = 0x7A,
_MM_PERM_BDCD = 0x7B, _MM_PERM_BDDA = 0x7C, _MM_PERM_BDDB = 0x7D,
_MM_PERM_BDDC = 0x7E, _MM_PERM_BDDD = 0x7F, _MM_PERM_CAAA = 0x80,
_MM_PERM_CAAB = 0x81, _MM_PERM_CAAC = 0x82, _MM_PERM_CAAD = 0x83,
_MM_PERM_CABA = 0x84, _MM_PERM_CABB = 0x85, _MM_PERM_CABC = 0x86,
_MM_PERM_CABD = 0x87, _MM_PERM_CACA = 0x88, _MM_PERM_CACB = 0x89,
_MM_PERM_CACC = 0x8A, _MM_PERM_CACD = 0x8B, _MM_PERM_CADA = 0x8C,
_MM_PERM_CADB = 0x8D, _MM_PERM_CADC = 0x8E, _MM_PERM_CADD = 0x8F,
_MM_PERM_CBAA = 0x90, _MM_PERM_CBAB = 0x91, _MM_PERM_CBAC = 0x92,
_MM_PERM_CBAD = 0x93, _MM_PERM_CBBA = 0x94, _MM_PERM_CBBB = 0x95,
_MM_PERM_CBBC = 0x96, _MM_PERM_CBBD = 0x97, _MM_PERM_CBCA = 0x98,
_MM_PERM_CBCB = 0x99, _MM_PERM_CBCC = 0x9A, _MM_PERM_CBCD = 0x9B,
_MM_PERM_CBDA = 0x9C, _MM_PERM_CBDB = 0x9D, _MM_PERM_CBDC = 0x9E,
_MM_PERM_CBDD = 0x9F, _MM_PERM_CCAA = 0xA0, _MM_PERM_CCAB = 0xA1,
_MM_PERM_CCAC = 0xA2, _MM_PERM_CCAD = 0xA3, _MM_PERM_CCBA = 0xA4,
_MM_PERM_CCBB = 0xA5, _MM_PERM_CCBC = 0xA6, _MM_PERM_CCBD = 0xA7,
_MM_PERM_CCCA = 0xA8, _MM_PERM_CCCB = 0xA9, _MM_PERM_CCCC = 0xAA,
_MM_PERM_CCCD = 0xAB, _MM_PERM_CCDA = 0xAC, _MM_PERM_CCDB = 0xAD,
_MM_PERM_CCDC = 0xAE, _MM_PERM_CCDD = 0xAF, _MM_PERM_CDAA = 0xB0,
_MM_PERM_CDAB = 0xB1, _MM_PERM_CDAC = 0xB2, _MM_PERM_CDAD = 0xB3,
_MM_PERM_CDBA = 0xB4, _MM_PERM_CDBB = 0xB5, _MM_PERM_CDBC = 0xB6,
_MM_PERM_CDBD = 0xB7, _MM_PERM_CDCA = 0xB8, _MM_PERM_CDCB = 0xB9,
_MM_PERM_CDCC = 0xBA, _MM_PERM_CDCD = 0xBB, _MM_PERM_CDDA = 0xBC,
_MM_PERM_CDDB = 0xBD, _MM_PERM_CDDC = 0xBE, _MM_PERM_CDDD = 0xBF,
_MM_PERM_DAAA = 0xC0, _MM_PERM_DAAB = 0xC1, _MM_PERM_DAAC = 0xC2,
_MM_PERM_DAAD = 0xC3, _MM_PERM_DABA = 0xC4, _MM_PERM_DABB = 0xC5,
_MM_PERM_DABC = 0xC6, _MM_PERM_DABD = 0xC7, _MM_PERM_DACA = 0xC8,
_MM_PERM_DACB = 0xC9, _MM_PERM_DACC = 0xCA, _MM_PERM_DACD = 0xCB,
_MM_PERM_DADA = 0xCC, _MM_PERM_DADB = 0xCD, _MM_PERM_DADC = 0xCE,
_MM_PERM_DADD = 0xCF, _MM_PERM_DBAA = 0xD0, _MM_PERM_DBAB = 0xD1,
_MM_PERM_DBAC = 0xD2, _MM_PERM_DBAD = 0xD3, _MM_PERM_DBBA = 0xD4,
_MM_PERM_DBBB = 0xD5, _MM_PERM_DBBC = 0xD6, _MM_PERM_DBBD = 0xD7,
_MM_PERM_DBCA = 0xD8, _MM_PERM_DBCB = 0xD9, _MM_PERM_DBCC = 0xDA,
_MM_PERM_DBCD = 0xDB, _MM_PERM_DBDA = 0xDC, _MM_PERM_DBDB = 0xDD,
_MM_PERM_DBDC = 0xDE, _MM_PERM_DBDD = 0xDF, _MM_PERM_DCAA = 0xE0,
_MM_PERM_DCAB = 0xE1, _MM_PERM_DCAC = 0xE2, _MM_PERM_DCAD = 0xE3,
_MM_PERM_DCBA = 0xE4, _MM_PERM_DCBB = 0xE5, _MM_PERM_DCBC = 0xE6,
_MM_PERM_DCBD = 0xE7, _MM_PERM_DCCA = 0xE8, _MM_PERM_DCCB = 0xE9,
_MM_PERM_DCCC = 0xEA, _MM_PERM_DCCD = 0xEB, _MM_PERM_DCDA = 0xEC,
_MM_PERM_DCDB = 0xED, _MM_PERM_DCDC = 0xEE, _MM_PERM_DCDD = 0xEF,
_MM_PERM_DDAA = 0xF0, _MM_PERM_DDAB = 0xF1, _MM_PERM_DDAC = 0xF2,
_MM_PERM_DDAD = 0xF3, _MM_PERM_DDBA = 0xF4, _MM_PERM_DDBB = 0xF5,
_MM_PERM_DDBC = 0xF6, _MM_PERM_DDBD = 0xF7, _MM_PERM_DDCA = 0xF8,
_MM_PERM_DDCB = 0xF9, _MM_PERM_DDCC = 0xFA, _MM_PERM_DDCD = 0xFB,
_MM_PERM_DDDA = 0xFC, _MM_PERM_DDDB = 0xFD, _MM_PERM_DDDC = 0xFE,
_MM_PERM_DDDD = 0xFF
} _MM_PERM_ENUM;
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rolv_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rorv_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rolv_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prolvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_rorv_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_prorvq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtu32_sd (__m128d __A, unsigned __B)
{
return (__m128d) __builtin_ia32_cvtusi2sd32 ((__v2df) __A, __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi32_epi8 (__mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovdb512_mask ((__v16si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi32_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovsdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi32_epi8 (__mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsdb512_mask ((__v16si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi32_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovusdb512mem_mask ((__v16qi *) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi32_epi8 (__m128i __O, __mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi32_epi8 (__mmask16 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusdb512_mask ((__v16si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_epi16 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_undefined_si256 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_storeu_epi16 (void * __P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovdw512mem_mask ((__v16hi *) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
(__v16hi) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi32_epi16 (__mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi32_epi16 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_undefined_si256 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovsdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
(__v16hi) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi32_epi16 (__mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovsdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi32_epi16 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_undefined_si256 (),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi32_storeu_epi16 (void *__P, __mmask16 __M, __m512i __A)
{
__builtin_ia32_pmovusdw512mem_mask ((__v16hi*) __P, (__v16si) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi32_epi16 (__m256i __O, __mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
(__v16hi) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi32_epi16 (__mmask16 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovusdw512_mask ((__v16si) __A,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi32 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
(__v8si) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_epi32 (__mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovqd512_mask ((__v8di) __A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi64_epi32 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_storeu_epi32 (void *__P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovsqd512mem_mask ((__v8si *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
(__v8si) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi64_epi32 (__mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovsqd512_mask ((__v8di) __A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi32 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_storeu_epi32 (void* __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovusqd512mem_mask ((__v8si*) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_epi32 (__m256i __O, __mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
(__v8si) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi64_epi32 (__mmask8 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovusqd512_mask ((__v8di) __A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi16 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_epi16 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovqw512_mask ((__v8di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi64_epi16 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovsqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi64_epi16 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqw512_mask ((__v8di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi16 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovusqw512mem_mask ((__v8hi*) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi64_epi16 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqw512_mask ((__v8di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_epi8 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovqb512_mask ((__v8di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi64_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovsqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi64_epi8 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovsqb512_mask ((__v8di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi64_epi8 (__m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m512i __A)
{
__builtin_ia32_pmovusqb512mem_mask ((__v16qi *) __P, (__v8di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi64_epi8 (__mmask8 __M, __m512i __A)
{
return (__m128i) __builtin_ia32_pmovusqb512_mask ((__v8di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_pd (__m256i __A)
{
return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_pd (__m512d __W, __mmask8 __U, __m256i __A)
{
return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi32_pd (__mmask8 __U, __m256i __A)
{
return (__m512d) __builtin_ia32_cvtdq2pd512_mask ((__v8si) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu32_pd (__m256i __A)
{
return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu32_pd (__m512d __W, __mmask8 __U, __m256i __A)
{
return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu32_pd (__mmask8 __U, __m256i __A)
{
return (__m512d) __builtin_ia32_cvtudq2pd512_mask ((__v8si) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_loadu_pd (void const *__P)
{
return *(__m512d_u *)__P;
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_pd (__m512d __W, __mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_loadupd512_mask ((const double *) __P,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_pd (__mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_loadupd512_mask ((const double *) __P,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_storeu_pd (void *__P, __m512d __A)
{
*(__m512d_u *)__P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_pd (void *__P, __mmask8 __U, __m512d __A)
{
__builtin_ia32_storeupd512_mask ((double *) __P, (__v8df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_loadu_ps (void const *__P)
{
return *(__m512_u *)__P;
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_ps (__m512 __W, __mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_loadups512_mask ((const float *) __P,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_ps (__mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_loadups512_mask ((const float *) __P,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_storeu_ps (void *__P, __m512 __A)
{
*(__m512_u *)__P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_ps (void *__P, __mmask16 __U, __m512 __A)
{
__builtin_ia32_storeups512_mask ((float *) __P, (__v16sf) __A,
(__mmask16) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_ss (__m128 __W, __mmask8 __U, const float *__P)
{
return (__m128) __builtin_ia32_loadss_mask (__P, (__v4sf) __W, __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_ss (__mmask8 __U, const float *__P)
{
return (__m128) __builtin_ia32_loadss_mask (__P, (__v4sf) _mm_setzero_ps (),
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_sd (__m128d __W, __mmask8 __U, const double *__P)
{
return (__m128d) __builtin_ia32_loadsd_mask (__P, (__v2df) __W, __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_sd (__mmask8 __U, const double *__P)
{
return (__m128d) __builtin_ia32_loadsd_mask (__P, (__v2df) _mm_setzero_pd (),
__U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_move_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movess_mask ((__v4sf) __A, (__v4sf) __B,
(__v4sf) __W, __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_move_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movess_mask ((__v4sf) __A, (__v4sf) __B,
(__v4sf) _mm_setzero_ps (), __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_move_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movesd_mask ((__v2df) __A, (__v2df) __B,
(__v2df) __W, __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_move_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movesd_mask ((__v2df) __A, (__v2df) __B,
(__v2df) _mm_setzero_pd (),
__U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_ss (float *__P, __mmask8 __U, __m128 __A)
{
__builtin_ia32_storess_mask (__P, (__v4sf) __A, (__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_sd (double *__P, __mmask8 __U, __m128d __A)
{
__builtin_ia32_storesd_mask (__P, (__v2df) __A, (__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_epi64 (__m512i __W, __mmask8 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddqudi512_mask ((const long long *) __P,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddqudi512_mask ((const long long *) __P,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A)
{
__builtin_ia32_storedqudi512_mask ((long long *) __P, (__v8di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_loadu_si512 (void const *__P)
{
return *(__m512i_u *)__P;
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_epi32 (__m512i __W, __mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddqusi512_mask ((const int *) __P,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_epi32 (__mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddqusi512_mask ((const int *) __P,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_storeu_si512 (void *__P, __m512i __A)
{
*(__m512i_u *)__P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_epi32 (void *__P, __mmask16 __U, __m512i __A)
{
__builtin_ia32_storedqusi512_mask ((int *) __P, (__v16si) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutevar_pd (__m512d __A, __m512i __C)
{
return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
(__v8di) __C,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutevar_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512i __C)
{
return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
(__v8di) __C,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutevar_pd (__mmask8 __U, __m512d __A, __m512i __C)
{
return (__m512d) __builtin_ia32_vpermilvarpd512_mask ((__v8df) __A,
(__v8di) __C,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutevar_ps (__m512 __A, __m512i __C)
{
return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
(__v16si) __C,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutevar_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512i __C)
{
return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
(__v16si) __C,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutevar_ps (__mmask16 __U, __m512 __A, __m512i __C)
{
return (__m512) __builtin_ia32_vpermilvarps512_mask ((__v16sf) __A,
(__v16si) __C,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_epi64 (__m512i __A, __m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I
,
(__v8di) __A,
(__v8di) __B,
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_epi64 (__m512i __A, __mmask8 __U, __m512i __I,
__m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varq512_mask ((__v8di) __I
,
(__v8di) __A,
(__v8di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_epi64 (__m512i __A, __m512i __I,
__mmask8 __U, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermi2varq512_mask ((__v8di) __A,
(__v8di) __I
,
(__v8di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_epi64 (__mmask8 __U, __m512i __A,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varq512_maskz ((__v8di) __I
,
(__v8di) __A,
(__v8di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_epi32 (__m512i __A, __m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I
,
(__v16si) __A,
(__v16si) __B,
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_epi32 (__m512i __A, __mmask16 __U,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2vard512_mask ((__v16si) __I
,
(__v16si) __A,
(__v16si) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_epi32 (__m512i __A, __m512i __I,
__mmask16 __U, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermi2vard512_mask ((__v16si) __A,
(__v16si) __I
,
(__v16si) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_epi32 (__mmask16 __U, __m512i __A,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2vard512_maskz ((__v16si) __I
,
(__v16si) __A,
(__v16si) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_pd (__m512d __A, __m512i __I, __m512d __B)
{
return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I
,
(__v8df) __A,
(__v8df) __B,
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_pd (__m512d __A, __mmask8 __U, __m512i __I,
__m512d __B)
{
return (__m512d) __builtin_ia32_vpermt2varpd512_mask ((__v8di) __I
,
(__v8df) __A,
(__v8df) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_pd (__m512d __A, __m512i __I, __mmask8 __U,
__m512d __B)
{
return (__m512d) __builtin_ia32_vpermi2varpd512_mask ((__v8df) __A,
(__v8di) __I
,
(__v8df) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_pd (__mmask8 __U, __m512d __A, __m512i __I,
__m512d __B)
{
return (__m512d) __builtin_ia32_vpermt2varpd512_maskz ((__v8di) __I
,
(__v8df) __A,
(__v8df) __B,
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_ps (__m512 __A, __m512i __I, __m512 __B)
{
return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I
,
(__v16sf) __A,
(__v16sf) __B,
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_ps (__m512 __A, __mmask16 __U, __m512i __I, __m512 __B)
{
return (__m512) __builtin_ia32_vpermt2varps512_mask ((__v16si) __I
,
(__v16sf) __A,
(__v16sf) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_ps (__m512 __A, __m512i __I, __mmask16 __U,
__m512 __B)
{
return (__m512) __builtin_ia32_vpermi2varps512_mask ((__v16sf) __A,
(__v16si) __I
,
(__v16sf) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_ps (__mmask16 __U, __m512 __A, __m512i __I,
__m512 __B)
{
return (__m512) __builtin_ia32_vpermt2varps512_maskz ((__v16si) __I
,
(__v16sf) __A,
(__v16sf) __B,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
(__v8di) __X,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
(__v8di) __X,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X,
__m512i __Y)
{
return (__m512i) __builtin_ia32_permvardi512_mask ((__v8di) __Y,
(__v8di) __X,
(__v8di) __W,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
(__v16si) __X,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
(__v16si) __X,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
__m512i __Y)
{
return (__m512i) __builtin_ia32_permvarsi512_mask ((__v16si) __Y,
(__v16si) __X,
(__v16si) __W,
__M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_pd (__m512i __X, __m512d __Y)
{
return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
(__v8di) __X,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y)
{
return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
(__v8di) __X,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y)
{
return (__m512d) __builtin_ia32_permvardf512_mask ((__v8df) __Y,
(__v8di) __X,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_ps (__m512i __X, __m512 __Y)
{
return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
(__v16si) __X,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y)
{
return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
(__v16si) __X,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y)
{
return (__m512) __builtin_ia32_permvarsf512_mask ((__v16sf) __Y,
(__v16si) __X,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movehdup_ps (__m512 __A)
{
return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_movehdup_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movshdup512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_moveldup_ps (__m512 __A)
{
return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_moveldup_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_moveldup_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_movsldup512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_si512 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A | (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A | (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A | (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_porq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_si512 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A ^ (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A ^ (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pxord512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A ^ (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pxorq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_si512 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A & (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v16su) __A & (__v16su) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A & (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_pd (),
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_si512 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pandnq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_pd (),
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_test_epi32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A,
(__v16si) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_test_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ptestmd512 ((__v16si) __A,
(__v16si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_test_epi64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A,
(__v8di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_test_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ptestmq512 ((__v8di) __A, (__v8di) __B, __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_testn_epi32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A,
(__v16si) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_testn_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ptestnmd512 ((__v16si) __A,
(__v16si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_testn_epi64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A,
(__v8di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq512 ((__v8di) __A,
(__v8di) __B, __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_ps (__m512 __A)
{
return (__m512) _mm512_and_epi32 ((__m512i) __A,
_mm512_set1_epi32 (0x7fffffff));
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) _mm512_mask_and_epi32 ((__m512i) __W, __U, (__m512i) __A,
_mm512_set1_epi32 (0x7fffffff));
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_pd (__m512d __A)
{
return (__m512d) _mm512_and_epi64 ((__m512i) __A,
_mm512_set1_epi64 (0x7fffffffffffffffLL));
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d)
_mm512_mask_and_epi64 ((__m512i) __W, __U, (__m512i) __A,
_mm512_set1_epi64 (0x7fffffffffffffffLL));
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhdq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_epi32 (__m512i __W, __mmask16 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckldq512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklqdq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movedup_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_movedup_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_movedup_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_movddup512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpcklpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_unpckhpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpckhps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_stream_si512 (__m512i * __P, __m512i __A)
{
__builtin_ia32_movntdq512 ((__v8di *) __P, (__v8di) __A);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_stream_ps (float *__P, __m512 __A)
{
__builtin_ia32_movntps512 (__P, (__v16sf) __A);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_stream_pd (double *__P, __m512d __A)
{
__builtin_ia32_movntpd512 (__P, (__v8df) __A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_stream_load_si512 (void *__P)
{
return __builtin_ia32_movntdqa512 ((__v8di *)__P);
}*/
typedef enum
{
_MM_MANT_NORM_1_2,
_MM_MANT_NORM_p5_2,
_MM_MANT_NORM_p5_1,
_MM_MANT_NORM_p75_1p5
} _MM_MANTISSA_NORM_ENUM;
typedef enum
{
_MM_MANT_SIGN_src,
_MM_MANT_SIGN_zero,
_MM_MANT_SIGN_nan
} _MM_MANTISSA_SIGN_ENUM;
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_floor_ps (__m512 __A)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
(0x01 | 0x00),
(__v16sf) __A, -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_floor_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
(0x01 | 0x00),
(__v8df) __A, -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_ceil_ps (__m512 __A)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
(0x02 | 0x00),
(__v16sf) __A, -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_ceil_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
(0x02 | 0x00),
(__v8df) __A, -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_floor_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
(0x01 | 0x00),
(__v16sf) __W, __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_floor_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
(0x01 | 0x00),
(__v8df) __W, __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_ceil_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
(0x02 | 0x00),
(__v16sf) __W, __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
(0x02 | 0x00),
(__v8df) __W, __U,
0x04);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epi32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A,
(__v16si) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqd512_mask ((__v16si) __A,
(__v16si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A,
(__v8di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epi64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq512_mask ((__v8di) __A,
(__v8di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epi32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A,
(__v16si) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epi32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtd512_mask ((__v16si) __A,
(__v16si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A,
(__v8di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epi64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq512_mask ((__v8di) __A,
(__v8di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epi32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epu32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epi64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epu64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 2,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epi32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 2,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epu32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epi64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epu64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epi32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epu32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epi64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epu64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epi32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epi32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_cmpd512_mask ((__v16si) __X,
(__v16si) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epu32_mask (__mmask16 __M, __m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epu32_mask (__m512i __X, __m512i __Y)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __X,
(__v16si) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epi64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epi64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_cmpq512_mask ((__v8di) __X,
(__v8di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epu64_mask (__mmask8 __M, __m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epu64_mask (__m512i __X, __m512i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __X,
(__v8di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_compressdf512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m512d __A)
{
__builtin_ia32_compressstoredf512_mask ((__v8df *) __P, (__v8df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_compresssf512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_ps (void *__P, __mmask16 __U, __m512 __A)
{
__builtin_ia32_compressstoresf512_mask ((__v16sf *) __P, (__v16sf) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_compressdi512_mask ((__v8di) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m512i __A)
{
__builtin_ia32_compressstoredi512_mask ((__v8di *) __P, (__v8di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_compresssi512_mask ((__v16si) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
{
__builtin_ia32_compressstoresi512_mask ((__v16si *) __P, (__v16si) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_expanddf512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_expanddf512_maskz ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_pd (__m512d __W, __mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_expandloaddf512_mask ((const __v8df *) __P,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
{
return (__m512d) __builtin_ia32_expandloaddf512_maskz ((const __v8df *) __P,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_expandsf512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_expandsf512_maskz ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_ps (__m512 __W, __mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_expandloadsf512_mask ((const __v16sf *) __P,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_ps (__mmask16 __U, void const *__P)
{
return (__m512) __builtin_ia32_expandloadsf512_maskz ((const __v16sf *) __P,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_expanddi512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_expanddi512_maskz ((__v8di) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_epi64 (__m512i __W, __mmask8 __U, void const *__P)
{
return (__m512i) __builtin_ia32_expandloaddi512_mask ((const __v8di *) __P,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m512i)
__builtin_ia32_expandloaddi512_maskz ((const __v8di *) __P,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_expandsi512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_expandsi512_maskz ((__v16si) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_epi32 (__m512i __W, __mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_expandloadsi512_mask ((const __v16si *) __P,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_epi32 (__mmask16 __U, void const *__P)
{
return (__m512i) __builtin_ia32_expandloadsi512_maskz ((const __v16si *) __P,
(__v16si)
_mm512_setzero_si512
(), (__mmask16) __U);
}*/
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortest_mask16_u8 (__mmask16 __A, __mmask16 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_kortestchi (__A, __B);
return (unsigned char) __builtin_ia32_kortestzhi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestz_mask16_u8 (__mmask16 __A, __mmask16 __B)
{
return (unsigned char) __builtin_ia32_kortestzhi ((__mmask16) __A,
(__mmask16) __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestc_mask16_u8 (__mmask16 __A, __mmask16 __B)
{
return (unsigned char) __builtin_ia32_kortestchi ((__mmask16) __A,
(__mmask16) __B);
}
extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtmask16_u32 (__mmask16 __A)
{
return (unsigned int) __builtin_ia32_kmovw ((__mmask16 ) __A);
}
extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtu32_mask16 (unsigned int __A)
{
return (__mmask16) __builtin_ia32_kmovw ((__mmask16 ) __A);
}
extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_load_mask16 (__mmask16 *__A)
{
return (__mmask16) __builtin_ia32_kmovw (*(__mmask16 *) __A);
}
extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_store_mask16 (__mmask16 *__A, __mmask16 __B)
{
*(__mmask16 *) __A = __builtin_ia32_kmovw (__B);
}
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kand (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kandhi ((__mmask16) __A, (__mmask16) __B);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kandn (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kandnhi ((__mmask16) __A,
(__mmask16) __B);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kor (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_korhi ((__mmask16) __A, (__mmask16) __B);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kortestz (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kortestzhi ((__mmask16) __A,
(__mmask16) __B);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kortestc (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kortestchi ((__mmask16) __A,
(__mmask16) __B);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kxnor (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kxnorhi ((__mmask16) __A, (__mmask16) __B);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kxor (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kxorhi ((__mmask16) __A, (__mmask16) __B);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_knot (__mmask16 __A)
{
return (__mmask16) __builtin_ia32_knothi ((__mmask16) __A);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kunpackb (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B);
}*/
extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kunpackb_mask16 (__mmask8 __A, __mmask8 __B)
{
return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B);
}
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epu64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epu64 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminuq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsd512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epu32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epu32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminud512_mask ((__v16si) __A,
(__v16si) __B,
(__v16si) __W, __M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_unpcklps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_blend_pd (__mmask8 __U, __m512d __A, __m512d __W)
{
return (__m512d) __builtin_ia32_blendmpd_512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_blend_ps (__mmask16 __U, __m512 __A, __m512 __W)
{
return (__m512) __builtin_ia32_blendmps_512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_blend_epi64 (__mmask8 __U, __m512i __A, __m512i __W)
{
return (__m512i) __builtin_ia32_blendmq_512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_blend_epi32 (__mmask16 __U, __m512i __A, __m512i __W)
{
return (__m512i) __builtin_ia32_blendmd_512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W,
(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W,
(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W,
(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W,
(__v2df) __A,
-(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W,
(__v4sf) __A,
-(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W,
(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W,
(__v2df) __A,
-(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W,
(__v4sf) __A,
-(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W,
-(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W,
-(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W,
-(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W,
-(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W,
-(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W,
-(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W,
-(__v2df) __A,
-(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W,
-(__v4sf) __A,
-(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W,
-(__v2df) __A,
(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W,
-(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W,
-(__v2df) __A,
-(__v2df) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W,
-(__v4sf) __A,
-(__v4sf) __B,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sqrt_pd (__m512d __A)
{
return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sqrt_pd (__m512d __W, __mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
{
return (__m512d) __builtin_ia32_sqrtpd512_mask ((__v8df) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sqrt_ps (__m512 __A)
{
return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sqrt_ps (__m512 __W, __mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sqrt_ps (__mmask16 __U, __m512 __A)
{
return (__m512) __builtin_ia32_sqrtps512_mask ((__v16sf) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_pd (__m512d __A, __m512d __B)
{
return (__m512d) ((__v8df)__A + (__v8df)__B);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_addpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_ps (__m512 __A, __m512 __B)
{
return (__m512) ((__v16sf)__A + (__v16sf)__B);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_addps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_pd (__m512d __A, __m512d __B)
{
return (__m512d) ((__v8df)__A - (__v8df)__B);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_subpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_ps (__m512 __A, __m512 __B)
{
return (__m512) ((__v16sf)__A - (__v16sf)__B);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_subps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mul_pd (__m512d __A, __m512d __B)
{
return (__m512d) ((__v8df)__A * (__v8df)__B);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mul_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mul_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_mulpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mul_ps (__m512 __A, __m512 __B)
{
return (__m512) ((__v16sf)__A * (__v16sf)__B);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mul_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mul_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_mulps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_sd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_ss (__m128 __W, __mmask8 __U, __m128 __A,
__m128 __B)
{
return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_div_pd (__m512d __M, __m512d __V)
{
return (__m512d) ((__v8df)__M / (__v8df)__V);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_div_pd (__m512d __W, __mmask8 __U, __m512d __M, __m512d __V)
{
return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
(__v8df) __V,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_div_pd (__mmask8 __U, __m512d __M, __m512d __V)
{
return (__m512d) __builtin_ia32_divpd512_mask ((__v8df) __M,
(__v8df) __V,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_div_ps (__m512 __A, __m512 __B)
{
return (__m512) ((__v16sf)__A / (__v16sf)__B);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_div_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_div_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_divps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_sd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_ss (__m128 __W, __mmask8 __U, __m128 __A,
__m128 __B)
{
return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_maxpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_minpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_sd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_ss (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_scalef_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_scalef_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_scalef_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_scalefpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_scalef_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_scalef_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_scalef_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_scalefps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmadd_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmadd_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmsub_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmsubpd512_maskz ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmsub_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmsubps512_maskz ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmaddsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmaddsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmaddsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmaddsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmaddsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfmaddsubps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmaddsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
(__v8df) __B,
-(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmsubadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_mask ((__v8df) __A,
(__v8df) __B,
-(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmsubadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfmsubaddpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmsubadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfmaddsubpd512_maskz ((__v8df) __A,
(__v8df) __B,
-(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
-(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fmsubadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
-(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fmsubadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfmsubaddps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fmsubadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfmaddsubps512_maskz ((__v16sf) __A,
(__v16sf) __B,
-(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fnmadd_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmaddpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fnmadd_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfnmaddpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fnmadd_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmaddpd512_maskz ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmaddps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fnmadd_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfnmaddps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fnmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmaddps512_maskz ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fnmsub_pd (__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmsubpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fnmsub_pd (__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
{
return (__m512d) __builtin_ia32_vfnmsubpd512_mask3 ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fnmsub_pd (__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
{
return (__m512d) __builtin_ia32_vfnmsubpd512_maskz ((__v8df) __A,
(__v8df) __B,
(__v8df) __C,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_fnmsub_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmsubps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask3_fnmsub_ps (__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
{
return (__m512) __builtin_ia32_vfnmsubps512_mask3 ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_fnmsub_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
{
return (__m512) __builtin_ia32_vfnmsubps512_maskz ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __C,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epi32 (__m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
(__v8si) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epi32 (__mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2dq512_mask ((__v8df) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epu32 (__m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
(__v8si) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epu32 (__mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvttpd2udq512_mask ((__v8df) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epi32 (__m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epi32 (__m256i __W, __mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
(__v8si) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epi32 (__mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2dq512_mask ((__v8df) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epu32 (__m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
(__v8si)
_mm256_undefined_si256 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epu32 (__m256i __W, __mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
(__v8si) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epu32 (__mmask8 __U, __m512d __A)
{
return (__m256i) __builtin_ia32_cvtpd2udq512_mask ((__v8df) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epi32 (__m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epi32 (__m512i __W, __mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epi32 (__mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2dq512_mask ((__v16sf) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epu32 (__m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epu32 (__m512i __W, __mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvttps2udq512_mask ((__v16sf) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epi32 (__m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epi32 (__m512i __W, __mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epi32 (__mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epu32 (__m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epu32 (__m512i __W, __mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epu32 (__mmask16 __U, __m512 __A)
{
return (__m512i) __builtin_ia32_cvtps2udq512_mask ((__v16sf) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsd_f64 (__m512d __A)
{
return __A[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtss_f32 (__m512 __A)
{
return __A[0];
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtu64_ss (__m128 __A, unsigned long long __B)
{
return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf) __A, __B,
0x04);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtu64_sd (__m128d __A, unsigned long long __B)
{
return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df) __A, __B,
0x04);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtu32_ss (__m128 __A, unsigned __B)
{
return (__m128) __builtin_ia32_cvtusi2ss32 ((__v4sf) __A, __B,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi32_ps (__m512i __A)
{
return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi32_ps (__m512 __W, __mmask16 __U, __m512i __A)
{
return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi32_ps (__mmask16 __U, __m512i __A)
{
return (__m512) __builtin_ia32_cvtdq2ps512_mask ((__v16si) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu32_ps (__m512i __A)
{
return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu32_ps (__m512 __W, __mmask16 __U, __m512i __A)
{
return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu32_ps (__mmask16 __U, __m512i __A)
{
return (__m512) __builtin_ia32_cvtudq2ps512_mask ((__v16si) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_u64 (__m128 __A)
{
return (unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf)
__A,
0x04);
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_u64 (__m128 __A)
{
return (unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf)
__A,
0x04);
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_i64 (__m128 __A)
{
return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A,
0x04);
}*/
/*extern __inline unsigned
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtss_u32 (__m128 __A)
{
return (unsigned) __builtin_ia32_vcvtss2usi32 ((__v4sf) __A,
0x04);
}*/
/*extern __inline unsigned
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_u32 (__m128 __A)
{
return (unsigned) __builtin_ia32_vcvttss2usi32 ((__v4sf) __A,
0x04);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttss_i32 (__m128 __A)
{
return (int) __builtin_ia32_vcvttss2si32 ((__v4sf) __A,
0x04);
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_u64 (__m128d __A)
{
return (unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df)
__A,
0x04);
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_u64 (__m128d __A)
{
return (unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df)
__A,
0x04);
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_i64 (__m128d __A)
{
return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A,
0x04);
}*/
/*extern __inline unsigned
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsd_u32 (__m128d __A)
{
return (unsigned) __builtin_ia32_vcvtsd2usi32 ((__v2df) __A,
0x04);
}*/
/*extern __inline unsigned
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_u32 (__m128d __A)
{
return (unsigned) __builtin_ia32_vcvttsd2usi32 ((__v2df) __A,
0x04);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttsd_i32 (__m128d __A)
{
return (int) __builtin_ia32_vcvttsd2si32 ((__v2df) __A,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_pd (__m256 __A)
{
return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
(__v8df)
_mm512_undefined_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_pd (__m512d __W, __mmask8 __U, __m256 __A)
{
return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_pd (__mmask8 __U, __m256 __A)
{
return (__m512d) __builtin_ia32_cvtps2pd512_mask ((__v8sf) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtph_ps (__m256i __A)
{
return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
(__v16sf)
_mm512_undefined_ps (),
(__mmask16) -1,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtph_ps (__m512 __W, __mmask16 __U, __m256i __A)
{
return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
(__v16sf) __W,
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtph_ps (__mmask16 __U, __m256i __A)
{
return (__m512) __builtin_ia32_vcvtph2ps512_mask ((__v16hi) __A,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_ps (__m512d __A)
{
return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
(__v8sf)
_mm256_undefined_ps (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_ps (__m256 __W, __mmask8 __U, __m512d __A)
{
return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
(__v8sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_ps (__mmask8 __U, __m512d __A)
{
return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kmov (__mmask16 __A)
{
return __builtin_ia32_kmovw (__A);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd_ps (__m512d __A)
{
return (__m512) (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd_si512 (__m512d __A)
{
return (__m512i) (__A);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps_pd (__m512 __A)
{
return (__m512d) (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps_si512 (__m512 __A)
{
return (__m512i) (__A);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi512_ps (__m512i __A)
{
return (__m512) (__A);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi512_pd (__m512i __A)
{
return (__m512d) (__A);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd512_pd128 (__m512d __A)
{
return (__m128d)((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) ((__m512)__A), (int) (0), (__v4sf)(__m128)_mm_undefined_ps(), (__mmask8)-1));
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps512_ps128 (__m512 __A)
{
return ((__m128) __builtin_ia32_extractf32x4_mask ((__v16sf)(__m512) (__A), (int) (0), (__v4sf)(__m128)_mm_undefined_ps(), (__mmask8)-1));
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi512_si128 (__m512i __A)
{
return (__m128i)((__m128i) __builtin_ia32_extracti32x4_mask ((__v16si)(__m512i) ((__m512i)__A), (int) (0), (__v4si)(__m128i)_mm_undefined_si128 (), (__mmask8)-1));
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd512_pd256 (__m512d __A)
{
return ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1));
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps512_ps256 (__m512 __A)
{
return (__m256)((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d)__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1));
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi512_si256 (__m512i __A)
{
return (__m256i)((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d)__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1));
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd128_pd512 (__m128d __A)
{
return (__m512d) __builtin_ia32_pd512_pd((__m128d)__A);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps128_ps512 (__m128 __A)
{
return (__m512) __builtin_ia32_ps512_ps((__m128)__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi128_si512 (__m128i __A)
{
return (__m512i) __builtin_ia32_si512_si((__v4si)__A);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castpd256_pd512 (__m256d __A)
{
return __builtin_ia32_pd512_256pd (__A);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castps256_ps512 (__m256 __A)
{
return __builtin_ia32_ps512_256ps (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_castsi256_si512 (__m256i __A)
{
return (__m512i)__builtin_ia32_si512_256si ((__v8si)__A);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epu32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
(__v16si) __B, 0,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
(__v16si) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
(__v8di) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epu64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
(__v8di) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epu32_mask (__m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
(__v16si) __B, 6,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epu32_mask (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__mmask16) __builtin_ia32_ucmpd512_mask ((__v16si) __A,
(__v16si) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epu64_mask (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
(__v8di) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epu64_mask (__m512i __A, __m512i __B)
{
return (__mmask8) __builtin_ia32_ucmpq512_mask ((__v8di) __A,
(__v8di) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_add_epi32 (__m512i __A)
{
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 + __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 + __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 + __T7; return __T8[0] + __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_mul_epi32 (__m512i __A)
{
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 * __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 * __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 * __T7; return __T8[0] * __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_and_epi32 (__m512i __A)
{
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 & __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 & __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 & __T7; return __T8[0] & __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_or_epi32 (__m512i __A)
{
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 | __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 | __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 | __T7; return __T8[0] | __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_add_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi32 (__U, __A);
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 + __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 + __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 + __T7; return __T8[0] + __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_mul_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (1), __U, __A);
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 * __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 * __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 * __T7; return __T8[0] * __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_and_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0), __U, __A);
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 & __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 & __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 & __T7; return __T8[0] & __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_or_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi32 (__U, __A);
__v8si __T1 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v8si __T2 = (__v8si) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 | __T2); __v4si __T4 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v4si __T5 = (__v4si) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v4si __T6 = __T4 | __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 | __T7; return __T8[0] | __T8[1];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_epi32 (__m512i __A)
{
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_min_epi32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_min_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epi32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_epi32 (__m512i __A)
{
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_max_epi32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_max_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epi32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_epu32 (__m512i __A)
{
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_min_epu32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_min_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epu32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_epu32 (__m512i __A)
{
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_max_epu32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_max_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epu32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (0x7fffffff), __U, __A);
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_min_epi32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_min_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epi32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_epi32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (-0x7fffffff - 1), __U, __A);
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_max_epi32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_max_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epi32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_epu32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0), __U, __A);
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_min_epu32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_min_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epu32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_epu32 (__mmask16 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi32 (__U, __A);
__m256i __T1 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T2 = (__m256i) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = _mm256_max_epu32 (__T1, __T2); __m128i __T4 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __m128i __T5 = (__m128i) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __m128i __T6 = _mm_max_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epu32 (__T8, __T9); return __T10[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_add_ps (__m512 __A)
{
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = __T1 + __T2; __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = __T4 + __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 + __T7; return __T8[0] + __T8[1];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_mul_ps (__m512 __A)
{
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = __T1 * __T2; __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = __T4 * __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 * __T7; return __T8[0] * __T8[1];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_add_ps (__mmask16 __U, __m512 __A)
{
__A = _mm512_maskz_mov_ps (__U, __A);
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = __T1 + __T2; __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = __T4 + __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 + __T7; return __T8[0] + __T8[1];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_mul_ps (__mmask16 __U, __m512 __A)
{
__A = _mm512_mask_mov_ps (_mm512_set1_ps (1.0f), __U, __A);
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = __T1 * __T2; __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = __T4 * __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 * __T7; return __T8[0] * __T8[1];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_ps (__m512 __A)
{
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = _mm256_min_ps (__T1, __T2); __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = _mm_min_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_min_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_min_ps (__T8, __T9); return __T10[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_ps (__m512 __A)
{
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = _mm256_max_ps (__T1, __T2); __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = _mm_max_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_max_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_max_ps (__T8, __T9); return __T10[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_ps (__mmask16 __U, __m512 __A)
{
__A = _mm512_mask_mov_ps (_mm512_set1_ps (__builtin_inff ()), __U, __A);
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = _mm256_min_ps (__T1, __T2); __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = _mm_min_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_min_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_min_ps (__T8, __T9); return __T10[0];
}*/
/*extern __inline float
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_ps (__mmask16 __U, __m512 __A)
{
__A = _mm512_mask_mov_ps (_mm512_set1_ps (-__builtin_inff ()), __U, __A);
__m256 __T1 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T2 = (__m256) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) ((__m512d) __A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256 __T3 = _mm256_max_ps (__T1, __T2); __m128 __T4 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(1))); __m128 __T5 = ((__m128) __builtin_ia32_vextractf128_ps256 ((__v8sf)(__m256)(__T3), (int)(0))); __m128 __T6 = _mm_max_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_max_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_max_ps (__T8, __T9); return __T10[0];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_add_epi64 (__m512i __A)
{
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 + __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 + __T5; return __T6[0] + __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_mul_epi64 (__m512i __A)
{
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 * __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 * __T5; return __T6[0] * __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_and_epi64 (__m512i __A)
{
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 & __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 & __T5; return __T6[0] & __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_or_epi64 (__m512i __A)
{
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 | __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 | __T5; return __T6[0] | __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_add_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi64 (__U, __A);
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 + __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 + __T5; return __T6[0] + __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_mul_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (1LL), __U, __A);
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 * __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 * __T5; return __T6[0] * __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_and_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL), __U, __A);
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 & __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 & __T5; return __T6[0] & __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_or_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi64 (__U, __A);
__v4di __T1 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (1), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __v4di __T2 = (__v4di) ((__m256i) __builtin_ia32_extracti64x4_mask ((__v8di)(__m512i) (__A), (int) (0), (__v4di)(__m256i)_mm256_undefined_si256 (), (__mmask8)-1)); __m256i __T3 = (__m256i) (__T1 | __T2); __v2di __T4 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(1))); __v2di __T5 = (__v2di) ((__m128i) __builtin_ia32_extract128i256 ((__v4di)(__m256i)(__T3), (int)(0))); __v2di __T6 = __T4 | __T5; return __T6[0] | __T6[1];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_epi64 (__m512i __A)
{
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_min_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epi64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_epi64 (__m512i __A)
{
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_max_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epi64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (0x7fffffffffffffffLL),
__U, __A);
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_min_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epi64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_epi64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (-0x7fffffffffffffffLL - 1),
__U, __A);
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_max_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epi64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_epu64 (__m512i __A)
{
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_min_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epu64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_epu64 (__m512i __A)
{
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_max_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epu64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_epu64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL), __U, __A);
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_min_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epu64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_epu64 (__mmask8 __U, __m512i __A)
{
__A = _mm512_maskz_mov_epi64 (__U, __A);
__m512i __T1 = ((__m512i) __builtin_ia32_shuf_i64x2_mask ((__v8di)(__m512i)(__A), (__v8di)(__m512i)(__A), (int)(0x4e), (__v8di)(__m512i)_mm512_undefined_epi32 (), (__mmask8)-1)); __m512i __T2 = _mm512_max_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epu64 (__T4, __T5); return __T6[0];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_add_pd (__m512d __A)
{
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = __T1 + __T2; __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = __T4 + __T5; return __T6[0] + __T6[1];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_mul_pd (__m512d __A)
{
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = __T1 * __T2; __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = __T4 * __T5; return __T6[0] * __T6[1];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_add_pd (__mmask8 __U, __m512d __A)
{
__A = _mm512_maskz_mov_pd (__U, __A);
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = __T1 + __T2; __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = __T4 + __T5; return __T6[0] + __T6[1];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_mul_pd (__mmask8 __U, __m512d __A)
{
__A = _mm512_mask_mov_pd (_mm512_set1_pd (1.0), __U, __A);
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = __T1 * __T2; __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = __T4 * __T5; return __T6[0] * __T6[1];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_min_pd (__m512d __A)
{
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = _mm256_min_pd (__T1, __T2); __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = _mm_min_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_min_pd (__T6, __T7); return __T8[0];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_reduce_max_pd (__m512d __A)
{
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = _mm256_max_pd (__T1, __T2); __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = _mm_max_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_max_pd (__T6, __T7); return __T8[0];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_min_pd (__mmask8 __U, __m512d __A)
{
__A = _mm512_mask_mov_pd (_mm512_set1_pd (__builtin_inf ()), __U, __A);
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = _mm256_min_pd (__T1, __T2); __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = _mm_min_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_min_pd (__T6, __T7); return __T8[0];
}*/
/*extern __inline double
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_reduce_max_pd (__mmask8 __U, __m512d __A)
{
__A = _mm512_mask_mov_pd (_mm512_set1_pd (-__builtin_inf ()), __U, __A);
__m256d __T1 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (1), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T2 = (__m256d) ((__m256d) __builtin_ia32_extractf64x4_mask ((__v8df)(__m512d) (__A), (int) (0), (__v4df)(__m256d)_mm256_undefined_pd(), (__mmask8)-1)); __m256d __T3 = _mm256_max_pd (__T1, __T2); __m128d __T4 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(1))); __m128d __T5 = ((__m128d) __builtin_ia32_vextractf128_pd256 ((__v4df)(__m256d)(__T3), (int)(0))); __m128d __T6 = _mm_max_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_max_pd (__T6, __T7); return __T8[0];
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512er")
typedef double __v8df __attribute__ ((__vector_size__ (64)));
typedef float __v16sf __attribute__ ((__vector_size__ (64)));
typedef float __m512 __attribute__ ((__vector_size__ (64), __may_alias__));
typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
typedef unsigned char __mmask8;
typedef unsigned short __mmask16;
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512pf")
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
typedef int __v16si __attribute__ ((__vector_size__ (64)));
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
typedef unsigned char __mmask8;
typedef unsigned short __mmask16;
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512cd")
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
typedef int __v16si __attribute__ ((__vector_size__ (64)));
typedef long long __m512i __attribute__ ((__vector_size__ (64), __may_alias__));
typedef double __m512d __attribute__ ((__vector_size__ (64), __may_alias__));
typedef unsigned char __mmask8;
typedef unsigned short __mmask16;
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_conflict_epi32 (__m512i __A)
{
return (__m512i)
__builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
(__v16si) _mm512_setzero_si512 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i)
__builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
(__v16si) _mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_conflict_epi64 (__m512i __A)
{
return (__m512i)
__builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
(__v8di) _mm512_setzero_si512 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i)
__builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
(__v8di) _mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_lzcnt_epi64 (__m512i __A)
{
return (__m512i)
__builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
(__v8di) _mm512_setzero_si512 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i)
__builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
(__v8di) _mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_lzcnt_epi32 (__m512i __A)
{
return (__m512i)
__builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
(__v16si) _mm512_setzero_si512 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i)
__builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
(__v16si) _mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastmb_epi64 (__mmask8 __A)
{
return (__m512i) __builtin_ia32_broadcastmb512 (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastmw_epi32 (__mmask16 __A)
{
return (__m512i) __builtin_ia32_broadcastmw512 (__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vl")
typedef unsigned int __mmask32;
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_movapd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_movapd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_pd (__m256d __W, __mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_pd (__mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_loadapd256_mask ((__v4df *) __P,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_pd (__m128d __W, __mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_pd (__mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_loadapd128_mask ((__v2df *) __P,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_pd (void *__P, __mmask8 __U, __m256d __A)
{
__builtin_ia32_storeapd256_mask ((__v4df *) __P,
(__v4df) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_pd (void *__P, __mmask8 __U, __m128d __A)
{
__builtin_ia32_storeapd128_mask ((__v2df *) __P,
(__v2df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movaps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movaps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_ps (__m256 __W, __mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_ps (__mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_loadaps256_mask ((__v8sf *) __P,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_ps (__m128 __W, __mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_ps (__mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_loadaps128_mask ((__v4sf *) __P,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_ps (void *__P, __mmask8 __U, __m256 __A)
{
__builtin_ia32_storeaps256_mask ((__v8sf *) __P,
(__v8sf) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_ps (void *__P, __mmask8 __U, __m128 __A)
{
__builtin_ia32_storeaps128_mask ((__v4sf *) __P,
(__v4sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdqa64_256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdqa64_128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi64 (__m256i __W, __mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
(__v4di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi64 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_movdqa64load256_mask ((__v4di *) __P,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi64 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
(__v2di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi64 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_movdqa64load128_mask ((__v2di *) __P,
(__v2di)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi64 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_movdqa64store256_mask ((__v4di *) __P,
(__v4di) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi64 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_movdqa64store128_mask ((__v2di *) __P,
(__v2di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdqa32_256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdqa32_128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_load_epi32 (__m256i __W, __mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
(__v8si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_load_epi32 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_movdqa32load256_mask ((__v8si *) __P,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_load_epi32 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
(__v4si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_load_epi32 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_movdqa32load128_mask ((__v4si *) __P,
(__v4si)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_store_epi32 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_movdqa32store256_mask ((__v8si *) __P,
(__v8si) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_store_epi32 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_movdqa32store128_mask ((__v4si *) __P,
(__v4si) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_addpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_addpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_addps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_addps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_subpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_subpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_subps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_subps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_store_epi64 (void *__P, __m256i __A)
{
*(__m256i *) __P = __A;
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_store_epi64 (void *__P, __m128i __A)
{
*(__m128i *) __P = __A;
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_pd (__m256d __W, __mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_pd (__mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_loadupd256_mask ((const double *) __P,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_pd (__m128d __W, __mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_pd (__mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_loadupd128_mask ((const double *) __P,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_pd (void *__P, __mmask8 __U, __m256d __A)
{
__builtin_ia32_storeupd256_mask ((double *) __P,
(__v4df) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_pd (void *__P, __mmask8 __U, __m128d __A)
{
__builtin_ia32_storeupd128_mask ((double *) __P,
(__v2df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_ps (__m256 __W, __mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_ps (__mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_loadups256_mask ((const float *) __P,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_ps (__m128 __W, __mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_ps (__mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_loadups128_mask ((const float *) __P,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
{
__builtin_ia32_storeups256_mask ((float *) __P,
(__v8sf) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_ps (void *__P, __mmask8 __U, __m128 __A)
{
__builtin_ia32_storeups128_mask ((float *) __P,
(__v4sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi64 (__m256i __W, __mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddqudi256_mask ((const long long *) __P,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddqudi128_mask ((const long long *) __P,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_storedqudi256_mask ((long long *) __P,
(__v4di) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_storedqudi128_mask ((long long *) __P,
(__v2di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi32 (__m256i __W, __mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddqusi256_mask ((const int *) __P,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi32 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddqusi128_mask ((const int *) __P,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_storedqusi256_mask ((int *) __P,
(__v8si) __A,
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_storedqusi128_mask ((int *) __P,
(__v4si) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsd256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsd128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_abs_epi64 (__m256i __A)
{
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsq256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_abs_epi64 (__m128i __A)
{
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsq128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epu32 (__m256d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epu32 (__mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epu32 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epu32 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2udq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epi32 (__mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvttps2dq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epi32 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2dq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epu32 (__m256 __A)
{
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvttps2udq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epu32 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epu32 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2udq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epi32 (__mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvttpd2dq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epi32 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2dq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epu32 (__m256d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epu32 (__mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epu32 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epu32 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epu32 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2udq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A)
{
return (__m128i) __builtin_ia32_cvtpd2dq256_mask ((__v4df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epi32 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epi32 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2dq128_mask ((__v2df) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A)
{
return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
{
return (__m256d) __builtin_ia32_cvtdq2pd256_mask ((__v4si) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtdq2pd128_mask ((__v4si) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_pd (__m128i __A)
{
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A)
{
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
{
return (__m256d) __builtin_ia32_cvtudq2pd256_mask ((__v4si) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_pd (__m128i __A)
{
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtudq2pd128_mask ((__v4si) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A)
{
return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A)
{
return (__m256) __builtin_ia32_cvtdq2ps256_mask ((__v8si) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtdq2ps128_mask ((__v4si) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu32_ps (__m256i __A)
{
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A)
{
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A)
{
return (__m256) __builtin_ia32_cvtudq2ps256_mask ((__v8si) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu32_ps (__m128i __A)
{
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtudq2ps128_mask ((__v4si) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_pd (__m256d __W, __mmask8 __U, __m128 __A)
{
return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
{
return (__m256d) __builtin_ia32_cvtps2pd256_mask ((__v4sf) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_pd (__m128d __W, __mmask8 __U, __m128 __A)
{
return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_pd (__mmask8 __U, __m128 __A)
{
return (__m128d) __builtin_ia32_cvtps2pd128_mask ((__v4sf) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovdb128_mask ((__v4si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovsdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdb128_mask ((__v4si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovsdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdb256_mask ((__v8si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovusdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdb128_mask ((__v4si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovusdb256mem_mask ((__v16qi*) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdb256_mask ((__v8si) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi32_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovdw128_mask ((__v4si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi32_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovdw256_mask ((__v8si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi32_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovsdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
(__v8hi)__O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi32_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsdw128_mask ((__v4si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi32_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovsdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi32_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsdw256_mask ((__v8si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi32_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovusdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi32_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusdw128_mask ((__v4si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi32_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovusdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi32_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi32_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusdw256_mask ((__v8si) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqb128_mask ((__v2di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqb256_mask ((__v4di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovsqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqb128_mask ((__v2di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovsqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqb256_mask ((__v4di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovusqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqb128_mask ((__v2di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovusqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi8 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqb256_mask ((__v4di) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
(__v8hi)__O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqw128_mask ((__v2di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqw256_mask ((__v4di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovsqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqw128_mask ((__v2di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovsqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqw256_mask ((__v4di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovusqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqw128_mask ((__v2di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi16 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
(__v8hi)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi16 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
(__v8hi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi16 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqw256_mask ((__v4di) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
(__v4si) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_epi32 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovqd128_mask ((__v2di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_epi32 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
(__v4si) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovqd256_mask ((__v4di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi64_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovsqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
(__v4si) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi64_epi32 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsqd128_mask ((__v2di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi64_epi32 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovsqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
(__v4si)__O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi64_epi32 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovsqd256_mask ((__v4di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi64_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
{
__builtin_ia32_pmovusqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
(__v4si) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi64_epi32 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovusqd128_mask ((__v2di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi64_epi32 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
(__v4si)
_mm_undefined_si128 (),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
{
__builtin_ia32_pmovusqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
(__v4si) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi64_epi32 (__mmask8 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovusqd256_mask ((__v4di) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
(__v8sf) __O,
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastss256_mask ((__v4sf) __A,
(__v8sf)
_mm256_setzero_ps (),
__M);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
{
return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
(__v4sf) __O,
__M);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
{
return (__m128) __builtin_ia32_broadcastss128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
__M);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
{
return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
(__v4df) __O,
__M);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
{
return (__m256d) __builtin_ia32_broadcastsd256_mask ((__v2df) __A,
(__v4df)
_mm256_setzero_pd (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
(__v8si) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastd256_mask ((__v4si) __A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi32 (__m256i __O, __mmask8 __M, int __A)
{
return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A, (__v8si) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi32 (__mmask8 __M, int __A)
{
return (__m256i) __builtin_ia32_pbroadcastd256_gpr_mask (__A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
(__v4si) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastd128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi32 (__m128i __O, __mmask8 __M, int __A)
{
return (__m128i) __builtin_ia32_pbroadcastd128_gpr_mask (__A, (__v4si) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi32 (__mmask8 __M, int __A)
{
return (__m128i)
__builtin_ia32_pbroadcastd128_gpr_mask (__A,
(__v4si) _mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
(__v4di) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastq256_mask ((__v2di) __A,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
{
return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A, (__v4di) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
{
return (__m256i) __builtin_ia32_pbroadcastq256_gpr_mask (__A,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
(__v2di) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastq128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
{
return (__m128i) __builtin_ia32_pbroadcastq128_gpr_mask (__A, (__v2di) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
{
return (__m128i)
__builtin_ia32_pbroadcastq128_gpr_mask (__A,
(__v2di) _mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f32x4 (__m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
(__v8sf)_mm256_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f32x4 (__m256 __O, __mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
(__v8sf) __O,
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x4_256_mask ((__v4sf) __A,
(__v8sf)
_mm256_setzero_ps (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i32x4 (__m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
__A,
(__v8si)_mm256_undefined_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i32x4 (__m256i __O, __mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
__A,
(__v8si)
__O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i32x4 (__mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x4_256_mask ((__v4si)
__A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbd256_mask ((__v16qi) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbd128_mask ((__v16qi) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbq256_mask ((__v16qi) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbq128_mask ((__v16qi) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxwd256_mask ((__v8hi) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxwd128_mask ((__v8hi) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxwq256_mask ((__v8hi) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxwq128_mask ((__v8hi) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
{
return (__m256i) __builtin_ia32_pmovsxdq256_mask ((__v4si) __X,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi32_epi64 (__mmask8 __U, __m128i __X)
{
return (__m128i) __builtin_ia32_pmovsxdq128_mask ((__v4si) __X,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbd256_mask ((__v16qi) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbd128_mask ((__v16qi) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbq256_mask ((__v16qi) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbq128_mask ((__v16qi) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi32 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxwd256_mask ((__v8hi) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxwd128_mask ((__v8hi) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu16_epi64 (__m256i __W, __mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxwq256_mask ((__v8hi) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu16_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu16_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxwq128_mask ((__v8hi) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu32_epi64 (__m256i __W, __mmask8 __U, __m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
{
return (__m256i) __builtin_ia32_pmovzxdq256_mask ((__v4si) __X,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu32_epi64 (__m128i __W, __mmask8 __U, __m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu32_epi64 (__mmask8 __U, __m128i __X)
{
return (__m128i) __builtin_ia32_pmovzxdq128_mask ((__v4si) __X,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_pd (__m256d __A)
{
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_rcp14pd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_pd (__m128d __A)
{
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_rcp14pd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rcp14_ps (__m256 __A)
{
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rcp14_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_rcp14ps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rcp14_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rcp14_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rcp14_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_rcp14ps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_pd (__m256d __A)
{
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_rsqrt14pd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_pd (__m128d __A)
{
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_rsqrt14pd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rsqrt14_ps (__m256 __A)
{
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rsqrt14_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_rsqrt14ps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rsqrt14_ps (__m128 __A)
{
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rsqrt14_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rsqrt14_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_rsqrt14ps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_sqrtpd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_sqrtpd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sqrt_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sqrt_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_sqrtps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sqrt_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sqrt_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_sqrtps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_ps (__m256 __A)
{
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_getexpps256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_getexp_pd (__m256d __A)
{
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_getexp_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_getexp_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_getexppd256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_ps (__m128 __A)
{
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_getexpps128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_getexp_pd (__m128d __A)
{
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_getexp_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_getexp_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_getexppd128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psrld256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psrlq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrlq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pandd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_pd (__m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_scalefpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_scalef_ps (__m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_scalef_ps (__m256 __W, __mmask8 __U, __m256 __A,
__m256 __B)
{
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_scalefps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_pd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_pd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_scalefpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_scalef_ps (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_scalef_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_scalef_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_scalefps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfmaddpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256_maskz ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmaddpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd128_maskz ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmadd_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmadd_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfmaddps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256_maskz ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmaddps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps128_maskz ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmsubpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfmsubpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmsubpd256_maskz ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_pd (__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmsubpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmsubpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmsubpd128_maskz ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsub_ps (__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmsubps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsub_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfmsubps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmsubps256_maskz ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmsubps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfmsubps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmsubps128_maskz ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmaddsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfmaddsubps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmaddsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmaddsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C,
__mmask8 __U)
{
return (__m128) __builtin_ia32_vfmaddsubps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmaddsub_ps (__mmask8 __U, __m128 __A, __m128 __B,
__m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256_mask ((__v4df) __A,
(__v4df) __B,
-(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfmsubaddpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256_maskz ((__v4df) __A,
(__v4df) __B,
-(__v4df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd128_mask ((__v2df) __A,
(__v2df) __B,
-(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfmsubaddpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd128_maskz ((__v2df) __A,
(__v2df) __B,
-(__v2df) __C,
(__mmask8)
__U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fmsubadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256_mask ((__v8sf) __A,
(__v8sf) __B,
-(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfmsubaddps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fmsubadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256_maskz ((__v8sf) __A,
(__v8sf) __B,
-(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fmsubadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps128_mask ((__v4sf) __A,
(__v4sf) __B,
-(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C,
__mmask8 __U)
{
return (__m128) __builtin_ia32_vfmsubaddps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fmsubadd_ps (__mmask8 __U, __m128 __A, __m128 __B,
__m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps128_maskz ((__v4sf) __A,
(__v4sf) __B,
-(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfnmaddpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfnmaddpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfnmaddpd256_maskz ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_pd (__m128d __A, __mmask8 __U, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfnmaddpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfnmaddpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfnmaddpd128_maskz ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmadd_ps (__m256 __A, __mmask8 __U, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfnmaddps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfnmaddps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmadd_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfnmaddps256_maskz ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmadd_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfnmaddps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfnmaddps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmadd_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfnmaddps128_maskz ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_pd (__m256d __A, __mmask8 __U, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfnmsubpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C,
__mmask8 __U)
{
return (__m256d) __builtin_ia32_vfnmsubpd256_mask3 ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_pd (__mmask8 __U, __m256d __A, __m256d __B,
__m256d __C)
{
return (__m256d) __builtin_ia32_vfnmsubpd256_maskz ((__v4df) __A,
(__v4df) __B,
(__v4df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_pd (__m128d __A, __mmask8 __U, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfnmsubpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C,
__mmask8 __U)
{
return (__m128d) __builtin_ia32_vfnmsubpd128_mask3 ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_pd (__mmask8 __U, __m128d __A, __m128d __B,
__m128d __C)
{
return (__m128d) __builtin_ia32_vfnmsubpd128_maskz ((__v2df) __A,
(__v2df) __B,
(__v2df) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_fnmsub_ps (__m256 __A, __mmask8 __U, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfnmsubps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask3_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C,
__mmask8 __U)
{
return (__m256) __builtin_ia32_vfnmsubps256_mask3 ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_fnmsub_ps (__mmask8 __U, __m256 __A, __m256 __B,
__m256 __C)
{
return (__m256) __builtin_ia32_vfnmsubps256_maskz ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_fnmsub_ps (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfnmsubps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask3_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
{
return (__m128) __builtin_ia32_vfnmsubps128_mask3 ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_fnmsub_ps (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfnmsubps128_maskz ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __C,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pandd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pandnd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pandnd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pord256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8su)__A | (__v8su)__B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pord128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4su)__A | (__v4su)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pxord256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v8su)__A ^ (__v8su)__B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pxord128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v4su)__A ^ (__v4su)__B);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A)
{
return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A)
{
return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A)
{
return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A)
{
return (__m128) __builtin_ia32_cvtpd2ps256_mask ((__v4df) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epi32 (__m256i __W, __mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epi32 (__mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvtps2dq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epi32 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epi32 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2dq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epu32 (__m256 __A)
{
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epu32 (__m256i __W, __mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epu32 (__mmask8 __U, __m256 __A)
{
return (__m256i) __builtin_ia32_cvtps2udq256_mask ((__v8sf) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epu32 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epu32 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epu32 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2udq128_mask ((__v4sf) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movedup_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_movddup256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movedup_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movedup_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_movddup128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movshdup256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movshdup128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_movsldup256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_movsldup128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpckhdq128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpckhdq256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpckhqdq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpckhqdq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpckldq128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpckldq256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpcklqdq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpcklqdq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
(__v4si) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
(__v4si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
(__v4si) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqd128_mask ((__v4si) __A,
(__v4si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
(__v8si) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
(__v8si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
(__v8si) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqd256_mask ((__v8si) __A,
(__v8si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
(__v2di) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
(__v2di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
(__v2di) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq128_mask ((__v2di) __A,
(__v2di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
(__v4di) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
(__v4di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
(__v4di) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqq256_mask ((__v4di) __A,
(__v4di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
(__v4si) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
(__v4si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __A,
(__v4si) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtd128_mask ((__v4si) __A,
(__v4si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
(__v8si) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
(__v8si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __A,
(__v8si) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtd256_mask ((__v8si) __A,
(__v8si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
(__v2di) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
(__v2di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __A,
(__v2di) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq128_mask ((__v2di) __A,
(__v2di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
(__v4di) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
(__v4di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __A,
(__v4di) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtq256_mask ((__v4di) __A,
(__v4di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
(__v4si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmd128 ((__v4si) __A,
(__v4si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
(__v8si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestmd256 ((__v8si) __A,
(__v8si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
(__v2di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmq128 ((__v2di) __A,
(__v2di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
(__v4di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestmq256 ((__v4di) __A,
(__v4di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi32_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
(__v4si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi32_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmd128 ((__v4si) __A,
(__v4si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi32_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
(__v8si) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi32_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestnmd256 ((__v8si) __A,
(__v8si) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi64_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
(__v2di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi64_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq128 ((__v2di) __A,
(__v2di) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi64_mask (__m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
(__v4di) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__mmask8) __builtin_ia32_ptestnmq256 ((__v4di) __A,
(__v4di) __B, __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_compressdf256_mask ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m256d __A)
{
__builtin_ia32_compressstoredf256_mask ((__v4df *) __P,
(__v4df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_compressdf128_mask ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_pd (void *__P, __mmask8 __U, __m128d __A)
{
__builtin_ia32_compressstoredf128_mask ((__v2df *) __P,
(__v2df) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_compresssf256_mask ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m256 __A)
{
__builtin_ia32_compressstoresf256_mask ((__v8sf *) __P,
(__v8sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_compresssf128_mask ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_ps (void *__P, __mmask8 __U, __m128 __A)
{
__builtin_ia32_compressstoresf128_mask ((__v4sf *) __P,
(__v4sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_compressdi256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_compressstoredi256_mask ((__v4di *) __P,
(__v4di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_compressdi128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi64 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_compressstoredi128_mask ((__v2di *) __P,
(__v2di) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_compresssi256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A)
{
__builtin_ia32_compressstoresi256_mask ((__v8si *) __P,
(__v8si) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_compresssi128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_compressstoresi128_mask ((__v4si *) __P,
(__v4si) __A,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_pd (__m256d __W, __mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_expanddf256_mask ((__v4df) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_pd (__mmask8 __U, __m256d __A)
{
return (__m256d) __builtin_ia32_expanddf256_maskz ((__v4df) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_pd (__m256d __W, __mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_expandloaddf256_mask ((__v4df *) __P,
(__v4df) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
{
return (__m256d) __builtin_ia32_expandloaddf256_maskz ((__v4df *) __P,
(__v4df)
_mm256_setzero_pd (),
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_pd (__m128d __W, __mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_expanddf128_mask ((__v2df) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_pd (__mmask8 __U, __m128d __A)
{
return (__m128d) __builtin_ia32_expanddf128_maskz ((__v2df) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_pd (__m128d __W, __mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_expandloaddf128_mask ((__v2df *) __P,
(__v2df) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
{
return (__m128d) __builtin_ia32_expandloaddf128_maskz ((__v2df *) __P,
(__v2df)
_mm_setzero_pd (),
(__mmask8)
__U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_ps (__m256 __W, __mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_expandsf256_mask ((__v8sf) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_ps (__mmask8 __U, __m256 __A)
{
return (__m256) __builtin_ia32_expandsf256_maskz ((__v8sf) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_ps (__m256 __W, __mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_expandloadsf256_mask ((__v8sf *) __P,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
{
return (__m256) __builtin_ia32_expandloadsf256_maskz ((__v8sf *) __P,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8)
__U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_ps (__m128 __W, __mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_expandsf128_mask ((__v4sf) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_ps (__mmask8 __U, __m128 __A)
{
return (__m128) __builtin_ia32_expandsf128_maskz ((__v4sf) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_ps (__m128 __W, __mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_expandloadsf128_mask ((__v4sf *) __P,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_ps (__mmask8 __U, void const *__P)
{
return (__m128) __builtin_ia32_expandloadsf128_maskz ((__v4sf *) __P,
(__v4sf)
_mm_setzero_ps (),
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_expanddi256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_expanddi256_maskz ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi64 (__m256i __W, __mmask8 __U,
void const *__P)
{
return (__m256i) __builtin_ia32_expandloaddi256_mask ((__v4di *) __P,
(__v4di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_expandloaddi256_maskz ((__v4di *) __P,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_expanddi128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_expanddi128_maskz ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi64 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_expandloaddi128_mask ((__v2di *) __P,
(__v2di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi64 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_expandloaddi128_maskz ((__v2di *) __P,
(__v2di)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_expandsi256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_expandsi256_maskz ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi32 (__m256i __W, __mmask8 __U,
void const *__P)
{
return (__m256i) __builtin_ia32_expandloadsi256_mask ((__v8si *) __P,
(__v8si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
{
return (__m256i) __builtin_ia32_expandloadsi256_maskz ((__v8si *) __P,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_expandsi128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_expandsi128_maskz ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi32 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_expandloadsi128_mask ((__v4si *) __P,
(__v4si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi32 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_expandloadsi128_maskz ((__v4si *) __P,
(__v4si)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_pd (__m256d __A, __m256i __I, __m256d __B)
{
return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
,
(__v4df) __A,
(__v4df) __B,
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_pd (__m256d __A, __mmask8 __U, __m256i __I,
__m256d __B)
{
return (__m256d) __builtin_ia32_vpermt2varpd256_mask ((__v4di) __I
,
(__v4df) __A,
(__v4df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_pd (__m256d __A, __m256i __I, __mmask8 __U,
__m256d __B)
{
return (__m256d) __builtin_ia32_vpermi2varpd256_mask ((__v4df) __A,
(__v4di) __I
,
(__v4df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_pd (__mmask8 __U, __m256d __A, __m256i __I,
__m256d __B)
{
return (__m256d) __builtin_ia32_vpermt2varpd256_maskz ((__v4di) __I
,
(__v4df) __A,
(__v4df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_ps (__m256 __A, __m256i __I, __m256 __B)
{
return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
,
(__v8sf) __A,
(__v8sf) __B,
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_ps (__m256 __A, __mmask8 __U, __m256i __I,
__m256 __B)
{
return (__m256) __builtin_ia32_vpermt2varps256_mask ((__v8si) __I
,
(__v8sf) __A,
(__v8sf) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_ps (__m256 __A, __m256i __I, __mmask8 __U,
__m256 __B)
{
return (__m256) __builtin_ia32_vpermi2varps256_mask ((__v8sf) __A,
(__v8si) __I
,
(__v8sf) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_ps (__mmask8 __U, __m256 __A, __m256i __I,
__m256 __B)
{
return (__m256) __builtin_ia32_vpermt2varps256_maskz ((__v8si) __I
,
(__v8sf) __A,
(__v8sf) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi64 (__m128i __A, __m128i __I, __m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
,
(__v2di) __A,
(__v2di) __B,
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi64 (__m128i __A, __mmask8 __U, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varq128_mask ((__v2di) __I
,
(__v2di) __A,
(__v2di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi64 (__m128i __A, __m128i __I, __mmask8 __U,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermi2varq128_mask ((__v2di) __A,
(__v2di) __I
,
(__v2di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi64 (__mmask8 __U, __m128i __A, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varq128_maskz ((__v2di) __I
,
(__v2di) __A,
(__v2di) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi32 (__m128i __A, __m128i __I, __m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
,
(__v4si) __A,
(__v4si) __B,
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi32 (__m128i __A, __mmask8 __U, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2vard128_mask ((__v4si) __I
,
(__v4si) __A,
(__v4si) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi32 (__m128i __A, __m128i __I, __mmask8 __U,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermi2vard128_mask ((__v4si) __A,
(__v4si) __I
,
(__v4si) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi32 (__mmask8 __U, __m128i __A, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2vard128_maskz ((__v4si) __I
,
(__v4si) __A,
(__v4si) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi64 (__m256i __A, __m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
,
(__v4di) __A,
(__v4di) __B,
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi64 (__m256i __A, __mmask8 __U, __m256i __I,
__m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varq256_mask ((__v4di) __I
,
(__v4di) __A,
(__v4di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi64 (__m256i __A, __m256i __I,
__mmask8 __U, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermi2varq256_mask ((__v4di) __A,
(__v4di) __I
,
(__v4di) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi64 (__mmask8 __U, __m256i __A,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varq256_maskz ((__v4di) __I
,
(__v4di) __A,
(__v4di) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi32 (__m256i __A, __m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
,
(__v8si) __A,
(__v8si) __B,
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi32 (__m256i __A, __mmask8 __U, __m256i __I,
__m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2vard256_mask ((__v8si) __I
,
(__v8si) __A,
(__v8si) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi32 (__m256i __A, __m256i __I,
__mmask8 __U, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermi2vard256_mask ((__v8si) __A,
(__v8si) __I
,
(__v8si) __B,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi32 (__mmask8 __U, __m256i __A,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2vard256_maskz ((__v8si) __I
,
(__v8si) __A,
(__v8si) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_pd (__m128d __A, __m128i __I, __m128d __B)
{
return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
,
(__v2df) __A,
(__v2df) __B,
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_pd (__m128d __A, __mmask8 __U, __m128i __I,
__m128d __B)
{
return (__m128d) __builtin_ia32_vpermt2varpd128_mask ((__v2di) __I
,
(__v2df) __A,
(__v2df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_pd (__m128d __A, __m128i __I, __mmask8 __U,
__m128d __B)
{
return (__m128d) __builtin_ia32_vpermi2varpd128_mask ((__v2df) __A,
(__v2di) __I
,
(__v2df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_pd (__mmask8 __U, __m128d __A, __m128i __I,
__m128d __B)
{
return (__m128d) __builtin_ia32_vpermt2varpd128_maskz ((__v2di) __I
,
(__v2df) __A,
(__v2df) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_ps (__m128 __A, __m128i __I, __m128 __B)
{
return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_ps (__m128 __A, __mmask8 __U, __m128i __I,
__m128 __B)
{
return (__m128) __builtin_ia32_vpermt2varps128_mask ((__v4si) __I
,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_ps (__m128 __A, __m128i __I, __mmask8 __U,
__m128 __B)
{
return (__m128) __builtin_ia32_vpermi2varps128_mask ((__v4sf) __A,
(__v4si) __I
,
(__v4sf) __B,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_ps (__mmask8 __U, __m128 __A, __m128i __I,
__m128 __B)
{
return (__m128) __builtin_ia32_vpermt2varps128_maskz ((__v4si) __I
,
(__v4sf) __A,
(__v4sf) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psravq128_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psllv8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psllv4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psllv4di_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psllv2di_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrav8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrav4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi32 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi32 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv8si_mask ((__v8si) __X,
(__v8si) __Y,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi32 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi32 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv4si_mask ((__v4si) __X,
(__v4si) __Y,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psrlv4di_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi64 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi64 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_psrlv2di_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prolvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prolvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi32 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prorvd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prorvd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rolv_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prolvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rolv_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prolvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_rorv_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_prorvq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_rorv_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_prorvq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi64 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi64 (__m256i __W, __mmask8 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_psravq256_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pandq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_pd (),
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pandq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_pd (),
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pandnq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_pd (),
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pandnq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_pd (),
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_porq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_or_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A | (__v4du)__B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_porq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_or_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A | (__v2du)__B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pxorq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_xor_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du)__A ^ (__v4du)__B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pxorq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_xor_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du)__A ^ (__v2du)__B);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_maxpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_maxps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_divps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_div_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_div_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_divpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_minpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_divpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_div_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_minps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_div_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_divps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_minps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_mulps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_maxps_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_minpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_maxpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_mulpd_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_mulps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_mulpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_max_epu64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_min_epu64 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminuq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminsd256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxud256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu32 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminud256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_max_epu64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_min_epu64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminuq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminsd128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxud128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminud128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W, __M);
}*/
#pragma GCC push_options
#pragma GCC target("avx512vl,avx512cd")
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmb_epi64 (__mmask8 __A)
{
return (__m128i) __builtin_ia32_broadcastmb128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmb_epi64 (__mmask8 __A)
{
return (__m256i) __builtin_ia32_broadcastmb256 (__A);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcastmw_epi32 (__mmask16 __A)
{
return (__m128i) __builtin_ia32_broadcastmw128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcastmw_epi32 (__mmask16 __A)
{
return (__m256i) __builtin_ia32_broadcastmw256 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi32 (__m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_lzcnt_epi64 (__m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi64 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_conflict_epi32 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
(__v8si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_lzcnt_epi64 (__m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi64 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_conflict_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
(__v4si) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask8)
__U);
}*/
#pragma GCC pop_options
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_unpcklpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_pd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_unpcklpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_ps (__m256 __W, __mmask8 __U, __m256 __A,
__m256 __B)
{
return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_unpckhpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_pd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_unpckhpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_ps (__m256 __W, __mmask8 __U, __m256 __A,
__m256 __B)
{
return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_unpckhps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpckhps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_unpcklps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A)
{
return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
{
return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_unpcklps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psrad256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrad128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sra_epi64 (__m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psraq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sra_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psraq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi32 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pslld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psllq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi32 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi32 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_pslld256_mask ((__v8si) __A,
(__v4si) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi64 (__mmask8 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psllq256_mask ((__v4di) __A,
(__v2di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_ps (__m256 __W, __mmask8 __U, __m256i __X,
__m256 __Y)
{
return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
(__v8si) __X,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_ps (__mmask8 __U, __m256i __X, __m256 __Y)
{
return (__m256) __builtin_ia32_permvarsf256_mask ((__v8sf) __Y,
(__v8si) __X,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_pd (__m256i __X, __m256d __Y)
{
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
(__v4di) __X,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
__m256d __Y)
{
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
(__v4di) __X,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
{
return (__m256d) __builtin_ia32_permvardf256_mask ((__v4df) __Y,
(__v4di) __X,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256i __C)
{
return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
(__v4di) __C,
(__v4df) __W,
(__mmask8)
__U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_pd (__mmask8 __U, __m256d __A, __m256i __C)
{
return (__m256d) __builtin_ia32_vpermilvarpd256_mask ((__v4df) __A,
(__v4di) __C,
(__v4df)
_mm256_setzero_pd (),
(__mmask8)
__U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutevar_ps (__m256 __W, __mmask8 __U, __m256 __A,
__m256i __C)
{
return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
(__v8si) __C,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutevar_ps (__mmask8 __U, __m256 __A, __m256i __C)
{
return (__m256) __builtin_ia32_vpermilvarps256_mask ((__v8sf) __A,
(__v8si) __C,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_pd (__m128d __W, __mmask8 __U, __m128d __A,
__m128i __C)
{
return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
(__v2di) __C,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_pd (__mmask8 __U, __m128d __A, __m128i __C)
{
return (__m128d) __builtin_ia32_vpermilvarpd_mask ((__v2df) __A,
(__v2di) __C,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutevar_ps (__m128 __W, __mmask8 __U, __m128 __A,
__m128i __C)
{
return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
(__v4si) __C,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutevar_ps (__mmask8 __U, __m128 __A, __m128i __C)
{
return (__m128) __builtin_ia32_vpermilvarps_mask ((__v4sf) __A,
(__v4si) __C,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
(__v4di) __X,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmulld256_mask ((__v8si) __A,
(__v8si) __B,
(__v8si) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A,
(__v4si) __B,
(__v4si) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
(__v8si) __Y,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmuldq256_mask ((__v8si) __X,
(__v8si) __Y,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epi32 (__m128i __W, __mmask8 __M, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
(__v4si) __Y,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epi32 (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmuldq128_mask ((__v4si) __X,
(__v4si) __Y,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi64 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
(__v4di) __X,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y,
(__v4di) __X,
(__v4di) __W,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mul_epu32 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
(__v8si) __Y,
(__v4di) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi32 (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
(__v8si) __X,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mul_epu32 (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmuludq256_mask ((__v8si) __X,
(__v8si) __Y,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mul_epu32 (__m128i __W, __mmask8 __M, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
(__v4si) __Y,
(__v2di) __W, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmuludq128_mask ((__v4si) __X,
(__v4si) __Y,
(__v2di)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi32 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
(__v8si) __X,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y,
(__v8si) __X,
(__v8si) __W,
__M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
(__v8si) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
(__v4di) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
(__v8si) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
{
return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
(__v4di) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
(__v4si) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
(__v2di) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
(__v4si) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
(__v2di) __Y, 2,
(__mmask8) -1);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512bw")
typedef short __v32hi __attribute__ ((__vector_size__ (64)));
typedef char __v64qi __attribute__ ((__vector_size__ (64)));
typedef unsigned long long __mmask64;
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktest_mask32_u8 (__mmask32 __A, __mmask32 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_ktestcsi (__A, __B);
return (unsigned char) __builtin_ia32_ktestzsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktest_mask64_u8 (__mmask64 __A, __mmask64 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_ktestcdi (__A, __B);
return (unsigned char) __builtin_ia32_ktestzdi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestz_mask32_u8 (__mmask32 __A, __mmask32 __B)
{
return (unsigned char) __builtin_ia32_ktestzsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestz_mask64_u8 (__mmask64 __A, __mmask64 __B)
{
return (unsigned char) __builtin_ia32_ktestzdi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestc_mask32_u8 (__mmask32 __A, __mmask32 __B)
{
return (unsigned char) __builtin_ia32_ktestcsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestc_mask64_u8 (__mmask64 __A, __mmask64 __B)
{
return (unsigned char) __builtin_ia32_ktestcdi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortest_mask32_u8 (__mmask32 __A, __mmask32 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_kortestcsi (__A, __B);
return (unsigned char) __builtin_ia32_kortestzsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortest_mask64_u8 (__mmask64 __A, __mmask64 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_kortestcdi (__A, __B);
return (unsigned char) __builtin_ia32_kortestzdi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestz_mask32_u8 (__mmask32 __A, __mmask32 __B)
{
return (unsigned char) __builtin_ia32_kortestzsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestz_mask64_u8 (__mmask64 __A, __mmask64 __B)
{
return (unsigned char) __builtin_ia32_kortestzdi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestc_mask32_u8 (__mmask32 __A, __mmask32 __B)
{
return (unsigned char) __builtin_ia32_kortestcsi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestc_mask64_u8 (__mmask64 __A, __mmask64 __B)
{
return (unsigned char) __builtin_ia32_kortestcdi (__A, __B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kadd_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kaddsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kadd_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kadddi ((__mmask64) __A, (__mmask64) __B);
}
extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtmask32_u32 (__mmask32 __A)
{
return (unsigned int) __builtin_ia32_kmovd ((__mmask32) __A);
}
extern __inline unsigned long long
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtmask64_u64 (__mmask64 __A)
{
return (unsigned long long) __builtin_ia32_kmovq ((__mmask64) __A);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtu32_mask32 (unsigned int __A)
{
return (__mmask32) __builtin_ia32_kmovd ((__mmask32) __A);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtu64_mask64 (unsigned long long __A)
{
return (__mmask64) __builtin_ia32_kmovq ((__mmask64) __A);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_load_mask32 (__mmask32 *__A)
{
return (__mmask32) __builtin_ia32_kmovd (*__A);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_load_mask64 (__mmask64 *__A)
{
return (__mmask64) __builtin_ia32_kmovq (*(__mmask64 *) __A);
}
extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_store_mask32 (__mmask32 *__A, __mmask32 __B)
{
*(__mmask32 *) __A = __builtin_ia32_kmovd (__B);
}
extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_store_mask64 (__mmask64 *__A, __mmask64 __B)
{
*(__mmask64 *) __A = __builtin_ia32_kmovq (__B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_knot_mask32 (__mmask32 __A)
{
return (__mmask32) __builtin_ia32_knotsi ((__mmask32) __A);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_knot_mask64 (__mmask64 __A)
{
return (__mmask64) __builtin_ia32_knotdi ((__mmask64) __A);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kor_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_korsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kor_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kordi ((__mmask64) __A, (__mmask64) __B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxnor_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kxnorsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxnor_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kxnordi ((__mmask64) __A, (__mmask64) __B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxor_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kxorsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxor_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kxordi ((__mmask64) __A, (__mmask64) __B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kand_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kandsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kand_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kanddi ((__mmask64) __A, (__mmask64) __B);
}
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kandn_mask32 (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kandnsi ((__mmask32) __A, (__mmask32) __B);
}
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kandn_mask64 (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kandndi ((__mmask64) __A, (__mmask64) __B);
}
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_epi16 (__mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_epi16 (__m512i __W, __mmask32 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddquhi512_mask ((const short *) __P,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_epi16 (__mmask32 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddquhi512_mask ((const short *) __P,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_epi16 (void *__P, __mmask32 __U, __m512i __A)
{
__builtin_ia32_storedquhi512_mask ((short *) __P,
(__v32hi) __A,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kunpackw (__mmask32 __A, __mmask32 __B)
{
return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
(__mmask32) __B);
}*/
extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kunpackw_mask32 (__mmask16 __A, __mmask16 __B)
{
return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
(__mmask32) __B);
}
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_kunpackd (__mmask64 __A, __mmask64 __B)
{
return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
(__mmask64) __B);
}*/
extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kunpackd_mask64 (__mmask32 __A, __mmask32 __B)
{
return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
(__mmask64) __B);
}
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_loadu_epi8 (__m512i __W, __mmask64 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddquqi512_mask ((const char *) __P,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_loadu_epi8 (__mmask64 __U, void const *__P)
{
return (__m512i) __builtin_ia32_loaddquqi512_mask ((const char *) __P,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_storeu_epi8 (void *__P, __mmask64 __U, __m512i __A)
{
__builtin_ia32_storedquqi512_mask ((char *) __P,
(__v64qi) __A,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sad_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psadbw512 ((__v64qi) __A,
(__v64qi) __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi16_epi8 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
(__v32qi) _mm256_undefined_si256(),
(__mmask32) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A)
{
__builtin_ia32_pmovwb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
(__v32qi) __O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi16_epi8 (__mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtsepi16_epi8 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
(__v32qi)_mm256_undefined_si256(),
(__mmask32) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A)
{
__builtin_ia32_pmovswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtsepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
(__v32qi)__O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtsepi16_epi8 (__mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtusepi16_epi8 (__m512i __A)
{
return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
(__v32qi)_mm256_undefined_si256(),
(__mmask32) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
(__v32qi) __O,
__M);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A)
{
__builtin_ia32_pmovuswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtusepi16_epi8 (__mmask32 __M, __m512i __A)
{
return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastb_epi8 (__m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
(__v64qi)_mm512_undefined_epi32(),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
(__v64qi) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastb_epi8 (__mmask64 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
(__v64qi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
{
return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A,
(__v64qi) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
{
return (__m512i)
__builtin_ia32_pbroadcastb512_gpr_mask (__A,
(__v64qi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcastw_epi16 (__m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
(__v32hi)_mm512_undefined_epi32(),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
(__v32hi) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
{
return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A,
(__v32hi) __O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_set1_epi16 (__mmask32 __M, short __A)
{
return (__m512i)
__builtin_ia32_pbroadcastw512_gpr_mask (__A,
(__v32hi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mulhrs_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mulhrs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mulhrs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mulhi_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mulhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mulhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mulhi_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mulhi_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mulhi_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mullo_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v32hu) __A * (__v32hu) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi8_epi16 (__m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi8_epi16 (__mmask32 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu8_epi16 (__m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu8_epi16 (__mmask32 __U, __m256i __A)
{
return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
(__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
(__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
(__v32hi) __A,
(__v32hi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_epi16 (__m512i __A, __m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
,
(__v32hi) __A,
(__v32hi) __B,
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_epi16 (__m512i __A, __mmask32 __U,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
,
(__v32hi) __A,
(__v32hi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_epi16 (__m512i __A, __m512i __I,
__mmask32 __U, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermi2varhi512_mask ((__v32hi) __A,
(__v32hi) __I
,
(__v32hi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_epi16 (__mmask32 __U, __m512i __A,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varhi512_maskz ((__v32hi) __I
,
(__v32hi) __A,
(__v32hi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_avg_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v64qu) __A + (__v64qu) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v64qu) __A - (__v64qu) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_avg_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_subs_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_subs_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_adds_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_adds_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sub_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v32hu) __A - (__v32hu) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_subs_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_subs_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_add_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v32hu) __A + (__v32hu) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_adds_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_adds_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srl_epi16 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srl_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m128i __B)
{
return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srl_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_packs_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sll_epi16 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sll_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m128i __B)
{
return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sll_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maddubs_epi16 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_maddubs_epi16 (__m512i __W, __mmask32 __U, __m512i __X,
__m512i __Y)
{
return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_maddubs_epi16 (__mmask32 __U, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_madd_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_madd_epi16 (__m512i __W, __mmask16 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_madd_epi16 (__mmask16 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpackhi_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpackhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpackhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_unpacklo_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_unpacklo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_unpacklo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epu8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
(__v64qi) __B, 0,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epi8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
(__v64qi) __B, 0,
__U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
(__v64qi) __B,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epu16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
(__v32hi) __B, 0,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpeq_epi16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
(__v32hi) __B, 0,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpeq_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
(__v32hi) __B,
__U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epu8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
(__v64qi) __B, 6,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epi8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
(__v64qi) __B, 6,
__U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
(__v64qi) __B,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epu16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
(__v32hi) __B, 6,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpgt_epi16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
(__v32hi) __B, 6,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpgt_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
(__v32hi) __B,
__U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi8_mask (__m512i __A)
{
return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi16_mask (__m512i __A)
{
return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi8 (__mmask64 __A)
{
return (__m512i) __builtin_ia32_cvtmask2b512 (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi16 (__mmask32 __A)
{
return (__m512i) __builtin_ia32_cvtmask2w512 (__A);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_test_epi8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_test_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
(__v64qi) __B, __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_test_epi16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
(__v32hi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_test_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
(__v32hi) __B, __U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_testn_epi8_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_testn_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
(__v64qi) __B, __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_testn_epi16_mask (__m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
(__v32hi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
(__v32hi) __B, __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shuffle_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shuffle_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shuffle_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epu8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_min_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_max_epu16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sra_epi16 (__m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sra_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m128i __B)
{
return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sra_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
{
return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
(__v8hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srav_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srav_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srav_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_srlv_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_srlv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_srlv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_sllv_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_sllv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
(__v32hi) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_packs_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_packs_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_packus_epi16 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_packus_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_packus_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
(__v32hi) __B,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_epi8 (__m512i __A)
{
return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_abs_epi16 (__m512i __A)
{
return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 4,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 1,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 5,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 2,
(__mmask64) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 4,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 1,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 5,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 2,
(__mmask32) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 4,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 1,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 5,
(__mmask64) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 2,
(__mmask64) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpneq_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 4,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmplt_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 1,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmpge_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 5,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cmple_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 2,
(__mmask32) __M);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epu8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 4,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epu8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 1,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epu8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 5,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epu8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 2,
(__mmask64) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epu16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 4,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epu16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 1,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epu16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 5,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epu16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 2,
(__mmask32) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epi8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 4,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epi8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 1,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epi8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 5,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epi8_mask (__m512i __X, __m512i __Y)
{
return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
(__v64qi) __Y, 2,
(__mmask64) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpneq_epi16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 4,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmplt_epi16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 1,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmpge_epi16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 5,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cmple_epi16_mask (__m512i __X, __m512i __Y)
{
return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
(__v32hi) __Y, 2,
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_packs_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_packs_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_packs_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi) __W,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_packus_epi32 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_packus_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_packus_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
(__v16si) __B,
(__v32hi) __W,
__M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512dq")
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktest_mask8_u8 (__mmask8 __A, __mmask8 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_ktestcqi (__A, __B);
return (unsigned char) __builtin_ia32_ktestzqi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestz_mask8_u8 (__mmask8 __A, __mmask8 __B)
{
return (unsigned char) __builtin_ia32_ktestzqi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestc_mask8_u8 (__mmask8 __A, __mmask8 __B)
{
return (unsigned char) __builtin_ia32_ktestcqi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktest_mask16_u8 (__mmask16 __A, __mmask16 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_ktestchi (__A, __B);
return (unsigned char) __builtin_ia32_ktestzhi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestz_mask16_u8 (__mmask16 __A, __mmask16 __B)
{
return (unsigned char) __builtin_ia32_ktestzhi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_ktestc_mask16_u8 (__mmask16 __A, __mmask16 __B)
{
return (unsigned char) __builtin_ia32_ktestchi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortest_mask8_u8 (__mmask8 __A, __mmask8 __B, unsigned char *__CF)
{
*__CF = (unsigned char) __builtin_ia32_kortestcqi (__A, __B);
return (unsigned char) __builtin_ia32_kortestzqi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestz_mask8_u8 (__mmask8 __A, __mmask8 __B)
{
return (unsigned char) __builtin_ia32_kortestzqi (__A, __B);
}
extern __inline unsigned char
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kortestc_mask8_u8 (__mmask8 __A, __mmask8 __B)
{
return (unsigned char) __builtin_ia32_kortestcqi (__A, __B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kadd_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_kaddqi ((__mmask8) __A, (__mmask8) __B);
}
extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kadd_mask16 (__mmask16 __A, __mmask16 __B)
{
return (__mmask16) __builtin_ia32_kaddhi ((__mmask16) __A, (__mmask16) __B);
}
extern __inline unsigned int
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtmask8_u32 (__mmask8 __A)
{
return (unsigned int) __builtin_ia32_kmovb ((__mmask8 ) __A);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_cvtu32_mask8 (unsigned int __A)
{
return (__mmask8) __builtin_ia32_kmovb ((__mmask8) __A);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_load_mask8 (__mmask8 *__A)
{
return (__mmask8) __builtin_ia32_kmovb (*(__mmask8 *) __A);
}
extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_store_mask8 (__mmask8 *__A, __mmask8 __B)
{
*(__mmask8 *) __A = __builtin_ia32_kmovb (__B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_knot_mask8 (__mmask8 __A)
{
return (__mmask8) __builtin_ia32_knotqi ((__mmask8) __A);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kor_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_korqi ((__mmask8) __A, (__mmask8) __B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxnor_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_kxnorqi ((__mmask8) __A, (__mmask8) __B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kxor_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_kxorqi ((__mmask8) __A, (__mmask8) __B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kand_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_kandqi ((__mmask8) __A, (__mmask8) __B);
}
extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_kandn_mask8 (__mmask8 __A, __mmask8 __B)
{
return (__mmask8) __builtin_ia32_kandnqi ((__mmask8) __A, (__mmask8) __B);
}
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f64x2 (__m128d __A)
{
return (__m512d)
__builtin_ia32_broadcastf64x2_512_mask ((__v2df) __A,
_mm512_undefined_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f64x2 (__m512d __O, __mmask8 __M, __m128d __A)
{
return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
__A,
(__v8df)
__O, __M);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
{
return (__m512d) __builtin_ia32_broadcastf64x2_512_mask ((__v2df)
__A,
(__v8df)
_mm512_setzero_ps (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i64x2 (__m128i __A)
{
return (__m512i)
__builtin_ia32_broadcasti64x2_512_mask ((__v2di) __A,
_mm512_undefined_epi32 (),
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i64x2 (__m512i __O, __mmask8 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
__A,
(__v8di)
__O, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti64x2_512_mask ((__v2di)
__A,
(__v8di)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x2 (__m128 __A)
{
return (__m512)
__builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
(__v16sf)_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
(__v16sf)
__O, __M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A)
{
return (__m512) __builtin_ia32_broadcastf32x2_512_mask ((__v4sf) __A,
(__v16sf)
_mm512_setzero_ps (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x2 (__m128i __A)
{
return (__m512i)
__builtin_ia32_broadcasti32x2_512_mask ((__v4si) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
__A,
(__v16si)
__O, __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x2_512_mask ((__v4si)
__A,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_f32x8 (__m256 __A)
{
return (__m512)
__builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
_mm512_undefined_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_f32x8 (__m512 __O, __mmask16 __M, __m256 __A)
{
return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
(__v16sf)__O,
__M);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_f32x8 (__mmask16 __M, __m256 __A)
{
return (__m512) __builtin_ia32_broadcastf32x8_512_mask ((__v8sf) __A,
(__v16sf)
_mm512_setzero_ps (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_broadcast_i32x8 (__m256i __A)
{
return (__m512i)
__builtin_ia32_broadcasti32x8_512_mask ((__v8si) __A,
(__v16si)
_mm512_undefined_epi32 (),
(__mmask16) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_broadcast_i32x8 (__m512i __O, __mmask16 __M, __m256i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
__A,
(__v16si)__O,
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_broadcast_i32x8 (__mmask16 __M, __m256i __A)
{
return (__m512i) __builtin_ia32_broadcasti32x8_512_mask ((__v8si)
__A,
(__v16si)
_mm512_setzero_si512 (),
__M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mullo_epi64 (__m512i __A, __m512i __B)
{
return (__m512i) ((__v8du) __A * (__v8du) __B);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
(__v8di) __B,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A,
__m512d __B)
{
return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_xor_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_or_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A,
__m512d __B)
{
return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_and_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_pd (__m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A,
__m512d __B)
{
return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B)
{
return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
(__v8df) __B,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_andnot_ps (__m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) -1);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A,
__m512 __B)
{
return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B)
{
return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
(__v16sf) __B,
(__v16sf)
_mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi32_mask (__m512i __A)
{
return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movepi64_mask (__m512i __A)
{
return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi32 (__mmask16 __A)
{
return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_movm_epi64 (__mmask8 __A)
{
return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epi64 (__m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epi64 (__mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2qq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttpd_epu64 (__m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttpd_epu64 (__mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvttpd2uqq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epi64 (__m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epi64 (__mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2qq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvttps_epu64 (__m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvttps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvttps2uqq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epi64 (__m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epi64 (__m512i __W, __mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epi64 (__mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2qq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtpd_epu64 (__m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtpd_epu64 (__m512i __W, __mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtpd_epu64 (__mmask8 __U, __m512d __A)
{
return (__m512i) __builtin_ia32_cvtpd2uqq512_mask ((__v8df) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epi64 (__m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epi64 (__m512i __W, __mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epi64 (__mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2qq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtps_epu64 (__m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtps_epu64 (__m512i __W, __mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
(__v8di) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A)
{
return (__m512i) __builtin_ia32_cvtps2uqq512_mask ((__v8sf) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_ps (__m512i __A)
{
return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_ps (__m256 __W, __mmask8 __U, __m512i __A)
{
return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
(__v8sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_ps (__mmask8 __U, __m512i __A)
{
return (__m256) __builtin_ia32_cvtqq2ps512_mask ((__v8di) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu64_ps (__m512i __A)
{
return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu64_ps (__m256 __W, __mmask8 __U, __m512i __A)
{
return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
(__v8sf) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A)
{
return (__m256) __builtin_ia32_cvtuqq2ps512_mask ((__v8di) __A,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepi64_pd (__m512i __A)
{
return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A)
{
return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A)
{
return (__m512d) __builtin_ia32_cvtqq2pd512_mask ((__v8di) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_cvtepu64_pd (__m512i __A)
{
return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) -1,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A)
{
return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
(__v8df) __W,
(__mmask8) __U,
0x04);
}*/
/*extern __inline __m512d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A)
{
return (__m512d) __builtin_ia32_cvtuqq2pd512_mask ((__v8di) __A,
(__v8df)
_mm512_setzero_pd (),
(__mmask8) __U,
0x04);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vl,avx512bw")
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdquqi256_mask ((__v32qi) __A,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
{
__builtin_ia32_storedquqi256_mask ((char *) __P,
(__v32qi) __A,
(__mmask32) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
{
__builtin_ia32_storedquqi128_mask ((char *) __P,
(__v16qi) __A,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddquhi256_mask ((const short *) __P,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddquhi256_mask ((const short *) __P,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddquhi128_mask ((const short *) __P,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddquhi128_mask ((const short *) __P,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_movdquhi256_mask ((__v16hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddquqi256_mask ((const char *) __P,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P)
{
return (__m256i) __builtin_ia32_loaddquqi256_mask ((const char *) __P,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddquqi128_mask ((const char *) __P,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P)
{
return (__m128i) __builtin_ia32_loaddquqi128_mask ((const char *) __P,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi16_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
{
__builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovwb256_mask ((__v16hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtsepi16_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
{
__builtin_ia32_pmovswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtsepi16_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovswb128_mask ((__v8hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtsepi16_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
{
__builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtsepi16_epi8 (__mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovswb256_mask ((__v16hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtusepi16_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
{
__builtin_ia32_pmovuswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtusepi16_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovuswb128_mask ((__v8hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtusepi16_epi8 (__m256i __A)
{
return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
{
__builtin_ia32_pmovuswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A)
{
return (__m128i) __builtin_ia32_pmovuswb256_mask ((__v16hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A,
(__v32qi) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastb256_mask ((__v16qi) __A,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
{
return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
(__v32qi) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi8 (__mmask32 __M, char __A)
{
return (__m256i) __builtin_ia32_pbroadcastb256_gpr_mask (__A,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastb128_mask ((__v16qi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
{
return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
(__v16qi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi8 (__mmask16 __M, char __A)
{
return (__m128i) __builtin_ia32_pbroadcastb128_gpr_mask (__A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A,
(__v16hi) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_pbroadcastw256_mask ((__v8hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
{
return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
(__v16hi) __O,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
{
return (__m256i) __builtin_ia32_pbroadcastw256_gpr_mask (__A,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A,
(__v8hi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pbroadcastw128_mask ((__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
{
return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
(__v8hi) __O,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_set1_epi16 (__mmask8 __M, short __A)
{
return (__m128i) __builtin_ia32_pbroadcastw128_gpr_mask (__A,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
(__v16hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
(__v16hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_permvarhi256_mask ((__v16hi) __B,
(__v16hi) __A,
(__v16hi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutexvar_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
(__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
(__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
(__v8hi) __A,
(__v8hi) __W,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I
,
(__v16hi) __A,
(__v16hi) __B,
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I
,
(__v16hi) __A,
(__v16hi) __B,
(__mmask16)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
__mmask16 __U, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
(__v16hi) __I
,
(__v16hi) __B,
(__mmask16)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I
,
(__v16hi) __A,
(__v16hi) __B,
(__mmask16)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I
,
(__v8hi) __A,
(__v8hi) __B,
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I
,
(__v8hi) __A,
(__v8hi) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
(__v8hi) __I
,
(__v8hi) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I
,
(__v8hi) __A,
(__v8hi) __B,
(__mmask8)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_maddubs_epi16 (__m256i __W, __mmask16 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
(__v32qi) __Y,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_maddubs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmaddubsw256_mask ((__v32qi) __X,
(__v32qi) __Y,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_maddubs_epi16 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_maddubs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_madd_epi16 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v8si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_madd_epi16 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaddwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v8si)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_madd_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v4si) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_madd_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaddwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v4si)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi8_mask (__m128i __A)
{
return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movepi8_mask (__m256i __A)
{
return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi16_mask (__m128i __A)
{
return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movepi16_mask (__m256i __A)
{
return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movm_epi8 (__mmask16 __A)
{
return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movm_epi8 (__mmask32 __A)
{
return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movm_epi16 (__mmask8 __A)
{
return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movm_epi16 (__mmask16 __A)
{
return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ptestmb128 ((__v16qi) __A,
(__v16qi) __B, __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ptestmb256 ((__v32qi) __A,
(__v32qi) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_test_epi16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
(__v8hi) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_test_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestmw128 ((__v8hi) __A,
(__v8hi) __B, __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_test_epi16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
(__v16hi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ptestmw256 ((__v16hi) __A,
(__v16hi) __B, __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_min_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_min_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_max_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_max_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_max_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_min_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
(__mmask32) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epi16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epi16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epi16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epi16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epu16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epu16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epu16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epu16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi8_mask (__m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpneq_epi16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmplt_epi16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpge_epi16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmple_epi16_mask (__m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mulhrs_epi16 (__m256i __W, __mmask16 __U, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
(__v16hi) __Y,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mulhrs_epi16 (__mmask16 __U, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_pmulhrsw256_mask ((__v16hi) __X,
(__v16hi) __Y,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mulhi_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mulhi_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmulhuw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mulhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mulhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmulhw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mulhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mulhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mulhi_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mulhi_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mulhrs_epi16 (__m128i __W, __mmask8 __U, __m128i __X,
__m128i __Y)
{
return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
(__v8hi) __Y,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mulhrs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
(__v8hi) __Y,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi8_epi16 (__mmask16 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi8_epi16 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
{
return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu8_epi16 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_avg_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_avg_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_avg_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_avg_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_avg_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_avg_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_avg_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_avg_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_adds_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_adds_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_adds_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_adds_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_adds_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_adds_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_adds_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_adds_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_subs_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_subs_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_subs_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_subs_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_subs_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_subs_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_subs_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_subs_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpckhbw256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpckhbw128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpackhi_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpackhi_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpckhwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpackhi_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpackhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpckhwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpcklbw256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpcklbw128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_unpacklo_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_unpacklo_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_punpcklwd256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_unpacklo_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_unpacklo_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_punpcklwd128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
(__v16qi) __B, 0,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
(__v16qi) __B, 0,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqb128_mask ((__v16qi) __A,
(__v16qi) __B,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
(__v32qi) __B, 0,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
(__v32qi) __B, 0,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_pcmpeqb256_mask ((__v32qi) __A,
(__v32qi) __B,
__U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epu16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
(__v8hi) __B, 0,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpeq_epi16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
(__v8hi) __B, 0, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpeq_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpeqw128_mask ((__v8hi) __A,
(__v8hi) __B, __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epu16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
(__v16hi) __B, 0,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpeq_epi16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
(__v16hi) __B, 0,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpeq_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_pcmpeqw256_mask ((__v16hi) __A,
(__v16hi) __B,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
(__v16qi) __B, 6,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
(__v16qi) __B, 6,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtb128_mask ((__v16qi) __A,
(__v16qi) __B,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
(__v32qi) __B, 6,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
(__v32qi) __B, 6,
__U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_pcmpgtb256_mask ((__v32qi) __A,
(__v32qi) __B,
__U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epu16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
(__v8hi) __B, 6,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmpgt_epi16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
(__v8hi) __B, 6, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpgt_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_pcmpgtw128_mask ((__v8hi) __A,
(__v8hi) __B, __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epu16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
(__v16hi) __B, 6,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpgt_epi16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A,
(__v16hi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
(__v16hi) __B, 6,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpgt_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_pcmpgtw256_mask ((__v16hi) __A,
(__v16hi) __B,
__U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi8_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_ptestnmb128 ((__v16qi) __A,
(__v16qi) __B, __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi8_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_ptestnmb256 ((__v32qi) __A,
(__v32qi) __B, __U);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_testn_epi16_mask (__m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
(__v8hi) __B,
(__mmask8) -1);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_testn_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__mmask8) __builtin_ia32_ptestnmw128 ((__v8hi) __A,
(__v8hi) __B, __U);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_testn_epi16_mask (__m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
(__v16hi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__mmask16) __builtin_ia32_ptestnmw256 ((__v16hi) __A,
(__v16hi) __B, __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shuffle_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shuffle_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shuffle_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shuffle_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_packs_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_packs_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v32qi) __W,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_packs_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_packs_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v16qi) __W,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_packus_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v32qi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_packus_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
(__v16hi) __B,
(__v32qi) __W,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_packus_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_packus_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v16qi) __W,
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi8 (__mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_abs_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_abs_epi16 (__mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_abs_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_abs_epi16 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu8_mask (__m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
(__mmask32) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpneq_epu16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmplt_epu16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmpge_epu16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cmple_epu16_mask (__m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 2,
(__mmask16) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
{
__builtin_ia32_storedquhi256_mask ((short *) __P,
(__v16hi) __A,
(__mmask16) __U);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
{
__builtin_ia32_storedquhi128_mask ((short *) __P,
(__v8hi) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_adds_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_subs_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_subs_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_subs_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_subs_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_subs_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_subs_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_subs_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_subs_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srl_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srl_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psrlw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srl_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srl_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrlw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sra_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sra_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psraw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sra_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sra_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psraw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_adds_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_adds_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_adds_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_adds_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_adds_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_adds_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_adds_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi16_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
(__v16qi)_mm_undefined_si128(),
(__mmask8) -1);
}*/
/*extern __inline void
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
{
__builtin_ia32_pmovwb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
(__v16qi) __O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi16_epi8 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_pmovwb128_mask ((__v8hi) __A,
(__v16qi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srav_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srav_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srav_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psrav16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srav_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srav_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srav_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_srlv_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_srlv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_srlv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psrlv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_srlv_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_srlv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_srlv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_sllv_epi16 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sllv_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sllv_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_psllv16hi_mask ((__v16hi) __A,
(__v16hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sllv_epi16 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sllv_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sllv_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_sll_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_sll_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_psllw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_sll_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
__m128i __B)
{
return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_sll_epi16 (__mmask16 __U, __m256i __A, __m128i __B)
{
return (__m256i) __builtin_ia32_psllw256_mask ((__v16hi) __A,
(__v8hi) __B,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_packus_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
(__v8si) __B,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_packus_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
(__v8si) __B,
(__v16hi) __W,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
(__v4si) __B,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_packus_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
(__v4si) __B,
(__v8hi) __W, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_packs_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
(__v8si) __B,
(__v16hi)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_packs_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
(__v8si) __B,
(__v16hi) __W,
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
(__v4si) __B,
(__v8hi)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_packs_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
(__v4si) __B,
(__v8hi) __W, __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
(__mmask16) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
(__mmask16) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpneq_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmplt_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmpge_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
(__mmask8) __M);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cmple_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
(__mmask8) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
(__mmask32) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 2,
(__mmask16) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
(__mmask32) __M);
}*/
/*extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
(__mmask32) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpneq_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmplt_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmpge_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
(__mmask16) __M);
}*/
/*extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cmple_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 2,
(__mmask16) __M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vl,avx512dq")
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epi64 (__m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epi64 (__mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2qq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epi64 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epi64 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2qq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttpd_epu64 (__m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttpd_epu64 (__mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvttpd2uqq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttpd_epu64 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttpd_epu64 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvttpd2uqq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epi64 (__m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epi64 (__m256i __W, __mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epi64 (__mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2qq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epi64 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epi64 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epi64 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2qq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtpd_epu64 (__m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtpd_epu64 (__m256i __W, __mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtpd_epu64 (__mmask8 __U, __m256d __A)
{
return (__m256i) __builtin_ia32_cvtpd2uqq256_mask ((__v4df) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtpd_epu64 (__m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtpd_epu64 (__m128i __W, __mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtpd_epu64 (__mmask8 __U, __m128d __A)
{
return (__m128i) __builtin_ia32_cvtpd2uqq128_mask ((__v2df) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epi64 (__m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epi64 (__m256i __W, __mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2qq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epi64 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epi64 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epi64 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2qq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvttps_epu64 (__m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvttps_epu64 (__m256i __W, __mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvttps2uqq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvttps_epu64 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvttps_epu64 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvttps2uqq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f64x2 (__m128d __A)
{
return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
__A,
(__v4df)_mm256_undefined_pd(),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f64x2 (__m256d __O, __mmask8 __M, __m128d __A)
{
return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
__A,
(__v4df)
__O, __M);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
{
return (__m256d) __builtin_ia32_broadcastf64x2_256_mask ((__v2df)
__A,
(__v4df)
_mm256_setzero_ps (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i64x2 (__m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
__A,
(__v4di)_mm256_undefined_si256(),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i64x2 (__m256i __O, __mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
__A,
(__v4di)
__O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti64x2_256_mask ((__v2di)
__A,
(__v4di)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_f32x2 (__m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
(__v8sf)_mm256_undefined_ps(),
(__mmask8) -1);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_f32x2 (__m256 __O, __mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
(__v8sf) __O,
__M);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_f32x2 (__mmask8 __M, __m128 __A)
{
return (__m256) __builtin_ia32_broadcastf32x2_256_mask ((__v4sf) __A,
(__v8sf)
_mm256_setzero_ps (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_broadcast_i32x2 (__m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
__A,
(__v8si)_mm256_undefined_si256(),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_broadcast_i32x2 (__m256i __O, __mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
__A,
(__v8si)
__O, __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
{
return (__m256i) __builtin_ia32_broadcasti32x2_256_mask ((__v4si)
__A,
(__v8si)
_mm256_setzero_si256 (),
__M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_broadcast_i32x2 (__m128i __A)
{
return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
__A,
(__v4si)_mm_undefined_si128(),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_broadcast_i32x2 (__m128i __O, __mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
__A,
(__v4si)
__O, __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
{
return (__m128i) __builtin_ia32_broadcasti32x2_128_mask ((__v4si)
__A,
(__v4si)
_mm_setzero_si128 (),
__M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mullo_epi64 (__m256i __A, __m256i __B)
{
return (__m256i) ((__v4du) __A * (__v4du) __B);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_pmullq256_mask ((__v4di) __A,
(__v4di) __B,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mullo_epi64 (__m128i __A, __m128i __B)
{
return (__m128i) ((__v2du) __A * (__v2du) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_pmullq128_mask ((__v2di) __A,
(__v2di) __B,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_andnpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_pd (__m128d __W, __mmask8 __U, __m128d __A,
__m128d __B)
{
return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_andnpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_andnot_ps (__m256 __W, __mmask8 __U, __m256 __A,
__m256 __B)
{
return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_andnot_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_andnps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_andnot_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_andnot_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_andnps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epi64 (__m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epi64 (__m256i __W, __mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2qq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epi64 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epi64 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epi64 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2qq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtps_epu64 (__m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtps_epu64 (__m256i __W, __mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A)
{
return (__m256i) __builtin_ia32_cvtps2uqq256_mask ((__v4sf) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtps_epu64 (__m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtps_epu64 (__m128i __W, __mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A)
{
return (__m128i) __builtin_ia32_cvtps2uqq128_mask ((__v4sf) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_ps (__m256i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps256_mask ((__v4di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_ps (__m128i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtqq2ps128_mask ((__v2di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu64_ps (__m256i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps256_mask ((__v4di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu64_ps (__m128i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) -1);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A)
{
return (__m128) __builtin_ia32_cvtuqq2ps128_mask ((__v2di) __A,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepi64_pd (__m256i __A)
{
return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A)
{
return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A)
{
return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepi64_pd (__m128i __A)
{
return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtqq2pd128_mask ((__v2di) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtepu64_pd (__m256i __A)
{
return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A)
{
return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A)
{
return (__m256d) __builtin_ia32_cvtuqq2pd256_mask ((__v4di) __A,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_andpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_andpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_and_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_and_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_andps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_and_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_and_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_andps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtepu64_pd (__m128i __A)
{
return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) -1);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A)
{
return (__m128d) __builtin_ia32_cvtuqq2pd128_mask ((__v2di) __A,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_pd (__m256d __W, __mmask8 __U, __m256d __A,
__m256d __B)
{
return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_xorpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_xorpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_xor_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_xor_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_xorps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_xor_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_xor_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_xorps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_pd (__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_pd (__mmask8 __U, __m256d __A, __m256d __B)
{
return (__m256d) __builtin_ia32_orpd256_mask ((__v4df) __A,
(__v4df) __B,
(__v4df)
_mm256_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_pd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128d
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_pd (__mmask8 __U, __m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_orpd128_mask ((__v2df) __A,
(__v2df) __B,
(__v2df)
_mm_setzero_pd (),
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_or_ps (__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_or_ps (__mmask8 __U, __m256 __A, __m256 __B)
{
return (__m256) __builtin_ia32_orps256_mask ((__v8sf) __A,
(__v8sf) __B,
(__v8sf)
_mm256_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_or_ps (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_or_ps (__mmask8 __U, __m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_orps128_mask ((__v4sf) __A,
(__v4sf) __B,
(__v4sf)
_mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movm_epi32 (__mmask8 __A)
{
return (__m128i) __builtin_ia32_cvtmask2d128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movm_epi32 (__mmask8 __A)
{
return (__m256i) __builtin_ia32_cvtmask2d256 (__A);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movm_epi64 (__mmask8 __A)
{
return (__m128i) __builtin_ia32_cvtmask2q128 (__A);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movm_epi64 (__mmask8 __A)
{
return (__m256i) __builtin_ia32_cvtmask2q256 (__A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi32_mask (__m128i __A)
{
return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movepi32_mask (__m256i __A)
{
return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_movepi64_mask (__m128i __A)
{
return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A);
}*/
/*extern __inline __mmask8
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_movepi64_mask (__m256i __A)
{
return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512ifma")
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_madd52lo_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
{
return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
{
return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __X,
(__v8di) __Y,
(__v8di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_madd52lo_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
__m512i __Y)
{
return (__m512i) __builtin_ia32_vpmadd52luq512_mask ((__v8di) __W,
(__v8di) __X,
(__v8di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_madd52hi_epu64 (__m512i __W, __mmask8 __M, __m512i __X,
__m512i __Y)
{
return (__m512i) __builtin_ia32_vpmadd52huq512_mask ((__v8di) __W,
(__v8di) __X,
(__v8di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_madd52lo_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
{
return (__m512i) __builtin_ia32_vpmadd52luq512_maskz ((__v8di) __X,
(__v8di) __Y,
(__v8di) __Z,
(__mmask8) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_madd52hi_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
{
return (__m512i) __builtin_ia32_vpmadd52huq512_maskz ((__v8di) __X,
(__v8di) __Y,
(__v8di) __Z,
(__mmask8) __M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512ifma,avx512vl")
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd52lo_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
{
return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
{
return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __X,
(__v2di) __Y,
(__v2di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_madd52lo_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
{
return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_madd52hi_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
{
return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __X,
(__v4di) __Y,
(__v4di) __Z,
(__mmask8) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_vpmadd52luq128_mask ((__v2di) __W,
(__v2di) __X,
(__v2di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_vpmadd52huq128_mask ((__v2di) __W,
(__v2di) __X,
(__v2di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_vpmadd52luq256_mask ((__v4di) __W,
(__v4di) __X,
(__v4di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X,
__m256i __Y)
{
return (__m256i) __builtin_ia32_vpmadd52huq256_mask ((__v4di) __W,
(__v4di) __X,
(__v4di) __Y,
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
{
return (__m128i) __builtin_ia32_vpmadd52luq128_maskz ((__v2di) __X,
(__v2di) __Y,
(__v2di) __Z,
(__mmask8) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
{
return (__m128i) __builtin_ia32_vpmadd52huq128_maskz ((__v2di) __X,
(__v2di) __Y,
(__v2di) __Z,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_madd52lo_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
{
return (__m256i) __builtin_ia32_vpmadd52luq256_maskz ((__v4di) __X,
(__v4di) __Y,
(__v4di) __Z,
(__mmask8) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
{
return (__m256i) __builtin_ia32_vpmadd52huq256_maskz ((__v4di) __X,
(__v4di) __Y,
(__v4di) __Z,
(__mmask8) __M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi")
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_multishift_epi64_epi8 (__m512i __W, __mmask64 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_multishift_epi64_epi8 (__mmask64 __M, __m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_multishift_epi64_epi8 (__m512i __X, __m512i __Y)
{
return (__m512i) __builtin_ia32_vpmultishiftqb512_mask ((__v64qi) __X,
(__v64qi) __Y,
(__v64qi)
_mm512_undefined_epi32 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
(__v64qi) __A,
(__v64qi)
_mm512_undefined_epi32 (),
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
(__v64qi) __A,
(__v64qi)
_mm512_setzero_si512(),
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
__m512i __B)
{
return (__m512i) __builtin_ia32_permvarqi512_mask ((__v64qi) __B,
(__v64qi) __A,
(__v64qi) __W,
(__mmask64) __M);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_permutex2var_epi8 (__m512i __A, __m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
,
(__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_permutex2var_epi8 (__m512i __A, __mmask64 __U,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varqi512_mask ((__v64qi) __I
,
(__v64qi) __A,
(__v64qi) __B,
(__mmask64)
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask2_permutex2var_epi8 (__m512i __A, __m512i __I,
__mmask64 __U, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermi2varqi512_mask ((__v64qi) __A,
(__v64qi) __I
,
(__v64qi) __B,
(__mmask64)
__U);
}*/
/*extern __inline __m512i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_permutex2var_epi8 (__mmask64 __U, __m512i __A,
__m512i __I, __m512i __B)
{
return (__m512i) __builtin_ia32_vpermt2varqi512_maskz ((__v64qi) __I
,
(__v64qi) __A,
(__v64qi) __B,
(__mmask64)
__U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi,avx512vl")
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_multishift_epi64_epi8 (__m256i __W, __mmask32 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
(__v32qi) __Y,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_multishift_epi64_epi8 (__mmask32 __M, __m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
(__v32qi) __Y,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_multishift_epi64_epi8 (__m256i __X, __m256i __Y)
{
return (__m256i) __builtin_ia32_vpmultishiftqb256_mask ((__v32qi) __X,
(__v32qi) __Y,
(__v32qi)
_mm256_undefined_si256 (),
(__mmask32) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_multishift_epi64_epi8 (__m128i __W, __mmask16 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_multishift_epi64_epi8 (__mmask16 __M, __m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_multishift_epi64_epi8 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_vpmultishiftqb128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v16qi)
_mm_undefined_si128 (),
(__mmask16) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutexvar_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
(__v32qi) __A,
(__v32qi)
_mm256_undefined_si256 (),
(__mmask32) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
(__v32qi) __A,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
__m256i __B)
{
return (__m256i) __builtin_ia32_permvarqi256_mask ((__v32qi) __B,
(__v32qi) __A,
(__v32qi) __W,
(__mmask32) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutexvar_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
(__v16qi) __A,
(__v16qi)
_mm_undefined_si128 (),
(__mmask16) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
(__v16qi) __A,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __M);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
__m128i __B)
{
return (__m128i) __builtin_ia32_permvarqi128_mask ((__v16qi) __B,
(__v16qi) __A,
(__v16qi) __W,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_permutex2var_epi8 (__m256i __A, __m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
,
(__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_permutex2var_epi8 (__m256i __A, __mmask32 __U,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varqi256_mask ((__v32qi) __I
,
(__v32qi) __A,
(__v32qi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask2_permutex2var_epi8 (__m256i __A, __m256i __I,
__mmask32 __U, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermi2varqi256_mask ((__v32qi) __A,
(__v32qi) __I
,
(__v32qi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_permutex2var_epi8 (__mmask32 __U, __m256i __A,
__m256i __I, __m256i __B)
{
return (__m256i) __builtin_ia32_vpermt2varqi256_maskz ((__v32qi) __I
,
(__v32qi) __A,
(__v32qi) __B,
(__mmask32)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_permutex2var_epi8 (__m128i __A, __m128i __I, __m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
,
(__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_permutex2var_epi8 (__m128i __A, __mmask16 __U, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varqi128_mask ((__v16qi) __I
,
(__v16qi) __A,
(__v16qi) __B,
(__mmask16)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask2_permutex2var_epi8 (__m128i __A, __m128i __I, __mmask16 __U,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermi2varqi128_mask ((__v16qi) __A,
(__v16qi) __I
,
(__v16qi) __B,
(__mmask16)
__U);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_permutex2var_epi8 (__mmask16 __U, __m128i __A, __m128i __I,
__m128i __B)
{
return (__m128i) __builtin_ia32_vpermt2varqi128_maskz ((__v16qi) __I
,
(__v16qi) __A,
(__v16qi) __B,
(__mmask16)
__U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx5124fmaps")
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_4fmadd_ps (__m512 __A, __m512 __B, __m512 __C,
__m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fmaddps ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F);
}*/
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_4fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B,
__m512 __C, __m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F,
(__v16sf) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_4fmadd_ps (__mmask16 __U,
__m512 __A, __m512 __B, __m512 __C,
__m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F,
(__v16sf) _mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_4fmadd_ss (__m128 __A, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fmaddss ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_4fmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F,
(__v4sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_4fmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F,
(__v4sf) _mm_setzero_ps (),
(__mmask8) __U);
}*/
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_4fnmadd_ps (__m512 __A, __m512 __B, __m512 __C,
__m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fnmaddps ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F);
}*/
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_4fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B,
__m512 __C, __m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F,
(__v16sf) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_4fnmadd_ps (__mmask16 __U,
__m512 __A, __m512 __B, __m512 __C,
__m512 __D, __m512 __E, __m128 *__F)
{
return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B,
(__v16sf) __C,
(__v16sf) __D,
(__v16sf) __E,
(__v16sf) __A,
(const __v4sf *) __F,
(__v16sf) _mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_4fnmadd_ss (__m128 __A, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fnmaddss ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_4fnmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F,
(__v4sf) __A,
(__mmask8) __U);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_4fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C,
__m128 __D, __m128 __E, __m128 *__F)
{
return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B,
(__v4sf) __C,
(__v4sf) __D,
(__v4sf) __E,
(__v4sf) __A,
(const __v4sf *) __F,
(__v4sf) _mm_setzero_ps (),
(__mmask8) __U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx5124vnniw")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_4dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C,
__m512i __D, __m512i __E, __m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssd ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_4dpwssd_epi32 (__m512i __A, __mmask16 __U, __m512i __B,
__m512i __C, __m512i __D, __m512i __E,
__m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F,
(__v16si) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_4dpwssd_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
__m512i __C, __m512i __D, __m512i __E,
__m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F,
(__v16si) _mm512_setzero_ps (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_4dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C,
__m512i __D, __m512i __E, __m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssds ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_4dpwssds_epi32 (__m512i __A, __mmask16 __U, __m512i __B,
__m512i __C, __m512i __D, __m512i __E,
__m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F,
(__v16si) __A,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_4dpwssds_epi32 (__mmask16 __U, __m512i __A, __m512i __B,
__m512i __C, __m512i __D, __m512i __E,
__m128i *__F)
{
return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B,
(__v16si) __C,
(__v16si) __D,
(__v16si) __E,
(__v16si) __A,
(const __v4si *) __F,
(__v16si) _mm512_setzero_ps (),
(__mmask16) __U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vpopcntdq")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_popcnt_epi32 (__m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountd_v16si ((__v16si) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_popcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A,
(__v16si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_popcnt_epi32 (__mmask16 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A,
(__v16si)
_mm512_setzero_si512 (),
(__mmask16) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_popcnt_epi64 (__m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountq_v8di ((__v8di) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_popcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A,
(__v8di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_popcnt_epi64 (__mmask8 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A,
(__v8di)
_mm512_setzero_si512 (),
(__mmask8) __U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi2")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shrdv_epi16 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshrdv_v32hi ((__v32hi)__A, (__v32hi) __B,
(__v32hi) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shrdv_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshrdv_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shrdv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shrdv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shrdv_epi64 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshrdv_v8di ((__v8di)__A, (__v8di) __B,
(__v8di) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shrdv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v8di_mask ((__v8di)__A, (__v8di) __C,
(__v8di) __D, (__mmask8)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shrdv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v8di_maskz ((__v8di)__B, (__v8di) __C,
(__v8di) __D, (__mmask8)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shldv_epi16 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshldv_v32hi ((__v32hi)__A, (__v32hi) __B,
(__v32hi) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shldv_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshldv_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shldv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shldv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_shldv_epi64 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpshldv_v8di ((__v8di)__A, (__v8di) __B,
(__v8di) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shldv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v8di_mask ((__v8di)__A, (__v8di) __C,
(__v8di) __D, (__mmask8)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shldv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v8di_maskz ((__v8di)__B, (__v8di) __C,
(__v8di) __D, (__mmask8)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi2,avx512bw")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_epi8 (__m512i __A, __mmask64 __B, __m512i __C)
{
return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__C,
(__v64qi)__A, (__mmask64)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_epi8 (__mmask64 __A, __m512i __B)
{
return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__B,
(__v64qi)_mm512_setzero_si512 (), (__mmask64)__A);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_epi8 (void * __A, __mmask64 __B, __m512i __C)
{
__builtin_ia32_compressstoreuqi512_mask ((__v64qi *) __A, (__v64qi) __C,
(__mmask64) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compress_epi16 (__m512i __A, __mmask32 __B, __m512i __C)
{
return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__C,
(__v32hi)__A, (__mmask32)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_compress_epi16 (__mmask32 __A, __m512i __B)
{
return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__B,
(__v32hi)_mm512_setzero_si512 (), (__mmask32)__A);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_compressstoreu_epi16 (void * __A, __mmask32 __B, __m512i __C)
{
__builtin_ia32_compressstoreuhi512_mask ((__v32hi *) __A, (__v32hi) __C,
(__mmask32) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_epi8 (__m512i __A, __mmask64 __B, __m512i __C)
{
return (__m512i) __builtin_ia32_expandqi512_mask ((__v64qi) __C,
(__v64qi) __A,
(__mmask64) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_epi8 (__mmask64 __A, __m512i __B)
{
return (__m512i) __builtin_ia32_expandqi512_maskz ((__v64qi) __B,
(__v64qi) _mm512_setzero_si512 (), (__mmask64) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_epi8 (__m512i __A, __mmask64 __B, const void * __C)
{
return (__m512i) __builtin_ia32_expandloadqi512_mask ((const __v64qi *) __C,
(__v64qi) __A, (__mmask64) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_epi8 (__mmask64 __A, const void * __B)
{
return (__m512i) __builtin_ia32_expandloadqi512_maskz ((const __v64qi *) __B,
(__v64qi) _mm512_setzero_si512 (), (__mmask64) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expand_epi16 (__m512i __A, __mmask32 __B, __m512i __C)
{
return (__m512i) __builtin_ia32_expandhi512_mask ((__v32hi) __C,
(__v32hi) __A,
(__mmask32) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expand_epi16 (__mmask32 __A, __m512i __B)
{
return (__m512i) __builtin_ia32_expandhi512_maskz ((__v32hi) __B,
(__v32hi) _mm512_setzero_si512 (), (__mmask32) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_expandloadu_epi16 (__m512i __A, __mmask32 __B, const void * __C)
{
return (__m512i) __builtin_ia32_expandloadhi512_mask ((const __v32hi *) __C,
(__v32hi) __A, (__mmask32) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_expandloadu_epi16 (__mmask32 __A, const void * __B)
{
return (__m512i) __builtin_ia32_expandloadhi512_maskz ((const __v32hi *) __B,
(__v32hi) _mm512_setzero_si512 (), (__mmask32) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shrdv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v32hi_mask ((__v32hi)__A,
(__v32hi) __C, (__v32hi) __D, (__mmask32)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shrdv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshrdv_v32hi_maskz ((__v32hi)__B,
(__v32hi) __C, (__v32hi) __D, (__mmask32)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_shldv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v32hi_mask ((__v32hi)__A,
(__v32hi) __C, (__v32hi) __D, (__mmask32)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_shldv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpshldv_v32hi_maskz ((__v32hi)__B,
(__v32hi) __C, (__v32hi) __D, (__mmask32)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi2,avx512vl")
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi8 (__m128i __A, __mmask16 __B, __m128i __C)
{
return (__m128i) __builtin_ia32_compressqi128_mask ((__v16qi)__C,
(__v16qi)__A, (__mmask16)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi8 (__mmask16 __A, __m128i __B)
{
return (__m128i) __builtin_ia32_compressqi128_mask ((__v16qi) __B,
(__v16qi) _mm_setzero_si128 (), (__mmask16) __A);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi16 (void * __A, __mmask16 __B, __m256i __C)
{
__builtin_ia32_compressstoreuhi256_mask ((__v16hi *) __A, (__v16hi) __C,
(__mmask16) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compress_epi16 (__m128i __A, __mmask8 __B, __m128i __C)
{
return (__m128i) __builtin_ia32_compresshi128_mask ((__v8hi)__C, (__v8hi)__A,
(__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_compress_epi16 (__mmask8 __A, __m128i __B)
{
return (__m128i) __builtin_ia32_compresshi128_mask ((__v8hi) __B,
(__v8hi) _mm_setzero_si128 (), (__mmask8) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi16 (__m256i __A, __mmask16 __B, __m256i __C)
{
return (__m256i) __builtin_ia32_compresshi256_mask ((__v16hi)__C,
(__v16hi)__A, (__mmask16)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi16 (__mmask16 __A, __m256i __B)
{
return (__m256i) __builtin_ia32_compresshi256_mask ((__v16hi) __B,
(__v16hi) _mm256_setzero_si256 (), (__mmask16) __A);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi8 (void * __A, __mmask16 __B, __m128i __C)
{
__builtin_ia32_compressstoreuqi128_mask ((__v16qi *) __A, (__v16qi) __C,
(__mmask16) __B);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_compressstoreu_epi16 (void * __A, __mmask8 __B, __m128i __C)
{
__builtin_ia32_compressstoreuhi128_mask ((__v8hi *) __A, (__v8hi) __C,
(__mmask8) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi8 (__m128i __A, __mmask16 __B, __m128i __C)
{
return (__m128i) __builtin_ia32_expandqi128_mask ((__v16qi) __C,
(__v16qi) __A,
(__mmask16) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi8 (__mmask16 __A, __m128i __B)
{
return (__m128i) __builtin_ia32_expandqi128_maskz ((__v16qi) __B,
(__v16qi) _mm_setzero_si128 (), (__mmask16) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi8 (__m128i __A, __mmask16 __B, const void * __C)
{
return (__m128i) __builtin_ia32_expandloadqi128_mask ((const __v16qi *) __C,
(__v16qi) __A, (__mmask16) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi8 (__mmask16 __A, const void * __B)
{
return (__m128i) __builtin_ia32_expandloadqi128_maskz ((const __v16qi *) __B,
(__v16qi) _mm_setzero_si128 (), (__mmask16) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expand_epi16 (__m128i __A, __mmask8 __B, __m128i __C)
{
return (__m128i) __builtin_ia32_expandhi128_mask ((__v8hi) __C,
(__v8hi) __A,
(__mmask8) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expand_epi16 (__mmask8 __A, __m128i __B)
{
return (__m128i) __builtin_ia32_expandhi128_maskz ((__v8hi) __B,
(__v8hi) _mm_setzero_si128 (), (__mmask8) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_expandloadu_epi16 (__m128i __A, __mmask8 __B, const void * __C)
{
return (__m128i) __builtin_ia32_expandloadhi128_mask ((const __v8hi *) __C,
(__v8hi) __A, (__mmask8) __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_expandloadu_epi16 (__mmask8 __A, const void * __B)
{
return (__m128i) __builtin_ia32_expandloadhi128_maskz ((const __v8hi *) __B,
(__v8hi) _mm_setzero_si128 (), (__mmask8) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi16 (__m256i __A, __mmask16 __B, __m256i __C)
{
return (__m256i) __builtin_ia32_expandhi256_mask ((__v16hi) __C,
(__v16hi) __A,
(__mmask16) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi16 (__mmask16 __A, __m256i __B)
{
return (__m256i) __builtin_ia32_expandhi256_maskz ((__v16hi) __B,
(__v16hi) _mm256_setzero_si256 (), (__mmask16) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi16 (__m256i __A, __mmask16 __B, const void * __C)
{
return (__m256i) __builtin_ia32_expandloadhi256_mask ((const __v16hi *) __C,
(__v16hi) __A, (__mmask16) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi16 (__mmask16 __A, const void * __B)
{
return (__m256i) __builtin_ia32_expandloadhi256_maskz ((const __v16hi *) __B,
(__v16hi) _mm256_setzero_si256 (), (__mmask16) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shrdv_epi16 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshrdv_v16hi ((__v16hi)__A, (__v16hi) __B,
(__v16hi) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shrdv_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v16hi_mask ((__v16hi)__A,
(__v16hi) __C, (__v16hi) __D, (__mmask16)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shrdv_epi16 (__mmask16 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v16hi_maskz ((__v16hi)__B,
(__v16hi) __C, (__v16hi) __D, (__mmask16)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shrdv_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshrdv_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shrdv_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v8si_mask ((__v8si)__A, (__v8si) __C,
(__v8si) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shrdv_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v8si_maskz ((__v8si)__B, (__v8si) __C,
(__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shrdv_epi64 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshrdv_v4di ((__v4di)__A, (__v4di) __B,
(__v4di) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shrdv_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v4di_mask ((__v4di)__A, (__v4di) __C,
(__v4di) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shrdv_epi64 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshrdv_v4di_maskz ((__v4di)__B, (__v4di) __C,
(__v4di) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shrdv_epi16 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshrdv_v8hi ((__v8hi)__A, (__v8hi) __B,
(__v8hi) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shrdv_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v8hi_mask ((__v8hi)__A, (__v8hi) __C,
(__v8hi) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shrdv_epi16 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v8hi_maskz ((__v8hi)__B, (__v8hi) __C,
(__v8hi) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shrdv_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshrdv_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shrdv_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v4si_mask ((__v4si)__A, (__v4si) __C,
(__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shrdv_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v4si_maskz ((__v4si)__B, (__v4si) __C,
(__v4si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shrdv_epi64 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshrdv_v2di ((__v2di)__A, (__v2di) __B,
(__v2di) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shrdv_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v2di_mask ((__v2di)__A, (__v2di) __C,
(__v2di) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shrdv_epi64 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshrdv_v2di_maskz ((__v2di)__B, (__v2di) __C,
(__v2di) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shldv_epi16 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshldv_v16hi ((__v16hi)__A, (__v16hi) __B,
(__v16hi) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shldv_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v16hi_mask ((__v16hi)__A,
(__v16hi) __C, (__v16hi) __D, (__mmask16)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shldv_epi16 (__mmask16 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v16hi_maskz ((__v16hi)__B,
(__v16hi) __C, (__v16hi) __D, (__mmask16)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shldv_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshldv_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shldv_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v8si_mask ((__v8si)__A, (__v8si) __C,
(__v8si) __D, (__mmask8)__B) ;
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shldv_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v8si_maskz ((__v8si)__B, (__v8si) __C,
(__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_shldv_epi64 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpshldv_v4di ((__v4di)__A, (__v4di) __B,
(__v4di) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_shldv_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v4di_mask ((__v4di)__A, (__v4di) __C,
(__v4di) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_shldv_epi64 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpshldv_v4di_maskz ((__v4di)__B, (__v4di) __C,
(__v4di) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shldv_epi16 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshldv_v8hi ((__v8hi)__A, (__v8hi) __B,
(__v8hi) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shldv_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v8hi_mask ((__v8hi)__A, (__v8hi) __C,
(__v8hi) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shldv_epi16 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v8hi_maskz ((__v8hi)__B, (__v8hi) __C,
(__v8hi) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shldv_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshldv_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shldv_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v4si_mask ((__v4si)__A, (__v4si) __C,
(__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shldv_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v4si_maskz ((__v4si)__B, (__v4si) __C,
(__v4si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shldv_epi64 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpshldv_v2di ((__v2di)__A, (__v2di) __B,
(__v2di) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_shldv_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v2di_mask ((__v2di)__A, (__v2di) __C,
(__v2di) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_shldv_epi64 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpshldv_v2di_maskz ((__v2di)__B, (__v2di) __C,
(__v2di) __D, (__mmask8)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vbmi2,avx512vl,avx512bw")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compress_epi8 (__m256i __A, __mmask32 __B, __m256i __C)
{
return (__m256i) __builtin_ia32_compressqi256_mask ((__v32qi)__C,
(__v32qi)__A, (__mmask32)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_compress_epi8 (__mmask32 __A, __m256i __B)
{
return (__m256i) __builtin_ia32_compressqi256_mask ((__v32qi) __B,
(__v32qi) _mm256_setzero_si256 (), (__mmask32) __A);
}*/
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_compressstoreu_epi8 (void * __A, __mmask32 __B, __m256i __C)
{
__builtin_ia32_compressstoreuqi256_mask ((__v32qi *) __A, (__v32qi) __C,
(__mmask32) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expand_epi8 (__m256i __A, __mmask32 __B, __m256i __C)
{
return (__m256i) __builtin_ia32_expandqi256_mask ((__v32qi) __C,
(__v32qi) __A,
(__mmask32) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expand_epi8 (__mmask32 __A, __m256i __B)
{
return (__m256i) __builtin_ia32_expandqi256_maskz ((__v32qi) __B,
(__v32qi) _mm256_setzero_si256 (), (__mmask32) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_expandloadu_epi8 (__m256i __A, __mmask32 __B, const void * __C)
{
return (__m256i) __builtin_ia32_expandloadqi256_mask ((const __v32qi *) __C,
(__v32qi) __A, (__mmask32) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_expandloadu_epi8 (__mmask32 __A, const void * __B)
{
return (__m256i) __builtin_ia32_expandloadqi256_maskz ((const __v32qi *) __B,
(__v32qi) _mm256_setzero_si256 (), (__mmask32) __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vnni")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_dpbusd_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpdpbusd_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_dpbusd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpdpbusd_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_dpbusd_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpbusd_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_dpbusds_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpdpbusds_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_dpbusds_epi32 (__m512i __A, __mmask16 __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpbusds_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_dpbusds_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpbusds_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpdpwssd_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_dpwssd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D)
{
return (__m512i)__builtin_ia32_vpdpwssd_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_dpwssd_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpwssd_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vpdpwssds_v16si ((__v16si)__A, (__v16si) __B,
(__v16si) __C);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_dpwssds_epi32 (__m512i __A, __mmask16 __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpwssds_v16si_mask ((__v16si)__A,
(__v16si) __C, (__v16si) __D, (__mmask16)__B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_dpwssds_epi32 (__mmask16 __A, __m512i __B, __m512i __C,
__m512i __D)
{
return (__m512i)__builtin_ia32_vpdpwssds_v16si_maskz ((__v16si)__B,
(__v16si) __C, (__v16si) __D, (__mmask16)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vnni,avx512vl")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_dpbusd_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpdpbusd_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_dpbusd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpbusd_v8si_mask ((__v8si)__A, (__v8si) __C,
(__v8si) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_dpbusd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpbusd_v8si_maskz ((__v8si)__B,
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_dpbusd_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpdpbusd_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_dpbusd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpbusd_v4si_mask ((__v4si)__A, (__v4si) __C,
(__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_dpbusd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpbusd_v4si_maskz ((__v4si)__B,
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_dpbusds_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpdpbusds_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_dpbusds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpbusds_v8si_mask ((__v8si)__A,
(__v8si) __C, (__v8si) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_dpbusds_epi32 (__mmask8 __A, __m256i __B, __m256i __C,
__m256i __D)
{
return (__m256i)__builtin_ia32_vpdpbusds_v8si_maskz ((__v8si)__B,
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_dpbusds_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpdpbusds_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_dpbusds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpbusds_v4si_mask ((__v4si)__A,
(__v4si) __C, (__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_dpbusds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpbusds_v4si_maskz ((__v4si)__B,
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_dpwssd_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpdpwssd_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_dpwssd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpwssd_v8si_mask ((__v8si)__A, (__v8si) __C,
(__v8si) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_dpwssd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpwssd_v8si_maskz ((__v8si)__B,
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_dpwssd_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpdpwssd_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_dpwssd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpwssd_v4si_mask ((__v4si)__A, (__v4si) __C,
(__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_dpwssd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpwssd_v4si_maskz ((__v4si)__B,
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_dpwssds_epi32 (__m256i __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vpdpwssds_v8si ((__v8si)__A, (__v8si) __B,
(__v8si) __C);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_dpwssds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D)
{
return (__m256i)__builtin_ia32_vpdpwssds_v8si_mask ((__v8si)__A,
(__v8si) __C, (__v8si) __D, (__mmask8)__B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_dpwssds_epi32 (__mmask8 __A, __m256i __B, __m256i __C,
__m256i __D)
{
return (__m256i)__builtin_ia32_vpdpwssds_v8si_maskz ((__v8si)__B,
(__v8si) __C, (__v8si) __D, (__mmask8)__A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_dpwssds_epi32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpdpwssds_v4si ((__v4si)__A, (__v4si) __B,
(__v4si) __C);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_dpwssds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpwssds_v4si_mask ((__v4si)__A,
(__v4si) __C, (__v4si) __D, (__mmask8)__B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_dpwssds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D)
{
return (__m128i)__builtin_ia32_vpdpwssds_v4si_maskz ((__v4si)__B,
(__v4si) __C, (__v4si) __D, (__mmask8)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512vpopcntdq,avx512vl")
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_epi32 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountd_v4si ((__v4si) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_popcnt_epi32 (__m128i __W, __mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A,
(__v4si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_popcnt_epi32 (__mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A,
(__v4si)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_popcnt_epi32 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountd_v8si ((__v8si) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_popcnt_epi32 (__m256i __W, __mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A,
(__v8si) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_popcnt_epi32 (__mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A,
(__v8si)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_epi64 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountq_v2di ((__v2di) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_popcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A,
(__v2di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_popcnt_epi64 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A,
(__v2di)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_popcnt_epi64 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountq_v4di ((__v4di) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_popcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A,
(__v4di) __W,
(__mmask8) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_popcnt_epi64 (__mmask8 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A,
(__v4di)
_mm256_setzero_si256 (),
(__mmask8) __U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512bitalg")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_popcnt_epi8 (__m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountb_v64qi ((__v64qi) __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_popcnt_epi16 (__m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountw_v32hi ((__v32hi) __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512bitalg,avx512bw")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_popcnt_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A,
(__v64qi) __W,
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_popcnt_epi8 (__mmask64 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A,
(__v64qi)
_mm512_setzero_si512 (),
(__mmask64) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_popcnt_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A,
(__v32hi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_popcnt_epi16 (__mmask32 __U, __m512i __A)
{
return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A,
(__v32hi)
_mm512_setzero_si512 (),
(__mmask32) __U);
}*/
/*extern __inline __mmask64
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_bitshuffle_epi64_mask (__m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) -1);
}*/
/*extern __inline __mmask64
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_bitshuffle_epi64_mask (__mmask64 __M, __m512i __A, __m512i __B)
{
return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A,
(__v64qi) __B,
(__mmask64) __M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512bitalg,avx512vl,avx512bw")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_popcnt_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A,
(__v32qi) __W,
(__mmask32) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_popcnt_epi8 (__mmask32 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A,
(__v32qi)
_mm256_setzero_si256 (),
(__mmask32) __U);
}*/
/*extern __inline __mmask32
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_bitshuffle_epi64_mask (__m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) -1);
}*/
/*extern __inline __mmask32
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_bitshuffle_epi64_mask (__mmask32 __M, __m256i __A, __m256i __B)
{
return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A,
(__v32qi) __B,
(__mmask32) __M);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("avx512bitalg,avx512vl")
/*extern __inline __mmask16
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_bitshuffle_epi64_mask (__m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) -1);
}*/
/*extern __inline __mmask16
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_bitshuffle_epi64_mask (__mmask16 __M, __m128i __A, __m128i __B)
{
return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__mmask16) __M);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_popcnt_epi8 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountb_v32qi ((__v32qi) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_popcnt_epi16 (__m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountw_v16hi ((__v16hi) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_epi8 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountb_v16qi ((__v16qi) __A);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_popcnt_epi16 (__m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountw_v8hi ((__v8hi) __A);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_popcnt_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A,
(__v16hi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_popcnt_epi16 (__mmask16 __U, __m256i __A)
{
return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A,
(__v16hi)
_mm256_setzero_si256 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_popcnt_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A,
(__v16qi) __W,
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_popcnt_epi8 (__mmask16 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A,
(__v16qi)
_mm_setzero_si128 (),
(__mmask16) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_popcnt_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A,
(__v8hi) __W,
(__mmask8) __U);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_popcnt_epi16 (__mmask8 __U, __m128i __A)
{
return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A,
(__v8hi)
_mm_setzero_si128 (),
(__mmask8) __U);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sha")
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha1msg1_epu32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_sha1msg1 ((__v4si) __A, (__v4si) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha1msg2_epu32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_sha1msg2 ((__v4si) __A, (__v4si) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha1nexte_epu32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_sha1nexte ((__v4si) __A, (__v4si) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha256msg1_epu32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_sha256msg1 ((__v4si) __A, (__v4si) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha256msg2_epu32 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_sha256msg2 ((__v4si) __A, (__v4si) __B);
}*/
/*extern __inline __m128i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha256rnds2_epu32 (__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_sha256rnds2 ((__v4si) __A, (__v4si) __B,
(__v4si) __C);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("lzcnt")
/*extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__lzcnt16 (unsigned short __X)
{
return __builtin_ia32_lzcnt_u16 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__lzcnt32 (unsigned int __X)
{
return __builtin_ia32_lzcnt_u32 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_lzcnt_u32 (unsigned int __X)
{
return __builtin_ia32_lzcnt_u32 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__lzcnt64 (unsigned long long __X)
{
return __builtin_ia32_lzcnt_u64 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_lzcnt_u64 (unsigned long long __X)
{
return __builtin_ia32_lzcnt_u64 (__X);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("bmi")
/*extern __inline unsigned short __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__tzcnt_u16 (unsigned short __X)
{
return __builtin_ia32_tzcnt_u16 (__X);
}*/
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__andn_u32 (unsigned int __X, unsigned int __Y)
{
return ~__X & __Y;
}
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bextr_u32 (unsigned int __X, unsigned int __Y)
{
return __builtin_ia32_bextr_u32 (__X, __Y);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_bextr_u32 (unsigned int __X, unsigned int __Y, unsigned __Z)
{
return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsi_u32 (unsigned int __X)
{
return __X & -__X;
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsi_u32 (unsigned int __X)
{
return __blsi_u32 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsmsk_u32 (unsigned int __X)
{
return __X ^ (__X - 1);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsmsk_u32 (unsigned int __X)
{
return __blsmsk_u32 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsr_u32 (unsigned int __X)
{
return __X & (__X - 1);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsr_u32 (unsigned int __X)
{
return __blsr_u32 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__tzcnt_u32 (unsigned int __X)
{
return __builtin_ia32_tzcnt_u32 (__X);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_tzcnt_u32 (unsigned int __X)
{
return __builtin_ia32_tzcnt_u32 (__X);
}*/
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__andn_u64 (unsigned long long __X, unsigned long long __Y)
{
return ~__X & __Y;
}
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__bextr_u64 (unsigned long long __X, unsigned long long __Y)
{
return __builtin_ia32_bextr_u64 (__X, __Y);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_bextr_u64 (unsigned long long __X, unsigned int __Y, unsigned int __Z)
{
return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsi_u64 (unsigned long long __X)
{
return __X & -__X;
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsi_u64 (unsigned long long __X)
{
return __blsi_u64 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsmsk_u64 (unsigned long long __X)
{
return __X ^ (__X - 1);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsmsk_u64 (unsigned long long __X)
{
return __blsmsk_u64 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsr_u64 (unsigned long long __X)
{
return __X & (__X - 1);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_blsr_u64 (unsigned long long __X)
{
return __blsr_u64 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__tzcnt_u64 (unsigned long long __X)
{
return __builtin_ia32_tzcnt_u64 (__X);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_tzcnt_u64 (unsigned long long __X)
{
return __builtin_ia32_tzcnt_u64 (__X);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("bmi2")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_bzhi_u32 (unsigned int __X, unsigned int __Y)
{
return __builtin_ia32_bzhi_si (__X, __Y);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_pdep_u32 (unsigned int __X, unsigned int __Y)
{
return __builtin_ia32_pdep_si (__X, __Y);
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_pext_u32 (unsigned int __X, unsigned int __Y)
{
return __builtin_ia32_pext_si (__X, __Y);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_bzhi_u64 (unsigned long long __X, unsigned long long __Y)
{
return __builtin_ia32_bzhi_di (__X, __Y);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_pdep_u64 (unsigned long long __X, unsigned long long __Y)
{
return __builtin_ia32_pdep_di (__X, __Y);
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_pext_u64 (unsigned long long __X, unsigned long long __Y)
{
return __builtin_ia32_pext_di (__X, __Y);
}
/*extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mulx_u64 (unsigned long long __X, unsigned long long __Y,
unsigned long long *__P)
{
unsigned __int128 __res = (unsigned __int128) __X * __Y;
*__P = (unsigned long long) (__res >> 64);
return (unsigned long long) __res;
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("fma")
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmadd_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmadd_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B,
(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmadd_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B,
(__v8sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmadd_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsd3 ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmadd_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddss3 ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfmsubpd ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmsub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfmsubpd256 ((__v4df)__A, (__v4df)__B,
(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfmsubps ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmsub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfmsubps256 ((__v8sf)__A, (__v8sf)__B,
(__v8sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsub_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfmsubsd3 ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsub_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfmsubss3 ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmadd_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfnmaddpd ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fnmadd_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfnmaddpd256 ((__v4df)__A, (__v4df)__B,
(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmadd_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfnmaddps ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfnmaddps256 ((__v8sf)__A, (__v8sf)__B,
(__v8sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmadd_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfnmaddsd3 ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmadd_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfnmaddss3 ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmsub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfnmsubpd ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fnmsub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfnmsubpd256 ((__v4df)__A, (__v4df)__B,
(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmsub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfnmsubps ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fnmsub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfnmsubps256 ((__v8sf)__A, (__v8sf)__B,
(__v8sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmsub_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfnmsubsd3 ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fnmsub_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfnmsubss3 ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmaddsub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B,
(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmaddsub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A,
(__v4df)__B,
(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmaddsub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B,
(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmaddsub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A,
(__v8sf)__B,
(__v8sf)__C);
}*/
/*extern __inline __m128d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsubadd_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d)__builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B,
-(__v2df)__C);
}*/
/*extern __inline __m256d
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmsubadd_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d)__builtin_ia32_vfmaddsubpd256 ((__v4df)__A,
(__v4df)__B,
-(__v4df)__C);
}*/
/*extern __inline __m128
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_fmsubadd_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128)__builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B,
-(__v4sf)__C);
}*/
/*extern __inline __m256
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_fmsubadd_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256)__builtin_ia32_vfmaddsubps256 ((__v8sf)__A,
(__v8sf)__B,
-(__v8sf)__C);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("f16c")
/*extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_cvtsh_ss (unsigned short __S)
{
__v8hi __H = __extension__ (__v8hi){ (short) __S, 0, 0, 0, 0, 0, 0, 0 };
__v4sf __A = __builtin_ia32_vcvtph2ps (__H);
return __builtin_ia32_vec_ext_v4sf (__A, 0);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cvtph_ps (__m128i __A)
{
return (__m128) __builtin_ia32_vcvtph2ps ((__v8hi) __A);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_cvtph_ps (__m128i __A)
{
return (__m256) __builtin_ia32_vcvtph2ps256 ((__v8hi) __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("rtm")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xbegin (void)
{
return __builtin_ia32_xbegin ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xend (void)
{
__builtin_ia32_xend ();
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("rtm")
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_xtest (void)
{
return __builtin_ia32_xtest ();
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target ("shstk")
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_get_ssp (void)
{
return __builtin_ia32_rdsspq ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_inc_ssp (unsigned int __B)
{
__builtin_ia32_incsspq ((unsigned long long) __B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_saveprevssp (void)
{
__builtin_ia32_saveprevssp ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rstorssp (void *__B)
{
__builtin_ia32_rstorssp (__B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wrssd (unsigned int __B, void *__C)
{
__builtin_ia32_wrssd (__B, __C);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wrssq (unsigned long long __B, void *__C)
{
__builtin_ia32_wrssq (__B, __C);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wrussd (unsigned int __B, void *__C)
{
__builtin_ia32_wrussd (__B, __C);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wrussq (unsigned long long __B, void *__C)
{
__builtin_ia32_wrussq (__B, __C);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_setssbsy (void)
{
__builtin_ia32_setssbsy ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_clrssbsy (void *__B)
{
__builtin_ia32_clrssbsy (__B);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("gfni,sse2")
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_gf2p8mul_epi8 (__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi((__v16qi) __A,
(__v16qi) __B);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("gfni,avx")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_gf2p8mul_epi8 (__m256i __A, __m256i __B)
{
return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi ((__v32qi) __A,
(__v32qi) __B);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("gfni,avx512vl")
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mask_gf2p8mul_epi8 (__m128i __A, __mmask16 __B, __m128i __C, __m128i __D)
{
return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __C,
(__v16qi) __D,
(__v16qi)__A, __B);
}*/
/*extern __inline __m128i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maskz_gf2p8mul_epi8 (__mmask16 __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __B,
(__v16qi) __C, (__v16qi) _mm_setzero_si128 (), __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("gfni,avx512vl,avx512bw")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_mask_gf2p8mul_epi8 (__m256i __A, __mmask32 __B, __m256i __C,
__m256i __D)
{
return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi_mask ((__v32qi) __C,
(__v32qi) __D,
(__v32qi)__A, __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maskz_gf2p8mul_epi8 (__mmask32 __A, __m256i __B, __m256i __C)
{
return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi_mask ((__v32qi) __B,
(__v32qi) __C, (__v32qi) _mm256_setzero_si256 (), __A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("gfni,avx512f,avx512bw")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_mask_gf2p8mul_epi8 (__m512i __A, __mmask64 __B, __m512i __C,
__m512i __D)
{
return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi_mask ((__v64qi) __C,
(__v64qi) __D, (__v64qi)__A, __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_maskz_gf2p8mul_epi8 (__mmask64 __A, __m512i __B, __m512i __C)
{
return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi_mask ((__v64qi) __B,
(__v64qi) __C, (__v64qi) _mm512_setzero_si512 (), __A);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_gf2p8mul_epi8 (__m512i __A, __m512i __B)
{
return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi ((__v64qi) __A,
(__v64qi) __B);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("vaes,avx")
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_aesdec_epi128 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_vaesdec_v32qi ((__v32qi) __A, (__v32qi) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_aesdeclast_epi128 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_vaesdeclast_v32qi ((__v32qi) __A,
(__v32qi) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_aesenc_epi128 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_vaesenc_v32qi ((__v32qi) __A, (__v32qi) __B);
}*/
/*extern __inline __m256i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_aesenclast_epi128 (__m256i __A, __m256i __B)
{
return (__m256i)__builtin_ia32_vaesenclast_v32qi ((__v32qi) __A,
(__v32qi) __B);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("vaes,avx512f")
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_aesdec_epi128 (__m512i __A, __m512i __B)
{
return (__m512i)__builtin_ia32_vaesdec_v64qi ((__v64qi) __A, (__v64qi) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_aesdeclast_epi128 (__m512i __A, __m512i __B)
{
return (__m512i)__builtin_ia32_vaesdeclast_v64qi ((__v64qi) __A,
(__v64qi) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_aesenc_epi128 (__m512i __A, __m512i __B)
{
return (__m512i)__builtin_ia32_vaesenc_v64qi ((__v64qi) __A, (__v64qi) __B);
}*/
/*extern __inline __m512i
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm512_aesenclast_epi128 (__m512i __A, __m512i __B)
{
return (__m512i)__builtin_ia32_vaesenclast_v64qi ((__v64qi) __A,
(__v64qi) __B);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("vpclmulqdq,avx512f")
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("vpclmulqdq,avx")
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target ("movdiri")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_directstoreu_u32 (void * __P, unsigned int __A)
{
__builtin_ia32_directstoreu_u32 ((unsigned int *)__P, __A);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_directstoreu_u64 (void * __P, unsigned long long __A)
{
__builtin_ia32_directstoreu_u64 ((unsigned long long *)__P, __A);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target ("movdir64b")
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_movdir64b (void * __P, const void * __Q)
{
__builtin_ia32_movdir64b (__P, __Q);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sgx")
/*extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_encls_u32 (const unsigned int __L, size_t __D[])
{
enum __encls_type
{
__SGX_ECREATE = 0x00,
__SGX_EADD = 0x01,
__SGX_EINIT = 0x02,
__SGX_EREMOVE = 0x03,
__SGX_EDBGRD = 0x04,
__SGX_EDBGWR = 0x05,
__SGX_EEXTEND = 0x06,
__SGX_ELDB = 0x07,
__SGX_ELDU = 0x08,
__SGX_EBLOCK = 0x09,
__SGX_EPA = 0x0A,
__SGX_EWB = 0x0B,
__SGX_ETRACK = 0x0C,
__SGX_EAUG = 0x0D,
__SGX_EMODPR = 0x0E,
__SGX_EMODT = 0x0F,
__SGX_ERDINFO = 0x10,
__SGX_ETRACKC = 0x11,
__SGX_ELDBC = 0x12,
__SGX_ELDUC = 0x13
};
enum __encls_type __T = (enum __encls_type)__L;
unsigned int __R = 0;
if (!__builtin_constant_p (__T))
/*__asm__*/
else switch (__T)
{
case __SGX_ECREATE:
case __SGX_EADD:
case __SGX_EDBGWR:
case __SGX_EEXTEND:
case __SGX_EPA:
case __SGX_EMODPR:
case __SGX_EMODT:
case __SGX_EAUG:
case __SGX_ERDINFO:
/*__asm__*/
break;
case __SGX_EINIT:
case __SGX_ELDB:
case __SGX_ELDU:
case __SGX_EWB:
case __SGX_ELDBC:
case __SGX_ELDUC:
/*__asm__*/
break;
case __SGX_EREMOVE:
case __SGX_EBLOCK:
case __SGX_ETRACK:
case __SGX_ETRACKC:
/*__asm__*/
break;
case __SGX_EDBGRD:
/*__asm__*/
break;
default:
/*__asm__*/
}
return __R;
}*/
/*extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_enclu_u32 (const unsigned int __L, size_t __D[])
{
enum __enclu_type
{
__SGX_EREPORT = 0x00,
__SGX_EGETKEY = 0x01,
__SGX_EENTER = 0x02,
__SGX_ERESUME = 0x03,
__SGX_EEXIT = 0x04,
__SGX_EACCEPT = 0x05,
__SGX_EMODPE = 0x06,
__SGX_EACCEPTCOPY = 0x07
};
enum __enclu_type __T = (enum __enclu_type) __L;
unsigned int __R = 0;
if (!__builtin_constant_p (__T))
/*__asm__*/
else switch (__T)
{
case __SGX_EREPORT:
case __SGX_EACCEPTCOPY:
/*__asm__*/
break;
case __SGX_EGETKEY:
case __SGX_ERESUME:
case __SGX_EACCEPT:
case __SGX_EMODPE:
/*__asm__*/
break;
case __SGX_EENTER:
/*__asm__*/
break;
case __SGX_EEXIT:
/*__asm__*/
break;
default:
/*__asm__*/
}
return __R;
}*/
/*extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_enclv_u32 (const unsigned int __L, size_t __D[])
{
enum __enclv_type
{
__SGX_EDECVIRTCHILD = 0x00,
__SGX_EINCVIRTCHILD = 0x01,
__SGX_ESETCONTEXT = 0x02
};
unsigned int __R = 0;
if (!__builtin_constant_p (__L))
/*__asm__*/
else switch (__L)
{
case __SGX_EDECVIRTCHILD:
case __SGX_EINCVIRTCHILD:
/*__asm__*/
break;
case __SGX_ESETCONTEXT:
/*__asm__*/
break;
default:
/*__asm__*/
}
return __R;
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("pconfig")
/*extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_pconfig_u32 (const unsigned int __L, size_t __D[])
{
enum __pconfig_type
{
__PCONFIG_KEY_PROGRAM = 0x01,
};
unsigned int __R = 0;
if (!__builtin_constant_p (__L))
/*__asm__*/
else switch (__L)
{
case __PCONFIG_KEY_PROGRAM:
/*__asm__*/
break;
default:
/*__asm__*/
}
return __R;
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("waitpkg")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_umonitor (void *__A)
{
__builtin_ia32_umonitor (__A);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_umwait (unsigned int __A, unsigned long long __B)
{
return __builtin_ia32_umwait (__A, __B);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_tpause (unsigned int __A, unsigned long long __B)
{
return __builtin_ia32_tpause (__A, __B);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("cldemote")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_cldemote (void *__A)
{
__builtin_ia32_cldemote (__A);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("rdseed")
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdseed16_step (unsigned short *__p)
{
return __builtin_ia32_rdseed_hi_step (__p);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdseed32_step (unsigned int *__p)
{
return __builtin_ia32_rdseed_si_step (__p);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdseed64_step (unsigned long long *__p)
{
return __builtin_ia32_rdseed_di_step (__p);
}
#pragma GCC pop_options
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_prefetchw (void *__P)
{
__builtin_prefetch (__P, 1, 3 );
}*/
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_subborrow_u32 (unsigned char __CF, unsigned int __X,
unsigned int __Y, unsigned int *__P)
{
return __builtin_ia32_sbb_u32 (__CF, __X, __Y, __P);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_addcarry_u32 (unsigned char __CF, unsigned int __X,
unsigned int __Y, unsigned int *__P)
{
return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_addcarryx_u32 (unsigned char __CF, unsigned int __X,
unsigned int __Y, unsigned int *__P)
{
return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_subborrow_u64 (unsigned char __CF, unsigned long long __X,
unsigned long long __Y, unsigned long long *__P)
{
return __builtin_ia32_sbb_u64 (__CF, __X, __Y, __P);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_addcarry_u64 (unsigned char __CF, unsigned long long __X,
unsigned long long __Y, unsigned long long *__P)
{
return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
}
extern __inline unsigned char
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_addcarryx_u64 (unsigned char __CF, unsigned long long __X,
unsigned long long __Y, unsigned long long *__P)
{
return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
}
#pragma GCC push_options
#pragma GCC target("clwb")
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_clwb (void *__A)
{
__builtin_ia32_clwb (__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("clflushopt")
/*extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_clflushopt (void *__A)
{
__builtin_ia32_clflushopt (__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("wbnoinvd")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wbnoinvd (void)
{
__builtin_ia32_wbnoinvd ();
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("pku")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdpkru_u32 (void)
{
return __builtin_ia32_rdpkru ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wrpkru (unsigned int __key)
{
__builtin_ia32_wrpkru (__key);
}
#pragma GCC pop_options
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_wbinvd (void)
{
__builtin_ia32_wbinvd ();
}
#pragma GCC push_options
#pragma GCC target("rdrnd")
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdrand16_step (unsigned short *__P)
{
return __builtin_ia32_rdrand16_step (__P);
}
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdrand32_step (unsigned int *__P)
{
return __builtin_ia32_rdrand32_step (__P);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("rdpid")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdpid_u32 (void)
{
return __builtin_ia32_rdpid ();
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("fsgsbase")
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_readfsbase_u32 (void)
{
return __builtin_ia32_rdfsbase32 ();
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_readfsbase_u64 (void)
{
return __builtin_ia32_rdfsbase64 ();
}
extern __inline unsigned int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_readgsbase_u32 (void)
{
return __builtin_ia32_rdgsbase32 ();
}
extern __inline unsigned long long
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_readgsbase_u64 (void)
{
return __builtin_ia32_rdgsbase64 ();
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_writefsbase_u32 (unsigned int __B)
{
__builtin_ia32_wrfsbase32 (__B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_writefsbase_u64 (unsigned long long __B)
{
__builtin_ia32_wrfsbase64 (__B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_writegsbase_u32 (unsigned int __B)
{
__builtin_ia32_wrgsbase32 (__B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_writegsbase_u64 (unsigned long long __B)
{
__builtin_ia32_wrgsbase64 (__B);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("rdrnd")
extern __inline int
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_rdrand64_step (unsigned long long *__P)
{
return __builtin_ia32_rdrand64_step (__P);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("ptwrite")
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_ptwrite64 (unsigned long long __B)
{
__builtin_ia32_ptwrite64 (__B);
}
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
_ptwrite32 (unsigned __B)
{
__builtin_ia32_ptwrite32 (__B);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sse,3dnow")
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_femms (void)
{
__builtin_ia32_femms();
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pavgusb (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pavgusb ((__v8qi)__A, (__v8qi)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pf2id (__m64 __A)
{
return (__m64)__builtin_ia32_pf2id ((__v2sf)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfacc (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfacc ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfadd (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfadd ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfcmpeq (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfcmpeq ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfcmpge (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfcmpge ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfcmpgt (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfcmpgt ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfmax (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfmax ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfmin (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfmin ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfmul (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfmul ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfrcp (__m64 __A)
{
return (__m64)__builtin_ia32_pfrcp ((__v2sf)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfrcpit1 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfrcpit1 ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfrcpit2 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfrcpit2 ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfrsqrt (__m64 __A)
{
return (__m64)__builtin_ia32_pfrsqrt ((__v2sf)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfrsqit1 (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfrsqit1 ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfsub (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfsub ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfsubr (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfsubr ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pi2fd (__m64 __A)
{
return (__m64)__builtin_ia32_pi2fd ((__v2si)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pmulhrw (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pmulhrw ((__v4hi)__A, (__v4hi)__B);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_prefetch (void *__P)
{
__builtin_prefetch (__P, 0, 3 );
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_from_float (float __A)
{
return __extension__ (__m64)(__v2sf){ __A, 0.0f };
}*/
/*extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_to_float (__m64 __A)
{
union { __v2sf v; float a[2]; } __tmp;
__tmp.v = (__v2sf)__A;
return __tmp.a[0];
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sse,3dnowa")
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pf2iw (__m64 __A)
{
return (__m64)__builtin_ia32_pf2iw ((__v2sf)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfnacc (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfnacc ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pfpnacc (__m64 __A, __m64 __B)
{
return (__m64)__builtin_ia32_pfpnacc ((__v2sf)__A, (__v2sf)__B);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pi2fw (__m64 __A)
{
return (__m64)__builtin_ia32_pi2fw ((__v2si)__A);
}*/
/*extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_m_pswapd (__m64 __A)
{
return (__m64)__builtin_ia32_pswapdsf ((__v2sf)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("sse4a")
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_sd (double * __P, __m128d __Y)
{
__builtin_ia32_movntsd (__P, (__v2df) __Y);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_stream_ss (float * __P, __m128 __Y)
{
__builtin_ia32_movntss (__P, (__v4sf) __Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_extract_si64 (__m128i __X, __m128i __Y)
{
return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_insert_si64 (__m128i __X,__m128i __Y)
{
return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("fma4")
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msub_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddss ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msub_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmacc_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmacc_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, (__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmacc_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmacc_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, (__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmsub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddps (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmsub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddpd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmsub_ss (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddss (-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_nmsub_sd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsd (-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddsub_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddsub_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msubadd_ps (__m128 __A, __m128 __B, __m128 __C)
{
return (__m128) __builtin_ia32_vfmaddsubps ((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_msubadd_pd (__m128d __A, __m128d __B, __m128d __C)
{
return (__m128d) __builtin_ia32_vfmaddsubpd ((__v2df)__A, (__v2df)__B, -(__v2df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_macc_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_macc_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_msub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_msub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_nmacc_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_nmacc_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, (__v4df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_nmsub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddps256 (-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_nmsub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddpd256 (-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maddsub_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_maddsub_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, (__v4df)__C);
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_msubadd_ps (__m256 __A, __m256 __B, __m256 __C)
{
return (__m256) __builtin_ia32_vfmaddsubps256 ((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_msubadd_pd (__m256d __A, __m256d __B, __m256d __C)
{
return (__m256d) __builtin_ia32_vfmaddsubpd256 ((__v4df)__A, (__v4df)__B, -(__v4df)__C);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("xop")
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacssww ((__v8hi)__A,(__v8hi)__B, (__v8hi)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacsww ((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacsswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacssdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacsdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacssdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacsdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacssdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmacsdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmadcsswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpmadcswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddw_epi8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddbw ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddd_epi8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddbd ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epi8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddbq ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddd_epi16(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddwd ((__v8hi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epi16(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddwq ((__v8hi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epi32(__m128i __A)
{
return (__m128i) __builtin_ia32_vphadddq ((__v4si)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddw_epu8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddubw ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddd_epu8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddubd ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epu8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddubq ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddd_epu16(__m128i __A)
{
return (__m128i) __builtin_ia32_vphadduwd ((__v8hi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epu16(__m128i __A)
{
return (__m128i) __builtin_ia32_vphadduwq ((__v8hi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_haddq_epu32(__m128i __A)
{
return (__m128i) __builtin_ia32_vphaddudq ((__v4si)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsubw_epi8(__m128i __A)
{
return (__m128i) __builtin_ia32_vphsubbw ((__v16qi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsubd_epi16(__m128i __A)
{
return (__m128i) __builtin_ia32_vphsubwd ((__v8hi)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_hsubq_epi32(__m128i __A)
{
return (__m128i) __builtin_ia32_vphsubdq ((__v4si)__A);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpcmov (__A, __B, __C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
{
return (__m128i) __builtin_ia32_vpperm ((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rot_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vprotb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rot_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vprotw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rot_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vprotd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_rot_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vprotq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shl_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshlb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shl_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshlw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shl_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshld ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_shl_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshlq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshab ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshaw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshad ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_sha_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpshaq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomequb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomnequb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epu8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueub ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomequw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomnequw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epu16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueuw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomequd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomnequd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epu32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueud ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomequq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomnequq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epu64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueuq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomeqb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomneqb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epi8(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueb ((__v16qi)__A, (__v16qi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomlew ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgew ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomeqw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomneqw ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalsew ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epi16(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtruew ((__v8hi)__A, (__v8hi)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomled ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomged ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomeqd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomneqd ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalsed ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epi32(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrued ((__v4si)__A, (__v4si)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comlt_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomltq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comle_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomleq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comgt_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgtq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comge_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomgeq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comeq_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomeqq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comneq_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomneqq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comfalse_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomfalseq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_comtrue_epi64(__m128i __A, __m128i __B)
{
return (__m128i) __builtin_ia32_vpcomtrueq ((__v2di)__A, (__v2di)__B);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_frcz_ps (__m128 __A)
{
return (__m128) __builtin_ia32_vfrczps ((__v4sf)__A);
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_frcz_pd (__m128d __A)
{
return (__m128d) __builtin_ia32_vfrczpd ((__v2df)__A);
}*/
/*extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_frcz_ss (__m128 __A, __m128 __B)
{
return (__m128) __builtin_ia32_movss ((__v4sf)__A,
(__v4sf)
__builtin_ia32_vfrczss ((__v4sf)__B));
}*/
/*extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_frcz_sd (__m128d __A, __m128d __B)
{
return (__m128d) __builtin_ia32_movsd ((__v2df)__A,
(__v2df)
__builtin_ia32_vfrczsd ((__v2df)__B));
}*/
/*extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_frcz_ps (__m256 __A)
{
return (__m256) __builtin_ia32_vfrczps256 ((__v8sf)__A);
}*/
/*extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm256_frcz_pd (__m256d __A)
{
return (__m256d) __builtin_ia32_vfrczpd256 ((__v4df)__A);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("lwp")
extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__llwpcb (void *__pcbAddress)
{
__builtin_ia32_llwpcb (__pcbAddress);
}
extern __inline void * __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__slwpcb (void)
{
return __builtin_ia32_slwpcb ();
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("tbm")
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcfill_u32 (unsigned int __X)
{
return __X & (__X + 1);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blci_u32 (unsigned int __X)
{
return __X | ~(__X + 1);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcic_u32 (unsigned int __X)
{
return ~__X & (__X + 1);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcmsk_u32 (unsigned int __X)
{
return __X ^ (__X + 1);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcs_u32 (unsigned int __X)
{
return __X | (__X + 1);
}
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsfill_u32 (unsigned int __X)
{
return __X | (__X - 1);
}*/
/*extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsic_u32 (unsigned int __X)
{
return ~__X | (__X - 1);
}*/
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__t1mskc_u32 (unsigned int __X)
{
return ~__X | (__X + 1);
}
extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__tzmsk_u32 (unsigned int __X)
{
return ~__X & (__X - 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcfill_u64 (unsigned long long __X)
{
return __X & (__X + 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blci_u64 (unsigned long long __X)
{
return __X | ~(__X + 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcic_u64 (unsigned long long __X)
{
return ~__X & (__X + 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcmsk_u64 (unsigned long long __X)
{
return __X ^ (__X + 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blcs_u64 (unsigned long long __X)
{
return __X | (__X + 1);
}
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsfill_u64 (unsigned long long __X)
{
return __X | (__X - 1);
}*/
/*extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__blsic_u64 (unsigned long long __X)
{
return ~__X | (__X - 1);
}*/
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__t1mskc_u64 (unsigned long long __X)
{
return ~__X | (__X + 1);
}
extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
__tzmsk_u64 (unsigned long long __X)
{
return ~__X & (__X - 1);
}
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("mwaitx")
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_monitorx (void const * __P, unsigned int __E, unsigned int __H)
{
__builtin_ia32_monitorx (__P, __E, __H);
}*/
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_mwaitx (unsigned int __E, unsigned int __H, unsigned int __C)
{
__builtin_ia32_mwaitx (__E, __H, __C);
}*/
#pragma GCC pop_options
#pragma GCC push_options
#pragma GCC target("clzero")
/*extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_clzero (void * __I)
{
__builtin_ia32_clzero (__I);
}*/
#pragma GCC pop_options
unsigned int __getcallerseflags(void);
DWORD __segmentlimit(DWORD Selector);
LONGLONG __mulh(LONGLONG Multiplier,LONGLONG Multiplicand);
ULONGLONG __umulh(ULONGLONG Multiplier,ULONGLONG Multiplicand);
DWORD64 __shiftleft128(DWORD64 LowPart,DWORD64 HighPart,BYTE Shift);
DWORD64 __shiftright128(DWORD64 LowPart,DWORD64 HighPart,BYTE Shift);
LONG64 _mul128(LONG64 Multiplier,LONG64 Multiplicand,LONG64 *HighProduct);
DWORD64 _umul128(DWORD64 Multiplier,DWORD64 Multiplicand,DWORD64 *HighProduct);
LONG64 MultiplyExtract128(LONG64 Multiplier,LONG64 Multiplicand,BYTE Shift);
DWORD64 UnsignedMultiplyExtract128(DWORD64 Multiplier,DWORD64 Multiplicand,BYTE Shift);
typedef struct _XMM_SAVE_AREA32 {
WORD ControlWord;
WORD StatusWord;
BYTE TagWord;
BYTE Reserved1;
WORD ErrorOpcode;
DWORD ErrorOffset;
WORD ErrorSelector;
WORD Reserved2;
DWORD DataOffset;
WORD DataSelector;
WORD Reserved3;
DWORD MxCsr;
DWORD MxCsr_Mask;
M128A FloatRegisters[8];
M128A XmmRegisters[16];
BYTE Reserved4[96];
} XMM_SAVE_AREA32,*PXMM_SAVE_AREA32;
typedef struct __attribute__ ((__aligned__ (16))) _CONTEXT {
DWORD64 P1Home;
DWORD64 P2Home;
DWORD64 P3Home;
DWORD64 P4Home;
DWORD64 P5Home;
DWORD64 P6Home;
DWORD ContextFlags;
DWORD MxCsr;
WORD SegCs;
WORD SegDs;
WORD SegEs;
WORD SegFs;
WORD SegGs;
WORD SegSs;
DWORD EFlags;
DWORD64 Dr0;
DWORD64 Dr1;
DWORD64 Dr2;
DWORD64 Dr3;
DWORD64 Dr6;
DWORD64 Dr7;
DWORD64 Rax;
DWORD64 Rcx;
DWORD64 Rdx;
DWORD64 Rbx;
DWORD64 Rsp;
DWORD64 Rbp;
DWORD64 Rsi;
DWORD64 Rdi;
DWORD64 R8;
DWORD64 R9;
DWORD64 R10;
DWORD64 R11;
DWORD64 R12;
DWORD64 R13;
DWORD64 R14;
DWORD64 R15;
DWORD64 Rip;
__extension__ union {
XMM_SAVE_AREA32 FltSave;
XMM_SAVE_AREA32 FloatSave;
__extension__ struct {
M128A Header[2];
M128A Legacy[8];
M128A Xmm0;
M128A Xmm1;
M128A Xmm2;
M128A Xmm3;
M128A Xmm4;
M128A Xmm5;
M128A Xmm6;
M128A Xmm7;
M128A Xmm8;
M128A Xmm9;
M128A Xmm10;
M128A Xmm11;
M128A Xmm12;
M128A Xmm13;
M128A Xmm14;
M128A Xmm15;
};
};
M128A VectorRegister[26];
DWORD64 VectorControl;
DWORD64 DebugControl;
DWORD64 LastBranchToRip;
DWORD64 LastBranchFromRip;
DWORD64 LastExceptionToRip;
DWORD64 LastExceptionFromRip;
} CONTEXT,*PCONTEXT;
typedef struct _RUNTIME_FUNCTION {
DWORD BeginAddress;
DWORD EndAddress;
DWORD UnwindData;
} RUNTIME_FUNCTION,*PRUNTIME_FUNCTION;
typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context);
typedef DWORD (*POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK)(HANDLE Process,PVOID TableAddress,PDWORD Entries,PRUNTIME_FUNCTION *Functions);
typedef struct _LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid : 8;
DWORD Type : 5;
DWORD Dpl : 2;
DWORD Pres : 1;
DWORD LimitHi : 4;
DWORD Sys : 1;
DWORD Reserved_0 : 1;
DWORD Default_Big : 1;
DWORD Granularity : 1;
DWORD BaseHi : 8;
} Bits;
} HighWord;
} LDT_ENTRY,*PLDT_ENTRY;
typedef struct _EXCEPTION_RECORD {
DWORD ExceptionCode;
DWORD ExceptionFlags;
struct _EXCEPTION_RECORD *ExceptionRecord;
PVOID ExceptionAddress;
DWORD NumberParameters;
ULONG_PTR ExceptionInformation[15];
} EXCEPTION_RECORD;
typedef EXCEPTION_RECORD *PEXCEPTION_RECORD;
typedef struct _EXCEPTION_RECORD32 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD ExceptionRecord;
DWORD ExceptionAddress;
DWORD NumberParameters;
DWORD ExceptionInformation[15];
} EXCEPTION_RECORD32,*PEXCEPTION_RECORD32;
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[15];
} EXCEPTION_RECORD64,*PEXCEPTION_RECORD64;
typedef struct _EXCEPTION_POINTERS {
PEXCEPTION_RECORD ExceptionRecord;
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS;
typedef struct _UNWIND_HISTORY_TABLE_ENTRY {
ULONG64 ImageBase;
PRUNTIME_FUNCTION FunctionEntry;
} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
typedef struct _UNWIND_HISTORY_TABLE {
ULONG Count;
BYTE LocalHint;
BYTE GlobalHint;
BYTE Search;
BYTE Once;
ULONG64 LowAddress;
ULONG64 HighAddress;
UNWIND_HISTORY_TABLE_ENTRY Entry[12];
} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
struct _DISPATCHER_CONTEXT;
typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT;
typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT;
struct _DISPATCHER_CONTEXT {
ULONG64 ControlPc;
ULONG64 ImageBase;
PRUNTIME_FUNCTION FunctionEntry;
ULONG64 EstablisherFrame;
ULONG64 TargetIp;
PCONTEXT ContextRecord;
PEXCEPTION_ROUTINE LanguageHandler;
PVOID HandlerData;
PUNWIND_HISTORY_TABLE HistoryTable;
ULONG ScopeIndex;
ULONG Fill0;
};
typedef struct _KNONVOLATILE_CONTEXT_POINTERS
{
PM128A FloatingContext[16];
PULONG64 IntegerContext[16];
} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
typedef PVOID PACCESS_TOKEN;
typedef PVOID PSECURITY_DESCRIPTOR;
typedef PVOID PSID;
typedef PVOID PCLAIMS_BLOB;
typedef DWORD ACCESS_MASK;
typedef ACCESS_MASK *PACCESS_MASK;
typedef struct _GENERIC_MAPPING {
ACCESS_MASK GenericRead;
ACCESS_MASK GenericWrite;
ACCESS_MASK GenericExecute;
ACCESS_MASK GenericAll;
} GENERIC_MAPPING;
typedef GENERIC_MAPPING *PGENERIC_MAPPING;
#pragma pack(push,4)
typedef struct _LUID_AND_ATTRIBUTES {
LUID Luid;
DWORD Attributes;
} LUID_AND_ATTRIBUTES,*PLUID_AND_ATTRIBUTES;
typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1];
typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
#pragma pack(pop)
typedef struct _SID_IDENTIFIER_AUTHORITY {
BYTE Value[6];
} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY;
typedef struct _SID {
BYTE Revision;
BYTE SubAuthorityCount;
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
DWORD SubAuthority[1];
} SID,*PISID;
typedef enum _SID_NAME_USE {
SidTypeUser = 1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown,SidTypeComputer,SidTypeLabel,SidTypeLogonSession
} SID_NAME_USE,*PSID_NAME_USE;
typedef struct _SID_AND_ATTRIBUTES {
PSID Sid;
DWORD Attributes;
} SID_AND_ATTRIBUTES,*PSID_AND_ATTRIBUTES;
typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1];
typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY;
typedef struct _SID_AND_ATTRIBUTES_HASH {
DWORD SidCount;
PSID_AND_ATTRIBUTES SidAttr;
SID_HASH_ENTRY Hash[32];
} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;
typedef enum {
WinNullSid = 0,WinWorldSid = 1,WinLocalSid = 2,WinCreatorOwnerSid = 3,
WinCreatorGroupSid = 4,WinCreatorOwnerServerSid = 5,
WinCreatorGroupServerSid = 6,WinNtAuthoritySid = 7,WinDialupSid = 8,
WinNetworkSid = 9,WinBatchSid = 10,WinInteractiveSid = 11,
WinServiceSid = 12,WinAnonymousSid = 13,WinProxySid = 14,
WinEnterpriseControllersSid = 15,WinSelfSid = 16,
WinAuthenticatedUserSid = 17,WinRestrictedCodeSid = 18,
WinTerminalServerSid = 19,WinRemoteLogonIdSid = 20,WinLogonIdsSid = 21,
WinLocalSystemSid = 22,WinLocalServiceSid = 23,WinNetworkServiceSid = 24,
WinBuiltinDomainSid = 25,WinBuiltinAdministratorsSid = 26,
WinBuiltinUsersSid = 27,WinBuiltinGuestsSid = 28,
WinBuiltinPowerUsersSid = 29,WinBuiltinAccountOperatorsSid = 30,
WinBuiltinSystemOperatorsSid = 31,WinBuiltinPrintOperatorsSid = 32,
WinBuiltinBackupOperatorsSid = 33,WinBuiltinReplicatorSid = 34,
WinBuiltinPreWindows2000CompatibleAccessSid = 35,
WinBuiltinRemoteDesktopUsersSid = 36,
WinBuiltinNetworkConfigurationOperatorsSid = 37,
WinAccountAdministratorSid = 38,WinAccountGuestSid = 39,
WinAccountKrbtgtSid = 40,WinAccountDomainAdminsSid = 41,
WinAccountDomainUsersSid = 42,WinAccountDomainGuestsSid = 43,
WinAccountComputersSid = 44,WinAccountControllersSid = 45,
WinAccountCertAdminsSid = 46,WinAccountSchemaAdminsSid = 47,
WinAccountEnterpriseAdminsSid = 48,WinAccountPolicyAdminsSid = 49,
WinAccountRasAndIasServersSid = 50,WinNTLMAuthenticationSid = 51,
WinDigestAuthenticationSid = 52,WinSChannelAuthenticationSid = 53,
WinThisOrganizationSid = 54,WinOtherOrganizationSid = 55,
WinBuiltinIncomingForestTrustBuildersSid = 56,
WinBuiltinPerfMonitoringUsersSid = 57,WinBuiltinPerfLoggingUsersSid = 58,
WinBuiltinAuthorizationAccessSid = 59,
WinBuiltinTerminalServerLicenseServersSid = 60,
WinBuiltinDCOMUsersSid = 61,WinBuiltinIUsersSid = 62,
WinIUserSid = 63, WinBuiltinCryptoOperatorsSid = 64,
WinUntrustedLabelSid = 65, WinLowLabelSid = 66, WinMediumLabelSid = 67,
WinHighLabelSid = 68, WinSystemLabelSid = 69, WinWriteRestrictedCodeSid = 70,
WinCreatorOwnerRightsSid = 71, WinCacheablePrincipalsGroupSid = 72,
WinNonCacheablePrincipalsGroupSid = 73, WinEnterpriseReadonlyControllersSid = 74,
WinAccountReadonlyControllersSid = 75, WinBuiltinEventLogReadersGroup = 76,
WinNewEnterpriseReadonlyControllersSid = 77, WinBuiltinCertSvcDComAccessGroup = 78,
WinMediumPlusLabelSid = 79, WinLocalLogonSid = 80, WinConsoleLogonSid = 81,
WinThisOrganizationCertificateSid = 82, WinApplicationPackageAuthoritySid = 83,
WinBuiltinAnyPackageSid = 84, WinCapabilityInternetClientSid = 85,
WinCapabilityInternetClientServerSid = 86,
WinCapabilityPrivateNetworkClientServerSid = 87,
WinCapabilityPicturesLibrarySid = 88, WinCapabilityVideosLibrarySid = 89,
WinCapabilityMusicLibrarySid = 90, WinCapabilityDocumentsLibrarySid = 91,
WinCapabilitySharedUserCertificatesSid = 92, WinCapabilityEnterpriseAuthenticationSid = 93,
WinCapabilityRemovableStorageSid = 94, WinBuiltinRDSRemoteAccessServersSid = 95,
WinBuiltinRDSEndpointServersSid = 96, WinBuiltinRDSManagementServersSid = 97,
WinUserModeDriversSid = 98, WinBuiltinHyperVAdminsSid = 99,
WinAccountCloneableControllersSid = 100,
WinBuiltinAccessControlAssistanceOperatorsSid = 101,
WinBuiltinRemoteManagementUsersSid = 102, WinAuthenticationAuthorityAssertedSid = 103,
WinAuthenticationServiceAssertedSid = 104,
WinLocalAccountSid = 105,
WinLocalAccountAndAdministratorSid = 106,
WinAccountProtectedUsersSid = 107,
WinCapabilityAppointmentsSid = 108,
WinCapabilityContactsSid = 109,
WinAccountDefaultSystemManagedSid = 110,
WinBuiltinDefaultSystemManagedGroupSid = 111,
WinBuiltinStorageReplicaAdminsSid = 112,
WinAccountKeyAdminsSid = 113,
WinAccountEnterpriseKeyAdminsSid = 114,
WinAuthenticationKeyTrustSid = 115,
WinAuthenticationKeyPropertyMFASid = 116,
WinAuthenticationKeyPropertyAttestationSid = 117
} WELL_KNOWN_SID_TYPE;
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL;
typedef ACL *PACL;
typedef struct _ACE_HEADER {
BYTE AceType;
BYTE AceFlags;
WORD AceSize;
} ACE_HEADER;
typedef ACE_HEADER *PACE_HEADER;
typedef struct _ACCESS_ALLOWED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_ALLOWED_ACE;
typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
typedef struct _ACCESS_DENIED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_DENIED_ACE;
typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
typedef struct _SYSTEM_AUDIT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_AUDIT_ACE;
typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
typedef struct _SYSTEM_ALARM_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_ALARM_ACE;
typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
typedef struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_RESOURCE_ATTRIBUTE_ACE,*PSYSTEM_RESOURCE_ATTRIBUTE_ACE;
typedef struct _SYSTEM_SCOPED_POLICY_ID_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_SCOPED_POLICY_ID_ACE,*PSYSTEM_SCOPED_POLICY_ID_ACE;
typedef struct _SYSTEM_MANDATORY_LABEL_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE;
typedef struct _ACCESS_DENIED_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE;
typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE;
typedef struct _SYSTEM_ALARM_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE;
typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_ALLOWED_CALLBACK_ACE,*PACCESS_ALLOWED_CALLBACK_ACE;
typedef struct _ACCESS_DENIED_CALLBACK_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_DENIED_CALLBACK_ACE,*PACCESS_DENIED_CALLBACK_ACE;
typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_AUDIT_CALLBACK_ACE,*PSYSTEM_AUDIT_CALLBACK_ACE;
typedef struct _SYSTEM_ALARM_CALLBACK_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_ALARM_CALLBACK_ACE,*PSYSTEM_ALARM_CALLBACK_ACE;
typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE,*PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_DENIED_CALLBACK_OBJECT_ACE,*PACCESS_DENIED_CALLBACK_OBJECT_ACE;
typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE,*PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_ALARM_CALLBACK_OBJECT_ACE,*PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;
typedef enum _ACL_INFORMATION_CLASS {
AclRevisionInformation = 1,AclSizeInformation
} ACL_INFORMATION_CLASS;
typedef struct _ACL_REVISION_INFORMATION {
DWORD AclRevision;
} ACL_REVISION_INFORMATION;
typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;
typedef struct _ACL_SIZE_INFORMATION {
DWORD AceCount;
DWORD AclBytesInUse;
DWORD AclBytesFree;
} ACL_SIZE_INFORMATION;
typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;
typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;
typedef struct _SECURITY_DESCRIPTOR_RELATIVE {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
DWORD Owner;
DWORD Group;
DWORD Sacl;
DWORD Dacl;
} SECURITY_DESCRIPTOR_RELATIVE,*PISECURITY_DESCRIPTOR_RELATIVE;
typedef struct _SECURITY_DESCRIPTOR {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR,*PISECURITY_DESCRIPTOR;
typedef struct _OBJECT_TYPE_LIST {
WORD Level;
WORD Sbz;
GUID *ObjectType;
} OBJECT_TYPE_LIST,*POBJECT_TYPE_LIST;
typedef enum _AUDIT_EVENT_TYPE {
AuditEventObjectAccess,AuditEventDirectoryServiceAccess
} AUDIT_EVENT_TYPE,*PAUDIT_EVENT_TYPE;
typedef struct _PRIVILEGE_SET {
DWORD PrivilegeCount;
DWORD Control;
LUID_AND_ATTRIBUTES Privilege[1];
} PRIVILEGE_SET,*PPRIVILEGE_SET;
typedef enum _ACCESS_REASON_TYPE {
AccessReasonNone = 0x00000000,
AccessReasonAllowedAce = 0x00010000,
AccessReasonDeniedAce = 0x00020000,
AccessReasonAllowedParentAce = 0x00030000,
AccessReasonDeniedParentAce = 0x00040000,
AccessReasonNotGrantedByCape = 0x00050000,
AccessReasonNotGrantedByParentCape = 0x00060000,
AccessReasonNotGrantedToAppContainer = 0x00070000,
AccessReasonMissingPrivilege = 0x00100000,
AccessReasonFromPrivilege = 0x00200000,
AccessReasonIntegrityLevel = 0x00300000,
AccessReasonOwnership = 0x00400000,
AccessReasonNullDacl = 0x00500000,
AccessReasonEmptyDacl = 0x00600000,
AccessReasonNoSD = 0x00700000,
AccessReasonNoGrant = 0x00800000
} ACCESS_REASON_TYPE;
typedef DWORD ACCESS_REASON;
typedef struct _ACCESS_REASONS {
ACCESS_REASON Data[32];
} ACCESS_REASONS,*PACCESS_REASONS;
typedef struct _SE_SECURITY_DESCRIPTOR {
DWORD Size;
DWORD Flags;
PSECURITY_DESCRIPTOR SecurityDescriptor;
} SE_SECURITY_DESCRIPTOR,*PSE_SECURITY_DESCRIPTOR;
typedef struct _SE_ACCESS_REQUEST {
DWORD Size;
PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor;
ACCESS_MASK DesiredAccess;
ACCESS_MASK PreviouslyGrantedAccess;
PSID PrincipalSelfSid;
PGENERIC_MAPPING GenericMapping;
DWORD ObjectTypeListCount;
POBJECT_TYPE_LIST ObjectTypeList;
} SE_ACCESS_REQUEST,*PSE_ACCESS_REQUEST;
typedef struct _SE_ACCESS_REPLY {
DWORD Size;
DWORD ResultListCount;
PACCESS_MASK GrantedAccess;
PDWORD AccessStatus;
PACCESS_REASONS AccessReason;
PPRIVILEGE_SET *Privileges;
} SE_ACCESS_REPLY,*PSE_ACCESS_REPLY;
typedef enum _SECURITY_IMPERSONATION_LEVEL {
SecurityAnonymous,SecurityIdentification,SecurityImpersonation,SecurityDelegation
} SECURITY_IMPERSONATION_LEVEL,*PSECURITY_IMPERSONATION_LEVEL;
typedef enum _TOKEN_TYPE {
TokenPrimary = 1,TokenImpersonation
} TOKEN_TYPE;
typedef TOKEN_TYPE *PTOKEN_TYPE;
typedef enum _TOKEN_ELEVATION_TYPE {
TokenElevationTypeDefault = 1,
TokenElevationTypeFull,
TokenElevationTypeLimited
} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;
typedef enum _TOKEN_INFORMATION_CLASS {
TokenUser = 1,
TokenGroups,
TokenPrivileges,
TokenOwner,
TokenPrimaryGroup,
TokenDefaultDacl,
TokenSource,
TokenType,
TokenImpersonationLevel,
TokenStatistics,
TokenRestrictedSids,
TokenSessionId,
TokenGroupsAndPrivileges,
TokenSessionReference,
TokenSandBoxInert,
TokenAuditPolicy,
TokenOrigin,
TokenElevationType,
TokenLinkedToken,
TokenElevation,
TokenHasRestrictions,
TokenAccessInformation,
TokenVirtualizationAllowed,
TokenVirtualizationEnabled,
TokenIntegrityLevel,
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
TokenIsAppContainer,
TokenCapabilities,
TokenAppContainerSid,
TokenAppContainerNumber,
TokenUserClaimAttributes,
TokenDeviceClaimAttributes,
TokenRestrictedUserClaimAttributes,
TokenRestrictedDeviceClaimAttributes,
TokenDeviceGroups,
TokenRestrictedDeviceGroups,
TokenSecurityAttributes,
TokenIsRestricted,
MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS,*PTOKEN_INFORMATION_CLASS;
typedef struct _TOKEN_USER {
SID_AND_ATTRIBUTES User;
} TOKEN_USER,*PTOKEN_USER;
typedef struct _TOKEN_GROUPS {
DWORD GroupCount;
SID_AND_ATTRIBUTES Groups[1];
} TOKEN_GROUPS,*PTOKEN_GROUPS;
typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[1];
} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES;
typedef struct _TOKEN_OWNER {
PSID Owner;
} TOKEN_OWNER,*PTOKEN_OWNER;
typedef struct _TOKEN_PRIMARY_GROUP {
PSID PrimaryGroup;
} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP;
typedef struct _TOKEN_DEFAULT_DACL {
PACL DefaultDacl;
} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL;
typedef struct _TOKEN_USER_CLAIMS {
PCLAIMS_BLOB UserClaims;
} TOKEN_USER_CLAIMS,*PTOKEN_USER_CLAIMS;
typedef struct _TOKEN_DEVICE_CLAIMS {
PCLAIMS_BLOB DeviceClaims;
} TOKEN_DEVICE_CLAIMS,*PTOKEN_DEVICE_CLAIMS;
typedef struct _TOKEN_GROUPS_AND_PRIVILEGES {
DWORD SidCount;
DWORD SidLength;
PSID_AND_ATTRIBUTES Sids;
DWORD RestrictedSidCount;
DWORD RestrictedSidLength;
PSID_AND_ATTRIBUTES RestrictedSids;
DWORD PrivilegeCount;
DWORD PrivilegeLength;
PLUID_AND_ATTRIBUTES Privileges;
LUID AuthenticationId;
} TOKEN_GROUPS_AND_PRIVILEGES,*PTOKEN_GROUPS_AND_PRIVILEGES;
typedef struct _TOKEN_LINKED_TOKEN {
HANDLE LinkedToken;
} TOKEN_LINKED_TOKEN,*PTOKEN_LINKED_TOKEN;
typedef struct _TOKEN_ELEVATION {
DWORD TokenIsElevated;
} TOKEN_ELEVATION,*PTOKEN_ELEVATION;
typedef struct _TOKEN_MANDATORY_LABEL {
SID_AND_ATTRIBUTES Label;
} TOKEN_MANDATORY_LABEL,*PTOKEN_MANDATORY_LABEL;
typedef struct _TOKEN_MANDATORY_POLICY {
DWORD Policy;
} TOKEN_MANDATORY_POLICY,*PTOKEN_MANDATORY_POLICY;
typedef struct _TOKEN_ACCESS_INFORMATION {
PSID_AND_ATTRIBUTES_HASH SidHash;
PSID_AND_ATTRIBUTES_HASH RestrictedSidHash;
PTOKEN_PRIVILEGES Privileges;
LUID AuthenticationId;
TOKEN_TYPE TokenType;
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
TOKEN_MANDATORY_POLICY MandatoryPolicy;
DWORD Flags;
DWORD AppContainerNumber;
PSID PackageSid;
PSID_AND_ATTRIBUTES_HASH CapabilitiesHash;
} TOKEN_ACCESS_INFORMATION,*PTOKEN_ACCESS_INFORMATION;
typedef struct _TOKEN_AUDIT_POLICY {
UCHAR PerUserPolicy[(((56)) >> 1) + 1];
} TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;
typedef struct _TOKEN_SOURCE {
CHAR SourceName[8];
LUID SourceIdentifier;
} TOKEN_SOURCE,*PTOKEN_SOURCE;
typedef struct _TOKEN_STATISTICS {
LUID TokenId;
LUID AuthenticationId;
LARGE_INTEGER ExpirationTime;
TOKEN_TYPE TokenType;
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
DWORD DynamicCharged;
DWORD DynamicAvailable;
DWORD GroupCount;
DWORD PrivilegeCount;
LUID ModifiedId;
} TOKEN_STATISTICS,*PTOKEN_STATISTICS;
typedef struct _TOKEN_CONTROL {
LUID TokenId;
LUID AuthenticationId;
LUID ModifiedId;
TOKEN_SOURCE TokenSource;
} TOKEN_CONTROL,*PTOKEN_CONTROL;
typedef struct _TOKEN_ORIGIN {
LUID OriginatingLogonSession;
} TOKEN_ORIGIN,*PTOKEN_ORIGIN;
typedef enum _MANDATORY_LEVEL {
MandatoryLevelUntrusted = 0,
MandatoryLevelLow,
MandatoryLevelMedium,
MandatoryLevelHigh,
MandatoryLevelSystem,
MandatoryLevelSecureProcess,
MandatoryLevelCount
} MANDATORY_LEVEL,*PMANDATORY_LEVEL;
typedef struct _TOKEN_APPCONTAINER_INFORMATION {
PSID TokenAppContainer;
} TOKEN_APPCONTAINER_INFORMATION,*PTOKEN_APPCONTAINER_INFORMATION;
typedef struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE {
DWORD64 Version;
PWSTR Name;
} CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE,*PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE;
typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE {
PVOID pValue;
DWORD ValueLength;
} CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE;
typedef struct _CLAIM_SECURITY_ATTRIBUTE_V1 {
PWSTR Name;
WORD ValueType;
WORD Reserved;
DWORD Flags;
DWORD ValueCount;
union {
PLONG64 pInt64;
PDWORD64 pUint64;
PWSTR *ppString;
PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn;
PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString;
} Values;
} CLAIM_SECURITY_ATTRIBUTE_V1,*PCLAIM_SECURITY_ATTRIBUTE_V1;
typedef struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 {
DWORD Name;
WORD ValueType;
WORD Reserved;
DWORD Flags;
DWORD ValueCount;
union {
DWORD pInt64[1];
DWORD pUint64[1];
DWORD ppString[1];
DWORD pFqbn[1];
DWORD pOctetString[1];
} Values;
} CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1,*PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1;
typedef struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION {
WORD Version;
WORD Reserved;
DWORD AttributeCount;
union {
PCLAIM_SECURITY_ATTRIBUTE_V1 pAttributeV1;
} Attribute;
} CLAIM_SECURITY_ATTRIBUTES_INFORMATION,*PCLAIM_SECURITY_ATTRIBUTES_INFORMATION;
typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE;
typedef struct _SECURITY_QUALITY_OF_SERVICE {
DWORD Length;
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
BOOLEAN EffectiveOnly;
} SECURITY_QUALITY_OF_SERVICE,*PSECURITY_QUALITY_OF_SERVICE;
typedef struct _SE_IMPERSONATION_STATE {
PACCESS_TOKEN Token;
BOOLEAN CopyOnOpen;
BOOLEAN EffectiveOnly;
SECURITY_IMPERSONATION_LEVEL Level;
} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE;
typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;
typedef enum _SE_LEARNING_MODE_DATA_TYPE {
SeLearningModeInvalidType = 0,
SeLearningModeSettings,
SeLearningModeMax
} SE_LEARNING_MODE_DATA_TYPE;
typedef struct _SECURITY_CAPABILITIES {
PSID AppContainerSid;
PSID_AND_ATTRIBUTES Capabilities;
DWORD CapabilityCount;
DWORD Reserved;
} SECURITY_CAPABILITIES,*PSECURITY_CAPABILITIES,*LPSECURITY_CAPABILITIES;
typedef struct _JOB_SET_ARRAY {
HANDLE JobHandle;
DWORD MemberLevel;
DWORD Flags;
} JOB_SET_ARRAY,*PJOB_SET_ARRAY;
typedef struct _EXCEPTION_REGISTRATION_RECORD {
__extension__ union {
struct _EXCEPTION_REGISTRATION_RECORD *Next;
struct _EXCEPTION_REGISTRATION_RECORD *prev;
};
__extension__ union {
PEXCEPTION_ROUTINE Handler;
PEXCEPTION_ROUTINE handler;
};
} EXCEPTION_REGISTRATION_RECORD;
typedef EXCEPTION_REGISTRATION_RECORD *PEXCEPTION_REGISTRATION_RECORD;
typedef EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION;
typedef PEXCEPTION_REGISTRATION_RECORD PEXCEPTION_REGISTRATION;
__extension__ typedef struct _NT_TIB {
struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
PVOID StackBase;
PVOID StackLimit;
PVOID SubSystemTib;
__extension__ union {
PVOID FiberData;
DWORD Version;
};
PVOID ArbitraryUserPointer;
struct _NT_TIB *Self;
} NT_TIB;
typedef NT_TIB *PNT_TIB;
__extension__ typedef struct _NT_TIB32 {
DWORD ExceptionList;
DWORD StackBase;
DWORD StackLimit;
DWORD SubSystemTib;
__extension__ union {
DWORD FiberData;
DWORD Version;
};
DWORD ArbitraryUserPointer;
DWORD Self;
} NT_TIB32,*PNT_TIB32;
__extension__ typedef struct _NT_TIB64 {
DWORD64 ExceptionList;
DWORD64 StackBase;
DWORD64 StackLimit;
DWORD64 SubSystemTib;
__extension__ union {
DWORD64 FiberData;
DWORD Version;
};
DWORD64 ArbitraryUserPointer;
DWORD64 Self;
} NT_TIB64,*PNT_TIB64;
typedef struct _UMS_CREATE_THREAD_ATTRIBUTES {
DWORD UmsVersion;
PVOID UmsContext;
PVOID UmsCompletionList;
} UMS_CREATE_THREAD_ATTRIBUTES,*PUMS_CREATE_THREAD_ATTRIBUTES;
typedef struct _QUOTA_LIMITS {
SIZE_T PagedPoolLimit;
SIZE_T NonPagedPoolLimit;
SIZE_T MinimumWorkingSetSize;
SIZE_T MaximumWorkingSetSize;
SIZE_T PagefileLimit;
LARGE_INTEGER TimeLimit;
} QUOTA_LIMITS,*PQUOTA_LIMITS;
typedef union _RATE_QUOTA_LIMIT {
DWORD RateData;
__extension__ struct {
DWORD RatePercent : 7;
DWORD Reserved0 : 25;
} ;
} RATE_QUOTA_LIMIT, *PRATE_QUOTA_LIMIT;
typedef struct _QUOTA_LIMITS_EX {
SIZE_T PagedPoolLimit;
SIZE_T NonPagedPoolLimit;
SIZE_T MinimumWorkingSetSize;
SIZE_T MaximumWorkingSetSize;
SIZE_T PagefileLimit;
LARGE_INTEGER TimeLimit;
SIZE_T WorkingSetLimit;
SIZE_T Reserved2;
SIZE_T Reserved3;
SIZE_T Reserved4;
DWORD Flags;
RATE_QUOTA_LIMIT CpuRateLimit;
} QUOTA_LIMITS_EX,*PQUOTA_LIMITS_EX;
typedef struct _IO_COUNTERS {
ULONGLONG ReadOperationCount;
ULONGLONG WriteOperationCount;
ULONGLONG OtherOperationCount;
ULONGLONG ReadTransferCount;
ULONGLONG WriteTransferCount;
ULONGLONG OtherTransferCount;
} IO_COUNTERS;
typedef IO_COUNTERS *PIO_COUNTERS;
typedef enum _HARDWARE_COUNTER_TYPE {
PMCCounter,
MaxHardwareCounterType
} HARDWARE_COUNTER_TYPE, *PHARDWARE_COUNTER_TYPE;
typedef enum _PROCESS_MITIGATION_POLICY {
ProcessDEPPolicy,
ProcessASLRPolicy,
ProcessDynamicCodePolicy,
ProcessStrictHandleCheckPolicy,
ProcessSystemCallDisablePolicy,
ProcessMitigationOptionsMask,
ProcessExtensionPointDisablePolicy,
ProcessControlFlowGuardPolicy,
ProcessSignaturePolicy,
ProcessFontDisablePolicy,
ProcessImageLoadPolicy,
MaxProcessMitigationPolicy
} PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY;
typedef struct _PROCESS_MITIGATION_ASLR_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD EnableBottomUpRandomization : 1;
DWORD EnableForceRelocateImages : 1;
DWORD EnableHighEntropy : 1;
DWORD DisallowStrippedImages : 1;
DWORD ReservedFlags : 28;
};
};
} PROCESS_MITIGATION_ASLR_POLICY,*PPROCESS_MITIGATION_ASLR_POLICY;
typedef struct _PROCESS_MITIGATION_DEP_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD Enable : 1;
DWORD DisableAtlThunkEmulation : 1;
DWORD ReservedFlags : 30;
};
};
BOOLEAN Permanent;
} PROCESS_MITIGATION_DEP_POLICY,*PPROCESS_MITIGATION_DEP_POLICY;
typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD RaiseExceptionOnInvalidHandleReference : 1;
DWORD HandleExceptionsPermanentlyEnabled : 1;
DWORD ReservedFlags : 30;
};
};
} PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY,*PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY;
typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD DisallowWin32kSystemCalls : 1;
DWORD ReservedFlags : 31;
};
};
} PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY,*PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY;
typedef struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD DisableExtensionPoints : 1;
DWORD ReservedFlags : 31;
};
};
} PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY,*PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY;
typedef struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD EnableControlFlowGuard :1;
DWORD EnableExportSuppression :1;
DWORD StrictMode :1;
DWORD ReservedFlags :29;
};
};
} PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, *PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY;
typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD MicrosoftSignedOnly :1;
DWORD StoreSignedOnly :1;
DWORD MitigationOptIn :1;
DWORD ReservedFlags :29;
};
};
} PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY;
typedef struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD ProhibitDynamicCode :1;
DWORD AllowThreadOptOut :1;
DWORD AllowRemoteDowngrade :1;
DWORD ReservedFlags :30;
};
};
} PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, *PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY;
typedef struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD DisableNonSystemFonts :1;
DWORD AuditNonSystemFontLoading :1;
DWORD ReservedFlags :30;
};
};
} PROCESS_MITIGATION_FONT_DISABLE_POLICY, *PPROCESS_MITIGATION_FONT_DISABLE_POLICY;
typedef struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY {
__extension__ union {
DWORD Flags;
__extension__ struct {
DWORD NoRemoteImages :1;
DWORD NoLowMandatoryLabelImages :1;
DWORD PreferSystem32Images :1;
DWORD ReservedFlags :29;
};
};
} PROCESS_MITIGATION_IMAGE_LOAD_POLICY, *PPROCESS_MITIGATION_IMAGE_LOAD_POLICY;
typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
LARGE_INTEGER TotalUserTime;
LARGE_INTEGER TotalKernelTime;
LARGE_INTEGER ThisPeriodTotalUserTime;
LARGE_INTEGER ThisPeriodTotalKernelTime;
DWORD TotalPageFaultCount;
DWORD TotalProcesses;
DWORD ActiveProcesses;
DWORD TotalTerminatedProcesses;
} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
LARGE_INTEGER PerProcessUserTimeLimit;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD LimitFlags;
SIZE_T MinimumWorkingSetSize;
SIZE_T MaximumWorkingSetSize;
DWORD ActiveProcessLimit;
ULONG_PTR Affinity;
DWORD PriorityClass;
DWORD SchedulingClass;
} JOBOBJECT_BASIC_LIMIT_INFORMATION,*PJOBOBJECT_BASIC_LIMIT_INFORMATION;
typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;
IO_COUNTERS IoInfo;
SIZE_T ProcessMemoryLimit;
SIZE_T JobMemoryLimit;
SIZE_T PeakProcessMemoryUsed;
SIZE_T PeakJobMemoryUsed;
} JOBOBJECT_EXTENDED_LIMIT_INFORMATION,*PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;
typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {
DWORD NumberOfAssignedProcesses;
DWORD NumberOfProcessIdsInList;
ULONG_PTR ProcessIdList[1];
} JOBOBJECT_BASIC_PROCESS_ID_LIST,*PJOBOBJECT_BASIC_PROCESS_ID_LIST;
typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {
DWORD UIRestrictionsClass;
} JOBOBJECT_BASIC_UI_RESTRICTIONS,*PJOBOBJECT_BASIC_UI_RESTRICTIONS;
typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {
DWORD SecurityLimitFlags;
HANDLE JobToken;
PTOKEN_GROUPS SidsToDisable;
PTOKEN_PRIVILEGES PrivilegesToDelete;
PTOKEN_GROUPS RestrictedSids;
} JOBOBJECT_SECURITY_LIMIT_INFORMATION,*PJOBOBJECT_SECURITY_LIMIT_INFORMATION;
typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
DWORD EndOfJobTimeAction;
} JOBOBJECT_END_OF_JOB_TIME_INFORMATION,*PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
PVOID CompletionKey;
HANDLE CompletionPort;
} JOBOBJECT_ASSOCIATE_COMPLETION_PORT,*PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo;
IO_COUNTERS IoInfo;
} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
typedef struct _JOBOBJECT_JOBSET_INFORMATION {
DWORD MemberLevel;
} JOBOBJECT_JOBSET_INFORMATION,*PJOBOBJECT_JOBSET_INFORMATION;
typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE {
ToleranceLow = 1,
ToleranceMedium,
ToleranceHigh
} JOBOBJECT_RATE_CONTROL_TOLERANCE;
typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL {
ToleranceIntervalShort = 1,
ToleranceIntervalMedium,
ToleranceIntervalLong
} JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL;
typedef struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION {
DWORD64 IoReadBytesLimit;
DWORD64 IoWriteBytesLimit;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD64 JobMemoryLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval;
DWORD LimitFlags;
} JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION,*PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION;
typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION {
DWORD LimitFlags;
DWORD ViolationLimitFlags;
DWORD64 IoReadBytes;
DWORD64 IoReadBytesLimit;
DWORD64 IoWriteBytes;
DWORD64 IoWriteBytesLimit;
LARGE_INTEGER PerJobUserTime;
LARGE_INTEGER PerJobUserTimeLimit;
DWORD64 JobMemory;
DWORD64 JobMemoryLimit;
JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance;
JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceLimit;
} JOBOBJECT_LIMIT_VIOLATION_INFORMATION,*PJOBOBJECT_LIMIT_VIOLATION_INFORMATION;
typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION {
DWORD ControlFlags;
__extension__ union {
DWORD CpuRate;
DWORD Weight;
};
} JOBOBJECT_CPU_RATE_CONTROL_INFORMATION,*PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION;
typedef enum _JOBOBJECTINFOCLASS {
JobObjectBasicAccountingInformation = 1, JobObjectBasicLimitInformation,
JobObjectBasicProcessIdList, JobObjectBasicUIRestrictions,
JobObjectSecurityLimitInformation, JobObjectEndOfJobTimeInformation,
JobObjectAssociateCompletionPortInformation, JobObjectBasicAndIoAccountingInformation,
JobObjectExtendedLimitInformation, JobObjectJobSetInformation,
JobObjectGroupInformation,
JobObjectNotificationLimitInformation,
JobObjectLimitViolationInformation,
JobObjectGroupInformationEx,
JobObjectCpuRateControlInformation,
JobObjectCompletionFilter,
JobObjectCompletionCounter,
JobObjectReserved1Information = 18,
JobObjectReserved2Information,
JobObjectReserved3Information,
JobObjectReserved4Information,
JobObjectReserved5Information,
JobObjectReserved6Information,
JobObjectReserved7Information,
JobObjectReserved8Information,
MaxJobObjectInfoClass
} JOBOBJECTINFOCLASS;
typedef enum _FIRMWARE_TYPE {
FirmwareTypeUnknown,
FirmwareTypeBios,
FirmwareTypeUefi,
FirmwareTypeMax
} FIRMWARE_TYPE,*PFIRMWARE_TYPE;
typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {
RelationProcessorCore,RelationNumaNode,RelationCache,
RelationProcessorPackage,RelationGroup,RelationAll=0xffff
} LOGICAL_PROCESSOR_RELATIONSHIP;
typedef enum _PROCESSOR_CACHE_TYPE {
CacheUnified,CacheInstruction,CacheData,CacheTrace
} PROCESSOR_CACHE_TYPE;
typedef struct _CACHE_DESCRIPTOR {
BYTE Level;
BYTE Associativity;
WORD LineSize;
DWORD Size;
PROCESSOR_CACHE_TYPE Type;
} CACHE_DESCRIPTOR,*PCACHE_DESCRIPTOR;
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
ULONG_PTR ProcessorMask;
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
__extension__ union {
struct {
BYTE Flags;
} ProcessorCore;
struct {
DWORD NodeNumber;
} NumaNode;
CACHE_DESCRIPTOR Cache;
ULONGLONG Reserved[2];
} ;
} SYSTEM_LOGICAL_PROCESSOR_INFORMATION,*PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
typedef struct _PROCESSOR_RELATIONSHIP {
BYTE Flags;
BYTE Reserved[21];
WORD GroupCount;
GROUP_AFFINITY GroupMask[1];
} PROCESSOR_RELATIONSHIP,*PPROCESSOR_RELATIONSHIP;
typedef struct _NUMA_NODE_RELATIONSHIP {
DWORD NodeNumber;
BYTE Reserved[20];
GROUP_AFFINITY GroupMask;
} NUMA_NODE_RELATIONSHIP,*PNUMA_NODE_RELATIONSHIP;
typedef struct _CACHE_RELATIONSHIP {
BYTE Level;
BYTE Associativity;
WORD LineSize;
DWORD CacheSize;
PROCESSOR_CACHE_TYPE Type;
BYTE Reserved[20];
GROUP_AFFINITY GroupMask;
} CACHE_RELATIONSHIP,*PCACHE_RELATIONSHIP;
typedef struct _PROCESSOR_GROUP_INFO {
BYTE MaximumProcessorCount;
BYTE ActiveProcessorCount;
BYTE Reserved[38];
KAFFINITY ActiveProcessorMask;
} PROCESSOR_GROUP_INFO,*PPROCESSOR_GROUP_INFO;
typedef struct _GROUP_RELATIONSHIP {
WORD MaximumGroupCount;
WORD ActiveGroupCount;
BYTE Reserved[20];
PROCESSOR_GROUP_INFO GroupInfo[1];
} GROUP_RELATIONSHIP,*PGROUP_RELATIONSHIP;
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX {
LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
DWORD Size;
__extension__ union {
PROCESSOR_RELATIONSHIP Processor;
NUMA_NODE_RELATIONSHIP NumaNode;
CACHE_RELATIONSHIP Cache;
GROUP_RELATIONSHIP Group;
} ;
};
typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX,*PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX;
typedef struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION {
DWORD64 CycleTime;
} SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION,*PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION;
typedef struct _XSTATE_FEATURE {
DWORD Offset;
DWORD Size;
} XSTATE_FEATURE,*PXSTATE_FEATURE;
typedef struct _XSTATE_CONFIGURATION {
DWORD64 EnabledFeatures;
DWORD64 EnabledVolatileFeatures;
DWORD Size;
DWORD OptimizedSave : 1;
XSTATE_FEATURE Features[(64)];
} XSTATE_CONFIGURATION,*PXSTATE_CONFIGURATION;
typedef struct _MEMORY_BASIC_INFORMATION {
PVOID BaseAddress;
PVOID AllocationBase;
DWORD AllocationProtect;
SIZE_T RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
typedef struct _MEMORY_BASIC_INFORMATION32 {
DWORD BaseAddress;
DWORD AllocationBase;
DWORD AllocationProtect;
DWORD RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION32,*PMEMORY_BASIC_INFORMATION32;
typedef struct __attribute__ ((__aligned__ (16))) _MEMORY_BASIC_INFORMATION64 {
ULONGLONG BaseAddress;
ULONGLONG AllocationBase;
DWORD AllocationProtect;
DWORD __alignment1;
ULONGLONG RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
DWORD __alignment2;
} MEMORY_BASIC_INFORMATION64,*PMEMORY_BASIC_INFORMATION64;
typedef struct FILE_ID_128 {
BYTE Identifier[16];
} FILE_ID_128, *PFILE_ID_128;
typedef struct _FILE_NOTIFY_INFORMATION {
DWORD NextEntryOffset;
DWORD Action;
DWORD FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
typedef union _FILE_SEGMENT_ELEMENT {
PVOID64 Buffer;
ULONGLONG Alignment;
} FILE_SEGMENT_ELEMENT,*PFILE_SEGMENT_ELEMENT;
typedef struct _REPARSE_GUID_DATA_BUFFER {
DWORD ReparseTag;
WORD ReparseDataLength;
WORD Reserved;
GUID ReparseGuid;
struct {
BYTE DataBuffer[1];
} GenericReparseBuffer;
} REPARSE_GUID_DATA_BUFFER,*PREPARSE_GUID_DATA_BUFFER;
extern const GUID GUID_MAX_POWER_SAVINGS;
extern const GUID GUID_MIN_POWER_SAVINGS;
extern const GUID GUID_TYPICAL_POWER_SAVINGS;
extern const GUID NO_SUBGROUP_GUID;
extern const GUID ALL_POWERSCHEMES_GUID;
extern const GUID GUID_POWERSCHEME_PERSONALITY;
extern const GUID GUID_ACTIVE_POWERSCHEME;
extern const GUID GUID_IDLE_RESILIENCY_SUBGROUP;
extern const GUID GUID_IDLE_RESILIENCY_PERIOD;
extern const GUID GUID_DISK_COALESCING_POWERDOWN_TIMEOUT;
extern const GUID GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT;
extern const GUID GUID_VIDEO_SUBGROUP;
extern const GUID GUID_VIDEO_POWERDOWN_TIMEOUT;
extern const GUID GUID_VIDEO_ANNOYANCE_TIMEOUT;
extern const GUID GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE;
extern const GUID GUID_VIDEO_DIM_TIMEOUT;
extern const GUID GUID_VIDEO_ADAPTIVE_POWERDOWN;
extern const GUID GUID_MONITOR_POWER_ON;
extern const GUID GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS;
extern const GUID GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS;
extern const GUID GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS;
extern const GUID GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS;
extern const GUID GUID_CONSOLE_DISPLAY_STATE;
extern const GUID GUID_ALLOW_DISPLAY_REQUIRED;
extern const GUID GUID_VIDEO_CONSOLE_LOCK_TIMEOUT;
extern const GUID GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP;
extern const GUID GUID_NON_ADAPTIVE_INPUT_TIMEOUT;
extern const GUID GUID_DISK_SUBGROUP;
extern const GUID GUID_DISK_POWERDOWN_TIMEOUT;
extern const GUID GUID_DISK_IDLE_TIMEOUT;
extern const GUID GUID_DISK_BURST_IGNORE_THRESHOLD;
extern const GUID GUID_DISK_ADAPTIVE_POWERDOWN;
extern const GUID GUID_SLEEP_SUBGROUP;
extern const GUID GUID_SLEEP_IDLE_THRESHOLD;
extern const GUID GUID_STANDBY_TIMEOUT;
extern const GUID GUID_UNATTEND_SLEEP_TIMEOUT;
extern const GUID GUID_HIBERNATE_TIMEOUT;
extern const GUID GUID_HIBERNATE_FASTS4_POLICY;
extern const GUID GUID_CRITICAL_POWER_TRANSITION;
extern const GUID GUID_SYSTEM_AWAYMODE;
extern const GUID GUID_ALLOW_AWAYMODE;
extern const GUID GUID_ALLOW_STANDBY_STATES;
extern const GUID GUID_ALLOW_RTC_WAKE;
extern const GUID GUID_ALLOW_SYSTEM_REQUIRED;
extern const GUID GUID_SYSTEM_BUTTON_SUBGROUP;
extern const GUID GUID_POWERBUTTON_ACTION;
extern const GUID GUID_SLEEPBUTTON_ACTION;
extern const GUID GUID_USERINTERFACEBUTTON_ACTION;
extern const GUID GUID_LIDCLOSE_ACTION;
extern const GUID GUID_LIDOPEN_POWERSTATE;
extern const GUID GUID_BATTERY_SUBGROUP;
extern const GUID GUID_BATTERY_DISCHARGE_ACTION_0;
extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_0;
extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_0;
extern const GUID GUID_BATTERY_DISCHARGE_ACTION_1;
extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_1;
extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_1;
extern const GUID GUID_BATTERY_DISCHARGE_ACTION_2;
extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_2;
extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_2;
extern const GUID GUID_BATTERY_DISCHARGE_ACTION_3;
extern const GUID GUID_BATTERY_DISCHARGE_LEVEL_3;
extern const GUID GUID_BATTERY_DISCHARGE_FLAGS_3;
extern const GUID GUID_PROCESSOR_SETTINGS_SUBGROUP;
extern const GUID GUID_PROCESSOR_THROTTLE_POLICY;
extern const GUID GUID_PROCESSOR_THROTTLE_MAXIMUM;
extern const GUID GUID_PROCESSOR_THROTTLE_MINIMUM;
extern const GUID GUID_PROCESSOR_ALLOW_THROTTLING;
extern const GUID GUID_PROCESSOR_IDLESTATE_POLICY;
extern const GUID GUID_PROCESSOR_PERFSTATE_POLICY;
extern const GUID GUID_PROCESSOR_PERF_INCREASE_THRESHOLD;
extern const GUID GUID_PROCESSOR_PERF_DECREASE_THRESHOLD;
extern const GUID GUID_PROCESSOR_PERF_INCREASE_POLICY;
extern const GUID GUID_PROCESSOR_PERF_DECREASE_POLICY;
extern const GUID GUID_PROCESSOR_PERF_INCREASE_TIME;
extern const GUID GUID_PROCESSOR_PERF_DECREASE_TIME;
extern const GUID GUID_PROCESSOR_PERF_TIME_CHECK;
extern const GUID GUID_PROCESSOR_PERF_BOOST_POLICY;
extern const GUID GUID_PROCESSOR_PERF_BOOST_MODE;
extern const GUID GUID_PROCESSOR_IDLE_ALLOW_SCALING;
extern const GUID GUID_PROCESSOR_IDLE_DISABLE;
extern const GUID GUID_PROCESSOR_IDLE_STATE_MAXIMUM;
extern const GUID GUID_PROCESSOR_IDLE_TIME_CHECK;
extern const GUID GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD;
extern const GUID GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD;
extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD;
extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD;
extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY;
extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY;
extern const GUID GUID_PROCESSOR_CORE_PARKING_MAX_CORES;
extern const GUID GUID_PROCESSOR_CORE_PARKING_MIN_CORES;
extern const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME;
extern const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME;
extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR;
extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD;
extern const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING;
extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR;
extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD;
extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING;
extern const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD;
extern const GUID GUID_PROCESSOR_PARKING_CORE_OVERRIDE;
extern const GUID GUID_PROCESSOR_PARKING_PERF_STATE;
extern const GUID GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD;
extern const GUID GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD;
extern const GUID GUID_PROCESSOR_PERF_HISTORY;
extern const GUID GUID_PROCESSOR_PERF_LATENCY_HINT;
extern const GUID GUID_PROCESSOR_DISTRIBUTE_UTILITY;
extern const GUID GUID_SYSTEM_COOLING_POLICY;
extern const GUID GUID_LOCK_CONSOLE_ON_WAKE;
extern const GUID GUID_DEVICE_IDLE_POLICY;
extern const GUID GUID_ACDC_POWER_SOURCE;
extern const GUID GUID_LIDSWITCH_STATE_CHANGE;
extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
extern const GUID GUID_GLOBAL_USER_PRESENCE;
extern const GUID GUID_SESSION_DISPLAY_STATUS;
extern const GUID GUID_SESSION_USER_PRESENCE;
extern const GUID GUID_IDLE_BACKGROUND_TASK;
extern const GUID GUID_BACKGROUND_TASK_NOTIFICATION;
extern const GUID GUID_APPLAUNCH_BUTTON;
extern const GUID GUID_PCIEXPRESS_SETTINGS_SUBGROUP;
extern const GUID GUID_PCIEXPRESS_ASPM_POLICY;
extern const GUID GUID_ENABLE_SWITCH_FORCED_SHUTDOWN;
typedef enum _SYSTEM_POWER_STATE {
PowerSystemUnspecified = 0,PowerSystemWorking = 1,PowerSystemSleeping1 = 2,PowerSystemSleeping2 = 3,PowerSystemSleeping3 = 4,PowerSystemHibernate = 5,PowerSystemShutdown = 6,PowerSystemMaximum = 7
} SYSTEM_POWER_STATE,*PSYSTEM_POWER_STATE;
typedef enum {
PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate,
PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff,
PowerActionWarmEject
} POWER_ACTION,*PPOWER_ACTION;
typedef enum _DEVICE_POWER_STATE {
PowerDeviceUnspecified = 0, PowerDeviceD0, PowerDeviceD1, PowerDeviceD2, PowerDeviceD3,
PowerDeviceMaximum
} DEVICE_POWER_STATE,*PDEVICE_POWER_STATE;
typedef enum _MONITOR_DISPLAY_STATE {
PowerMonitorOff = 0, PowerMonitorOn, PowerMonitorDim
} MONITOR_DISPLAY_STATE, *PMONITOR_DISPLAY_STATE;
typedef enum _USER_ACTIVITY_PRESENCE {
PowerUserPresent = 0,
PowerUserNotPresent,
PowerUserInactive,
PowerUserMaximum,
PowerUserInvalid = PowerUserMaximum
} USER_ACTIVITY_PRESENCE,*PUSER_ACTIVITY_PRESENCE;
typedef DWORD EXECUTION_STATE, *PEXECUTION_STATE;
typedef enum {
LT_DONT_CARE,LT_LOWEST_LATENCY
} LATENCY_TIME;
typedef enum _POWER_REQUEST_TYPE {
PowerRequestDisplayRequired,
PowerRequestSystemRequired,
PowerRequestAwayModeRequired,
PowerRequestExecutionRequired
} POWER_REQUEST_TYPE,*PPOWER_REQUEST_TYPE;
typedef struct CM_Power_Data_s {
DWORD PD_Size;
DEVICE_POWER_STATE PD_MostRecentPowerState;
DWORD PD_Capabilities;
DWORD PD_D1Latency;
DWORD PD_D2Latency;
DWORD PD_D3Latency;
DEVICE_POWER_STATE PD_PowerStateMapping[7];
SYSTEM_POWER_STATE PD_DeepestSystemWake;
} CM_POWER_DATA,*PCM_POWER_DATA;
typedef enum {
SystemPowerPolicyAc,
SystemPowerPolicyDc,
VerifySystemPolicyAc,
VerifySystemPolicyDc,
SystemPowerCapabilities,
SystemBatteryState,
SystemPowerStateHandler,
ProcessorStateHandler,
SystemPowerPolicyCurrent,
AdministratorPowerPolicy,
SystemReserveHiberFile,
ProcessorInformation,
SystemPowerInformation,
ProcessorStateHandler2,
LastWakeTime,
LastSleepTime,
SystemExecutionState,
SystemPowerStateNotifyHandler,
ProcessorPowerPolicyAc,
ProcessorPowerPolicyDc,
VerifyProcessorPowerPolicyAc,
VerifyProcessorPowerPolicyDc,
ProcessorPowerPolicyCurrent,
SystemPowerStateLogging,
SystemPowerLoggingEntry,
SetPowerSettingValue,
NotifyUserPowerSetting,
PowerInformationLevelUnused0,
SystemMonitorHiberBootPowerOff,
SystemVideoState,
TraceApplicationPowerMessage,
TraceApplicationPowerMessageEnd,
ProcessorPerfStates,
ProcessorIdleStates,
ProcessorCap,
SystemWakeSource,
SystemHiberFileInformation,
TraceServicePowerMessage,
ProcessorLoad,
PowerShutdownNotification,
MonitorCapabilities,
SessionPowerInit,
SessionDisplayState,
PowerRequestCreate,
PowerRequestAction,
GetPowerRequestList,
ProcessorInformationEx,
NotifyUserModeLegacyPowerEvent,
GroupPark,
ProcessorIdleDomains,
WakeTimerList,
SystemHiberFileSize,
ProcessorIdleStatesHv,
ProcessorPerfStatesHv,
ProcessorPerfCapHv,
ProcessorSetIdle,
LogicalProcessorIdling,
UserPresence,
PowerSettingNotificationName,
GetPowerSettingValue,
IdleResiliency,
SessionRITState,
SessionConnectNotification,
SessionPowerCleanup,
SessionLockState,
SystemHiberbootState,
PlatformInformation,
PdcInvocation,
MonitorInvocation,
FirmwareTableInformationRegistered,
SetShutdownSelectedTime,
SuspendResumeInvocation,
PlmPowerRequestCreate,
ScreenOff,
CsDeviceNotification,
PlatformRole,
LastResumePerformance,
DisplayBurst,
ExitLatencySamplingPercentage,
ApplyLowPowerScenarioSettings,
PowerInformationLevelMaximum
} POWER_INFORMATION_LEVEL;
typedef enum {
UserNotPresent = 0,
UserPresent = 1,
UserUnknown = 0xff
} POWER_USER_PRESENCE_TYPE,*PPOWER_USER_PRESENCE_TYPE;
typedef struct _POWER_USER_PRESENCE {
POWER_USER_PRESENCE_TYPE UserPresence;
} POWER_USER_PRESENCE,*PPOWER_USER_PRESENCE;
typedef struct _POWER_SESSION_CONNECT {
BOOLEAN Connected;
BOOLEAN Console;
} POWER_SESSION_CONNECT,*PPOWER_SESSION_CONNECT;
typedef struct _POWER_SESSION_TIMEOUTS {
DWORD InputTimeout;
DWORD DisplayTimeout;
} POWER_SESSION_TIMEOUTS,*PPOWER_SESSION_TIMEOUTS;
typedef struct _POWER_SESSION_RIT_STATE {
BOOLEAN Active;
DWORD LastInputTime;
} POWER_SESSION_RIT_STATE,*PPOWER_SESSION_RIT_STATE;
typedef struct _POWER_SESSION_WINLOGON {
DWORD SessionId;
BOOLEAN Console;
BOOLEAN Locked;
} POWER_SESSION_WINLOGON,*PPOWER_SESSION_WINLOGON;
typedef struct _POWER_IDLE_RESILIENCY {
DWORD CoalescingTimeout;
DWORD IdleResiliencyPeriod;
} POWER_IDLE_RESILIENCY,*PPOWER_IDLE_RESILIENCY;
typedef enum {
MonitorRequestReasonUnknown,
MonitorRequestReasonPowerButton,
MonitorRequestReasonRemoteConnection,
MonitorRequestReasonScMonitorpower,
MonitorRequestReasonUserInput,
MonitorRequestReasonAcDcDisplayBurst,
MonitorRequestReasonUserDisplayBurst,
MonitorRequestReasonPoSetSystemState,
MonitorRequestReasonSetThreadExecutionState,
MonitorRequestReasonFullWake,
MonitorRequestReasonSessionUnlock,
MonitorRequestReasonScreenOffRequest,
MonitorRequestReasonIdleTimeout,
MonitorRequestReasonPolicyChange,
MonitorRequestReasonMax
} POWER_MONITOR_REQUEST_REASON;
typedef struct _POWER_MONITOR_INVOCATION {
BOOLEAN On;
BOOLEAN Console;
POWER_MONITOR_REQUEST_REASON RequestReason;
} POWER_MONITOR_INVOCATION,*PPOWER_MONITOR_INVOCATION;
typedef struct _RESUME_PERFORMANCE {
DWORD PostTimeMs;
ULONGLONG TotalResumeTimeMs;
ULONGLONG ResumeCompleteTimestamp;
} RESUME_PERFORMANCE,*PRESUME_PERFORMANCE;
typedef enum {
PoAc,
PoDc,
PoHot,
PoConditionMaximum
} SYSTEM_POWER_CONDITION;
typedef struct {
DWORD Version;
GUID Guid;
SYSTEM_POWER_CONDITION PowerCondition;
DWORD DataLength;
BYTE Data[1];
} SET_POWER_SETTING_VALUE,*PSET_POWER_SETTING_VALUE;
typedef struct {
GUID Guid;
} NOTIFY_USER_POWER_SETTING,*PNOTIFY_USER_POWER_SETTING;
typedef struct _APPLICATIONLAUNCH_SETTING_VALUE {
LARGE_INTEGER ActivationTime;
DWORD Flags;
DWORD ButtonInstanceID;
} APPLICATIONLAUNCH_SETTING_VALUE,*PAPPLICATIONLAUNCH_SETTING_VALUE;
typedef enum _POWER_PLATFORM_ROLE {
PlatformRoleUnspecified = 0,
PlatformRoleDesktop,
PlatformRoleMobile,
PlatformRoleWorkstation,
PlatformRoleEnterpriseServer,
PlatformRoleSOHOServer,
PlatformRoleAppliancePC,
PlatformRolePerformanceServer,
PlatformRoleSlate,
PlatformRoleMaximum
} POWER_PLATFORM_ROLE,*PPOWER_PLATFORM_ROLE;
typedef struct _POWER_PLATFORM_INFORMATION {
BOOLEAN AoAc;
} POWER_PLATFORM_INFORMATION,*PPOWER_PLATFORM_INFORMATION;
typedef struct {
DWORD Granularity;
DWORD Capacity;
} BATTERY_REPORTING_SCALE,*PBATTERY_REPORTING_SCALE;
typedef struct {
DWORD Frequency;
DWORD Flags;
DWORD PercentFrequency;
} PPM_WMI_LEGACY_PERFSTATE,*PPPM_WMI_LEGACY_PERFSTATE;
typedef struct {
DWORD Latency;
DWORD Power;
DWORD TimeCheck;
BYTE PromotePercent;
BYTE DemotePercent;
BYTE StateType;
BYTE Reserved;
DWORD StateFlags;
DWORD Context;
DWORD IdleHandler;
DWORD Reserved1;
} PPM_WMI_IDLE_STATE,*PPPM_WMI_IDLE_STATE;
typedef struct {
DWORD Type;
DWORD Count;
DWORD TargetState;
DWORD OldState;
DWORD64 TargetProcessors;
PPM_WMI_IDLE_STATE State[1];
} PPM_WMI_IDLE_STATES,*PPPM_WMI_IDLE_STATES;
typedef struct {
DWORD Type;
DWORD Count;
DWORD TargetState;
DWORD OldState;
PVOID TargetProcessors;
PPM_WMI_IDLE_STATE State[1];
} PPM_WMI_IDLE_STATES_EX,*PPPM_WMI_IDLE_STATES_EX;
typedef struct {
DWORD Frequency;
DWORD Power;
BYTE PercentFrequency;
BYTE IncreaseLevel;
BYTE DecreaseLevel;
BYTE Type;
DWORD IncreaseTime;
DWORD DecreaseTime;
DWORD64 Control;
DWORD64 Status;
DWORD HitCount;
DWORD Reserved1;
DWORD64 Reserved2;
DWORD64 Reserved3;
} PPM_WMI_PERF_STATE,*PPPM_WMI_PERF_STATE;
typedef struct {
DWORD Count;
DWORD MaxFrequency;
DWORD CurrentState;
DWORD MaxPerfState;
DWORD MinPerfState;
DWORD LowestPerfState;
DWORD ThermalConstraint;
BYTE BusyAdjThreshold;
BYTE PolicyType;
BYTE Type;
BYTE Reserved;
DWORD TimerInterval;
DWORD64 TargetProcessors;
DWORD PStateHandler;
DWORD PStateContext;
DWORD TStateHandler;
DWORD TStateContext;
DWORD FeedbackHandler;
DWORD Reserved1;
DWORD64 Reserved2;
PPM_WMI_PERF_STATE State[1];
} PPM_WMI_PERF_STATES,*PPPM_WMI_PERF_STATES;
typedef struct {
DWORD Count;
DWORD MaxFrequency;
DWORD CurrentState;
DWORD MaxPerfState;
DWORD MinPerfState;
DWORD LowestPerfState;
DWORD ThermalConstraint;
BYTE BusyAdjThreshold;
BYTE PolicyType;
BYTE Type;
BYTE Reserved;
DWORD TimerInterval;
PVOID TargetProcessors;
DWORD PStateHandler;
DWORD PStateContext;
DWORD TStateHandler;
DWORD TStateContext;
DWORD FeedbackHandler;
DWORD Reserved1;
DWORD64 Reserved2;
PPM_WMI_PERF_STATE State[1];
} PPM_WMI_PERF_STATES_EX,*PPPM_WMI_PERF_STATES_EX;
typedef struct {
DWORD IdleTransitions;
DWORD FailedTransitions;
DWORD InvalidBucketIndex;
DWORD64 TotalTime;
DWORD IdleTimeBuckets[6];
} PPM_IDLE_STATE_ACCOUNTING,*PPPM_IDLE_STATE_ACCOUNTING;
typedef struct {
DWORD StateCount;
DWORD TotalTransitions;
DWORD ResetCount;
DWORD64 StartTime;
PPM_IDLE_STATE_ACCOUNTING State[1];
} PPM_IDLE_ACCOUNTING,*PPPM_IDLE_ACCOUNTING;
typedef struct {
DWORD64 TotalTimeUs;
DWORD MinTimeUs;
DWORD MaxTimeUs;
DWORD Count;
} PPM_IDLE_STATE_BUCKET_EX,*PPPM_IDLE_STATE_BUCKET_EX;
typedef struct {
DWORD64 TotalTime;
DWORD IdleTransitions;
DWORD FailedTransitions;
DWORD InvalidBucketIndex;
DWORD MinTimeUs;
DWORD MaxTimeUs;
DWORD CancelledTransitions;
PPM_IDLE_STATE_BUCKET_EX IdleTimeBuckets[16];
} PPM_IDLE_STATE_ACCOUNTING_EX,*PPPM_IDLE_STATE_ACCOUNTING_EX;
typedef struct {
DWORD StateCount;
DWORD TotalTransitions;
DWORD ResetCount;
DWORD AbortCount;
DWORD64 StartTime;
PPM_IDLE_STATE_ACCOUNTING_EX State[1];
} PPM_IDLE_ACCOUNTING_EX,*PPPM_IDLE_ACCOUNTING_EX;
typedef struct {
DWORD State;
DWORD Status;
DWORD Latency;
DWORD Speed;
DWORD Processor;
} PPM_PERFSTATE_EVENT,*PPPM_PERFSTATE_EVENT;
typedef struct {
DWORD State;
DWORD Latency;
DWORD Speed;
DWORD64 Processors;
} PPM_PERFSTATE_DOMAIN_EVENT,*PPPM_PERFSTATE_DOMAIN_EVENT;
typedef struct {
DWORD NewState;
DWORD OldState;
DWORD64 Processors;
} PPM_IDLESTATE_EVENT,*PPPM_IDLESTATE_EVENT;
typedef struct {
DWORD ThermalConstraint;
DWORD64 Processors;
} PPM_THERMALCHANGE_EVENT,*PPPM_THERMALCHANGE_EVENT;
typedef struct {
BYTE Mode;
DWORD64 Processors;
} PPM_THERMAL_POLICY_EVENT,*PPPM_THERMAL_POLICY_EVENT;
extern const GUID PPM_PERFSTATE_CHANGE_GUID;
extern const GUID PPM_PERFSTATE_DOMAIN_CHANGE_GUID;
extern const GUID PPM_IDLESTATE_CHANGE_GUID;
extern const GUID PPM_PERFSTATES_DATA_GUID;
extern const GUID PPM_IDLESTATES_DATA_GUID;
extern const GUID PPM_IDLE_ACCOUNTING_GUID;
extern const GUID PPM_IDLE_ACCOUNTING_EX_GUID;
extern const GUID PPM_THERMALCONSTRAINT_GUID;
extern const GUID PPM_PERFMON_PERFSTATE_GUID;
extern const GUID PPM_THERMAL_POLICY_CHANGE_GUID;
typedef struct {
POWER_ACTION Action;
DWORD Flags;
DWORD EventCode;
} POWER_ACTION_POLICY,*PPOWER_ACTION_POLICY;
typedef struct {
DWORD TimeCheck;
BYTE DemotePercent;
BYTE PromotePercent;
BYTE Spare[2];
} PROCESSOR_IDLESTATE_INFO,*PPROCESSOR_IDLESTATE_INFO;
typedef struct {
BOOLEAN Enable;
BYTE Spare[3];
DWORD BatteryLevel;
POWER_ACTION_POLICY PowerPolicy;
SYSTEM_POWER_STATE MinSystemState;
} SYSTEM_POWER_LEVEL,*PSYSTEM_POWER_LEVEL;
typedef struct _SYSTEM_POWER_POLICY {
DWORD Revision;
POWER_ACTION_POLICY PowerButton;
POWER_ACTION_POLICY SleepButton;
POWER_ACTION_POLICY LidClose;
SYSTEM_POWER_STATE LidOpenWake;
DWORD Reserved;
POWER_ACTION_POLICY Idle;
DWORD IdleTimeout;
BYTE IdleSensitivity;
BYTE DynamicThrottle;
BYTE Spare2[2];
SYSTEM_POWER_STATE MinSleep;
SYSTEM_POWER_STATE MaxSleep;
SYSTEM_POWER_STATE ReducedLatencySleep;
DWORD WinLogonFlags;
DWORD Spare3;
DWORD DozeS4Timeout;
DWORD BroadcastCapacityResolution;
SYSTEM_POWER_LEVEL DischargePolicy[4];
DWORD VideoTimeout;
BOOLEAN VideoDimDisplay;
DWORD VideoReserved[3];
DWORD SpindownTimeout;
BOOLEAN OptimizeForPower;
BYTE FanThrottleTolerance;
BYTE ForcedThrottle;
BYTE MinThrottle;
POWER_ACTION_POLICY OverThrottled;
} SYSTEM_POWER_POLICY,*PSYSTEM_POWER_POLICY;
typedef struct {
WORD Revision;
union {
WORD AsWORD;
__extension__ struct {
WORD AllowScaling : 1;
WORD Disabled : 1;
WORD Reserved : 14;
} ;
} Flags;
DWORD PolicyCount;
PROCESSOR_IDLESTATE_INFO Policy[0x3];
} PROCESSOR_IDLESTATE_POLICY,*PPROCESSOR_IDLESTATE_POLICY;
typedef struct _PROCESSOR_POWER_POLICY_INFO {
DWORD TimeCheck;
DWORD DemoteLimit;
DWORD PromoteLimit;
BYTE DemotePercent;
BYTE PromotePercent;
BYTE Spare[2];
DWORD AllowDemotion:1;
DWORD AllowPromotion:1;
DWORD Reserved:30;
} PROCESSOR_POWER_POLICY_INFO,*PPROCESSOR_POWER_POLICY_INFO;
typedef struct _PROCESSOR_POWER_POLICY {
DWORD Revision;
BYTE DynamicThrottle;
BYTE Spare[3];
DWORD DisableCStates:1;
DWORD Reserved:31;
DWORD PolicyCount;
PROCESSOR_POWER_POLICY_INFO Policy[3];
} PROCESSOR_POWER_POLICY,*PPROCESSOR_POWER_POLICY;
typedef struct {
DWORD Revision;
BYTE MaxThrottle;
BYTE MinThrottle;
BYTE BusyAdjThreshold;
__extension__ union {
BYTE Spare;
union {
BYTE AsBYTE;
__extension__ struct {
BYTE NoDomainAccounting : 1;
BYTE IncreasePolicy: 2;
BYTE DecreasePolicy: 2;
BYTE Reserved : 3;
} ;
} Flags;
} ;
DWORD TimeCheck;
DWORD IncreaseTime;
DWORD DecreaseTime;
DWORD IncreasePercent;
DWORD DecreasePercent;
} PROCESSOR_PERFSTATE_POLICY,*PPROCESSOR_PERFSTATE_POLICY;
typedef struct _ADMINISTRATOR_POWER_POLICY {
SYSTEM_POWER_STATE MinSleep;
SYSTEM_POWER_STATE MaxSleep;
DWORD MinVideoTimeout;
DWORD MaxVideoTimeout;
DWORD MinSpindownTimeout;
DWORD MaxSpindownTimeout;
} ADMINISTRATOR_POWER_POLICY,*PADMINISTRATOR_POWER_POLICY;
typedef struct {
BOOLEAN PowerButtonPresent;
BOOLEAN SleepButtonPresent;
BOOLEAN LidPresent;
BOOLEAN SystemS1;
BOOLEAN SystemS2;
BOOLEAN SystemS3;
BOOLEAN SystemS4;
BOOLEAN SystemS5;
BOOLEAN HiberFilePresent;
BOOLEAN FullWake;
BOOLEAN VideoDimPresent;
BOOLEAN ApmPresent;
BOOLEAN UpsPresent;
BOOLEAN ThermalControl;
BOOLEAN ProcessorThrottle;
BYTE ProcessorMinThrottle;
BYTE ProcessorMaxThrottle;
BOOLEAN FastSystemS4;
BYTE spare2[3];
BOOLEAN DiskSpinDown;
BYTE spare3[8];
BOOLEAN SystemBatteriesPresent;
BOOLEAN BatteriesAreShortTerm;
BATTERY_REPORTING_SCALE BatteryScale[3];
SYSTEM_POWER_STATE AcOnLineWake;
SYSTEM_POWER_STATE SoftLidWake;
SYSTEM_POWER_STATE RtcWake;
SYSTEM_POWER_STATE MinDeviceWakeState;
SYSTEM_POWER_STATE DefaultLowLatencyWake;
} SYSTEM_POWER_CAPABILITIES,*PSYSTEM_POWER_CAPABILITIES;
typedef struct {
BOOLEAN AcOnLine;
BOOLEAN BatteryPresent;
BOOLEAN Charging;
BOOLEAN Discharging;
BOOLEAN Spare1[4];
DWORD MaxCapacity;
DWORD RemainingCapacity;
DWORD Rate;
DWORD EstimatedTime;
DWORD DefaultAlert1;
DWORD DefaultAlert2;
} SYSTEM_BATTERY_STATE,*PSYSTEM_BATTERY_STATE;
#pragma pack(push,4)
#pragma pack(push,2)
typedef struct _IMAGE_DOS_HEADER {
WORD e_magic;
WORD e_cblp;
WORD e_cp;
WORD e_crlc;
WORD e_cparhdr;
WORD e_minalloc;
WORD e_maxalloc;
WORD e_ss;
WORD e_sp;
WORD e_csum;
WORD e_ip;
WORD e_cs;
WORD e_lfarlc;
WORD e_ovno;
WORD e_res[4];
WORD e_oemid;
WORD e_oeminfo;
WORD e_res2[10];
LONG e_lfanew;
} IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
typedef struct _IMAGE_OS2_HEADER {
WORD ne_magic;
CHAR ne_ver;
CHAR ne_rev;
WORD ne_enttab;
WORD ne_cbenttab;
LONG ne_crc;
WORD ne_flags;
WORD ne_autodata;
WORD ne_heap;
WORD ne_stack;
LONG ne_csip;
LONG ne_sssp;
WORD ne_cseg;
WORD ne_cmod;
WORD ne_cbnrestab;
WORD ne_segtab;
WORD ne_rsrctab;
WORD ne_restab;
WORD ne_modtab;
WORD ne_imptab;
LONG ne_nrestab;
WORD ne_cmovent;
WORD ne_align;
WORD ne_cres;
BYTE ne_exetyp;
BYTE ne_flagsothers;
WORD ne_pretthunks;
WORD ne_psegrefbytes;
WORD ne_swaparea;
WORD ne_expver;
} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER;
typedef struct _IMAGE_VXD_HEADER {
WORD e32_magic;
BYTE e32_border;
BYTE e32_worder;
DWORD e32_level;
WORD e32_cpu;
WORD e32_os;
DWORD e32_ver;
DWORD e32_mflags;
DWORD e32_mpages;
DWORD e32_startobj;
DWORD e32_eip;
DWORD e32_stackobj;
DWORD e32_esp;
DWORD e32_pagesize;
DWORD e32_lastpagesize;
DWORD e32_fixupsize;
DWORD e32_fixupsum;
DWORD e32_ldrsize;
DWORD e32_ldrsum;
DWORD e32_objtab;
DWORD e32_objcnt;
DWORD e32_objmap;
DWORD e32_itermap;
DWORD e32_rsrctab;
DWORD e32_rsrccnt;
DWORD e32_restab;
DWORD e32_enttab;
DWORD e32_dirtab;
DWORD e32_dircnt;
DWORD e32_fpagetab;
DWORD e32_frectab;
DWORD e32_impmod;
DWORD e32_impmodcnt;
DWORD e32_impproc;
DWORD e32_pagesum;
DWORD e32_datapage;
DWORD e32_preload;
DWORD e32_nrestab;
DWORD e32_cbnrestab;
DWORD e32_nressum;
DWORD e32_autodata;
DWORD e32_debuginfo;
DWORD e32_debuglen;
DWORD e32_instpreload;
DWORD e32_instdemand;
DWORD e32_heapsize;
BYTE e32_res3[12];
DWORD e32_winresoff;
DWORD e32_winreslen;
WORD e32_devid;
WORD e32_ddkver;
} IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER;
#pragma pack(pop)
typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
WORD SizeOfOptionalHeader;
WORD Characteristics;
} IMAGE_FILE_HEADER,*PIMAGE_FILE_HEADER;
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY;
typedef struct _IMAGE_OPTIONAL_HEADER {
WORD Magic;
BYTE MajorLinkerVersion;
BYTE MinorLinkerVersion;
DWORD SizeOfCode;
DWORD SizeOfInitializedData;
DWORD SizeOfUninitializedData;
DWORD AddressOfEntryPoint;
DWORD BaseOfCode;
DWORD BaseOfData;
DWORD ImageBase;
DWORD SectionAlignment;
DWORD FileAlignment;
WORD MajorOperatingSystemVersion;
WORD MinorOperatingSystemVersion;
WORD MajorImageVersion;
WORD MinorImageVersion;
WORD MajorSubsystemVersion;
WORD MinorSubsystemVersion;
DWORD Win32VersionValue;
DWORD SizeOfImage;
DWORD SizeOfHeaders;
DWORD CheckSum;
WORD Subsystem;
WORD DllCharacteristics;
DWORD SizeOfStackReserve;
DWORD SizeOfStackCommit;
DWORD SizeOfHeapReserve;
DWORD SizeOfHeapCommit;
DWORD LoaderFlags;
DWORD NumberOfRvaAndSizes;
IMAGE_DATA_DIRECTORY DataDirectory[16];
} IMAGE_OPTIONAL_HEADER32,*PIMAGE_OPTIONAL_HEADER32;
typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
WORD Magic;
BYTE MajorLinkerVersion;
BYTE MinorLinkerVersion;
DWORD SizeOfCode;
DWORD SizeOfInitializedData;
DWORD SizeOfUninitializedData;
DWORD AddressOfEntryPoint;
DWORD BaseOfCode;
DWORD BaseOfData;
DWORD BaseOfBss;
DWORD GprMask;
DWORD CprMask[4];
DWORD GpValue;
} IMAGE_ROM_OPTIONAL_HEADER,*PIMAGE_ROM_OPTIONAL_HEADER;
typedef struct _IMAGE_OPTIONAL_HEADER64 {
WORD Magic;
BYTE MajorLinkerVersion;
BYTE MinorLinkerVersion;
DWORD SizeOfCode;
DWORD SizeOfInitializedData;
DWORD SizeOfUninitializedData;
DWORD AddressOfEntryPoint;
DWORD BaseOfCode;
ULONGLONG ImageBase;
DWORD SectionAlignment;
DWORD FileAlignment;
WORD MajorOperatingSystemVersion;
WORD MinorOperatingSystemVersion;
WORD MajorImageVersion;
WORD MinorImageVersion;
WORD MajorSubsystemVersion;
WORD MinorSubsystemVersion;
DWORD Win32VersionValue;
DWORD SizeOfImage;
DWORD SizeOfHeaders;
DWORD CheckSum;
WORD Subsystem;
WORD DllCharacteristics;
ULONGLONG SizeOfStackReserve;
ULONGLONG SizeOfStackCommit;
ULONGLONG SizeOfHeapReserve;
ULONGLONG SizeOfHeapCommit;
DWORD LoaderFlags;
DWORD NumberOfRvaAndSizes;
IMAGE_DATA_DIRECTORY DataDirectory[16];
} IMAGE_OPTIONAL_HEADER64,*PIMAGE_OPTIONAL_HEADER64;
typedef IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER;
typedef PIMAGE_OPTIONAL_HEADER64 PIMAGE_OPTIONAL_HEADER;
typedef struct _IMAGE_NT_HEADERS64 {
DWORD Signature;
IMAGE_FILE_HEADER FileHeader;
IMAGE_OPTIONAL_HEADER64 OptionalHeader;
} IMAGE_NT_HEADERS64,*PIMAGE_NT_HEADERS64;
typedef struct _IMAGE_NT_HEADERS {
DWORD Signature;
IMAGE_FILE_HEADER FileHeader;
IMAGE_OPTIONAL_HEADER32 OptionalHeader;
} IMAGE_NT_HEADERS32,*PIMAGE_NT_HEADERS32;
typedef struct _IMAGE_ROM_HEADERS {
IMAGE_FILE_HEADER FileHeader;
IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS;
typedef IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS;
typedef PIMAGE_NT_HEADERS64 PIMAGE_NT_HEADERS;
typedef struct ANON_OBJECT_HEADER {
WORD Sig1;
WORD Sig2;
WORD Version;
WORD Machine;
DWORD TimeDateStamp;
CLSID ClassID;
DWORD SizeOfData;
} ANON_OBJECT_HEADER;
typedef struct ANON_OBJECT_HEADER_V2 {
WORD Sig1;
WORD Sig2;
WORD Version;
WORD Machine;
DWORD TimeDateStamp;
CLSID ClassID;
DWORD SizeOfData;
DWORD Flags;
DWORD MetaDataSize;
DWORD MetaDataOffset;
} ANON_OBJECT_HEADER_V2;
typedef struct ANON_OBJECT_HEADER_BIGOBJ {
WORD Sig1;
WORD Sig2;
WORD Version;
WORD Machine;
DWORD TimeDateStamp;
CLSID ClassID;
DWORD SizeOfData;
DWORD Flags;
DWORD MetaDataSize;
DWORD MetaDataOffset;
DWORD NumberOfSections;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
} ANON_OBJECT_HEADER_BIGOBJ;
typedef struct _IMAGE_SECTION_HEADER {
BYTE Name[8];
union {
DWORD PhysicalAddress;
DWORD VirtualSize;
} Misc;
DWORD VirtualAddress;
DWORD SizeOfRawData;
DWORD PointerToRawData;
DWORD PointerToRelocations;
DWORD PointerToLinenumbers;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD Characteristics;
} IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER;
#pragma pack(push,2)
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short;
DWORD Long;
} Name;
DWORD LongName[2];
} N;
DWORD Value;
SHORT SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL;
typedef IMAGE_SYMBOL *PIMAGE_SYMBOL;
typedef struct _IMAGE_SYMBOL_EX {
union {
BYTE ShortName[8];
struct {
DWORD Short;
DWORD Long;
} Name;
DWORD LongName[2];
} N;
DWORD Value;
LONG SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL_EX, *PIMAGE_SYMBOL_EX;
#pragma pack(push,2)
typedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF {
BYTE bAuxType;
BYTE bReserved;
DWORD SymbolTableIndex;
BYTE rgbReserved[12];
} IMAGE_AUX_SYMBOL_TOKEN_DEF, *PIMAGE_AUX_SYMBOL_TOKEN_DEF;
#pragma pack(pop)
typedef union _IMAGE_AUX_SYMBOL {
struct {
DWORD TagIndex;
union {
struct {
WORD Linenumber;
WORD Size;
} LnSz;
DWORD TotalSize;
} Misc;
union {
struct {
DWORD PointerToLinenumber;
DWORD PointerToNextFunction;
} Function;
struct {
WORD Dimension[4];
} Array;
} FcnAry;
WORD TvIndex;
} Sym;
struct {
BYTE Name[18];
} File;
struct {
DWORD Length;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD CheckSum;
SHORT Number;
BYTE Selection;
} Section;
IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef;
struct {
DWORD crc;
BYTE rgbReserved[14];
} CRC;
} IMAGE_AUX_SYMBOL, *PIMAGE_AUX_SYMBOL;
typedef union _IMAGE_AUX_SYMBOL_EX {
struct {
DWORD WeakDefaultSymIndex;
DWORD WeakSearchType;
BYTE rgbReserved[12];
} Sym;
struct {
BYTE Name[sizeof (IMAGE_SYMBOL_EX)];
} File;
struct {
DWORD Length;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD CheckSum;
SHORT Number;
BYTE Selection;
BYTE bReserved;
SHORT HighNumber;
BYTE rgbReserved[2];
} Section;
__extension__ struct {
IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef;
BYTE rgbReserved[2];
};
struct {
DWORD crc;
BYTE rgbReserved[16];
} CRC;
} IMAGE_AUX_SYMBOL_EX, *PIMAGE_AUX_SYMBOL_EX;
typedef enum IMAGE_AUX_SYMBOL_TYPE {
IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1
} IMAGE_AUX_SYMBOL_TYPE;
typedef struct _IMAGE_RELOCATION {
__extension__ union {
DWORD VirtualAddress;
DWORD RelocCount;
} ;
DWORD SymbolTableIndex;
WORD Type;
} IMAGE_RELOCATION;
typedef IMAGE_RELOCATION *PIMAGE_RELOCATION;
typedef struct _IMAGE_LINENUMBER {
union {
DWORD SymbolTableIndex;
DWORD VirtualAddress;
} Type;
WORD Linenumber;
} IMAGE_LINENUMBER;
typedef IMAGE_LINENUMBER *PIMAGE_LINENUMBER;
#pragma pack(pop)
typedef struct _IMAGE_BASE_RELOCATION {
DWORD VirtualAddress;
DWORD SizeOfBlock;
} IMAGE_BASE_RELOCATION;
typedef IMAGE_BASE_RELOCATION *PIMAGE_BASE_RELOCATION;
typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
BYTE Name[16];
BYTE Date[12];
BYTE UserID[6];
BYTE GroupID[6];
BYTE Mode[8];
BYTE Size[10];
BYTE EndHeader[2];
} IMAGE_ARCHIVE_MEMBER_HEADER,*PIMAGE_ARCHIVE_MEMBER_HEADER;
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Name;
DWORD Base;
DWORD NumberOfFunctions;
DWORD NumberOfNames;
DWORD AddressOfFunctions;
DWORD AddressOfNames;
DWORD AddressOfNameOrdinals;
} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY;
typedef struct _IMAGE_IMPORT_BY_NAME {
WORD Hint;
CHAR Name[1];
} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME;
#pragma pack(push,8)
typedef struct _IMAGE_THUNK_DATA64 {
union {
ULONGLONG ForwarderString;
ULONGLONG Function;
ULONGLONG Ordinal;
ULONGLONG AddressOfData;
} u1;
} IMAGE_THUNK_DATA64;
typedef IMAGE_THUNK_DATA64 *PIMAGE_THUNK_DATA64;
#pragma pack(pop)
typedef struct _IMAGE_THUNK_DATA32 {
union {
DWORD ForwarderString;
DWORD Function;
DWORD Ordinal;
DWORD AddressOfData;
} u1;
} IMAGE_THUNK_DATA32;
typedef IMAGE_THUNK_DATA32 *PIMAGE_THUNK_DATA32;
typedef void ( *PIMAGE_TLS_CALLBACK)(PVOID DllHandle,DWORD Reason,PVOID Reserved);
typedef struct _IMAGE_TLS_DIRECTORY64 {
ULONGLONG StartAddressOfRawData;
ULONGLONG EndAddressOfRawData;
ULONGLONG AddressOfIndex;
ULONGLONG AddressOfCallBacks;
DWORD SizeOfZeroFill;
DWORD Characteristics;
} IMAGE_TLS_DIRECTORY64;
typedef IMAGE_TLS_DIRECTORY64 *PIMAGE_TLS_DIRECTORY64;
typedef struct _IMAGE_TLS_DIRECTORY32 {
DWORD StartAddressOfRawData;
DWORD EndAddressOfRawData;
DWORD AddressOfIndex;
DWORD AddressOfCallBacks;
DWORD SizeOfZeroFill;
DWORD Characteristics;
} IMAGE_TLS_DIRECTORY32;
typedef IMAGE_TLS_DIRECTORY32 *PIMAGE_TLS_DIRECTORY32;
typedef IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA;
typedef PIMAGE_THUNK_DATA64 PIMAGE_THUNK_DATA;
typedef IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY;
typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY;
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
__extension__ union {
DWORD Characteristics;
DWORD OriginalFirstThunk;
} ;
DWORD TimeDateStamp;
DWORD ForwarderChain;
DWORD Name;
DWORD FirstThunk;
} IMAGE_IMPORT_DESCRIPTOR;
typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR;
typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
DWORD TimeDateStamp;
WORD OffsetModuleName;
WORD NumberOfModuleForwarderRefs;
} IMAGE_BOUND_IMPORT_DESCRIPTOR,*PIMAGE_BOUND_IMPORT_DESCRIPTOR;
typedef struct _IMAGE_BOUND_FORWARDER_REF {
DWORD TimeDateStamp;
WORD OffsetModuleName;
WORD Reserved;
} IMAGE_BOUND_FORWARDER_REF,*PIMAGE_BOUND_FORWARDER_REF;
typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR {
union {
DWORD AllAttributes;
__extension__ struct {
DWORD RvaBased : 1;
DWORD ReservedAttributes : 31;
};
} Attributes;
DWORD DllNameRVA;
DWORD ModuleHandleRVA;
DWORD ImportAddressTableRVA;
DWORD ImportNameTableRVA;
DWORD BoundImportAddressTableRVA;
DWORD UnloadInformationTableRVA;
DWORD TimeDateStamp;
} IMAGE_DELAYLOAD_DESCRIPTOR,*PIMAGE_DELAYLOAD_DESCRIPTOR;
typedef const IMAGE_DELAYLOAD_DESCRIPTOR *PCIMAGE_DELAYLOAD_DESCRIPTOR;
typedef struct _IMAGE_RESOURCE_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
WORD NumberOfNamedEntries;
WORD NumberOfIdEntries;
} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY;
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
__extension__ union {
__extension__ struct {
DWORD NameOffset:31;
DWORD NameIsString:1;
} ;
DWORD Name;
WORD Id;
} ;
__extension__ union {
DWORD OffsetToData;
__extension__ struct {
DWORD OffsetToDirectory:31;
DWORD DataIsDirectory:1;
} ;
} ;
} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;
typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
WORD Length;
CHAR NameString[1];
} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING;
typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
WORD Length;
WCHAR NameString[1];
} IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U;
typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
DWORD OffsetToData;
DWORD Size;
DWORD CodePage;
DWORD Reserved;
} IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY;
typedef struct {
DWORD Size;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD GlobalFlagsClear;
DWORD GlobalFlagsSet;
DWORD CriticalSectionDefaultTimeout;
DWORD DeCommitFreeBlockThreshold;
DWORD DeCommitTotalFreeThreshold;
DWORD LockPrefixTable;
DWORD MaximumAllocationSize;
DWORD VirtualMemoryThreshold;
DWORD ProcessHeapFlags;
DWORD ProcessAffinityMask;
WORD CSDVersion;
WORD Reserved1;
DWORD EditList;
DWORD SecurityCookie;
DWORD SEHandlerTable;
DWORD SEHandlerCount;
} IMAGE_LOAD_CONFIG_DIRECTORY32,*PIMAGE_LOAD_CONFIG_DIRECTORY32;
typedef struct {
DWORD Size;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD GlobalFlagsClear;
DWORD GlobalFlagsSet;
DWORD CriticalSectionDefaultTimeout;
ULONGLONG DeCommitFreeBlockThreshold;
ULONGLONG DeCommitTotalFreeThreshold;
ULONGLONG LockPrefixTable;
ULONGLONG MaximumAllocationSize;
ULONGLONG VirtualMemoryThreshold;
ULONGLONG ProcessAffinityMask;
DWORD ProcessHeapFlags;
WORD CSDVersion;
WORD Reserved1;
ULONGLONG EditList;
ULONGLONG SecurityCookie;
ULONGLONG SEHandlerTable;
ULONGLONG SEHandlerCount;
} IMAGE_LOAD_CONFIG_DIRECTORY64,*PIMAGE_LOAD_CONFIG_DIRECTORY64;
typedef IMAGE_LOAD_CONFIG_DIRECTORY64 IMAGE_LOAD_CONFIG_DIRECTORY;
typedef PIMAGE_LOAD_CONFIG_DIRECTORY64 PIMAGE_LOAD_CONFIG_DIRECTORY;
typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
DWORD FuncStart;
DWORD PrologLen : 8;
DWORD FuncLen : 22;
DWORD ThirtyTwoBit : 1;
DWORD ExceptionFlag : 1;
} IMAGE_CE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY {
ULONGLONG BeginAddress;
ULONGLONG EndAddress;
ULONGLONG ExceptionHandler;
ULONGLONG HandlerData;
ULONGLONG PrologEndAddress;
} IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
DWORD EndAddress;
DWORD ExceptionHandler;
DWORD HandlerData;
DWORD PrologEndAddress;
} IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
__extension__ union {
DWORD UnwindData;
__extension__ struct {
DWORD Flag : 2;
DWORD FunctionLength : 11;
DWORD Ret : 2;
DWORD H : 1;
DWORD Reg : 3;
DWORD R : 1;
DWORD L : 1;
DWORD C : 1;
DWORD StackAdjust : 10;
} ;
} ;
} IMAGE_ARM_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
__extension__ union {
DWORD UnwindData;
__extension__ struct {
DWORD Flag : 2;
DWORD FunctionLength : 11;
DWORD RegF : 3;
DWORD RegI : 4;
DWORD H : 1;
DWORD CR : 2;
DWORD FrameSize : 9;
} ;
} ;
} IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
DWORD EndAddress;
__extension__ union {
DWORD UnwindInfoAddress;
DWORD UnwindData;
} ;
} _IMAGE_RUNTIME_FUNCTION_ENTRY,*_PIMAGE_RUNTIME_FUNCTION_ENTRY;
typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY;
typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY;
typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY;
typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_DEBUG_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Type;
DWORD SizeOfData;
DWORD AddressOfRawData;
DWORD PointerToRawData;
} IMAGE_DEBUG_DIRECTORY,*PIMAGE_DEBUG_DIRECTORY;
typedef struct _IMAGE_COFF_SYMBOLS_HEADER {
DWORD NumberOfSymbols;
DWORD LvaToFirstSymbol;
DWORD NumberOfLinenumbers;
DWORD LvaToFirstLinenumber;
DWORD RvaToFirstByteOfCode;
DWORD RvaToLastByteOfCode;
DWORD RvaToFirstByteOfData;
DWORD RvaToLastByteOfData;
} IMAGE_COFF_SYMBOLS_HEADER,*PIMAGE_COFF_SYMBOLS_HEADER;
typedef struct _FPO_DATA {
DWORD ulOffStart;
DWORD cbProcSize;
DWORD cdwLocals;
WORD cdwParams;
WORD cbProlog : 8;
WORD cbRegs : 3;
WORD fHasSEH : 1;
WORD fUseBP : 1;
WORD reserved : 1;
WORD cbFrame : 2;
} FPO_DATA,*PFPO_DATA;
typedef struct _IMAGE_DEBUG_MISC {
DWORD DataType;
DWORD Length;
BOOLEAN Unicode;
BYTE Reserved[3];
BYTE Data[1];
} IMAGE_DEBUG_MISC,*PIMAGE_DEBUG_MISC;
typedef struct _IMAGE_FUNCTION_ENTRY {
DWORD StartingAddress;
DWORD EndingAddress;
DWORD EndOfPrologue;
} IMAGE_FUNCTION_ENTRY,*PIMAGE_FUNCTION_ENTRY;
typedef struct _IMAGE_FUNCTION_ENTRY64 {
ULONGLONG StartingAddress;
ULONGLONG EndingAddress;
__extension__ union {
ULONGLONG EndOfPrologue;
ULONGLONG UnwindInfoAddress;
} ;
} IMAGE_FUNCTION_ENTRY64,*PIMAGE_FUNCTION_ENTRY64;
typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
WORD Signature;
WORD Flags;
WORD Machine;
WORD Characteristics;
DWORD TimeDateStamp;
DWORD CheckSum;
DWORD ImageBase;
DWORD SizeOfImage;
DWORD NumberOfSections;
DWORD ExportedNamesSize;
DWORD DebugDirectorySize;
DWORD SectionAlignment;
DWORD Reserved[2];
} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
typedef struct _NON_PAGED_DEBUG_INFO {
WORD Signature;
WORD Flags;
DWORD Size;
WORD Machine;
WORD Characteristics;
DWORD TimeDateStamp;
DWORD CheckSum;
DWORD SizeOfImage;
ULONGLONG ImageBase;
} NON_PAGED_DEBUG_INFO,*PNON_PAGED_DEBUG_INFO;
typedef struct _ImageArchitectureHeader {
unsigned int AmaskValue: 1;
int Adummy1 : 7;
unsigned int AmaskShift : 8;
int Adummy2 : 16;
DWORD FirstEntryRVA;
} IMAGE_ARCHITECTURE_HEADER,*PIMAGE_ARCHITECTURE_HEADER;
typedef struct _ImageArchitectureEntry {
DWORD FixupInstRVA;
DWORD NewInst;
} IMAGE_ARCHITECTURE_ENTRY,*PIMAGE_ARCHITECTURE_ENTRY;
#pragma pack(pop)
typedef struct IMPORT_OBJECT_HEADER {
WORD Sig1;
WORD Sig2;
WORD Version;
WORD Machine;
DWORD TimeDateStamp;
DWORD SizeOfData;
__extension__ union {
WORD Ordinal;
WORD Hint;
};
WORD Type : 2;
WORD NameType : 3;
WORD Reserved : 11;
} IMPORT_OBJECT_HEADER;
typedef enum IMPORT_OBJECT_TYPE {
IMPORT_OBJECT_CODE = 0,IMPORT_OBJECT_DATA = 1,IMPORT_OBJECT_CONST = 2
} IMPORT_OBJECT_TYPE;
typedef enum IMPORT_OBJECT_NAME_TYPE {
IMPORT_OBJECT_ORDINAL = 0,IMPORT_OBJECT_NAME = 1,IMPORT_OBJECT_NAME_NO_PREFIX = 2,IMPORT_OBJECT_NAME_UNDECORATE = 3
} IMPORT_OBJECT_NAME_TYPE;
typedef enum ReplacesCorHdrNumericDefines {
COMIMAGE_FLAGS_ILONLY = 0x00000001,COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002,COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004,
COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x00000008,COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000,COR_VERSION_MAJOR_V2 = 2,
COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2,COR_VERSION_MINOR = 0,COR_DELETED_NAME_LENGTH = 8,COR_VTABLEGAP_NAME_LENGTH = 8,
NATIVE_TYPE_MAX_CB = 1,COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE= 0xFF,IMAGE_COR_MIH_METHODRVA = 0x01,IMAGE_COR_MIH_EHRVA = 0x02,
IMAGE_COR_MIH_BASICBLOCK = 0x08,COR_VTABLE_32BIT =0x01,COR_VTABLE_64BIT =0x02,COR_VTABLE_FROM_UNMANAGED = 0x04,
COR_VTABLE_CALL_MOST_DERIVED = 0x10,IMAGE_COR_EATJ_THUNK_SIZE = 32,MAX_CLASS_NAME =1024,MAX_PACKAGE_NAME = 1024
} ReplacesCorHdrNumericDefines;
typedef struct IMAGE_COR20_HEADER {
DWORD cb;
WORD MajorRuntimeVersion;
WORD MinorRuntimeVersion;
IMAGE_DATA_DIRECTORY MetaData;
DWORD Flags;
__extension__ union {
DWORD EntryPointToken;
DWORD EntryPointRVA;
} ;
IMAGE_DATA_DIRECTORY Resources;
IMAGE_DATA_DIRECTORY StrongNameSignature;
IMAGE_DATA_DIRECTORY CodeManagerTable;
IMAGE_DATA_DIRECTORY VTableFixups;
IMAGE_DATA_DIRECTORY ExportAddressTableJumps;
IMAGE_DATA_DIRECTORY ManagedNativeHeader;
} IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER;
__attribute__((dllimport)) WORD RtlCaptureStackBackTrace (DWORD FramesToSkip, DWORD FramesToCapture, PVOID *BackTrace, PDWORD BackTraceHash);
__attribute__((dllimport)) void RtlCaptureContext (PCONTEXT ContextRecord);
__attribute__((dllimport)) SIZE_T RtlCompareMemory (const void *Source1, const void *Source2, SIZE_T Length);
__attribute__((dllimport)) BOOLEAN __attribute__((__cdecl__)) RtlAddFunctionTable (PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD64 BaseAddress);
__attribute__((dllimport)) BOOLEAN __attribute__((__cdecl__)) RtlDeleteFunctionTable (PRUNTIME_FUNCTION FunctionTable);
__attribute__((dllimport)) BOOLEAN __attribute__((__cdecl__)) RtlInstallFunctionTableCallback (DWORD64 TableIdentifier, DWORD64 BaseAddress, DWORD Length, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll);
__attribute__((dllimport)) void __attribute__((__cdecl__)) RtlRestoreContext (PCONTEXT ContextRecord, struct _EXCEPTION_RECORD *ExceptionRecord);
__attribute__((dllimport)) PEXCEPTION_ROUTINE RtlVirtualUnwind (DWORD HandlerType, DWORD64 ImageBase, DWORD64 ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID *HandlerData, PDWORD64 EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers);
__attribute__((dllimport)) void RtlUnwind (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue);
__attribute__((dllimport)) PVOID RtlPcToFileHeader (PVOID PcValue, PVOID *BaseOfImage);
__attribute__((dllimport)) PRUNTIME_FUNCTION RtlLookupFunctionEntry (DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable);
__attribute__((dllimport)) void RtlUnwindEx (PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable);
typedef struct __attribute__ ((__aligned__ (16))) _SLIST_ENTRY {
struct _SLIST_ENTRY *Next;
} SLIST_ENTRY,*PSLIST_ENTRY;
typedef union __attribute__ ((__aligned__ (16))) _SLIST_HEADER {
__extension__ struct {
ULONGLONG Alignment;
ULONGLONG Region;
} ;
struct {
ULONGLONG Depth:16;
ULONGLONG Sequence:9;
ULONGLONG NextEntry:39;
ULONGLONG HeaderType:1;
ULONGLONG Init:1;
ULONGLONG Reserved:59;
ULONGLONG Region:3;
} Header8;
struct {
ULONGLONG Depth:16;
ULONGLONG Sequence:48;
ULONGLONG HeaderType:1;
ULONGLONG Reserved:3;
ULONGLONG NextEntry:60;
} HeaderX64;
} SLIST_HEADER,*PSLIST_HEADER;
__attribute__((dllimport)) void RtlInitializeSListHead (PSLIST_HEADER ListHead);
__attribute__((dllimport)) PSLIST_ENTRY RtlFirstEntrySList (const SLIST_HEADER *ListHead);
__attribute__((dllimport)) PSLIST_ENTRY RtlInterlockedPopEntrySList (PSLIST_HEADER ListHead);
__attribute__((dllimport)) PSLIST_ENTRY RtlInterlockedPushEntrySList (PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry);
__attribute__((dllimport)) PSLIST_ENTRY RtlInterlockedPushListSListEx (PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, DWORD Count);
__attribute__((dllimport)) PSLIST_ENTRY RtlInterlockedFlushSList (PSLIST_HEADER ListHead);
__attribute__((dllimport)) WORD RtlQueryDepthSList (PSLIST_HEADER ListHead);
typedef struct _RTL_RUN_ONCE { PVOID Ptr; } RTL_RUN_ONCE, *PRTL_RUN_ONCE;
typedef DWORD ( *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *);
typedef struct _RTL_BARRIER {
DWORD Reserved1;
DWORD Reserved2;
ULONG_PTR Reserved3[2];
DWORD Reserved4;
DWORD Reserved5;
} RTL_BARRIER,*PRTL_BARRIER;
PVOID RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt);
typedef struct _MESSAGE_RESOURCE_ENTRY {
WORD Length;
WORD Flags;
BYTE Text[1];
} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY;
typedef struct _MESSAGE_RESOURCE_BLOCK {
DWORD LowId;
DWORD HighId;
DWORD OffsetToEntries;
} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK;
typedef struct _MESSAGE_RESOURCE_DATA {
DWORD NumberOfBlocks;
MESSAGE_RESOURCE_BLOCK Blocks[1];
} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA;
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA;
typedef struct _OSVERSIONINFOW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
} OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW,RTL_OSVERSIONINFOW,*PRTL_OSVERSIONINFOW;
typedef OSVERSIONINFOA OSVERSIONINFO;
typedef POSVERSIONINFOA POSVERSIONINFO;
typedef LPOSVERSIONINFOA LPOSVERSIONINFO;
typedef struct _OSVERSIONINFOEXA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXA,*POSVERSIONINFOEXA,*LPOSVERSIONINFOEXA;
typedef struct _OSVERSIONINFOEXW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXW,*POSVERSIONINFOEXW,*LPOSVERSIONINFOEXW,RTL_OSVERSIONINFOEXW,*PRTL_OSVERSIONINFOEXW;
typedef OSVERSIONINFOEXA OSVERSIONINFOEX;
typedef POSVERSIONINFOEXA POSVERSIONINFOEX;
typedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX;
__attribute__((dllimport)) ULONGLONG VerSetConditionMask (ULONGLONG ConditionMask, DWORD TypeMask, BYTE Condition);
typedef enum _RTL_UMS_THREAD_INFO_CLASS {
UmsThreadInvalidInfoClass = 0,
UmsThreadUserContext,
UmsThreadPriority,
UmsThreadAffinity,
UmsThreadTeb,
UmsThreadIsSuspended,
UmsThreadIsTerminated,
UmsThreadMaxInfoClass
} RTL_UMS_THREAD_INFO_CLASS,*PRTL_UMS_THREAD_INFO_CLASS;
typedef enum _RTL_UMS_SCHEDULER_REASON {
UmsSchedulerStartup = 0,
UmsSchedulerThreadBlocked,
UmsSchedulerThreadYield,
} RTL_UMS_SCHEDULER_REASON,*PRTL_UMS_SCHEDULER_REASON;
typedef void RTL_UMS_SCHEDULER_ENTRY_POINT (RTL_UMS_SCHEDULER_REASON Reason, ULONG_PTR ActivationPayload, PVOID SchedulerParam);
typedef RTL_UMS_SCHEDULER_ENTRY_POINT *PRTL_UMS_SCHEDULER_ENTRY_POINT;
typedef struct _RTL_CRITICAL_SECTION_DEBUG {
WORD Type;
WORD CreatorBackTraceIndex;
struct _RTL_CRITICAL_SECTION *CriticalSection;
LIST_ENTRY ProcessLocksList;
DWORD EntryCount;
DWORD ContentionCount;
DWORD Flags;
WORD CreatorBackTraceIndexHigh;
WORD SpareWORD;
} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG,RTL_RESOURCE_DEBUG,*PRTL_RESOURCE_DEBUG;
#pragma pack(push,8)
typedef struct _RTL_CRITICAL_SECTION {
PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
LONG LockCount;
LONG RecursionCount;
HANDLE OwningThread;
HANDLE LockSemaphore;
ULONG_PTR SpinCount;
} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
#pragma pack(pop)
typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK,*PRTL_SRWLOCK;
typedef struct _RTL_CONDITION_VARIABLE { PVOID Ptr; } RTL_CONDITION_VARIABLE,*PRTL_CONDITION_VARIABLE;
typedef void ( *PAPCFUNC) (ULONG_PTR Parameter);
typedef LONG ( *PVECTORED_EXCEPTION_HANDLER) (struct _EXCEPTION_POINTERS *ExceptionInfo);
typedef enum _HEAP_INFORMATION_CLASS {
HeapCompatibilityInformation,
HeapEnableTerminationOnCorruption
} HEAP_INFORMATION_CLASS;
typedef void ( *WORKERCALLBACKFUNC) (PVOID);
typedef void ( *APC_CALLBACK_FUNCTION) (DWORD, PVOID, PVOID);
typedef void ( *WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN);
typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
typedef void ( *PFLS_CALLBACK_FUNCTION) (PVOID lpFlsData);
typedef BOOLEAN ( *PSECURE_MEMORY_CACHE_CALLBACK) (PVOID Addr, SIZE_T Range);
typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
ActivationContextBasicInformation = 1,
ActivationContextDetailedInformation = 2,
AssemblyDetailedInformationInActivationContext = 3,
FileInformationInAssemblyOfAssemblyInActivationContext = 4,
RunlevelInformationInActivationContext = 5,
CompatibilityInformationInActivationContext = 6,
ActivationContextManifestResourceName = 7,
MaxActivationContextInfoClass,
AssemblyDetailedInformationInActivationContxt = 3,
FileInformationInAssemblyOfAssemblyInActivationContxt = 4
} ACTIVATION_CONTEXT_INFO_CLASS;
typedef enum {
ACTCTX_RUN_LEVEL_UNSPECIFIED = 0,
ACTCTX_RUN_LEVEL_AS_INVOKER,
ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE,
ACTCTX_RUN_LEVEL_REQUIRE_ADMIN,
ACTCTX_RUN_LEVEL_NUMBERS
} ACTCTX_REQUESTED_RUN_LEVEL;
typedef enum {
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0,
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS,
ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION
} ACTCTX_COMPATIBILITY_ELEMENT_TYPE;
typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {
DWORD ulAssemblyIndex;
DWORD ulFileIndexInAssembly;
} ACTIVATION_CONTEXT_QUERY_INDEX,*PACTIVATION_CONTEXT_QUERY_INDEX;
typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
DWORD ulFlags;
DWORD ulFilenameLength;
DWORD ulPathLength;
PCWSTR lpFileName;
PCWSTR lpFilePath;
} ASSEMBLY_FILE_DETAILED_INFORMATION,*PASSEMBLY_FILE_DETAILED_INFORMATION;
typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
DWORD ulFlags;
DWORD ulEncodedAssemblyIdentityLength;
DWORD ulManifestPathType;
DWORD ulManifestPathLength;
LARGE_INTEGER liManifestLastWriteTime;
DWORD ulPolicyPathType;
DWORD ulPolicyPathLength;
LARGE_INTEGER liPolicyLastWriteTime;
DWORD ulMetadataSatelliteRosterIndex;
DWORD ulManifestVersionMajor;
DWORD ulManifestVersionMinor;
DWORD ulPolicyVersionMajor;
DWORD ulPolicyVersionMinor;
DWORD ulAssemblyDirectoryNameLength;
PCWSTR lpAssemblyEncodedAssemblyIdentity;
PCWSTR lpAssemblyManifestPath;
PCWSTR lpAssemblyPolicyPath;
PCWSTR lpAssemblyDirectoryName;
DWORD ulFileCount;
} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
typedef struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION {
DWORD ulFlags;
ACTCTX_REQUESTED_RUN_LEVEL RunLevel;
DWORD UiAccess;
} ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION,*PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
typedef struct _COMPATIBILITY_CONTEXT_ELEMENT {
GUID Id;
ACTCTX_COMPATIBILITY_ELEMENT_TYPE Type;
} COMPATIBILITY_CONTEXT_ELEMENT,*PCOMPATIBILITY_CONTEXT_ELEMENT;
typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION {
DWORD ElementCount;
COMPATIBILITY_CONTEXT_ELEMENT Elements[];
} ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION,*PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
typedef struct _SUPPORTED_OS_INFO {
WORD OsCount;
WORD MitigationExist;
WORD OsList[(4)];
} SUPPORTED_OS_INFO,*PSUPPORTED_OS_INFO;
typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {
DWORD dwFlags;
DWORD ulFormatVersion;
DWORD ulAssemblyCount;
DWORD ulRootManifestPathType;
DWORD ulRootManifestPathChars;
DWORD ulRootConfigurationPathType;
DWORD ulRootConfigurationPathChars;
DWORD ulAppDirPathType;
DWORD ulAppDirPathChars;
PCWSTR lpRootManifestPath;
PCWSTR lpRootConfigurationPath;
PCWSTR lpAppDirPath;
} ACTIVATION_CONTEXT_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_DETAILED_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX;
typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION *PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION;
typedef const struct _COMPATIBILITY_CONTEXT_ELEMENT *PCCOMPATIBILITY_CONTEXT_ELEMENT;
typedef const struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION *PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
typedef void ( *RTL_VERIFIER_DLL_LOAD_CALLBACK) (PWSTR DllName,PVOID DllBase,SIZE_T DllSize,PVOID Reserved);
typedef void ( *RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (PWSTR DllName,PVOID DllBase,SIZE_T DllSize,PVOID Reserved);
typedef void ( *RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK)(PVOID AllocationBase,SIZE_T AllocationSize);
typedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR {
PCHAR ThunkName;
PVOID ThunkOldAddress;
PVOID ThunkNewAddress;
} RTL_VERIFIER_THUNK_DESCRIPTOR,*PRTL_VERIFIER_THUNK_DESCRIPTOR;
typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR {
PWCHAR DllName;
DWORD DllFlags;
PVOID DllAddress;
PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks;
} RTL_VERIFIER_DLL_DESCRIPTOR,*PRTL_VERIFIER_DLL_DESCRIPTOR;
typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR {
DWORD Length;
PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls;
RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback;
RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback;
PWSTR VerifierImage;
DWORD VerifierFlags;
DWORD VerifierDebug;
PVOID RtlpGetStackTraceAddress;
PVOID RtlpDebugPageHeapCreate;
PVOID RtlpDebugPageHeapDestroy;
RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK ProviderNtdllHeapFreeCallback;
} RTL_VERIFIER_PROVIDER_DESCRIPTOR,*PRTL_VERIFIER_PROVIDER_DESCRIPTOR;
void RtlApplicationVerifierStop(ULONG_PTR Code,PSTR Message,ULONG_PTR Param1,PSTR Description1,ULONG_PTR Param2,PSTR Description2,ULONG_PTR Param3,PSTR Description3,ULONG_PTR Param4,PSTR Description4);
__attribute__((dllimport)) DWORD RtlSetHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength);
__attribute__((dllimport)) DWORD RtlQueryHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength,PSIZE_T ReturnLength);
DWORD RtlMultipleAllocateHeap(PVOID HeapHandle,DWORD Flags,SIZE_T Size,DWORD Count,PVOID *Array);
DWORD RtlMultipleFreeHeap(PVOID HeapHandle,DWORD Flags,DWORD Count,PVOID *Array);
typedef struct _HARDWARE_COUNTER_DATA {
HARDWARE_COUNTER_TYPE Type;
DWORD Reserved;
DWORD64 Value;
} HARDWARE_COUNTER_DATA,*PHARDWARE_COUNTER_DATA;
typedef struct _PERFORMANCE_DATA {
WORD Size;
BYTE Version;
BYTE HwCountersCount;
DWORD ContextSwitchCount;
DWORD64 WaitReasonBitMap;
DWORD64 CycleTime;
DWORD RetryCount;
DWORD Reserved;
HARDWARE_COUNTER_DATA HwCounters[16];
} PERFORMANCE_DATA,*PPERFORMANCE_DATA;
typedef struct _EVENTLOGRECORD {
DWORD Length;
DWORD Reserved;
DWORD RecordNumber;
DWORD TimeGenerated;
DWORD TimeWritten;
DWORD EventID;
WORD EventType;
WORD NumStrings;
WORD EventCategory;
WORD ReservedFlags;
DWORD ClosingRecordNumber;
DWORD StringOffset;
DWORD UserSidLength;
DWORD UserSidOffset;
DWORD DataLength;
DWORD DataOffset;
} EVENTLOGRECORD,*PEVENTLOGRECORD;
typedef struct _EVENTSFORLOGFILE {
DWORD ulSize;
WCHAR szLogicalLogFile[256];
DWORD ulNumRecords;
EVENTLOGRECORD pEventLogRecords[];
} EVENTSFORLOGFILE,*PEVENTSFORLOGFILE;
typedef struct _PACKEDEVENTINFO {
DWORD ulSize;
DWORD ulNumEventsForLogFile;
DWORD ulOffsets[];
} PACKEDEVENTINFO,*PPACKEDEVENTINFO;
typedef enum _CM_SERVICE_NODE_TYPE {
DriverType = 0x00000001,FileSystemType = 0x00000002,Win32ServiceOwnProcess = 0x00000010,
Win32ServiceShareProcess = 0x00000020,AdapterType = 0x00000004,RecognizerType = 0x00000008
} SERVICE_NODE_TYPE;
typedef enum _CM_SERVICE_LOAD_TYPE {
BootLoad = 0x00000000,SystemLoad = 0x00000001,AutoLoad = 0x00000002,DemandLoad = 0x00000003,
DisableLoad = 0x00000004
} SERVICE_LOAD_TYPE;
typedef enum _CM_ERROR_CONTROL_TYPE {
IgnoreError = 0x00000000,NormalError = 0x00000001,SevereError = 0x00000002,CriticalError = 0x00000003
} SERVICE_ERROR_TYPE;
typedef struct _TAPE_ERASE {
DWORD Type;
BOOLEAN Immediate;
} TAPE_ERASE,*PTAPE_ERASE;
typedef struct _TAPE_PREPARE {
DWORD Operation;
BOOLEAN Immediate;
} TAPE_PREPARE,*PTAPE_PREPARE;
typedef struct _TAPE_WRITE_MARKS {
DWORD Type;
DWORD Count;
BOOLEAN Immediate;
} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS;
typedef struct _TAPE_GET_POSITION {
DWORD Type;
DWORD Partition;
LARGE_INTEGER Offset;
} TAPE_GET_POSITION,*PTAPE_GET_POSITION;
typedef struct _TAPE_SET_POSITION {
DWORD Method;
DWORD Partition;
LARGE_INTEGER Offset;
BOOLEAN Immediate;
} TAPE_SET_POSITION,*PTAPE_SET_POSITION;
typedef struct _TAPE_GET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
DWORD DefaultBlockSize;
DWORD MaximumBlockSize;
DWORD MinimumBlockSize;
DWORD MaximumPartitionCount;
DWORD FeaturesLow;
DWORD FeaturesHigh;
DWORD EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS,*PTAPE_GET_DRIVE_PARAMETERS;
typedef struct _TAPE_SET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
DWORD EOTWarningZoneSize;
} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS;
typedef struct _TAPE_GET_MEDIA_PARAMETERS {
LARGE_INTEGER Capacity;
LARGE_INTEGER Remaining;
DWORD BlockSize;
DWORD PartitionCount;
BOOLEAN WriteProtected;
} TAPE_GET_MEDIA_PARAMETERS,*PTAPE_GET_MEDIA_PARAMETERS;
typedef struct _TAPE_SET_MEDIA_PARAMETERS {
DWORD BlockSize;
} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS;
typedef struct _TAPE_CREATE_PARTITION {
DWORD Method;
DWORD Count;
DWORD Size;
} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
typedef struct _TAPE_WMI_OPERATIONS {
DWORD Method;
DWORD DataBufferSize;
PVOID DataBuffer;
} TAPE_WMI_OPERATIONS,*PTAPE_WMI_OPERATIONS;
typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
TapeDriveProblemNone,TapeDriveReadWriteWarning,TapeDriveReadWriteError,TapeDriveReadWarning,TapeDriveWriteWarning,TapeDriveReadError,TapeDriveWriteError,TapeDriveHardwareError,TapeDriveUnsupportedMedia,TapeDriveScsiConnectionError,TapeDriveTimetoClean,TapeDriveCleanDriveNow,TapeDriveMediaLifeExpired,TapeDriveSnappedTape
} TAPE_DRIVE_PROBLEM_TYPE;
typedef DWORD TP_VERSION,*PTP_VERSION;
typedef struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE,*PTP_CALLBACK_INSTANCE;
typedef void ( *PTP_SIMPLE_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context);
typedef struct _TP_POOL TP_POOL,*PTP_POOL;
typedef enum _TP_CALLBACK_PRIORITY {
TP_CALLBACK_PRIORITY_HIGH,
TP_CALLBACK_PRIORITY_NORMAL,
TP_CALLBACK_PRIORITY_LOW,
TP_CALLBACK_PRIORITY_INVALID,
TP_CALLBACK_PRIORITY_COUNT = TP_CALLBACK_PRIORITY_INVALID
} TP_CALLBACK_PRIORITY;
typedef struct _TP_POOL_STACK_INFORMATION {
SIZE_T StackReserve;
SIZE_T StackCommit;
} TP_POOL_STACK_INFORMATION, *PTP_POOL_STACK_INFORMATION;
typedef struct _TP_CLEANUP_GROUP TP_CLEANUP_GROUP,*PTP_CLEANUP_GROUP;
typedef void ( *PTP_CLEANUP_GROUP_CANCEL_CALLBACK) (PVOID ObjectContext, PVOID CleanupContext);
typedef struct _TP_CALLBACK_ENVIRON_V1 {
TP_VERSION Version;
PTP_POOL Pool;
PTP_CLEANUP_GROUP CleanupGroup;
PTP_CLEANUP_GROUP_CANCEL_CALLBACK CleanupGroupCancelCallback;
PVOID RaceDll;
struct _ACTIVATION_CONTEXT *ActivationContext;
PTP_SIMPLE_CALLBACK FinalizationCallback;
union {
DWORD Flags;
struct {
DWORD LongFunction : 1;
DWORD Persistent : 1;
DWORD Private : 30;
} s;
} u;
} TP_CALLBACK_ENVIRON_V1;
typedef TP_CALLBACK_ENVIRON_V1 TP_CALLBACK_ENVIRON,*PTP_CALLBACK_ENVIRON;
typedef struct _TP_WORK TP_WORK,*PTP_WORK;
typedef void ( *PTP_WORK_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WORK Work);
typedef struct _TP_TIMER TP_TIMER,*PTP_TIMER;
typedef void ( *PTP_TIMER_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_TIMER Timer);
typedef DWORD TP_WAIT_RESULT;
typedef struct _TP_WAIT TP_WAIT,*PTP_WAIT;
typedef void ( *PTP_WAIT_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WAIT Wait, TP_WAIT_RESULT WaitResult);
typedef struct _TP_IO TP_IO,*PTP_IO;
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpInitializeCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) {
cbe->Pool = ((void *)0);
cbe->CleanupGroup = ((void *)0);
cbe->CleanupGroupCancelCallback = ((void *)0);
cbe->RaceDll = ((void *)0);
cbe->ActivationContext = ((void *)0);
cbe->FinalizationCallback = ((void *)0);
cbe->u.Flags = 0;
cbe->Version = 1;
}
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackThreadpool (PTP_CALLBACK_ENVIRON cbe, PTP_POOL pool) { cbe->Pool = pool; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackCleanupGroup (PTP_CALLBACK_ENVIRON cbe, PTP_CLEANUP_GROUP cleanup_group, PTP_CLEANUP_GROUP_CANCEL_CALLBACK cleanup_group_cb) {
cbe->CleanupGroup = cleanup_group;
cbe->CleanupGroupCancelCallback = cleanup_group_cb;
}
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackActivationContext (PTP_CALLBACK_ENVIRON cbe, struct _ACTIVATION_CONTEXT *actx) { cbe->ActivationContext = actx; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackNoActivationContext (PTP_CALLBACK_ENVIRON cbe) { cbe->ActivationContext = (struct _ACTIVATION_CONTEXT *) (LONG_PTR) -1; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackLongFunction (PTP_CALLBACK_ENVIRON cbe) { cbe->u.s.LongFunction = 1; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackRaceWithDll (PTP_CALLBACK_ENVIRON cbe, PVOID h) { cbe->RaceDll = h; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackFinalizationCallback (PTP_CALLBACK_ENVIRON cbe, PTP_SIMPLE_CALLBACK fini_cb) { cbe->FinalizationCallback = fini_cb; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpSetCallbackPersistent (PTP_CALLBACK_ENVIRON cbe) { cbe->u.s.Persistent = 1; }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) void TpDestroyCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) { {(cbe) = (cbe);}; }
struct _TEB *NtCurrentTeb(void);
PVOID GetCurrentFiber(void);
PVOID GetFiberData(void);
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) struct _TEB *NtCurrentTeb(void) { return (struct _TEB *)__readgsqword(((LONG) __builtin_offsetof(NT_TIB, Self))); }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) PVOID GetCurrentFiber(void) { return(PVOID)__readgsqword(((LONG) __builtin_offsetof(NT_TIB, FiberData))); }
extern __inline__ __attribute__((__always_inline__,__gnu_inline__)) PVOID GetFiberData(void) {
return *(PVOID *)GetCurrentFiber();
}
typedef GUID CRM_PROTOCOL_ID,*PCRM_PROTOCOL_ID;
typedef ULONG NOTIFICATION_MASK;
typedef struct _TRANSACTION_NOTIFICATION {
PVOID TransactionKey;
ULONG TransactionNotification;
LARGE_INTEGER TmVirtualClock;
ULONG ArgumentLength;
} TRANSACTION_NOTIFICATION,*PTRANSACTION_NOTIFICATION;
typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT {
GUID EnlistmentId;
GUID UOW;
} TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT,*PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT;
typedef struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT {
GUID TmIdentity;
ULONG Flags;
} TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT,*PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT;
typedef ULONG SAVEPOINT_ID,*PSAVEPOINT_ID;
typedef struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT {
SAVEPOINT_ID SavepointId;
} TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT,*PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT;
typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT {
ULONG PropagationCookie;
GUID UOW;
GUID TmIdentity;
ULONG BufferLength;
} TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT,*PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT;
typedef struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT {
ULONG MarshalCookie;
GUID UOW;
} TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT,*PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT;
typedef TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT,*PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT;
typedef struct _KCRM_MARSHAL_HEADER {
ULONG VersionMajor;
ULONG VersionMinor;
ULONG NumProtocols;
ULONG Unused;
} KCRM_MARSHAL_HEADER,*PKCRM_MARSHAL_HEADER,* PRKCRM_MARSHAL_HEADER;
typedef struct _KCRM_TRANSACTION_BLOB {
GUID UOW;
GUID TmIdentity;
ULONG IsolationLevel;
ULONG IsolationFlags;
ULONG Timeout;
WCHAR Description[64];
} KCRM_TRANSACTION_BLOB,*PKCRM_TRANSACTION_BLOB,* PRKCRM_TRANSACTION_BLOB;
typedef struct _KCRM_PROTOCOL_BLOB {
CRM_PROTOCOL_ID ProtocolId;
ULONG StaticInfoLength;
ULONG TransactionIdInfoLength;
ULONG Unused1;
ULONG Unused2;
} KCRM_PROTOCOL_BLOB,*PKCRM_PROTOCOL_BLOB,* PRKCRM_PROTOCOL_BLOB;
typedef enum _TRANSACTION_OUTCOME {
TransactionOutcomeUndetermined = 1,
TransactionOutcomeCommitted,
TransactionOutcomeAborted,
} TRANSACTION_OUTCOME;
typedef enum _TRANSACTION_STATE {
TransactionStateNormal = 1,
TransactionStateIndoubt,
TransactionStateCommittedNotify,
} TRANSACTION_STATE;
typedef struct _TRANSACTION_BASIC_INFORMATION {
GUID TransactionId;
DWORD State;
DWORD Outcome;
} TRANSACTION_BASIC_INFORMATION,*PTRANSACTION_BASIC_INFORMATION;
typedef struct _TRANSACTIONMANAGER_BASIC_INFORMATION {
GUID TmIdentity;
LARGE_INTEGER VirtualClock;
} TRANSACTIONMANAGER_BASIC_INFORMATION,*PTRANSACTIONMANAGER_BASIC_INFORMATION;
typedef struct _TRANSACTIONMANAGER_LOG_INFORMATION {
GUID LogIdentity;
} TRANSACTIONMANAGER_LOG_INFORMATION,*PTRANSACTIONMANAGER_LOG_INFORMATION;
typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION {
DWORD LogPathLength;
WCHAR LogPath[1];
} TRANSACTIONMANAGER_LOGPATH_INFORMATION,*PTRANSACTIONMANAGER_LOGPATH_INFORMATION;
typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION {
ULONGLONG LastRecoveredLsn;
} TRANSACTIONMANAGER_RECOVERY_INFORMATION,*PTRANSACTIONMANAGER_RECOVERY_INFORMATION;
typedef struct _TRANSACTIONMANAGER_OLDEST_INFORMATION {
GUID OldestTransactionGuid;
} TRANSACTIONMANAGER_OLDEST_INFORMATION,*PTRANSACTIONMANAGER_OLDEST_INFORMATION;
typedef struct _TRANSACTION_PROPERTIES_INFORMATION {
DWORD IsolationLevel;
DWORD IsolationFlags;
LARGE_INTEGER Timeout;
DWORD Outcome;
DWORD DescriptionLength;
WCHAR Description[1];
} TRANSACTION_PROPERTIES_INFORMATION,*PTRANSACTION_PROPERTIES_INFORMATION;
typedef struct _TRANSACTION_BIND_INFORMATION {
HANDLE TmHandle;
} TRANSACTION_BIND_INFORMATION,*PTRANSACTION_BIND_INFORMATION;
typedef struct _TRANSACTION_ENLISTMENT_PAIR {
GUID EnlistmentId;
GUID ResourceManagerId;
} TRANSACTION_ENLISTMENT_PAIR,*PTRANSACTION_ENLISTMENT_PAIR;
typedef struct _TRANSACTION_ENLISTMENTS_INFORMATION {
DWORD NumberOfEnlistments;
TRANSACTION_ENLISTMENT_PAIR EnlistmentPair[1];
} TRANSACTION_ENLISTMENTS_INFORMATION,*PTRANSACTION_ENLISTMENTS_INFORMATION;
typedef struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION {
TRANSACTION_ENLISTMENT_PAIR SuperiorEnlistmentPair;
} TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION,*PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION;
typedef struct _RESOURCEMANAGER_BASIC_INFORMATION {
GUID ResourceManagerId;
DWORD DescriptionLength;
WCHAR Description[1];
} RESOURCEMANAGER_BASIC_INFORMATION,*PRESOURCEMANAGER_BASIC_INFORMATION;
typedef struct _RESOURCEMANAGER_COMPLETION_INFORMATION {
HANDLE IoCompletionPortHandle;
ULONG_PTR CompletionKey;
} RESOURCEMANAGER_COMPLETION_INFORMATION,*PRESOURCEMANAGER_COMPLETION_INFORMATION;
typedef enum _TRANSACTION_INFORMATION_CLASS {
TransactionBasicInformation,
TransactionPropertiesInformation,
TransactionEnlistmentInformation,
TransactionSuperiorEnlistmentInformation,
TransactionBindInformation,
TransactionDTCPrivateInformation
} TRANSACTION_INFORMATION_CLASS;
typedef enum _TRANSACTIONMANAGER_INFORMATION_CLASS {
TransactionManagerBasicInformation,
TransactionManagerLogInformation,
TransactionManagerLogPathInformation,
TransactionManagerOnlineProbeInformation = 3,
TransactionManagerRecoveryInformation = 4,
TransactionManagerOldestTransactionInformation = 5
} TRANSACTIONMANAGER_INFORMATION_CLASS;
typedef enum _RESOURCEMANAGER_INFORMATION_CLASS {
ResourceManagerBasicInformation,
ResourceManagerCompletionInformation
} RESOURCEMANAGER_INFORMATION_CLASS;
typedef struct _ENLISTMENT_BASIC_INFORMATION {
GUID EnlistmentId;
GUID TransactionId;
GUID ResourceManagerId;
} ENLISTMENT_BASIC_INFORMATION,*PENLISTMENT_BASIC_INFORMATION;
typedef struct _ENLISTMENT_CRM_INFORMATION {
GUID CrmTransactionManagerId;
GUID CrmResourceManagerId;
GUID CrmEnlistmentId;
} ENLISTMENT_CRM_INFORMATION,*PENLISTMENT_CRM_INFORMATION;
typedef enum _ENLISTMENT_INFORMATION_CLASS {
EnlistmentBasicInformation,
EnlistmentRecoveryInformation,
EnlistmentCrmInformation
} ENLISTMENT_INFORMATION_CLASS;
typedef struct _TRANSACTION_LIST_ENTRY {
GUID UOW;
} TRANSACTION_LIST_ENTRY,*PTRANSACTION_LIST_ENTRY;
typedef struct _TRANSACTION_LIST_INFORMATION {
DWORD NumberOfTransactions;
TRANSACTION_LIST_ENTRY TransactionInformation[1];
} TRANSACTION_LIST_INFORMATION,*PTRANSACTION_LIST_INFORMATION;
typedef enum _KTMOBJECT_TYPE {
KTMOBJECT_TRANSACTION,
KTMOBJECT_TRANSACTION_MANAGER,
KTMOBJECT_RESOURCE_MANAGER,
KTMOBJECT_ENLISTMENT,
KTMOBJECT_INVALID
} KTMOBJECT_TYPE,*PKTMOBJECT_TYPE;
typedef struct _KTMOBJECT_CURSOR {
GUID LastQuery;
DWORD ObjectIdCount;
GUID ObjectIds[1];
} KTMOBJECT_CURSOR,*PKTMOBJECT_CURSOR;
typedef struct _WOW64_FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[80];
DWORD Cr0NpxState;
} WOW64_FLOATING_SAVE_AREA, *PWOW64_FLOATING_SAVE_AREA;
#pragma pack(push,4)
typedef struct _WOW64_CONTEXT {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
WOW64_FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[512];
} WOW64_CONTEXT, *PWOW64_CONTEXT;
#pragma pack(pop)
typedef struct _WOW64_LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
__extension__ union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid :8;
DWORD Type :5;
DWORD Dpl :2;
DWORD Pres :1;
DWORD LimitHi :4;
DWORD Sys :1;
DWORD Reserved_0 :1;
DWORD Default_Big :1;
DWORD Granularity :1;
DWORD BaseHi :8;
} Bits;
} HighWord;
} WOW64_LDT_ENTRY, *PWOW64_LDT_ENTRY;
typedef struct _WOW64_DESCRIPTOR_TABLE_ENTRY {
DWORD Selector;
WOW64_LDT_ENTRY Descriptor;
} WOW64_DESCRIPTOR_TABLE_ENTRY,*PWOW64_DESCRIPTOR_TABLE_ENTRY;
typedef UINT_PTR WPARAM;
typedef LONG_PTR LPARAM;
typedef LONG_PTR LRESULT;
typedef HANDLE *SPHANDLE;
typedef HANDLE *LPHANDLE;
typedef HANDLE HGLOBAL;
typedef HANDLE HLOCAL;
typedef HANDLE GLOBALHANDLE;
typedef HANDLE LOCALHANDLE;
typedef INT_PTR ( *FARPROC) ();
typedef INT_PTR ( *NEARPROC) ();
typedef INT_PTR ( *PROC) ();
typedef WORD ATOM;
typedef int HFILE;
struct HINSTANCE__ { int unused; }; typedef struct HINSTANCE__ *HINSTANCE;
struct HKEY__ { int unused; }; typedef struct HKEY__ *HKEY;
typedef HKEY *PHKEY;
struct HKL__ { int unused; }; typedef struct HKL__ *HKL;
struct HLSURF__ { int unused; }; typedef struct HLSURF__ *HLSURF;
struct HMETAFILE__ { int unused; }; typedef struct HMETAFILE__ *HMETAFILE;
typedef HINSTANCE HMODULE;
struct HRGN__ { int unused; }; typedef struct HRGN__ *HRGN;
struct HRSRC__ { int unused; }; typedef struct HRSRC__ *HRSRC;
struct HSPRITE__ { int unused; }; typedef struct HSPRITE__ *HSPRITE;
struct HSTR__ { int unused; }; typedef struct HSTR__ *HSTR;
struct HTASK__ { int unused; }; typedef struct HTASK__ *HTASK;
struct HWINSTA__ { int unused; }; typedef struct HWINSTA__ *HWINSTA;
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME,*PFILETIME,*LPFILETIME;
struct HWND__ { int unused; }; typedef struct HWND__ *HWND;
struct HHOOK__ { int unused; }; typedef struct HHOOK__ *HHOOK;
typedef void *HGDIOBJ;
struct HACCEL__ { int unused; }; typedef struct HACCEL__ *HACCEL;
struct HBITMAP__ { int unused; }; typedef struct HBITMAP__ *HBITMAP;
struct HBRUSH__ { int unused; }; typedef struct HBRUSH__ *HBRUSH;
struct HCOLORSPACE__ { int unused; }; typedef struct HCOLORSPACE__ *HCOLORSPACE;
struct HDC__ { int unused; }; typedef struct HDC__ *HDC;
struct HGLRC__ { int unused; }; typedef struct HGLRC__ *HGLRC;
struct HDESK__ { int unused; }; typedef struct HDESK__ *HDESK;
struct HENHMETAFILE__ { int unused; }; typedef struct HENHMETAFILE__ *HENHMETAFILE;
struct HFONT__ { int unused; }; typedef struct HFONT__ *HFONT;
struct HICON__ { int unused; }; typedef struct HICON__ *HICON;
struct HMENU__ { int unused; }; typedef struct HMENU__ *HMENU;
struct HPALETTE__ { int unused; }; typedef struct HPALETTE__ *HPALETTE;
struct HPEN__ { int unused; }; typedef struct HPEN__ *HPEN;
struct HMONITOR__ { int unused; }; typedef struct HMONITOR__ *HMONITOR;
struct HWINEVENTHOOK__ { int unused; }; typedef struct HWINEVENTHOOK__ *HWINEVENTHOOK;
typedef HICON HCURSOR;
typedef DWORD COLORREF;
struct HUMPD__ { int unused; }; typedef struct HUMPD__ *HUMPD;
typedef DWORD *LPCOLORREF;
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 _SECURITY_ATTRIBUTES {
DWORD nLength;
LPVOID lpSecurityDescriptor;
WINBOOL bInheritHandle;
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
typedef struct _OVERLAPPED {
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
__extension__ union {
struct {
DWORD Offset;
DWORD OffsetHigh;
} ;
PVOID Pointer;
} ;
HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED;
typedef struct _OVERLAPPED_ENTRY {
ULONG_PTR lpCompletionKey;
LPOVERLAPPED lpOverlapped;
ULONG_PTR Internal;
DWORD dwNumberOfBytesTransferred;
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
typedef struct _WIN32_FIND_DATAA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
CHAR cFileName[260];
CHAR cAlternateFileName[14];
} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
typedef struct _WIN32_FIND_DATAW {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
WCHAR cFileName[260];
WCHAR cAlternateFileName[14];
} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
typedef WIN32_FIND_DATAA WIN32_FIND_DATA;
typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA;
typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA;
typedef enum _FINDEX_INFO_LEVELS {
FindExInfoStandard,
FindExInfoBasic,
FindExInfoMaxInfoLevel
} FINDEX_INFO_LEVELS;
typedef enum _FINDEX_SEARCH_OPS {
FindExSearchNameMatch,
FindExSearchLimitToDirectories,
FindExSearchLimitToDevices,
FindExSearchMaxSearchOp
} FINDEX_SEARCH_OPS;
typedef enum _GET_FILEEX_INFO_LEVELS {
GetFileExInfoStandard,
GetFileExMaxInfoLevel
} GET_FILEEX_INFO_LEVELS;
typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
typedef void ( *LPOVERLAPPED_COMPLETION_ROUTINE) (DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped);
typedef struct _PROCESS_HEAP_ENTRY {
PVOID lpData;
DWORD cbData;
BYTE cbOverhead;
BYTE iRegionIndex;
WORD wFlags;
__extension__ union {
struct {
HANDLE hMem;
DWORD dwReserved[3];
} Block;
struct {
DWORD dwCommittedSize;
DWORD dwUnCommittedSize;
LPVOID lpFirstBlock;
LPVOID lpLastBlock;
} Region;
} ;
} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY,*PPROCESS_HEAP_ENTRY;
typedef struct _REASON_CONTEXT {
ULONG Version;
DWORD Flags;
union {
struct {
HMODULE LocalizedReasonModule;
ULONG LocalizedReasonId;
ULONG ReasonStringCount;
LPWSTR *ReasonStrings;
} Detailed;
LPWSTR SimpleReasonString;
} Reason;
} REASON_CONTEXT, *PREASON_CONTEXT;
typedef DWORD ( *PTHREAD_START_ROUTINE) (LPVOID lpThreadParameter);
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
typedef LPVOID ( *PENCLAVE_ROUTINE) (LPVOID lpThreadParameter);
typedef PENCLAVE_ROUTINE LPENCLAVE_ROUTINE;
typedef struct _EXCEPTION_DEBUG_INFO {
EXCEPTION_RECORD ExceptionRecord;
DWORD dwFirstChance;
} EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
typedef struct _CREATE_THREAD_DEBUG_INFO {
HANDLE hThread;
LPVOID lpThreadLocalBase;
LPTHREAD_START_ROUTINE lpStartAddress;
} CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
typedef struct _CREATE_PROCESS_DEBUG_INFO {
HANDLE hFile;
HANDLE hProcess;
HANDLE hThread;
LPVOID lpBaseOfImage;
DWORD dwDebugInfoFileOffset;
DWORD nDebugInfoSize;
LPVOID lpThreadLocalBase;
LPTHREAD_START_ROUTINE lpStartAddress;
LPVOID lpImageName;
WORD fUnicode;
} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
typedef struct _EXIT_THREAD_DEBUG_INFO {
DWORD dwExitCode;
} EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
typedef struct _EXIT_PROCESS_DEBUG_INFO {
DWORD dwExitCode;
} EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
typedef struct _LOAD_DLL_DEBUG_INFO {
HANDLE hFile;
LPVOID lpBaseOfDll;
DWORD dwDebugInfoFileOffset;
DWORD nDebugInfoSize;
LPVOID lpImageName;
WORD fUnicode;
} LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
typedef struct _UNLOAD_DLL_DEBUG_INFO {
LPVOID lpBaseOfDll;
} UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
typedef struct _OUTPUT_DEBUG_STRING_INFO {
LPSTR lpDebugStringData;
WORD fUnicode;
WORD nDebugStringLength;
} OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
typedef struct _RIP_INFO {
DWORD dwError;
DWORD dwType;
} RIP_INFO, *LPRIP_INFO;
typedef struct _DEBUG_EVENT {
DWORD dwDebugEventCode;
DWORD dwProcessId;
DWORD dwThreadId;
union {
EXCEPTION_DEBUG_INFO Exception;
CREATE_THREAD_DEBUG_INFO CreateThread;
CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
EXIT_THREAD_DEBUG_INFO ExitThread;
EXIT_PROCESS_DEBUG_INFO ExitProcess;
LOAD_DLL_DEBUG_INFO LoadDll;
UNLOAD_DLL_DEBUG_INFO UnloadDll;
OUTPUT_DEBUG_STRING_INFO DebugString;
RIP_INFO RipInfo;
} u;
} DEBUG_EVENT, *LPDEBUG_EVENT;
typedef PCONTEXT LPCONTEXT;
typedef struct _CONTRACT_DESCRIPTION CONTRACT_DESCRIPTION;
typedef struct _BEM_REFERENCE BEM_REFERENCE;
typedef void ( *BEM_FREE_INTERFACE_CALLBACK) (void *interfaceInstance);
HRESULT BemCreateReference (const GUID *const iid, void *interfaceInstance, BEM_FREE_INTERFACE_CALLBACK freeCallback, BEM_REFERENCE **reference);
HRESULT BemCreateContractFrom (LPCWSTR dllPath, const GUID *const extensionId, const CONTRACT_DESCRIPTION *contractDescription, void *hostContract, void **contract);
HRESULT BemCopyReference (BEM_REFERENCE *reference, BEM_REFERENCE **copiedReference);
void BemFreeReference (BEM_REFERENCE *reference);
void BemFreeContract (void *contract);
__attribute__((dllimport)) WINBOOL IsDebuggerPresent (void);
__attribute__((dllimport)) void OutputDebugStringA (LPCSTR lpOutputString);
__attribute__((dllimport)) void OutputDebugStringW (LPCWSTR lpOutputString);
__attribute__((dllimport)) void DebugBreak (void);
__attribute__((dllimport)) WINBOOL ContinueDebugEvent (DWORD dwProcessId, DWORD dwThreadId, DWORD dwContinueStatus);
__attribute__((dllimport)) WINBOOL WaitForDebugEvent (LPDEBUG_EVENT lpDebugEvent, DWORD dwMilliseconds);
__attribute__((dllimport)) WINBOOL DebugActiveProcess (DWORD dwProcessId);
__attribute__((dllimport)) WINBOOL DebugActiveProcessStop (DWORD dwProcessId);
__attribute__((dllimport)) WINBOOL CheckRemoteDebuggerPresent (HANDLE hProcess, PBOOL pbDebuggerPresent);
typedef LONG ( *PTOP_LEVEL_EXCEPTION_FILTER) (struct _EXCEPTION_POINTERS *ExceptionInfo);
typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
__attribute__((dllimport)) UINT SetErrorMode (UINT uMode);
__attribute__((dllimport)) LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter (LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
__attribute__((dllimport)) LONG UnhandledExceptionFilter (struct _EXCEPTION_POINTERS *ExceptionInfo);
__attribute__((dllimport)) PVOID AddVectoredExceptionHandler (ULONG First, PVECTORED_EXCEPTION_HANDLER Handler);
__attribute__((dllimport)) ULONG RemoveVectoredExceptionHandler (PVOID Handle);
__attribute__((dllimport)) PVOID AddVectoredContinueHandler (ULONG First, PVECTORED_EXCEPTION_HANDLER Handler);
__attribute__((dllimport)) ULONG RemoveVectoredContinueHandler (PVOID Handle);
__attribute__((dllimport)) void RaiseException (DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR *lpArguments);
__attribute__((dllimport)) DWORD GetLastError (void);
__attribute__((dllimport)) void SetLastError (DWORD dwErrCode);
__attribute__((dllimport)) HANDLE CreateFileW (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
__attribute__((dllimport)) DWORD GetFileAttributesW (LPCWSTR lpFileName);
__attribute__((dllimport)) DWORD GetFileSize (HANDLE hFile, LPDWORD lpFileSizeHigh);
__attribute__((dllimport)) DWORD SetFilePointer (HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
typedef struct _BY_HANDLE_FILE_INFORMATION {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD dwVolumeSerialNumber;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD nNumberOfLinks;
DWORD nFileIndexHigh;
DWORD nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION,
*LPBY_HANDLE_FILE_INFORMATION;
__attribute__((dllimport)) HANDLE CreateFileA (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
__attribute__((dllimport)) WINBOOL DefineDosDeviceW (DWORD dwFlags, LPCWSTR lpDeviceName, LPCWSTR lpTargetPath);
__attribute__((dllimport)) WINBOOL FindCloseChangeNotification (HANDLE hChangeHandle);
__attribute__((dllimport)) HANDLE FindFirstChangeNotificationA (LPCSTR lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter);
__attribute__((dllimport)) HANDLE FindFirstChangeNotificationW (LPCWSTR lpPathName, WINBOOL bWatchSubtree, DWORD dwNotifyFilter);
__attribute__((dllimport)) HANDLE FindFirstVolumeW (LPWSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindNextChangeNotification (HANDLE hChangeHandle);
__attribute__((dllimport)) WINBOOL FindNextVolumeW (HANDLE hFindVolume, LPWSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindVolumeClose (HANDLE hFindVolume);
__attribute__((dllimport)) WINBOOL GetFileInformationByHandle (HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation);
__attribute__((dllimport)) LONG CompareFileTime (const FILETIME *lpFileTime1, const FILETIME *lpFileTime2);
__attribute__((dllimport)) WINBOOL DeleteVolumeMountPointW (LPCWSTR lpszVolumeMountPoint);
__attribute__((dllimport)) WINBOOL FileTimeToLocalFileTime (const FILETIME *lpFileTime, LPFILETIME lpLocalFileTime);
__attribute__((dllimport)) HANDLE FindFirstFileA (LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData);
__attribute__((dllimport)) HANDLE FindFirstFileW (LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData);
__attribute__((dllimport)) WINBOOL GetDiskFreeSpaceA (LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
__attribute__((dllimport)) WINBOOL GetDiskFreeSpaceW (LPCWSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters);
__attribute__((dllimport)) UINT GetDriveTypeA (LPCSTR lpRootPathName);
__attribute__((dllimport)) UINT GetDriveTypeW (LPCWSTR lpRootPathName);
__attribute__((dllimport)) DWORD GetFileAttributesA (LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL GetFileSizeEx (HANDLE hFile, PLARGE_INTEGER lpFileSize);
__attribute__((dllimport)) WINBOOL GetFileTime (HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime);
__attribute__((dllimport)) DWORD GetFileType (HANDLE hFile);
__attribute__((dllimport)) DWORD GetFullPathNameA (LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
__attribute__((dllimport)) DWORD GetFullPathNameW (LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
__attribute__((dllimport)) DWORD GetLogicalDrives (void);
__attribute__((dllimport)) DWORD GetLogicalDriveStringsW (DWORD nBufferLength, LPWSTR lpBuffer);
__attribute__((dllimport)) DWORD GetLongPathNameA (LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer);
__attribute__((dllimport)) DWORD GetLongPathNameW (LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer);
__attribute__((dllimport)) DWORD GetShortPathNameW (LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer);
__attribute__((dllimport)) UINT GetTempFileNameA (LPCSTR lpPathName, LPCSTR lpPrefixString, UINT uUnique, LPSTR lpTempFileName);
__attribute__((dllimport)) UINT GetTempFileNameW (LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName);
__attribute__((dllimport)) WINBOOL GetVolumeInformationW (LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
__attribute__((dllimport)) WINBOOL GetVolumePathNameW (LPCWSTR lpszFileName, LPWSTR lpszVolumePathName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL LocalFileTimeToFileTime (const FILETIME *lpLocalFileTime, LPFILETIME lpFileTime);
__attribute__((dllimport)) WINBOOL LockFile (HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh);
__attribute__((dllimport)) DWORD QueryDosDeviceW (LPCWSTR lpDeviceName, LPWSTR lpTargetPath, DWORD ucchMax);
__attribute__((dllimport)) WINBOOL ReadFileEx (HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) WINBOOL ReadFileScatter (HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToRead, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL SetFileTime (HANDLE hFile, const FILETIME *lpCreationTime, const FILETIME *lpLastAccessTime, const FILETIME *lpLastWriteTime);
__attribute__((dllimport)) WINBOOL SetFileValidData (HANDLE hFile, LONGLONG ValidDataLength);
__attribute__((dllimport)) WINBOOL UnlockFile (HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh);
__attribute__((dllimport)) WINBOOL WriteFileEx (HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) WINBOOL WriteFileGather (HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToWrite, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL GetVolumeNameForVolumeMountPointW (LPCWSTR lpszVolumeMountPoint, LPWSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL GetVolumePathNamesForVolumeNameW (LPCWSTR lpszVolumeName, LPWCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength);
__attribute__((dllimport)) DWORD GetTempPathA (DWORD nBufferLength, LPSTR lpBuffer);
__attribute__((dllimport)) DWORD GetTempPathW (DWORD nBufferLength, LPWSTR lpBuffer);
typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
__attribute__((dllimport)) WINBOOL CreateDirectoryA (LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL CreateDirectoryW (LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL DeleteFileA (LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL DeleteFileW (LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL FindClose (HANDLE hFindFile);
__attribute__((dllimport)) HANDLE FindFirstFileExA (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
__attribute__((dllimport)) HANDLE FindFirstFileExW (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
__attribute__((dllimport)) WINBOOL FindNextFileA (HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData);
__attribute__((dllimport)) WINBOOL FindNextFileW (HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
__attribute__((dllimport)) WINBOOL FlushFileBuffers (HANDLE hFile);
__attribute__((dllimport)) WINBOOL GetDiskFreeSpaceExA (LPCSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes);
__attribute__((dllimport)) WINBOOL GetDiskFreeSpaceExW (LPCWSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes);
__attribute__((dllimport)) DWORD GetFileType (HANDLE hFile);
__attribute__((dllimport)) WINBOOL GetFileAttributesExA (LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
__attribute__((dllimport)) WINBOOL GetFileAttributesExW (LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation);
__attribute__((dllimport)) WINBOOL LockFileEx (HANDLE hFile, DWORD dwFlags, DWORD dwReserved, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL ReadFile (HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL RemoveDirectoryA (LPCSTR lpPathName);
__attribute__((dllimport)) WINBOOL RemoveDirectoryW (LPCWSTR lpPathName);
__attribute__((dllimport)) WINBOOL SetEndOfFile (HANDLE hFile);
__attribute__((dllimport)) WINBOOL SetFileAttributesA (LPCSTR lpFileName, DWORD dwFileAttributes);
__attribute__((dllimport)) WINBOOL SetFileAttributesW (LPCWSTR lpFileName, DWORD dwFileAttributes);
__attribute__((dllimport)) WINBOOL SetFilePointerEx (HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod);
__attribute__((dllimport)) WINBOOL UnlockFileEx (HANDLE hFile, DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL WriteFile (HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL CloseHandle (HANDLE hObject);
__attribute__((dllimport)) WINBOOL DuplicateHandle (HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, WINBOOL bInheritHandle, DWORD dwOptions);
__attribute__((dllimport)) WINBOOL GetHandleInformation (HANDLE hObject, LPDWORD lpdwFlags);
__attribute__((dllimport)) WINBOOL SetHandleInformation (HANDLE hObject, DWORD dwMask, DWORD dwFlags);
typedef struct _HEAP_SUMMARY {
DWORD cb;
SIZE_T cbAllocated;
SIZE_T cbCommitted;
SIZE_T cbReserved;
SIZE_T cbMaxReserve;
} HEAP_SUMMARY,*PHEAP_SUMMARY;
typedef PHEAP_SUMMARY LPHEAP_SUMMARY;
__attribute__((dllimport)) HANDLE HeapCreate (DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize);
__attribute__((dllimport)) WINBOOL HeapDestroy (HANDLE hHeap);
__attribute__((dllimport)) WINBOOL HeapValidate (HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);
__attribute__((dllimport)) SIZE_T HeapCompact (HANDLE hHeap, DWORD dwFlags);
WINBOOL HeapSummary (HANDLE hHeap, DWORD dwFlags, LPHEAP_SUMMARY lpSummary);
__attribute__((dllimport)) DWORD GetProcessHeaps (DWORD NumberOfHeaps, PHANDLE ProcessHeaps);
__attribute__((dllimport)) WINBOOL HeapLock (HANDLE hHeap);
__attribute__((dllimport)) WINBOOL HeapUnlock (HANDLE hHeap);
__attribute__((dllimport)) WINBOOL HeapWalk (HANDLE hHeap, LPPROCESS_HEAP_ENTRY lpEntry);
__attribute__((dllimport)) WINBOOL HeapSetInformation (HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength);
__attribute__((dllimport)) WINBOOL HeapQueryInformation (HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength, PSIZE_T ReturnLength);
__attribute__((dllimport)) LPVOID HeapAlloc (HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes);
__attribute__((dllimport)) LPVOID HeapReAlloc (HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes);
__attribute__((dllimport)) WINBOOL HeapFree (HANDLE hHeap, DWORD dwFlags, LPVOID lpMem);
__attribute__((dllimport)) SIZE_T HeapSize (HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem);
__attribute__((dllimport)) HANDLE GetProcessHeap (void);
__attribute__((dllimport)) WINBOOL GetOverlappedResult (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, WINBOOL bWait);
__attribute__((dllimport)) HANDLE CreateIoCompletionPort (HANDLE FileHandle, HANDLE ExistingCompletionPort, ULONG_PTR CompletionKey, DWORD NumberOfConcurrentThreads);
__attribute__((dllimport)) WINBOOL GetQueuedCompletionStatus (HANDLE CompletionPort, LPDWORD lpNumberOfBytesTransferred, PULONG_PTR lpCompletionKey, LPOVERLAPPED *lpOverlapped, DWORD dwMilliseconds);
__attribute__((dllimport)) WINBOOL PostQueuedCompletionStatus (HANDLE CompletionPort, DWORD dwNumberOfBytesTransferred, ULONG_PTR dwCompletionKey, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL DeviceIoControl (HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL CancelIo (HANDLE hFile);
__attribute__((dllimport)) WINBOOL GetOverlappedResultEx (HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, DWORD dwMilliseconds, WINBOOL bAlertable);
__attribute__((dllimport)) void InitializeSListHead (PSLIST_HEADER ListHead);
__attribute__((dllimport)) PSLIST_ENTRY InterlockedPopEntrySList (PSLIST_HEADER ListHead);
__attribute__((dllimport)) PSLIST_ENTRY InterlockedPushEntrySList (PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry);
__attribute__((dllimport)) PSLIST_ENTRY InterlockedFlushSList (PSLIST_HEADER ListHead);
__attribute__((dllimport)) USHORT QueryDepthSList (PSLIST_HEADER ListHead);
__attribute__((dllimport)) WINBOOL IsProcessInJob (HANDLE ProcessHandle, HANDLE JobHandle, PBOOL Result);
typedef struct tagENUMUILANG {
ULONG NumOfEnumUILang;
ULONG SizeOfEnumUIBuffer;
LANGID *pEnumUIBuffer;
} ENUMUILANG, *PENUMUILANG;
typedef WINBOOL ( *ENUMRESLANGPROCA) (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LONG_PTR lParam);
typedef WINBOOL ( *ENUMRESLANGPROCW) (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LONG_PTR lParam);
typedef WINBOOL ( *ENUMRESNAMEPROCA) (HMODULE hModule, LPCSTR lpType, LPSTR lpName, LONG_PTR lParam);
typedef WINBOOL ( *ENUMRESNAMEPROCW) (HMODULE hModule, LPCWSTR lpType, LPWSTR lpName, LONG_PTR lParam);
typedef WINBOOL ( *ENUMRESTYPEPROCA) (HMODULE hModule, LPSTR lpType, LONG_PTR lParam);
typedef WINBOOL ( *ENUMRESTYPEPROCW) (HMODULE hModule, LPWSTR lpType, LONG_PTR lParam);
typedef WINBOOL ( *PGET_MODULE_HANDLE_EXA) (DWORD dwFlags, LPCSTR lpModuleName, HMODULE *phModule);
typedef WINBOOL ( *PGET_MODULE_HANDLE_EXW) (DWORD dwFlags, LPCWSTR lpModuleName, HMODULE *phModule);
typedef PVOID DLL_DIRECTORY_COOKIE, *PDLL_DIRECTORY_COOKIE;
__attribute__((dllimport)) WINBOOL EnumResourceNamesW(HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) HRSRC FindResourceW(HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType);
__attribute__((dllimport)) HRSRC FindResourceExW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage);
__attribute__((dllimport)) __attribute__((noreturn)) void FreeLibraryAndExitThread (HMODULE hLibModule, DWORD dwExitCode);
__attribute__((dllimport)) WINBOOL FreeResource (HGLOBAL hResData);
__attribute__((dllimport)) HMODULE GetModuleHandleA (LPCSTR lpModuleName);
__attribute__((dllimport)) HMODULE GetModuleHandleW (LPCWSTR lpModuleName);
__attribute__((dllimport)) HMODULE LoadLibraryA(LPCSTR lpLibFileName);
__attribute__((dllimport)) HMODULE LoadLibraryW(LPCWSTR lpLibFileName);
__attribute__((dllimport)) HMODULE LoadLibraryExA (LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
__attribute__((dllimport)) HMODULE LoadLibraryExW (LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags);
__attribute__((dllimport)) HGLOBAL LoadResource (HMODULE hModule, HRSRC hResInfo);
__attribute__((dllimport)) int LoadStringA (HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int cchBufferMax);
__attribute__((dllimport)) int LoadStringW (HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int cchBufferMax);
__attribute__((dllimport)) LPVOID LockResource (HGLOBAL hResData);
__attribute__((dllimport)) DWORD SizeofResource (HMODULE hModule, HRSRC hResInfo);
__attribute__((dllimport)) DLL_DIRECTORY_COOKIE AddDllDirectory (PCWSTR NewDirectory);
__attribute__((dllimport)) WINBOOL RemoveDllDirectory (DLL_DIRECTORY_COOKIE Cookie);
__attribute__((dllimport)) WINBOOL SetDefaultDllDirectories (DWORD DirectoryFlags);
__attribute__((dllimport)) WINBOOL GetModuleHandleExA (DWORD dwFlags, LPCSTR lpModuleName, HMODULE *phModule);
__attribute__((dllimport)) WINBOOL GetModuleHandleExW (DWORD dwFlags, LPCWSTR lpModuleName, HMODULE *phModule);
__attribute__((dllimport)) WINBOOL EnumResourceLanguagesA(HMODULE hModule,LPCSTR lpType,LPCSTR lpName,ENUMRESLANGPROCA lpEnumFunc,LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceLanguagesW(HMODULE hModule,LPCWSTR lpType,LPCWSTR lpName,ENUMRESLANGPROCW lpEnumFunc,LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL DisableThreadLibraryCalls (HMODULE hLibModule);
__attribute__((dllimport)) WINBOOL FreeLibrary (HMODULE hLibModule);
__attribute__((dllimport)) FARPROC GetProcAddress (HMODULE hModule, LPCSTR lpProcName);
__attribute__((dllimport)) DWORD GetModuleFileNameA (HMODULE hModule, LPSTR lpFilename, DWORD nSize);
__attribute__((dllimport)) DWORD GetModuleFileNameW (HMODULE hModule, LPWSTR lpFilename, DWORD nSize);
typedef struct _REDIRECTION_FUNCTION_DESCRIPTOR {
PCSTR DllName;
PCSTR FunctionName;
PVOID RedirectionTarget;
} REDIRECTION_FUNCTION_DESCRIPTOR, *PREDIRECTION_FUNCTION_DESCRIPTOR;
typedef const REDIRECTION_FUNCTION_DESCRIPTOR *PCREDIRECTION_FUNCTION_DESCRIPTOR;
typedef struct _REDIRECTION_DESCRIPTOR {
ULONG Version;
ULONG FunctionCount;
PCREDIRECTION_FUNCTION_DESCRIPTOR Redirections;
} REDIRECTION_DESCRIPTOR, *PREDIRECTION_DESCRIPTOR;
typedef const REDIRECTION_DESCRIPTOR *PCREDIRECTION_DESCRIPTOR;
typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
LowMemoryResourceNotification,
HighMemoryResourceNotification
} MEMORY_RESOURCE_NOTIFICATION_TYPE;
__attribute__((dllimport)) WINBOOL VirtualFree (LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
__attribute__((dllimport)) SIZE_T VirtualQuery (LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
__attribute__((dllimport)) WINBOOL FlushViewOfFile (LPCVOID lpBaseAddress, SIZE_T dwNumberOfBytesToFlush);
__attribute__((dllimport)) WINBOOL UnmapViewOfFile (LPCVOID lpBaseAddress);
__attribute__((dllimport)) HANDLE CreateFileMappingFromApp (HANDLE hFile, PSECURITY_ATTRIBUTES SecurityAttributes, ULONG PageProtection, ULONG64 MaximumSize, PCWSTR Name);
__attribute__((dllimport)) PVOID MapViewOfFileFromApp (HANDLE hFileMappingObject, ULONG DesiredAccess, ULONG64 FileOffset, SIZE_T NumberOfBytesToMap);
__attribute__((dllimport)) WINBOOL VirtualProtect (LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
__attribute__((dllimport)) LPVOID VirtualAlloc (LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
__attribute__((dllimport)) LPVOID VirtualAllocEx (HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
__attribute__((dllimport)) WINBOOL VirtualFreeEx (HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType);
__attribute__((dllimport)) WINBOOL VirtualProtectEx (HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
__attribute__((dllimport)) SIZE_T VirtualQueryEx (HANDLE hProcess, LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
__attribute__((dllimport)) WINBOOL ReadProcessMemory (HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesRead);
__attribute__((dllimport)) WINBOOL WriteProcessMemory (HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesWritten);
__attribute__((dllimport)) HANDLE CreateFileMappingW (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName);
__attribute__((dllimport)) HANDLE OpenFileMappingW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName);
__attribute__((dllimport)) LPVOID MapViewOfFile (HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap);
__attribute__((dllimport)) LPVOID MapViewOfFileEx (HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress);
__attribute__((dllimport)) SIZE_T GetLargePageMinimum (void);
__attribute__((dllimport)) WINBOOL GetProcessWorkingSetSizeEx (HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize, PDWORD Flags);
__attribute__((dllimport)) WINBOOL SetProcessWorkingSetSizeEx (HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize, DWORD Flags);
__attribute__((dllimport)) WINBOOL VirtualLock (LPVOID lpAddress, SIZE_T dwSize);
__attribute__((dllimport)) WINBOOL VirtualUnlock (LPVOID lpAddress, SIZE_T dwSize);
__attribute__((dllimport)) UINT GetWriteWatch (DWORD dwFlags, PVOID lpBaseAddress, SIZE_T dwRegionSize, PVOID *lpAddresses, ULONG_PTR *lpdwCount, LPDWORD lpdwGranularity);
__attribute__((dllimport)) UINT ResetWriteWatch (LPVOID lpBaseAddress, SIZE_T dwRegionSize);
__attribute__((dllimport)) HANDLE CreateMemoryResourceNotification (MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType);
__attribute__((dllimport)) WINBOOL QueryMemoryResourceNotification (HANDLE ResourceNotificationHandle, PBOOL ResourceState);
__attribute__((dllimport)) WINBOOL GetSystemFileCacheSize (PSIZE_T lpMinimumFileCacheSize, PSIZE_T lpMaximumFileCacheSize, PDWORD lpFlags);
__attribute__((dllimport)) WINBOOL SetSystemFileCacheSize (SIZE_T MinimumFileCacheSize, SIZE_T MaximumFileCacheSize, DWORD Flags);
__attribute__((dllimport)) WINBOOL ImpersonateNamedPipeClient (HANDLE hNamedPipe);
__attribute__((dllimport)) WINBOOL CreatePipe (PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize);
__attribute__((dllimport)) WINBOOL ConnectNamedPipe (HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) WINBOOL DisconnectNamedPipe (HANDLE hNamedPipe);
__attribute__((dllimport)) WINBOOL SetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout);
__attribute__((dllimport)) WINBOOL PeekNamedPipe (HANDLE hNamedPipe, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesRead, LPDWORD lpTotalBytesAvail, LPDWORD lpBytesLeftThisMessage);
__attribute__((dllimport)) WINBOOL TransactNamedPipe (HANDLE hNamedPipe, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) HANDLE CreateNamedPipeW (LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL WaitNamedPipeW (LPCWSTR lpNamedPipeName, DWORD nTimeOut);
__attribute__((dllimport)) HANDLE CreatePrivateNamespaceW (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix);
__attribute__((dllimport)) HANDLE OpenPrivateNamespaceW (LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix);
__attribute__((dllimport)) BOOLEAN ClosePrivateNamespace (HANDLE Handle, ULONG Flags);
__attribute__((dllimport)) HANDLE CreateBoundaryDescriptorW (LPCWSTR Name, ULONG Flags);
__attribute__((dllimport)) WINBOOL AddSIDToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID RequiredSid);
__attribute__((dllimport)) void DeleteBoundaryDescriptor (HANDLE BoundaryDescriptor);
__attribute__((dllimport)) WINBOOL SetEnvironmentStringsW (LPWCH NewEnvironment);
__attribute__((dllimport)) LPSTR GetCommandLineA (void);
__attribute__((dllimport)) LPWSTR GetCommandLineW (void);
__attribute__((dllimport)) WINBOOL SetCurrentDirectoryA (LPCSTR lpPathName);
__attribute__((dllimport)) WINBOOL SetCurrentDirectoryW (LPCWSTR lpPathName);
__attribute__((dllimport)) DWORD GetCurrentDirectoryA (DWORD nBufferLength, LPSTR lpBuffer);
__attribute__((dllimport)) DWORD GetCurrentDirectoryW (DWORD nBufferLength, LPWSTR lpBuffer);
__attribute__((dllimport)) DWORD SearchPathW (LPCWSTR lpPath, LPCWSTR lpFileName, LPCWSTR lpExtension, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
__attribute__((dllimport)) DWORD SearchPathA (LPCSTR lpPath, LPCSTR lpFileName, LPCSTR lpExtension, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
__attribute__((dllimport)) WINBOOL NeedCurrentDirectoryForExePathA (LPCSTR ExeName);
__attribute__((dllimport)) WINBOOL NeedCurrentDirectoryForExePathW (LPCWSTR ExeName);
__attribute__((dllimport)) LPCH GetEnvironmentStrings (void);
__attribute__((dllimport)) LPWCH GetEnvironmentStringsW (void);
__attribute__((dllimport)) HANDLE GetStdHandle (DWORD nStdHandle);
__attribute__((dllimport)) DWORD ExpandEnvironmentStringsA (LPCSTR lpSrc, LPSTR lpDst, DWORD nSize);
__attribute__((dllimport)) DWORD ExpandEnvironmentStringsW (LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize);
__attribute__((dllimport)) WINBOOL FreeEnvironmentStringsA (LPCH penv);
__attribute__((dllimport)) WINBOOL FreeEnvironmentStringsW (LPWCH penv);
__attribute__((dllimport)) DWORD GetEnvironmentVariableA (LPCSTR lpName, LPSTR lpBuffer, DWORD nSize);
__attribute__((dllimport)) DWORD GetEnvironmentVariableW (LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize);
__attribute__((dllimport)) WINBOOL SetEnvironmentVariableA (LPCSTR lpName, LPCSTR lpValue);
__attribute__((dllimport)) WINBOOL SetEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpValue);
__attribute__((dllimport)) WINBOOL SetStdHandle (DWORD nStdHandle, HANDLE hHandle);
__attribute__((dllimport)) WINBOOL TerminateProcess (HANDLE hProcess, UINT uExitCode);
__attribute__((dllimport)) HANDLE OpenProcess (DWORD dwDesiredAccess, WINBOOL bInheritHandle, DWORD dwProcessId);
__attribute__((dllimport)) DWORD QueueUserAPC (PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData);
__attribute__((dllimport)) WINBOOL GetProcessTimes (HANDLE hProcess, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);
__attribute__((dllimport)) __attribute__((noreturn)) void ExitProcess (UINT uExitCode);
__attribute__((dllimport)) WINBOOL GetExitCodeProcess (HANDLE hProcess, LPDWORD lpExitCode);
__attribute__((dllimport)) WINBOOL SwitchToThread (void);
__attribute__((dllimport)) HANDLE OpenThread (DWORD dwDesiredAccess, WINBOOL bInheritHandle, DWORD dwThreadId);
__attribute__((dllimport)) WINBOOL SetThreadPriorityBoost (HANDLE hThread, WINBOOL bDisablePriorityBoost);
__attribute__((dllimport)) WINBOOL GetThreadPriorityBoost (HANDLE hThread, PBOOL pDisablePriorityBoost);
__attribute__((dllimport)) WINBOOL SetThreadToken (PHANDLE Thread, HANDLE Token);
__attribute__((dllimport)) WINBOOL OpenProcessToken (HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle);
__attribute__((dllimport)) WINBOOL OpenThreadToken (HANDLE ThreadHandle, DWORD DesiredAccess, WINBOOL OpenAsSelf, PHANDLE TokenHandle);
__attribute__((dllimport)) WINBOOL SetPriorityClass (HANDLE hProcess, DWORD dwPriorityClass);
__attribute__((dllimport)) DWORD GetPriorityClass (HANDLE hProcess);
__attribute__((dllimport)) DWORD GetProcessId (HANDLE Process);
__attribute__((dllimport)) DWORD GetThreadId (HANDLE Thread);
__attribute__((dllimport)) WINBOOL GetThreadContext (HANDLE hThread, LPCONTEXT lpContext);
__attribute__((dllimport)) WINBOOL FlushInstructionCache (HANDLE hProcess, LPCVOID lpBaseAddress, SIZE_T dwSize);
__attribute__((dllimport)) WINBOOL GetThreadTimes (HANDLE hThread, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);
__attribute__((dllimport)) DWORD GetCurrentProcessorNumber (void);
typedef struct _PROCESS_INFORMATION {
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
typedef struct _STARTUPINFOA {
DWORD cb;
LPSTR lpReserved;
LPSTR lpDesktop;
LPSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFOA, *LPSTARTUPINFOA;
typedef struct _STARTUPINFOW {
DWORD cb;
LPWSTR lpReserved;
LPWSTR lpDesktop;
LPWSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFOW, *LPSTARTUPINFOW;
typedef STARTUPINFOA STARTUPINFO;
typedef LPSTARTUPINFOA LPSTARTUPINFO;
__attribute__((dllimport)) HANDLE CreateRemoteThread (HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
__attribute__((dllimport)) WINBOOL TerminateThread (HANDLE hThread, DWORD dwExitCode);
__attribute__((dllimport)) WINBOOL SetProcessShutdownParameters (DWORD dwLevel, DWORD dwFlags);
__attribute__((dllimport)) DWORD GetProcessVersion (DWORD ProcessId);
__attribute__((dllimport)) void GetStartupInfoW (LPSTARTUPINFOW lpStartupInfo);
__attribute__((dllimport)) WINBOOL SetThreadStackGuarantee (PULONG StackSizeInBytes);
__attribute__((dllimport)) WINBOOL ProcessIdToSessionId (DWORD dwProcessId, DWORD *pSessionId);
__attribute__((dllimport)) HANDLE CreateRemoteThreadEx (HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, LPDWORD lpThreadId);
__attribute__((dllimport)) WINBOOL SetThreadContext (HANDLE hThread, const CONTEXT *lpContext);
__attribute__((dllimport)) WINBOOL GetProcessHandleCount (HANDLE hProcess, PDWORD pdwHandleCount);
__attribute__((dllimport)) WINBOOL CreateProcessA (LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) WINBOOL CreateProcessW (LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) WINBOOL CreateProcessAsUserW (HANDLE hToken, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) HANDLE GetCurrentProcess (void);
__attribute__((dllimport)) DWORD GetCurrentProcessId (void);
__attribute__((dllimport)) HANDLE GetCurrentThread (void);
__attribute__((dllimport)) DWORD GetCurrentThreadId (void);
WINBOOL IsProcessorFeaturePresent (DWORD ProcessorFeature);
__attribute__((dllimport)) HANDLE CreateThread (LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId);
__attribute__((dllimport)) WINBOOL SetThreadPriority (HANDLE hThread, int nPriority);
__attribute__((dllimport)) int GetThreadPriority (HANDLE hThread);
__attribute__((dllimport)) __attribute__((noreturn)) void ExitThread (DWORD dwExitCode);
__attribute__((dllimport)) WINBOOL GetExitCodeThread (HANDLE hThread, LPDWORD lpExitCode);
__attribute__((dllimport)) DWORD SuspendThread (HANDLE hThread);
__attribute__((dllimport)) DWORD ResumeThread (HANDLE hThread);
__attribute__((dllimport)) DWORD TlsAlloc (void);
__attribute__((dllimport)) LPVOID TlsGetValue (DWORD dwTlsIndex);
__attribute__((dllimport)) WINBOOL TlsSetValue (DWORD dwTlsIndex, LPVOID lpTlsValue);
__attribute__((dllimport)) WINBOOL TlsFree (DWORD dwTlsIndex);
__attribute__((dllimport)) WINBOOL QueryPerformanceCounter (LARGE_INTEGER *lpPerformanceCount);
__attribute__((dllimport)) WINBOOL QueryPerformanceFrequency (LARGE_INTEGER *lpFrequency);
__attribute__((dllimport)) WINBOOL AccessCheck (PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus);
__attribute__((dllimport)) WINBOOL AccessCheckAndAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByType (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID PrincipalSelfSid, HANDLE ClientToken, DWORD DesiredAccess, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeResultList (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID PrincipalSelfSid, HANDLE ClientToken, DWORD DesiredAccess, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccessList, LPDWORD AccessStatusList);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeAndAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeResultListAndAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccessList, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeResultListAndAuditAlarmByHandleW (LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccessList, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AddAccessAllowedAce (PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAccessAllowedAceEx (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAccessAllowedObjectAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID *ObjectTypeGuid, GUID *InheritedObjectTypeGuid, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAccessDeniedAce (PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAccessDeniedAceEx (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAccessDeniedObjectAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID *ObjectTypeGuid, GUID *InheritedObjectTypeGuid, PSID pSid);
__attribute__((dllimport)) WINBOOL AddAce (PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength);
__attribute__((dllimport)) WINBOOL AddAuditAccessAce (PACL pAcl, DWORD dwAceRevision, DWORD dwAccessMask, PSID pSid, WINBOOL bAuditSuccess, WINBOOL bAuditFailure);
__attribute__((dllimport)) WINBOOL AddAuditAccessAceEx (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD dwAccessMask, PSID pSid, WINBOOL bAuditSuccess, WINBOOL bAuditFailure);
__attribute__((dllimport)) WINBOOL AddAuditAccessObjectAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID *ObjectTypeGuid, GUID *InheritedObjectTypeGuid, PSID pSid, WINBOOL bAuditSuccess, WINBOOL bAuditFailure);
__attribute__((dllimport)) WINBOOL AdjustTokenGroups (HANDLE TokenHandle, WINBOOL ResetToDefault, PTOKEN_GROUPS NewState, DWORD BufferLength, PTOKEN_GROUPS PreviousState, PDWORD ReturnLength);
__attribute__((dllimport)) WINBOOL AdjustTokenPrivileges (HANDLE TokenHandle, WINBOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength);
__attribute__((dllimport)) WINBOOL AllocateAndInitializeSid (PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID *pSid);
__attribute__((dllimport)) WINBOOL AllocateLocallyUniqueId (PLUID Luid);
__attribute__((dllimport)) WINBOOL AreAllAccessesGranted (DWORD GrantedAccess, DWORD DesiredAccess);
__attribute__((dllimport)) WINBOOL AreAnyAccessesGranted (DWORD GrantedAccess, DWORD DesiredAccess);
__attribute__((dllimport)) WINBOOL CheckTokenMembership (HANDLE TokenHandle, PSID SidToCheck, PBOOL IsMember);
__attribute__((dllimport)) WINBOOL ConvertToAutoInheritPrivateObjectSecurity (PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CurrentSecurityDescriptor, PSECURITY_DESCRIPTOR *NewSecurityDescriptor, GUID *ObjectType, BOOLEAN IsDirectoryObject, PGENERIC_MAPPING GenericMapping);
__attribute__((dllimport)) WINBOOL CopySid (DWORD nDestinationSidLength, PSID pDestinationSid, PSID pSourceSid);
__attribute__((dllimport)) WINBOOL CreatePrivateObjectSecurity (PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR *NewDescriptor, WINBOOL IsDirectoryObject, HANDLE Token, PGENERIC_MAPPING GenericMapping);
__attribute__((dllimport)) WINBOOL CreatePrivateObjectSecurityEx (PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR *NewDescriptor, GUID *ObjectType, WINBOOL IsContainerObject, ULONG AutoInheritFlags, HANDLE Token, PGENERIC_MAPPING GenericMapping);
__attribute__((dllimport)) WINBOOL CreatePrivateObjectSecurityWithMultipleInheritance (PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR *NewDescriptor, GUID **ObjectTypes, ULONG GuidCount, WINBOOL IsContainerObject, ULONG AutoInheritFlags, HANDLE Token, PGENERIC_MAPPING GenericMapping);
__attribute__((dllimport)) WINBOOL CreateRestrictedToken (HANDLE ExistingTokenHandle, DWORD Flags, DWORD DisableSidCount, PSID_AND_ATTRIBUTES SidsToDisable, DWORD DeletePrivilegeCount, PLUID_AND_ATTRIBUTES PrivilegesToDelete, DWORD RestrictedSidCount, PSID_AND_ATTRIBUTES SidsToRestrict, PHANDLE NewTokenHandle);
__attribute__((dllimport)) WINBOOL CreateWellKnownSid (WELL_KNOWN_SID_TYPE WellKnownSidType, PSID DomainSid, PSID pSid, DWORD *cbSid);
__attribute__((dllimport)) WINBOOL EqualDomainSid (PSID pSid1, PSID pSid2, WINBOOL *pfEqual);
__attribute__((dllimport)) WINBOOL DeleteAce (PACL pAcl, DWORD dwAceIndex);
__attribute__((dllimport)) WINBOOL DestroyPrivateObjectSecurity (PSECURITY_DESCRIPTOR *ObjectDescriptor);
__attribute__((dllimport)) WINBOOL DuplicateToken (HANDLE ExistingTokenHandle, SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, PHANDLE DuplicateTokenHandle);
__attribute__((dllimport)) WINBOOL DuplicateTokenEx (HANDLE hExistingToken, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpTokenAttributes, SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, TOKEN_TYPE TokenType, PHANDLE phNewToken);
__attribute__((dllimport)) WINBOOL EqualPrefixSid (PSID pSid1, PSID pSid2);
__attribute__((dllimport)) WINBOOL EqualSid (PSID pSid1, PSID pSid2);
__attribute__((dllimport)) WINBOOL FindFirstFreeAce (PACL pAcl, LPVOID *pAce);
__attribute__((dllimport)) PVOID FreeSid (PSID pSid);
__attribute__((dllimport)) WINBOOL GetAce (PACL pAcl, DWORD dwAceIndex, LPVOID *pAce);
__attribute__((dllimport)) WINBOOL GetAclInformation (PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass);
__attribute__((dllimport)) WINBOOL GetFileSecurityW (LPCWSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded);
__attribute__((dllimport)) WINBOOL GetKernelObjectSecurity (HANDLE Handle, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded);
__attribute__((dllimport)) DWORD GetLengthSid (PSID pSid);
__attribute__((dllimport)) WINBOOL GetPrivateObjectSecurity (PSECURITY_DESCRIPTOR ObjectDescriptor, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ResultantDescriptor, DWORD DescriptorLength, PDWORD ReturnLength);
__attribute__((dllimport)) WINBOOL GetSecurityDescriptorControl (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision);
__attribute__((dllimport)) WINBOOL GetSecurityDescriptorDacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL *pDacl, LPBOOL lpbDaclDefaulted);
__attribute__((dllimport)) WINBOOL GetSecurityDescriptorGroup (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID *pGroup, LPBOOL lpbGroupDefaulted);
__attribute__((dllimport)) DWORD GetSecurityDescriptorLength (PSECURITY_DESCRIPTOR pSecurityDescriptor);
__attribute__((dllimport)) WINBOOL GetSecurityDescriptorOwner (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID *pOwner, LPBOOL lpbOwnerDefaulted);
__attribute__((dllimport)) DWORD GetSecurityDescriptorRMControl (PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl);
__attribute__((dllimport)) WINBOOL GetSecurityDescriptorSacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL *pSacl, LPBOOL lpbSaclDefaulted);
__attribute__((dllimport)) PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority (PSID pSid);
__attribute__((dllimport)) DWORD GetSidLengthRequired (UCHAR nSubAuthorityCount);
__attribute__((dllimport)) PDWORD GetSidSubAuthority (PSID pSid, DWORD nSubAuthority);
__attribute__((dllimport)) PUCHAR GetSidSubAuthorityCount (PSID pSid);
__attribute__((dllimport)) WINBOOL GetTokenInformation (HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength);
__attribute__((dllimport)) WINBOOL GetWindowsAccountDomainSid (PSID pSid, PSID pDomainSid, DWORD *cbDomainSid);
__attribute__((dllimport)) WINBOOL ImpersonateAnonymousToken (HANDLE ThreadHandle);
__attribute__((dllimport)) WINBOOL ImpersonateLoggedOnUser (HANDLE hToken);
__attribute__((dllimport)) WINBOOL ImpersonateSelf (SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
__attribute__((dllimport)) WINBOOL InitializeAcl (PACL pAcl, DWORD nAclLength, DWORD dwAclRevision);
__attribute__((dllimport)) WINBOOL InitializeSecurityDescriptor (PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision);
__attribute__((dllimport)) WINBOOL InitializeSid (PSID Sid, PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount);
__attribute__((dllimport)) WINBOOL IsTokenRestricted (HANDLE TokenHandle);
__attribute__((dllimport)) WINBOOL IsValidAcl (PACL pAcl);
__attribute__((dllimport)) WINBOOL IsValidSecurityDescriptor (PSECURITY_DESCRIPTOR pSecurityDescriptor);
__attribute__((dllimport)) WINBOOL IsValidSid (PSID pSid);
__attribute__((dllimport)) WINBOOL IsWellKnownSid (PSID pSid, WELL_KNOWN_SID_TYPE WellKnownSidType);
__attribute__((dllimport)) WINBOOL MakeAbsoluteSD (PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, LPDWORD lpdwAbsoluteSecurityDescriptorSize, PACL pDacl, LPDWORD lpdwDaclSize, PACL pSacl, LPDWORD lpdwSaclSize, PSID pOwner, LPDWORD lpdwOwnerSize, PSID pPrimaryGroup, LPDWORD lpdwPrimaryGroupSize);
__attribute__((dllimport)) WINBOOL MakeSelfRelativeSD (PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, LPDWORD lpdwBufferLength);
__attribute__((dllimport)) void MapGenericMask (PDWORD AccessMask, PGENERIC_MAPPING GenericMapping);
__attribute__((dllimport)) WINBOOL ObjectCloseAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectDeleteAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectOpenAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, WINBOOL ObjectCreation, WINBOOL AccessGranted, LPBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectPrivilegeAuditAlarmW (LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
__attribute__((dllimport)) WINBOOL PrivilegeCheck (HANDLE ClientToken, PPRIVILEGE_SET RequiredPrivileges, LPBOOL pfResult);
__attribute__((dllimport)) WINBOOL PrivilegedServiceAuditAlarmW (LPCWSTR SubsystemName, LPCWSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
__attribute__((dllimport)) WINBOOL RevertToSelf (void);
__attribute__((dllimport)) WINBOOL SetAclInformation (PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass);
__attribute__((dllimport)) WINBOOL SetFileSecurityW (LPCWSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
__attribute__((dllimport)) WINBOOL SetKernelObjectSecurity (HANDLE Handle, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR SecurityDescriptor);
__attribute__((dllimport)) WINBOOL SetPrivateObjectSecurity (SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ModificationDescriptor, PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, PGENERIC_MAPPING GenericMapping, HANDLE Token);
__attribute__((dllimport)) WINBOOL SetPrivateObjectSecurityEx (SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ModificationDescriptor, PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, ULONG AutoInheritFlags, PGENERIC_MAPPING GenericMapping, HANDLE Token);
__attribute__((dllimport)) WINBOOL SetSecurityDescriptorControl (PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet);
__attribute__((dllimport)) WINBOOL SetSecurityDescriptorDacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, WINBOOL bDaclPresent, PACL pDacl, WINBOOL bDaclDefaulted);
__attribute__((dllimport)) WINBOOL SetSecurityDescriptorGroup (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pGroup, WINBOOL bGroupDefaulted);
__attribute__((dllimport)) WINBOOL SetSecurityDescriptorOwner (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pOwner, WINBOOL bOwnerDefaulted);
__attribute__((dllimport)) DWORD SetSecurityDescriptorRMControl (PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl);
__attribute__((dllimport)) WINBOOL SetSecurityDescriptorSacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, WINBOOL bSaclPresent, PACL pSacl, WINBOOL bSaclDefaulted);
__attribute__((dllimport)) WINBOOL SetTokenInformation (HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength);
typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
typedef RTL_RUN_ONCE INIT_ONCE;
typedef PRTL_RUN_ONCE PINIT_ONCE;
typedef PRTL_RUN_ONCE LPINIT_ONCE;
typedef WINBOOL ( *PINIT_ONCE_FN) (PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context);
typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
__attribute__((dllimport)) void EnterCriticalSection (LPCRITICAL_SECTION lpCriticalSection);
__attribute__((dllimport)) void LeaveCriticalSection (LPCRITICAL_SECTION lpCriticalSection);
__attribute__((dllimport)) WINBOOL TryEnterCriticalSection (LPCRITICAL_SECTION lpCriticalSection);
__attribute__((dllimport)) void DeleteCriticalSection (LPCRITICAL_SECTION lpCriticalSection);
__attribute__((dllimport)) WINBOOL SetEvent (HANDLE hEvent);
__attribute__((dllimport)) WINBOOL ResetEvent (HANDLE hEvent);
__attribute__((dllimport)) WINBOOL ReleaseSemaphore (HANDLE hSemaphore, LONG lReleaseCount, LPLONG lpPreviousCount);
__attribute__((dllimport)) WINBOOL ReleaseMutex (HANDLE hMutex);
__attribute__((dllimport)) DWORD WaitForSingleObjectEx (HANDLE hHandle, DWORD dwMilliseconds, WINBOOL bAlertable);
__attribute__((dllimport)) DWORD WaitForMultipleObjectsEx (DWORD nCount, const HANDLE *lpHandles, WINBOOL bWaitAll, DWORD dwMilliseconds, WINBOOL bAlertable);
__attribute__((dllimport)) HANDLE OpenMutexW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName);
__attribute__((dllimport)) HANDLE OpenEventA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
__attribute__((dllimport)) HANDLE OpenEventW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName);
__attribute__((dllimport)) HANDLE OpenSemaphoreW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName);
WINBOOL WaitOnAddress (volatile void *Address, PVOID CompareAddress, SIZE_T AddressSize, DWORD dwMilliseconds);
void WakeByAddressSingle (PVOID Address);
void WakeByAddressAll (PVOID Address);
typedef void ( *PTIMERAPCROUTINE) (LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue);
typedef RTL_BARRIER SYNCHRONIZATION_BARRIER;
typedef PRTL_BARRIER PSYNCHRONIZATION_BARRIER;
typedef PRTL_BARRIER LPSYNCHRONIZATION_BARRIER;
__attribute__((dllimport)) void InitializeCriticalSection (LPCRITICAL_SECTION lpCriticalSection);
__attribute__((dllimport)) WINBOOL InitializeCriticalSectionAndSpinCount (LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount);
__attribute__((dllimport)) DWORD SetCriticalSectionSpinCount (LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount);
__attribute__((dllimport)) DWORD WaitForSingleObject (HANDLE hHandle, DWORD dwMilliseconds);
__attribute__((dllimport)) DWORD SleepEx (DWORD dwMilliseconds, WINBOOL bAlertable);
__attribute__((dllimport)) HANDLE CreateMutexA (LPSECURITY_ATTRIBUTES lpMutexAttributes, WINBOOL bInitialOwner, LPCSTR lpName);
__attribute__((dllimport)) HANDLE CreateMutexW (LPSECURITY_ATTRIBUTES lpMutexAttributes, WINBOOL bInitialOwner, LPCWSTR lpName);
__attribute__((dllimport)) HANDLE CreateEventA (LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualReset, WINBOOL bInitialState, LPCSTR lpName);
__attribute__((dllimport)) HANDLE CreateEventW (LPSECURITY_ATTRIBUTES lpEventAttributes, WINBOOL bManualReset, WINBOOL bInitialState, LPCWSTR lpName);
__attribute__((dllimport)) WINBOOL SetWaitableTimer (HANDLE hTimer, const LARGE_INTEGER *lpDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, WINBOOL fResume);
__attribute__((dllimport)) WINBOOL CancelWaitableTimer (HANDLE hTimer);
__attribute__((dllimport)) HANDLE OpenWaitableTimerW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpTimerName);
WINBOOL EnterSynchronizationBarrier (LPSYNCHRONIZATION_BARRIER lpBarrier, DWORD dwFlags);
WINBOOL InitializeSynchronizationBarrier (LPSYNCHRONIZATION_BARRIER lpBarrier, LONG lTotalThreads, LONG lSpinCount);
WINBOOL DeleteSynchronizationBarrier (LPSYNCHRONIZATION_BARRIER lpBarrier);
__attribute__((dllimport)) void Sleep (DWORD dwMilliseconds);
__attribute__((dllimport)) DWORD SignalObjectAndWait (HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, WINBOOL bAlertable);
typedef struct _SYSTEM_INFO {
__extension__ union {
DWORD dwOemId;
__extension__ struct {
WORD wProcessorArchitecture;
WORD wReserved;
} ;
} ;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD_PTR dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO, *LPSYSTEM_INFO;
__attribute__((dllimport)) void GetSystemTime (LPSYSTEMTIME lpSystemTime);
__attribute__((dllimport)) void GetSystemTimeAsFileTime (LPFILETIME lpSystemTimeAsFileTime);
__attribute__((dllimport)) void GetLocalTime (LPSYSTEMTIME lpSystemTime);
__attribute__((dllimport)) void GetNativeSystemInfo (LPSYSTEM_INFO lpSystemInfo);
typedef struct _MEMORYSTATUSEX {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORDLONG ullTotalPhys;
DWORDLONG ullAvailPhys;
DWORDLONG ullTotalPageFile;
DWORDLONG ullAvailPageFile;
DWORDLONG ullTotalVirtual;
DWORDLONG ullAvailVirtual;
DWORDLONG ullAvailExtendedVirtual;
} MEMORYSTATUSEX,*LPMEMORYSTATUSEX;
__attribute__((dllimport)) void GetSystemInfo (LPSYSTEM_INFO lpSystemInfo);
__attribute__((dllimport)) WINBOOL GlobalMemoryStatusEx (LPMEMORYSTATUSEX lpBuffer);
__attribute__((dllimport)) DWORD GetTickCount (void);
__attribute__((dllimport)) void GetSystemTimePreciseAsFileTime (LPFILETIME lpSystemTimeAsFileTime);
__attribute__((dllimport)) WINBOOL GetVersionExA (LPOSVERSIONINFOA lpVersionInformation);
__attribute__((dllimport)) WINBOOL GetVersionExW (LPOSVERSIONINFOW lpVersionInformation);
typedef enum _COMPUTER_NAME_FORMAT {
ComputerNameNetBIOS,
ComputerNameDnsHostname,
ComputerNameDnsDomain,
ComputerNameDnsFullyQualified,
ComputerNamePhysicalNetBIOS,
ComputerNamePhysicalDnsHostname,
ComputerNamePhysicalDnsDomain,
ComputerNamePhysicalDnsFullyQualified,
ComputerNameMax
} COMPUTER_NAME_FORMAT;
__attribute__((dllimport)) DWORD GetVersion (void);
__attribute__((dllimport)) WINBOOL SetLocalTime (const SYSTEMTIME *lpSystemTime);
__attribute__((dllimport)) WINBOOL GetSystemTimeAdjustment (PDWORD lpTimeAdjustment, PDWORD lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled);
__attribute__((dllimport)) UINT GetSystemDirectoryA (LPSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetSystemDirectoryW (LPWSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetWindowsDirectoryA (LPSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetSystemWindowsDirectoryA (LPSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetSystemWindowsDirectoryW (LPWSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) WINBOOL GetComputerNameExA (COMPUTER_NAME_FORMAT NameType, LPSTR lpBuffer, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL GetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPWSTR lpBuffer, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL SetComputerNameExW (COMPUTER_NAME_FORMAT NameType, LPCWSTR lpBuffer);
__attribute__((dllimport)) WINBOOL SetSystemTime (const SYSTEMTIME *lpSystemTime);
__attribute__((dllimport)) WINBOOL GetLogicalProcessorInformation (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnedLength);
__attribute__((dllimport)) ULONGLONG VerSetConditionMask (ULONGLONG ConditionMask, ULONG TypeMask, UCHAR Condition);
__attribute__((dllimport)) UINT EnumSystemFirmwareTables (DWORD FirmwareTableProviderSignature, PVOID pFirmwareTableEnumBuffer, DWORD BufferSize);
__attribute__((dllimport)) UINT GetSystemFirmwareTable (DWORD FirmwareTableProviderSignature, DWORD FirmwareTableID, PVOID pFirmwareTableBuffer, DWORD BufferSize);
__attribute__((dllimport)) WINBOOL GetNumaHighestNodeNumber (PULONG HighestNodeNumber);
typedef void ( *PTP_WIN32_IO_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PVOID Overlapped, ULONG IoResult, ULONG_PTR NumberOfBytesTransferred, PTP_IO Io);
__attribute__((dllimport)) WINBOOL CreateTimerQueueTimer (PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags);
__attribute__((dllimport)) WINBOOL DeleteTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent);
__attribute__((dllimport)) WINBOOL QueueUserWorkItem (LPTHREAD_START_ROUTINE Function, PVOID Context, ULONG Flags);
__attribute__((dllimport)) WINBOOL UnregisterWaitEx (HANDLE WaitHandle, HANDLE CompletionEvent);
__attribute__((dllimport)) HANDLE CreateTimerQueue (void);
__attribute__((dllimport)) WINBOOL ChangeTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, ULONG DueTime, ULONG Period);
__attribute__((dllimport)) WINBOOL DeleteTimerQueueEx (HANDLE TimerQueue, HANDLE CompletionEvent);
__attribute__((dllimport)) PVOID EncodePointer (PVOID Ptr);
__attribute__((dllimport)) PVOID DecodePointer (PVOID Ptr);
__attribute__((dllimport)) PVOID EncodeSystemPointer (PVOID Ptr);
__attribute__((dllimport)) PVOID DecodeSystemPointer (PVOID Ptr);
__attribute__((dllimport)) WINBOOL Beep (DWORD dwFreq, DWORD dwDuration);
__attribute__((dllimport)) WINBOOL Wow64DisableWow64FsRedirection (PVOID *OldValue);
__attribute__((dllimport)) WINBOOL Wow64RevertWow64FsRedirection (PVOID OlValue);
__attribute__((dllimport)) WINBOOL IsWow64Process (HANDLE hProcess, PBOOL Wow64Process);
typedef void ( *PFIBER_START_ROUTINE) (LPVOID lpFiberParameter);
typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
typedef LPVOID LPLDT_ENTRY;
typedef struct _COMMPROP {
WORD wPacketLength;
WORD wPacketVersion;
DWORD dwServiceMask;
DWORD dwReserved1;
DWORD dwMaxTxQueue;
DWORD dwMaxRxQueue;
DWORD dwMaxBaud;
DWORD dwProvSubType;
DWORD dwProvCapabilities;
DWORD dwSettableParams;
DWORD dwSettableBaud;
WORD wSettableData;
WORD wSettableStopParity;
DWORD dwCurrentTxQueue;
DWORD dwCurrentRxQueue;
DWORD dwProvSpec1;
DWORD dwProvSpec2;
WCHAR wcProvChar[1];
} COMMPROP,*LPCOMMPROP;
typedef struct _COMSTAT {
DWORD fCtsHold : 1;
DWORD fDsrHold : 1;
DWORD fRlsdHold : 1;
DWORD fXoffHold : 1;
DWORD fXoffSent : 1;
DWORD fEof : 1;
DWORD fTxim : 1;
DWORD fReserved : 25;
DWORD cbInQue;
DWORD cbOutQue;
} COMSTAT,*LPCOMSTAT;
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary: 1;
DWORD fParity: 1;
DWORD fOutxCtsFlow:1;
DWORD fOutxDsrFlow:1;
DWORD fDtrControl:2;
DWORD fDsrSensitivity:1;
DWORD fTXContinueOnXoff: 1;
DWORD fOutX: 1;
DWORD fInX: 1;
DWORD fErrorChar: 1;
DWORD fNull: 1;
DWORD fRtsControl:2;
DWORD fAbortOnError:1;
DWORD fDummy2:17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB,*LPDCB;
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
typedef struct _COMMCONFIG {
DWORD dwSize;
WORD wVersion;
WORD wReserved;
DCB dcb;
DWORD dwProviderSubType;
DWORD dwProviderOffset;
DWORD dwProviderSize;
WCHAR wcProviderData[1];
} COMMCONFIG,*LPCOMMCONFIG;
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
SIZE_T dwTotalPhys;
SIZE_T dwAvailPhys;
SIZE_T dwTotalPageFile;
SIZE_T dwAvailPageFile;
SIZE_T dwTotalVirtual;
SIZE_T dwAvailVirtual;
} MEMORYSTATUS,*LPMEMORYSTATUS;
typedef struct _JIT_DEBUG_INFO {
DWORD dwSize;
DWORD dwProcessorArchitecture;
DWORD dwThreadID;
DWORD dwReserved0;
ULONG64 lpExceptionAddress;
ULONG64 lpExceptionRecord;
ULONG64 lpContextRecord;
} JIT_DEBUG_INFO,*LPJIT_DEBUG_INFO;
typedef JIT_DEBUG_INFO JIT_DEBUG_INFO32, *LPJIT_DEBUG_INFO32;
typedef JIT_DEBUG_INFO JIT_DEBUG_INFO64, *LPJIT_DEBUG_INFO64;
typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
typedef struct _OFSTRUCT {
BYTE cBytes;
BYTE fFixedDisk;
WORD nErrCode;
WORD Reserved1;
WORD Reserved2;
CHAR szPathName[128];
} OFSTRUCT, *LPOFSTRUCT,*POFSTRUCT;
LONG __attribute__((__cdecl__)) _InterlockedAnd(LONG volatile *Destination, LONG Value);
LONG __attribute__((__cdecl__)) _InterlockedOr(LONG volatile *Destination, LONG Value);
LONG __attribute__((__cdecl__)) _InterlockedXor(LONG volatile *Destination, LONG Value);
char __attribute__((__cdecl__)) _InterlockedAnd8(char volatile *Destination, char Value);
char __attribute__((__cdecl__)) _InterlockedOr8(char volatile *Destination, char Value);
char __attribute__((__cdecl__)) _InterlockedXor8(char volatile *Destination, char Value);
SHORT __attribute__((__cdecl__)) _InterlockedAnd16(SHORT volatile *Destination, SHORT Value);
SHORT __attribute__((__cdecl__)) _InterlockedOr16(SHORT volatile *Destination, SHORT Value);
SHORT __attribute__((__cdecl__)) _InterlockedXor16(SHORT volatile *Destination, SHORT Value);
__attribute__((dllimport)) HLOCAL LocalAlloc (UINT uFlags, SIZE_T uBytes);
__attribute__((dllimport)) HLOCAL LocalFree (HLOCAL hMem);
int WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
int wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd);
__attribute__((dllimport)) HGLOBAL GlobalAlloc (UINT uFlags, SIZE_T dwBytes);
__attribute__((dllimport)) HGLOBAL GlobalReAlloc (HGLOBAL hMem, SIZE_T dwBytes, UINT uFlags);
__attribute__((dllimport)) SIZE_T GlobalSize (HGLOBAL hMem);
__attribute__((dllimport)) UINT GlobalFlags (HGLOBAL hMem);
__attribute__((dllimport)) LPVOID GlobalLock (HGLOBAL hMem);
__attribute__((dllimport)) HGLOBAL GlobalHandle (LPCVOID pMem);
__attribute__((dllimport)) WINBOOL GlobalUnlock (HGLOBAL hMem);
__attribute__((dllimport)) HGLOBAL GlobalFree (HGLOBAL hMem);
__attribute__((dllimport)) SIZE_T GlobalCompact (DWORD dwMinFree);
__attribute__((dllimport)) void GlobalFix (HGLOBAL hMem);
__attribute__((dllimport)) void GlobalUnfix (HGLOBAL hMem);
__attribute__((dllimport)) LPVOID GlobalWire (HGLOBAL hMem);
__attribute__((dllimport)) WINBOOL GlobalUnWire (HGLOBAL hMem);
__attribute__((dllimport)) void GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer);
__attribute__((dllimport)) HLOCAL LocalReAlloc (HLOCAL hMem, SIZE_T uBytes, UINT uFlags);
__attribute__((dllimport)) LPVOID LocalLock (HLOCAL hMem);
__attribute__((dllimport)) HLOCAL LocalHandle (LPCVOID pMem);
__attribute__((dllimport)) WINBOOL LocalUnlock (HLOCAL hMem);
__attribute__((dllimport)) SIZE_T LocalSize (HLOCAL hMem);
__attribute__((dllimport)) UINT LocalFlags (HLOCAL hMem);
__attribute__((dllimport)) SIZE_T LocalShrink (HLOCAL hMem, UINT cbNewSize);
__attribute__((dllimport)) SIZE_T LocalCompact (UINT uMinFree);
__attribute__((dllimport)) WINBOOL GetBinaryTypeA (LPCSTR lpApplicationName, LPDWORD lpBinaryType);
__attribute__((dllimport)) WINBOOL GetBinaryTypeW (LPCWSTR lpApplicationName, LPDWORD lpBinaryType);
__attribute__((dllimport)) DWORD GetShortPathNameA (LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer);
__attribute__((dllimport)) WINBOOL GetProcessAffinityMask (HANDLE hProcess, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask);
__attribute__((dllimport)) WINBOOL SetProcessAffinityMask (HANDLE hProcess, DWORD_PTR dwProcessAffinityMask);
__attribute__((dllimport)) WINBOOL GetProcessIoCounters (HANDLE hProcess, PIO_COUNTERS lpIoCounters);
__attribute__((dllimport)) WINBOOL GetProcessWorkingSetSize (HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize);
__attribute__((dllimport)) WINBOOL SetProcessWorkingSetSize (HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize);
__attribute__((dllimport)) void FatalExit (int ExitCode);
__attribute__((dllimport)) WINBOOL SetEnvironmentStringsA (LPCH NewEnvironment);
__attribute__((dllimport)) void RaiseFailFastException (PEXCEPTION_RECORD pExceptionRecord, PCONTEXT pContextRecord, DWORD dwFlags);
__attribute__((dllimport)) DWORD SetThreadIdealProcessor (HANDLE hThread, DWORD dwIdealProcessor);
__attribute__((dllimport)) LPVOID CreateFiber (SIZE_T dwStackSize, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter);
__attribute__((dllimport)) LPVOID CreateFiberEx (SIZE_T dwStackCommitSize, SIZE_T dwStackReserveSize, DWORD dwFlags, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter);
__attribute__((dllimport)) void DeleteFiber (LPVOID lpFiber);
__attribute__((dllimport)) LPVOID ConvertThreadToFiber (LPVOID lpParameter);
__attribute__((dllimport)) LPVOID ConvertThreadToFiberEx (LPVOID lpParameter, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL ConvertFiberToThread (void);
__attribute__((dllimport)) void SwitchToFiber (LPVOID lpFiber);
__attribute__((dllimport)) DWORD_PTR SetThreadAffinityMask (HANDLE hThread, DWORD_PTR dwThreadAffinityMask);
typedef enum _THREAD_INFORMATION_CLASS {
ThreadMemoryPriority,
ThreadAbsoluteCpuPriority,
ThreadInformationClassMax
} THREAD_INFORMATION_CLASS;
typedef enum _PROCESS_INFORMATION_CLASS {
ProcessMemoryPriority,
ProcessInformationClassMax
} PROCESS_INFORMATION_CLASS;
__attribute__((dllimport)) WINBOOL SetProcessPriorityBoost (HANDLE hProcess, WINBOOL bDisablePriorityBoost);
__attribute__((dllimport)) WINBOOL GetProcessPriorityBoost (HANDLE hProcess, PBOOL pDisablePriorityBoost);
__attribute__((dllimport)) WINBOOL RequestWakeupLatency (LATENCY_TIME latency);
__attribute__((dllimport)) WINBOOL IsSystemResumeAutomatic (void);
__attribute__((dllimport)) WINBOOL GetThreadIOPendingFlag (HANDLE hThread, PBOOL lpIOIsPending);
__attribute__((dllimport)) WINBOOL GetThreadSelectorEntry (HANDLE hThread, DWORD dwSelector, LPLDT_ENTRY lpSelectorEntry);
__attribute__((dllimport)) EXECUTION_STATE SetThreadExecutionState (EXECUTION_STATE esFlags);
__attribute__((dllimport)) DWORD GetThreadErrorMode (void);
__attribute__((dllimport)) WINBOOL SetThreadErrorMode (DWORD dwNewMode, LPDWORD lpOldMode);
__attribute__((dllimport)) WINBOOL DebugSetProcessKillOnExit (WINBOOL KillOnExit);
__attribute__((dllimport)) WINBOOL DebugBreakProcess (HANDLE Process);
__attribute__((dllimport)) DWORD WaitForMultipleObjects (DWORD nCount, const HANDLE *lpHandles, WINBOOL bWaitAll, DWORD dwMilliseconds);
typedef enum _DEP_SYSTEM_POLICY_TYPE {
DEPPolicyAlwaysOff = 0,
DEPPolicyAlwaysOn,
DEPPolicyOptIn,
DEPPolicyOptOut,
DEPTotalPolicyCount
} DEP_SYSTEM_POLICY_TYPE;
__attribute__((dllimport)) WINBOOL PulseEvent (HANDLE hEvent);
__attribute__((dllimport)) ATOM GlobalDeleteAtom (ATOM nAtom);
__attribute__((dllimport)) WINBOOL InitAtomTable (DWORD nSize);
__attribute__((dllimport)) ATOM DeleteAtom (ATOM nAtom);
__attribute__((dllimport)) UINT SetHandleCount (UINT uNumber);
__attribute__((dllimport)) WINBOOL RequestDeviceWakeup (HANDLE hDevice);
__attribute__((dllimport)) WINBOOL CancelDeviceWakeupRequest (HANDLE hDevice);
__attribute__((dllimport)) WINBOOL GetDevicePowerState (HANDLE hDevice, WINBOOL *pfOn);
__attribute__((dllimport)) WINBOOL SetMessageWaitingIndicator (HANDLE hMsgIndicator, ULONG ulMsgCount);
__attribute__((dllimport)) WINBOOL SetFileShortNameA (HANDLE hFile, LPCSTR lpShortName);
__attribute__((dllimport)) WINBOOL SetFileShortNameW (HANDLE hFile, LPCWSTR lpShortName);
__attribute__((dllimport)) DWORD LoadModule (LPCSTR lpModuleName, LPVOID lpParameterBlock);
__attribute__((dllimport)) UINT WinExec (LPCSTR lpCmdLine, UINT uCmdShow);
__attribute__((dllimport)) WINBOOL ClearCommBreak (HANDLE hFile);
__attribute__((dllimport)) WINBOOL ClearCommError (HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat);
__attribute__((dllimport)) WINBOOL SetupComm (HANDLE hFile, DWORD dwInQueue, DWORD dwOutQueue);
__attribute__((dllimport)) WINBOOL EscapeCommFunction (HANDLE hFile, DWORD dwFunc);
__attribute__((dllimport)) WINBOOL GetCommConfig (HANDLE hCommDev, LPCOMMCONFIG lpCC, LPDWORD lpdwSize);
__attribute__((dllimport)) WINBOOL GetCommMask (HANDLE hFile, LPDWORD lpEvtMask);
__attribute__((dllimport)) WINBOOL GetCommProperties (HANDLE hFile, LPCOMMPROP lpCommProp);
__attribute__((dllimport)) WINBOOL GetCommModemStatus (HANDLE hFile, LPDWORD lpModemStat);
__attribute__((dllimport)) WINBOOL GetCommState (HANDLE hFile, LPDCB lpDCB);
__attribute__((dllimport)) WINBOOL GetCommTimeouts (HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts);
__attribute__((dllimport)) WINBOOL PurgeComm (HANDLE hFile, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL SetCommBreak (HANDLE hFile);
__attribute__((dllimport)) WINBOOL SetCommConfig (HANDLE hCommDev, LPCOMMCONFIG lpCC, DWORD dwSize);
__attribute__((dllimport)) WINBOOL SetCommMask (HANDLE hFile, DWORD dwEvtMask);
__attribute__((dllimport)) WINBOOL SetCommState (HANDLE hFile, LPDCB lpDCB);
__attribute__((dllimport)) WINBOOL SetCommTimeouts (HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts);
__attribute__((dllimport)) WINBOOL TransmitCommChar (HANDLE hFile, char cChar);
__attribute__((dllimport)) WINBOOL WaitCommEvent (HANDLE hFile, LPDWORD lpEvtMask, LPOVERLAPPED lpOverlapped);
__attribute__((dllimport)) DWORD SetTapePosition (HANDLE hDevice, DWORD dwPositionMethod, DWORD dwPartition, DWORD dwOffsetLow, DWORD dwOffsetHigh, WINBOOL bImmediate);
__attribute__((dllimport)) DWORD GetTapePosition (HANDLE hDevice, DWORD dwPositionType, LPDWORD lpdwPartition, LPDWORD lpdwOffsetLow, LPDWORD lpdwOffsetHigh);
__attribute__((dllimport)) DWORD PrepareTape (HANDLE hDevice, DWORD dwOperation, WINBOOL bImmediate);
__attribute__((dllimport)) DWORD EraseTape (HANDLE hDevice, DWORD dwEraseType, WINBOOL bImmediate);
__attribute__((dllimport)) DWORD CreateTapePartition (HANDLE hDevice, DWORD dwPartitionMethod, DWORD dwCount, DWORD dwSize);
__attribute__((dllimport)) DWORD WriteTapemark (HANDLE hDevice, DWORD dwTapemarkType, DWORD dwTapemarkCount, WINBOOL bImmediate);
__attribute__((dllimport)) DWORD GetTapeStatus (HANDLE hDevice);
__attribute__((dllimport)) DWORD GetTapeParameters (HANDLE hDevice, DWORD dwOperation, LPDWORD lpdwSize, LPVOID lpTapeInformation);
__attribute__((dllimport)) DWORD SetTapeParameters (HANDLE hDevice, DWORD dwOperation, LPVOID lpTapeInformation);
__attribute__((dllimport)) DEP_SYSTEM_POLICY_TYPE GetSystemDEPPolicy (void);
__attribute__((dllimport)) WINBOOL GetSystemRegistryQuota (PDWORD pdwQuotaAllowed, PDWORD pdwQuotaUsed);
WINBOOL GetSystemTimes (LPFILETIME lpIdleTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime);
__attribute__((dllimport)) WINBOOL FileTimeToDosDateTime (const FILETIME *lpFileTime, LPWORD lpFatDate, LPWORD lpFatTime);
__attribute__((dllimport)) WINBOOL DosDateTimeToFileTime (WORD wFatDate, WORD wFatTime, LPFILETIME lpFileTime);
__attribute__((dllimport)) WINBOOL SetSystemTimeAdjustment (DWORD dwTimeAdjustment, WINBOOL bTimeAdjustmentDisabled);
__attribute__((dllimport)) int MulDiv (int nNumber, int nNumerator, int nDenominator);
__attribute__((dllimport)) DWORD FormatMessageA (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list *Arguments);
__attribute__((dllimport)) DWORD FormatMessageW (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list *Arguments);
typedef DWORD ( *PFE_EXPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength);
typedef DWORD ( *PFE_IMPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength);
__attribute__((dllimport)) WINBOOL GetNamedPipeInfo (HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances);
__attribute__((dllimport)) HANDLE CreateMailslotA (LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) HANDLE CreateMailslotW (LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL GetMailslotInfo (HANDLE hMailslot, LPDWORD lpMaxMessageSize, LPDWORD lpNextSize, LPDWORD lpMessageCount, LPDWORD lpReadTimeout);
__attribute__((dllimport)) WINBOOL SetMailslotInfo (HANDLE hMailslot, DWORD lReadTimeout);
__attribute__((dllimport)) WINBOOL EncryptFileA (LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL EncryptFileW (LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL DecryptFileA (LPCSTR lpFileName, DWORD dwReserved);
__attribute__((dllimport)) WINBOOL DecryptFileW (LPCWSTR lpFileName, DWORD dwReserved);
__attribute__((dllimport)) WINBOOL FileEncryptionStatusA (LPCSTR lpFileName, LPDWORD lpStatus);
__attribute__((dllimport)) WINBOOL FileEncryptionStatusW (LPCWSTR lpFileName, LPDWORD lpStatus);
__attribute__((dllimport)) DWORD OpenEncryptedFileRawA (LPCSTR lpFileName, ULONG ulFlags, PVOID *pvContext);
__attribute__((dllimport)) DWORD OpenEncryptedFileRawW (LPCWSTR lpFileName, ULONG ulFlags, PVOID *pvContext);
__attribute__((dllimport)) DWORD ReadEncryptedFileRaw (PFE_EXPORT_FUNC pfExportCallback, PVOID pvCallbackContext, PVOID pvContext);
__attribute__((dllimport)) DWORD WriteEncryptedFileRaw (PFE_IMPORT_FUNC pfImportCallback, PVOID pvCallbackContext, PVOID pvContext);
__attribute__((dllimport)) void CloseEncryptedFileRaw (PVOID pvContext);
__attribute__((dllimport)) int lstrcmpA (LPCSTR lpString1, LPCSTR lpString2);
__attribute__((dllimport)) int lstrcmpW (LPCWSTR lpString1, LPCWSTR lpString2);
__attribute__((dllimport)) int lstrcmpiA (LPCSTR lpString1, LPCSTR lpString2);
__attribute__((dllimport)) int lstrcmpiW (LPCWSTR lpString1, LPCWSTR lpString2);
__attribute__((dllimport)) LPSTR lstrcpynA (LPSTR lpString1, LPCSTR lpString2, int iMaxLength);
__attribute__((dllimport)) LPWSTR lstrcpynW (LPWSTR lpString1, LPCWSTR lpString2, int iMaxLength);
__attribute__((dllimport)) LPSTR lstrcpyA (LPSTR lpString1, LPCSTR lpString2);
__attribute__((dllimport)) LPWSTR lstrcpyW (LPWSTR lpString1, LPCWSTR lpString2);
__attribute__((dllimport)) LPSTR lstrcatA (LPSTR lpString1, LPCSTR lpString2);
__attribute__((dllimport)) LPWSTR lstrcatW (LPWSTR lpString1, LPCWSTR lpString2);
__attribute__((dllimport)) int lstrlenA (LPCSTR lpString);
__attribute__((dllimport)) int lstrlenW (LPCWSTR lpString);
__attribute__((dllimport)) HFILE OpenFile (LPCSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle);
__attribute__((dllimport)) HFILE _lopen (LPCSTR lpPathName, int iReadWrite);
__attribute__((dllimport)) HFILE _lcreat (LPCSTR lpPathName, int iAttribute);
__attribute__((dllimport)) UINT _lread (HFILE hFile, LPVOID lpBuffer, UINT uBytes);
__attribute__((dllimport)) UINT _lwrite (HFILE hFile, LPCCH lpBuffer, UINT uBytes);
__attribute__((dllimport)) long _hread (HFILE hFile, LPVOID lpBuffer, long lBytes);
__attribute__((dllimport)) long _hwrite (HFILE hFile, LPCCH lpBuffer, long lBytes);
__attribute__((dllimport)) HFILE _lclose (HFILE hFile);
__attribute__((dllimport)) LONG _llseek (HFILE hFile, LONG lOffset, int iOrigin);
__attribute__((dllimport)) WINBOOL IsTextUnicode (const void *lpv, int iSize, LPINT lpiResult);
__attribute__((dllimport)) DWORD SignalObjectAndWait (HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, WINBOOL bAlertable);
__attribute__((dllimport)) WINBOOL BackupRead (HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, WINBOOL bAbort, WINBOOL bProcessSecurity, LPVOID *lpContext);
__attribute__((dllimport)) WINBOOL BackupSeek (HANDLE hFile, DWORD dwLowBytesToSeek, DWORD dwHighBytesToSeek, LPDWORD lpdwLowByteSeeked, LPDWORD lpdwHighByteSeeked, LPVOID *lpContext);
__attribute__((dllimport)) WINBOOL BackupWrite (HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, WINBOOL bAbort, WINBOOL bProcessSecurity, LPVOID *lpContext);
typedef struct _WIN32_STREAM_ID {
DWORD dwStreamId;
DWORD dwStreamAttributes;
LARGE_INTEGER Size;
DWORD dwStreamNameSize;
WCHAR cStreamName[1];
} WIN32_STREAM_ID,*LPWIN32_STREAM_ID;
__attribute__((dllimport)) HANDLE CreateSemaphoreW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName);
__attribute__((dllimport)) HMODULE LoadLibraryW (LPCWSTR lpLibFileName);
__attribute__((dllimport)) HANDLE OpenMutexA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
__attribute__((dllimport)) HANDLE CreateSemaphoreA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName);
__attribute__((dllimport)) HANDLE OpenSemaphoreA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
__attribute__((dllimport)) HANDLE CreateWaitableTimerA (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCSTR lpTimerName);
__attribute__((dllimport)) HANDLE CreateWaitableTimerW (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCWSTR lpTimerName);
__attribute__((dllimport)) HANDLE OpenWaitableTimerA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpTimerName);
__attribute__((dllimport)) HANDLE CreateFileMappingA (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName);
__attribute__((dllimport)) HANDLE OpenFileMappingA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
__attribute__((dllimport)) DWORD GetLogicalDriveStringsA (DWORD nBufferLength, LPSTR lpBuffer);
__attribute__((dllimport)) HMODULE LoadLibraryA (LPCSTR lpLibFileName);
__attribute__((dllimport)) WINBOOL GetProcessShutdownParameters (LPDWORD lpdwLevel, LPDWORD lpdwFlags);
__attribute__((dllimport)) void FatalAppExitA (UINT uAction, LPCSTR lpMessageText);
__attribute__((dllimport)) void FatalAppExitW (UINT uAction, LPCWSTR lpMessageText);
__attribute__((dllimport)) void GetStartupInfoA (LPSTARTUPINFOA lpStartupInfo);
__attribute__((dllimport)) DWORD GetFirmwareEnvironmentVariableA (LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize);
__attribute__((dllimport)) DWORD GetFirmwareEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize);
__attribute__((dllimport)) WINBOOL SetFirmwareEnvironmentVariableA (LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize);
__attribute__((dllimport)) WINBOOL SetFirmwareEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize);
__attribute__((dllimport)) HRSRC FindResourceA (HMODULE hModule, LPCSTR lpName, LPCSTR lpType);
__attribute__((dllimport)) HRSRC FindResourceW (HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType);
__attribute__((dllimport)) HRSRC FindResourceExA (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage);
__attribute__((dllimport)) WINBOOL EnumResourceTypesA (HMODULE hModule, ENUMRESTYPEPROCA lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceTypesW (HMODULE hModule, ENUMRESTYPEPROCW lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceNamesA (HMODULE hModule, LPCSTR lpType, ENUMRESNAMEPROCA lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceNamesW (HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceLanguagesA (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROCA lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumResourceLanguagesW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROCW lpEnumFunc, LONG_PTR lParam);
__attribute__((dllimport)) HANDLE BeginUpdateResourceA (LPCSTR pFileName, WINBOOL bDeleteExistingResources);
__attribute__((dllimport)) HANDLE BeginUpdateResourceW (LPCWSTR pFileName, WINBOOL bDeleteExistingResources);
__attribute__((dllimport)) WINBOOL UpdateResourceA (HANDLE hUpdate, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb);
__attribute__((dllimport)) WINBOOL UpdateResourceW (HANDLE hUpdate, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb);
__attribute__((dllimport)) WINBOOL EndUpdateResourceA (HANDLE hUpdate, WINBOOL fDiscard);
__attribute__((dllimport)) WINBOOL EndUpdateResourceW (HANDLE hUpdate, WINBOOL fDiscard);
__attribute__((dllimport)) ATOM GlobalAddAtomA (LPCSTR lpString);
__attribute__((dllimport)) ATOM GlobalAddAtomW (LPCWSTR lpString);
__attribute__((dllimport)) ATOM GlobalAddAtomExA (LPCSTR lpString, DWORD Flags);
__attribute__((dllimport)) ATOM GlobalAddAtomExW (LPCWSTR lpString, DWORD Flags);
__attribute__((dllimport)) ATOM GlobalFindAtomA (LPCSTR lpString);
__attribute__((dllimport)) ATOM GlobalFindAtomW (LPCWSTR lpString);
__attribute__((dllimport)) UINT GlobalGetAtomNameA (ATOM nAtom, LPSTR lpBuffer, int nSize);
__attribute__((dllimport)) UINT GlobalGetAtomNameW (ATOM nAtom, LPWSTR lpBuffer, int nSize);
__attribute__((dllimport)) ATOM AddAtomA (LPCSTR lpString);
__attribute__((dllimport)) ATOM AddAtomW (LPCWSTR lpString);
__attribute__((dllimport)) ATOM FindAtomA (LPCSTR lpString);
__attribute__((dllimport)) ATOM FindAtomW (LPCWSTR lpString);
__attribute__((dllimport)) UINT GetAtomNameA (ATOM nAtom, LPSTR lpBuffer, int nSize);
__attribute__((dllimport)) UINT GetAtomNameW (ATOM nAtom, LPWSTR lpBuffer, int nSize);
__attribute__((dllimport)) UINT GetProfileIntA (LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault);
__attribute__((dllimport)) UINT GetProfileIntW (LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault);
__attribute__((dllimport)) DWORD GetProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize);
__attribute__((dllimport)) DWORD GetProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize);
__attribute__((dllimport)) WINBOOL WriteProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString);
__attribute__((dllimport)) WINBOOL WriteProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString);
__attribute__((dllimport)) DWORD GetProfileSectionA (LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize);
__attribute__((dllimport)) DWORD GetProfileSectionW (LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize);
__attribute__((dllimport)) WINBOOL WriteProfileSectionA (LPCSTR lpAppName, LPCSTR lpString);
__attribute__((dllimport)) WINBOOL WriteProfileSectionW (LPCWSTR lpAppName, LPCWSTR lpString);
__attribute__((dllimport)) UINT GetPrivateProfileIntA (LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault, LPCSTR lpFileName);
__attribute__((dllimport)) UINT GetPrivateProfileIntW (LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault, LPCWSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL WritePrivateProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL WritePrivateProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString, LPCWSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileSectionA (LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileSectionW (LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL WritePrivateProfileSectionA (LPCSTR lpAppName, LPCSTR lpString, LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL WritePrivateProfileSectionW (LPCWSTR lpAppName, LPCWSTR lpString, LPCWSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileSectionNamesA (LPSTR lpszReturnBuffer, DWORD nSize, LPCSTR lpFileName);
__attribute__((dllimport)) DWORD GetPrivateProfileSectionNamesW (LPWSTR lpszReturnBuffer, DWORD nSize, LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL GetPrivateProfileStructA (LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile);
__attribute__((dllimport)) WINBOOL GetPrivateProfileStructW (LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile);
__attribute__((dllimport)) WINBOOL WritePrivateProfileStructA (LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile);
__attribute__((dllimport)) WINBOOL WritePrivateProfileStructW (LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile);
__attribute__((dllimport)) UINT GetSystemWow64DirectoryA (LPSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) UINT GetSystemWow64DirectoryW (LPWSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) BOOLEAN Wow64EnableWow64FsRedirection (BOOLEAN Wow64FsEnableRedirection);
typedef UINT ( *PGET_SYSTEM_WOW64_DIRECTORY_A) (LPSTR lpBuffer, UINT uSize);
typedef UINT ( *PGET_SYSTEM_WOW64_DIRECTORY_W) (LPWSTR lpBuffer, UINT uSize);
__attribute__((dllimport)) WINBOOL SetDllDirectoryA (LPCSTR lpPathName);
__attribute__((dllimport)) WINBOOL SetDllDirectoryW (LPCWSTR lpPathName);
__attribute__((dllimport)) DWORD GetDllDirectoryA (DWORD nBufferLength, LPSTR lpBuffer);
__attribute__((dllimport)) DWORD GetDllDirectoryW (DWORD nBufferLength, LPWSTR lpBuffer);
__attribute__((dllimport)) WINBOOL SetSearchPathMode (DWORD Flags);
__attribute__((dllimport)) WINBOOL CreateDirectoryExA (LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL CreateDirectoryExW (LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL DefineDosDeviceA (DWORD dwFlags, LPCSTR lpDeviceName, LPCSTR lpTargetPath);
__attribute__((dllimport)) DWORD QueryDosDeviceA (LPCSTR lpDeviceName, LPSTR lpTargetPath, DWORD ucchMax);
__attribute__((dllimport)) HANDLE ReOpenFile (HANDLE hOriginalFile, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwFlagsAndAttributes);
__attribute__((dllimport)) DWORD GetCompressedFileSizeA (LPCSTR lpFileName, LPDWORD lpFileSizeHigh);
__attribute__((dllimport)) DWORD GetCompressedFileSizeW (LPCWSTR lpFileName, LPDWORD lpFileSizeHigh);
typedef DWORD ( *LPPROGRESS_ROUTINE) (LARGE_INTEGER TotalFileSize, LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE hSourceFile, HANDLE hDestinationFile, LPVOID lpData);
__attribute__((dllimport)) WINBOOL CopyFileExA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);
__attribute__((dllimport)) WINBOOL CopyFileExW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags);
__attribute__((dllimport)) WINBOOL CheckNameLegalDOS8Dot3A (LPCSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal);
__attribute__((dllimport)) WINBOOL CheckNameLegalDOS8Dot3W (LPCWSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal);
__attribute__((dllimport)) WINBOOL CopyFileA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, WINBOOL bFailIfExists);
__attribute__((dllimport)) WINBOOL CopyFileW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, WINBOOL bFailIfExists);
__attribute__((dllimport)) WINBOOL MoveFileA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName);
__attribute__((dllimport)) WINBOOL MoveFileW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName);
__attribute__((dllimport)) WINBOOL MoveFileExA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL MoveFileExW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL MoveFileWithProgressA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL MoveFileWithProgressW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL GetNamedPipeClientComputerNameA (HANDLE Pipe, LPSTR ClientComputerName, ULONG ClientComputerNameLength);
__attribute__((dllimport)) WINBOOL GetNamedPipeHandleStateA (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPSTR lpUserName, DWORD nMaxUserNameSize);
__attribute__((dllimport)) WINBOOL WaitNamedPipeA (LPCSTR lpNamedPipeName, DWORD nTimeOut);
__attribute__((dllimport)) WINBOOL CallNamedPipeA (LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut);
__attribute__((dllimport)) WINBOOL CallNamedPipeW (LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut);
__attribute__((dllimport)) HANDLE CreateNamedPipeA (LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL ReplaceFileA (LPCSTR lpReplacedFileName, LPCSTR lpReplacementFileName, LPCSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved);
__attribute__((dllimport)) WINBOOL ReplaceFileW (LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved);
__attribute__((dllimport)) WINBOOL CreateHardLinkA (LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) WINBOOL CreateHardLinkW (LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
typedef enum _STREAM_INFO_LEVELS {
FindStreamInfoStandard,
FindStreamInfoMaxInfoLevel
} STREAM_INFO_LEVELS;
typedef struct _WIN32_FIND_STREAM_DATA {
LARGE_INTEGER StreamSize;
WCHAR cStreamName[260 + 36];
} WIN32_FIND_STREAM_DATA,*PWIN32_FIND_STREAM_DATA;
__attribute__((dllimport)) HANDLE FindFirstStreamW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL FindNextStreamW (HANDLE hFindStream, LPVOID lpFindStreamData);
__attribute__((dllimport)) WINBOOL GetNamedPipeHandleStateW (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPWSTR lpUserName, DWORD nMaxUserNameSize);
__attribute__((dllimport)) WINBOOL SetVolumeLabelA (LPCSTR lpRootPathName, LPCSTR lpVolumeName);
__attribute__((dllimport)) WINBOOL SetVolumeLabelW (LPCWSTR lpRootPathName, LPCWSTR lpVolumeName);
__attribute__((dllimport)) void SetFileApisToOEM (void);
__attribute__((dllimport)) void SetFileApisToANSI (void);
__attribute__((dllimport)) WINBOOL AreFileApisANSI (void);
__attribute__((dllimport)) WINBOOL GetVolumeInformationA (LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
__attribute__((dllimport)) WINBOOL ClearEventLogA (HANDLE hEventLog, LPCSTR lpBackupFileName);
__attribute__((dllimport)) WINBOOL ClearEventLogW (HANDLE hEventLog, LPCWSTR lpBackupFileName);
__attribute__((dllimport)) WINBOOL BackupEventLogA (HANDLE hEventLog, LPCSTR lpBackupFileName);
__attribute__((dllimport)) WINBOOL BackupEventLogW (HANDLE hEventLog, LPCWSTR lpBackupFileName);
__attribute__((dllimport)) WINBOOL CloseEventLog (HANDLE hEventLog);
__attribute__((dllimport)) WINBOOL DeregisterEventSource (HANDLE hEventLog);
__attribute__((dllimport)) WINBOOL NotifyChangeEventLog (HANDLE hEventLog, HANDLE hEvent);
__attribute__((dllimport)) WINBOOL GetNumberOfEventLogRecords (HANDLE hEventLog, PDWORD NumberOfRecords);
__attribute__((dllimport)) WINBOOL GetOldestEventLogRecord (HANDLE hEventLog, PDWORD OldestRecord);
__attribute__((dllimport)) HANDLE OpenEventLogA (LPCSTR lpUNCServerName, LPCSTR lpSourceName);
__attribute__((dllimport)) HANDLE OpenEventLogW (LPCWSTR lpUNCServerName, LPCWSTR lpSourceName);
__attribute__((dllimport)) HANDLE RegisterEventSourceA (LPCSTR lpUNCServerName, LPCSTR lpSourceName);
__attribute__((dllimport)) HANDLE RegisterEventSourceW (LPCWSTR lpUNCServerName, LPCWSTR lpSourceName);
__attribute__((dllimport)) HANDLE OpenBackupEventLogA (LPCSTR lpUNCServerName, LPCSTR lpFileName);
__attribute__((dllimport)) HANDLE OpenBackupEventLogW (LPCWSTR lpUNCServerName, LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL ReadEventLogA (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded);
__attribute__((dllimport)) WINBOOL ReadEventLogW (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded);
__attribute__((dllimport)) WINBOOL ReportEventA (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCSTR *lpStrings, LPVOID lpRawData);
__attribute__((dllimport)) WINBOOL ReportEventW (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCWSTR *lpStrings, LPVOID lpRawData);
typedef struct _EVENTLOG_FULL_INFORMATION {
DWORD dwFull;
} EVENTLOG_FULL_INFORMATION,*LPEVENTLOG_FULL_INFORMATION;
__attribute__((dllimport)) WINBOOL GetEventLogInformation (HANDLE hEventLog, DWORD dwInfoLevel, LPVOID lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL ReadDirectoryChangesW (HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, WINBOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) WINBOOL AccessCheckAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeResultListAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL AccessCheckByTypeResultListAndAuditAlarmByHandleA (LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectOpenAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, WINBOOL ObjectCreation, WINBOOL AccessGranted, LPBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectPrivilegeAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
__attribute__((dllimport)) WINBOOL ObjectCloseAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL ObjectDeleteAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose);
__attribute__((dllimport)) WINBOOL PrivilegedServiceAuditAlarmA (LPCSTR SubsystemName, LPCSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted);
__attribute__((dllimport)) WINBOOL SetFileSecurityA (LPCSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor);
__attribute__((dllimport)) WINBOOL GetFileSecurityA (LPCSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded);
__attribute__((dllimport)) WINBOOL IsBadReadPtr (const void *lp, UINT_PTR ucb);
__attribute__((dllimport)) WINBOOL IsBadWritePtr (LPVOID lp, UINT_PTR ucb);
__attribute__((dllimport)) WINBOOL IsBadHugeReadPtr (const void *lp, UINT_PTR ucb);
__attribute__((dllimport)) WINBOOL IsBadHugeWritePtr (LPVOID lp, UINT_PTR ucb);
__attribute__((dllimport)) WINBOOL IsBadCodePtr (FARPROC lpfn);
__attribute__((dllimport)) WINBOOL IsBadStringPtrA (LPCSTR lpsz, UINT_PTR ucchMax);
__attribute__((dllimport)) WINBOOL IsBadStringPtrW (LPCWSTR lpsz, UINT_PTR ucchMax);
__attribute__((dllimport)) WINBOOL LookupAccountSidA (LPCSTR lpSystemName, PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
__attribute__((dllimport)) WINBOOL LookupAccountSidW (LPCWSTR lpSystemName, PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
__attribute__((dllimport)) WINBOOL LookupAccountNameA (LPCSTR lpSystemName, LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
__attribute__((dllimport)) WINBOOL LookupAccountNameW (LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse);
__attribute__((dllimport)) WINBOOL LookupPrivilegeValueA (LPCSTR lpSystemName, LPCSTR lpName, PLUID lpLuid);
__attribute__((dllimport)) WINBOOL LookupPrivilegeValueW (LPCWSTR lpSystemName, LPCWSTR lpName, PLUID lpLuid);
__attribute__((dllimport)) WINBOOL LookupPrivilegeNameA (LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, LPDWORD cchName);
__attribute__((dllimport)) WINBOOL LookupPrivilegeNameW (LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cchName);
__attribute__((dllimport)) WINBOOL LookupPrivilegeDisplayNameA (LPCSTR lpSystemName, LPCSTR lpName, LPSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId);
__attribute__((dllimport)) WINBOOL LookupPrivilegeDisplayNameW (LPCWSTR lpSystemName, LPCWSTR lpName, LPWSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId);
__attribute__((dllimport)) WINBOOL BuildCommDCBA (LPCSTR lpDef, LPDCB lpDCB);
__attribute__((dllimport)) WINBOOL BuildCommDCBW (LPCWSTR lpDef, LPDCB lpDCB);
__attribute__((dllimport)) WINBOOL BuildCommDCBAndTimeoutsA (LPCSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts);
__attribute__((dllimport)) WINBOOL BuildCommDCBAndTimeoutsW (LPCWSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts);
__attribute__((dllimport)) WINBOOL CommConfigDialogA (LPCSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC);
__attribute__((dllimport)) WINBOOL CommConfigDialogW (LPCWSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC);
__attribute__((dllimport)) WINBOOL GetDefaultCommConfigA (LPCSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize);
__attribute__((dllimport)) WINBOOL GetDefaultCommConfigW (LPCWSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize);
__attribute__((dllimport)) WINBOOL SetDefaultCommConfigA (LPCSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize);
__attribute__((dllimport)) WINBOOL SetDefaultCommConfigW (LPCWSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize);
__attribute__((dllimport)) WINBOOL GetComputerNameA (LPSTR lpBuffer, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL GetComputerNameW (LPWSTR lpBuffer, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL SetComputerNameA (LPCSTR lpComputerName);
__attribute__((dllimport)) WINBOOL SetComputerNameW (LPCWSTR lpComputerName);
__attribute__((dllimport)) WINBOOL SetComputerNameExA (COMPUTER_NAME_FORMAT NameType, LPCTSTR lpBuffer);
__attribute__((dllimport)) WINBOOL DnsHostnameToComputerNameA (LPCSTR Hostname, LPSTR ComputerName, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL DnsHostnameToComputerNameW (LPCWSTR Hostname, LPWSTR ComputerName, LPDWORD nSize);
__attribute__((dllimport)) WINBOOL GetUserNameA (LPSTR lpBuffer, LPDWORD pcbBuffer);
__attribute__((dllimport)) WINBOOL GetUserNameW (LPWSTR lpBuffer, LPDWORD pcbBuffer);
__attribute__((dllimport)) WINBOOL LogonUserA (LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken);
__attribute__((dllimport)) WINBOOL LogonUserW (LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken);
__attribute__((dllimport)) WINBOOL LogonUserExA (LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits);
__attribute__((dllimport)) WINBOOL LogonUserExW (LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits);
__attribute__((dllimport)) WINBOOL CreateProcessAsUserA (HANDLE hToken, LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) WINBOOL CreateProcessWithLogonW (LPCWSTR lpUsername, LPCWSTR lpDomain, LPCWSTR lpPassword, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) WINBOOL CreateProcessWithTokenW (HANDLE hToken, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
__attribute__((dllimport)) WINBOOL IsTokenUntrusted (HANDLE TokenHandle);
__attribute__((dllimport)) WINBOOL RegisterWaitForSingleObject (PHANDLE phNewWaitObject, HANDLE hObject, WAITORTIMERCALLBACK Callback, PVOID Context, ULONG dwMilliseconds, ULONG dwFlags);
__attribute__((dllimport)) WINBOOL UnregisterWait (HANDLE WaitHandle);
__attribute__((dllimport)) WINBOOL BindIoCompletionCallback (HANDLE FileHandle, LPOVERLAPPED_COMPLETION_ROUTINE Function, ULONG Flags);
__attribute__((dllimport)) HANDLE SetTimerQueueTimer (HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, WINBOOL PreferIo);
__attribute__((dllimport)) WINBOOL CancelTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer);
__attribute__((dllimport)) WINBOOL DeleteTimerQueue (HANDLE TimerQueue);
__attribute__((dllimport)) HANDLE CreatePrivateNamespaceA (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
__attribute__((dllimport)) HANDLE OpenPrivateNamespaceA (LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix);
__attribute__((dllimport)) HANDLE CreateBoundaryDescriptorA (LPCSTR Name, ULONG Flags);
__attribute__((dllimport)) WINBOOL AddIntegrityLabelToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID IntegrityLabel);
typedef struct tagHW_PROFILE_INFOA {
DWORD dwDockInfo;
CHAR szHwProfileGuid[39];
CHAR szHwProfileName[80];
} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA;
typedef struct tagHW_PROFILE_INFOW {
DWORD dwDockInfo;
WCHAR szHwProfileGuid[39];
WCHAR szHwProfileName[80];
} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW;
typedef HW_PROFILE_INFOA HW_PROFILE_INFO;
typedef LPHW_PROFILE_INFOA LPHW_PROFILE_INFO;
__attribute__((dllimport)) WINBOOL GetCurrentHwProfileA (LPHW_PROFILE_INFOA lpHwProfileInfo);
__attribute__((dllimport)) WINBOOL GetCurrentHwProfileW (LPHW_PROFILE_INFOW lpHwProfileInfo);
__attribute__((dllimport)) WINBOOL VerifyVersionInfoA (LPOSVERSIONINFOEXA lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask);
__attribute__((dllimport)) WINBOOL VerifyVersionInfoW (LPOSVERSIONINFOEXW lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask);
typedef struct _TIME_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION,*PTIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
typedef struct _TIME_DYNAMIC_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
WCHAR TimeZoneKeyName[128];
BOOLEAN DynamicDaylightTimeDisabled;
} DYNAMIC_TIME_ZONE_INFORMATION,*PDYNAMIC_TIME_ZONE_INFORMATION;
__attribute__((dllimport)) WINBOOL SystemTimeToTzSpecificLocalTime (const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpUniversalTime, LPSYSTEMTIME lpLocalTime);
__attribute__((dllimport)) WINBOOL TzSpecificLocalTimeToSystemTime (const TIME_ZONE_INFORMATION *lpTimeZoneInformation, const SYSTEMTIME *lpLocalTime, LPSYSTEMTIME lpUniversalTime);
__attribute__((dllimport)) WINBOOL FileTimeToSystemTime (const FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime);
__attribute__((dllimport)) WINBOOL SystemTimeToFileTime (const SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime);
__attribute__((dllimport)) DWORD GetTimeZoneInformation (LPTIME_ZONE_INFORMATION lpTimeZoneInformation);
__attribute__((dllimport)) WINBOOL SetTimeZoneInformation (const TIME_ZONE_INFORMATION *lpTimeZoneInformation);
typedef struct _SYSTEM_POWER_STATUS {
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
__attribute__((dllimport)) WINBOOL GetSystemPowerStatus (LPSYSTEM_POWER_STATUS lpSystemPowerStatus);
__attribute__((dllimport)) WINBOOL SetSystemPowerState (WINBOOL fSuspend, WINBOOL fForce);
__attribute__((dllimport)) WINBOOL AllocateUserPhysicalPages (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray);
__attribute__((dllimport)) WINBOOL FreeUserPhysicalPages (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray);
__attribute__((dllimport)) WINBOOL MapUserPhysicalPages (PVOID VirtualAddress, ULONG_PTR NumberOfPages, PULONG_PTR PageArray);
__attribute__((dllimport)) WINBOOL MapUserPhysicalPagesScatter (PVOID *VirtualAddresses, ULONG_PTR NumberOfPages, PULONG_PTR PageArray);
__attribute__((dllimport)) HANDLE CreateJobObjectA (LPSECURITY_ATTRIBUTES lpJobAttributes, LPCSTR lpName);
__attribute__((dllimport)) HANDLE CreateJobObjectW (LPSECURITY_ATTRIBUTES lpJobAttributes, LPCWSTR lpName);
__attribute__((dllimport)) HANDLE OpenJobObjectA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName);
__attribute__((dllimport)) HANDLE OpenJobObjectW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName);
__attribute__((dllimport)) WINBOOL AssignProcessToJobObject (HANDLE hJob, HANDLE hProcess);
__attribute__((dllimport)) WINBOOL TerminateJobObject (HANDLE hJob, UINT uExitCode);
__attribute__((dllimport)) WINBOOL QueryInformationJobObject (HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength, LPDWORD lpReturnLength);
__attribute__((dllimport)) WINBOOL SetInformationJobObject (HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength);
__attribute__((dllimport)) WINBOOL CreateJobSet (ULONG NumJob, PJOB_SET_ARRAY UserJobSet, ULONG Flags);
__attribute__((dllimport)) HANDLE FindFirstVolumeA (LPSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindNextVolumeA (HANDLE hFindVolume, LPSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) HANDLE FindFirstVolumeMountPointA (LPCSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength);
__attribute__((dllimport)) HANDLE FindFirstVolumeMountPointW (LPCWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindNextVolumeMountPointA (HANDLE hFindVolumeMountPoint, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindNextVolumeMountPointW (HANDLE hFindVolumeMountPoint, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL FindVolumeMountPointClose (HANDLE hFindVolumeMountPoint);
__attribute__((dllimport)) WINBOOL SetVolumeMountPointA (LPCSTR lpszVolumeMountPoint, LPCSTR lpszVolumeName);
__attribute__((dllimport)) WINBOOL SetVolumeMountPointW (LPCWSTR lpszVolumeMountPoint, LPCWSTR lpszVolumeName);
__attribute__((dllimport)) WINBOOL DeleteVolumeMountPointA (LPCSTR lpszVolumeMountPoint);
__attribute__((dllimport)) WINBOOL GetVolumeNameForVolumeMountPointA (LPCSTR lpszVolumeMountPoint, LPSTR lpszVolumeName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL GetVolumePathNameA (LPCSTR lpszFileName, LPSTR lpszVolumePathName, DWORD cchBufferLength);
__attribute__((dllimport)) WINBOOL GetVolumePathNamesForVolumeNameA (LPCSTR lpszVolumeName, LPCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength);
typedef struct tagACTCTXA {
ULONG cbSize;
DWORD dwFlags;
LPCSTR lpSource;
USHORT wProcessorArchitecture;
LANGID wLangId;
LPCSTR lpAssemblyDirectory;
LPCSTR lpResourceName;
LPCSTR lpApplicationName;
HMODULE hModule;
} ACTCTXA,*PACTCTXA;
typedef struct tagACTCTXW {
ULONG cbSize;
DWORD dwFlags;
LPCWSTR lpSource;
USHORT wProcessorArchitecture;
LANGID wLangId;
LPCWSTR lpAssemblyDirectory;
LPCWSTR lpResourceName;
LPCWSTR lpApplicationName;
HMODULE hModule;
} ACTCTXW,*PACTCTXW;
typedef ACTCTXA ACTCTX;
typedef PACTCTXA PACTCTX;
typedef const ACTCTXA *PCACTCTXA;
typedef const ACTCTXW *PCACTCTXW;
typedef PCACTCTXA PCACTCTX;
__attribute__((dllimport)) HANDLE CreateActCtxA (PCACTCTXA pActCtx);
__attribute__((dllimport)) HANDLE CreateActCtxW (PCACTCTXW pActCtx);
__attribute__((dllimport)) void AddRefActCtx (HANDLE hActCtx);
__attribute__((dllimport)) void ReleaseActCtx (HANDLE hActCtx);
__attribute__((dllimport)) WINBOOL ZombifyActCtx (HANDLE hActCtx);
__attribute__((dllimport)) WINBOOL ActivateActCtx (HANDLE hActCtx, ULONG_PTR *lpCookie);
__attribute__((dllimport)) WINBOOL DeactivateActCtx (DWORD dwFlags, ULONG_PTR ulCookie);
__attribute__((dllimport)) WINBOOL GetCurrentActCtx (HANDLE *lphActCtx);
typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
ULONG cbSize;
ULONG ulDataFormatVersion;
PVOID lpData;
ULONG ulLength;
PVOID lpSectionGlobalData;
ULONG ulSectionGlobalDataLength;
PVOID lpSectionBase;
ULONG ulSectionTotalLength;
HANDLE hActCtx;
ULONG ulAssemblyRosterIndex;
} ACTCTX_SECTION_KEYED_DATA_2600,*PACTCTX_SECTION_KEYED_DATA_2600;
typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
PVOID lpInformation;
PVOID lpSectionBase;
ULONG ulSectionLength;
PVOID lpSectionGlobalDataBase;
ULONG ulSectionGlobalDataLength;
} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA,*PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
typedef struct tagACTCTX_SECTION_KEYED_DATA {
ULONG cbSize;
ULONG ulDataFormatVersion;
PVOID lpData;
ULONG ulLength;
PVOID lpSectionGlobalData;
ULONG ulSectionGlobalDataLength;
PVOID lpSectionBase;
ULONG ulSectionTotalLength;
HANDLE hActCtx;
ULONG ulAssemblyRosterIndex;
ULONG ulFlags;
ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
__attribute__((dllimport)) WINBOOL FindActCtxSectionStringA (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData);
__attribute__((dllimport)) WINBOOL FindActCtxSectionStringW (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCWSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData);
__attribute__((dllimport)) WINBOOL FindActCtxSectionGuid (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, const GUID *lpGuidToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData);
typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
HANDLE hActCtx;
DWORD dwFlags;
} ACTIVATION_CONTEXT_BASIC_INFORMATION,*PACTIVATION_CONTEXT_BASIC_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
__attribute__((dllimport)) WINBOOL QueryActCtxW (DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired);
typedef WINBOOL ( *PQUERYACTCTXW_FUNC) (DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired);
__attribute__((dllimport)) DWORD WTSGetActiveConsoleSessionId (void);
__attribute__((dllimport)) WINBOOL GetNumaProcessorNode (UCHAR Processor, PUCHAR NodeNumber);
__attribute__((dllimport)) WINBOOL GetNumaNodeProcessorMask (UCHAR Node, PULONGLONG ProcessorMask);
__attribute__((dllimport)) WINBOOL GetNumaAvailableMemoryNode (UCHAR Node, PULONGLONG AvailableBytes);
typedef DWORD ( *APPLICATION_RECOVERY_CALLBACK) (PVOID pvParameter);
__attribute__((dllimport)) WINBOOL CopyContext (PCONTEXT Destination, DWORD ContextFlags, PCONTEXT Source);
__attribute__((dllimport)) WINBOOL InitializeContext (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength);
__attribute__((dllimport)) DWORD64 GetEnabledXStateFeatures (void);
__attribute__((dllimport)) WINBOOL GetXStateFeaturesMask (PCONTEXT Context, PDWORD64 FeatureMask);
__attribute__((dllimport)) PVOID LocateXStateFeature (PCONTEXT Context, DWORD FeatureId, PDWORD Length);
__attribute__((dllimport)) WINBOOL SetXStateFeaturesMask (PCONTEXT Context, DWORD64 FeatureMask);
typedef struct _DRAWPATRECT {
POINT ptPosition;
POINT ptSize;
WORD wStyle;
WORD wPattern;
} DRAWPATRECT,*PDRAWPATRECT;
typedef struct _PSINJECTDATA {
DWORD DataBytes;
WORD InjectionPoint;
WORD PageNumber;
} PSINJECTDATA,*PPSINJECTDATA;
typedef struct _PSFEATURE_OUTPUT {
WINBOOL bPageIndependent;
WINBOOL bSetPageDevice;
} PSFEATURE_OUTPUT,*PPSFEATURE_OUTPUT;
typedef struct _PSFEATURE_CUSTPAPER {
LONG lOrientation;
LONG lWidth;
LONG lHeight;
LONG lWidthOffset;
LONG lHeightOffset;
} PSFEATURE_CUSTPAPER,*PPSFEATURE_CUSTPAPER;
typedef struct tagXFORM {
FLOAT eM11;
FLOAT eM12;
FLOAT eM21;
FLOAT eM22;
FLOAT eDx;
FLOAT eDy;
} XFORM,*PXFORM,*LPXFORM;
typedef struct tagBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP,*PBITMAP,*NPBITMAP,*LPBITMAP;
#pragma pack(push,1)
typedef struct tagRGBTRIPLE {
BYTE rgbtBlue;
BYTE rgbtGreen;
BYTE rgbtRed;
} RGBTRIPLE;
#pragma pack(pop)
typedef struct tagRGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
typedef RGBQUAD *LPRGBQUAD;
typedef LONG LCSCSTYPE;
typedef LONG LCSGAMUTMATCH;
typedef long FXPT16DOT16,*LPFXPT16DOT16;
typedef long FXPT2DOT30,*LPFXPT2DOT30;
typedef struct tagCIEXYZ {
FXPT2DOT30 ciexyzX;
FXPT2DOT30 ciexyzY;
FXPT2DOT30 ciexyzZ;
} CIEXYZ;
typedef CIEXYZ *LPCIEXYZ;
typedef struct tagICEXYZTRIPLE {
CIEXYZ ciexyzRed;
CIEXYZ ciexyzGreen;
CIEXYZ ciexyzBlue;
} CIEXYZTRIPLE;
typedef CIEXYZTRIPLE *LPCIEXYZTRIPLE;
typedef struct tagLOGCOLORSPACEA {
DWORD lcsSignature;
DWORD lcsVersion;
DWORD lcsSize;
LCSCSTYPE lcsCSType;
LCSGAMUTMATCH lcsIntent;
CIEXYZTRIPLE lcsEndpoints;
DWORD lcsGammaRed;
DWORD lcsGammaGreen;
DWORD lcsGammaBlue;
CHAR lcsFilename[260];
} LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
typedef struct tagLOGCOLORSPACEW {
DWORD lcsSignature;
DWORD lcsVersion;
DWORD lcsSize;
LCSCSTYPE lcsCSType;
LCSGAMUTMATCH lcsIntent;
CIEXYZTRIPLE lcsEndpoints;
DWORD lcsGammaRed;
DWORD lcsGammaGreen;
DWORD lcsGammaBlue;
WCHAR lcsFilename[260];
} LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
typedef LOGCOLORSPACEA LOGCOLORSPACE;
typedef LPLOGCOLORSPACEA LPLOGCOLORSPACE;
typedef struct tagBITMAPCOREHEADER {
DWORD bcSize;
WORD bcWidth;
WORD bcHeight;
WORD bcPlanes;
WORD bcBitCount;
} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
typedef struct {
DWORD bV4Size;
LONG bV4Width;
LONG bV4Height;
WORD bV4Planes;
WORD bV4BitCount;
DWORD bV4V4Compression;
DWORD bV4SizeImage;
LONG bV4XPelsPerMeter;
LONG bV4YPelsPerMeter;
DWORD bV4ClrUsed;
DWORD bV4ClrImportant;
DWORD bV4RedMask;
DWORD bV4GreenMask;
DWORD bV4BlueMask;
DWORD bV4AlphaMask;
DWORD bV4CSType;
CIEXYZTRIPLE bV4Endpoints;
DWORD bV4GammaRed;
DWORD bV4GammaGreen;
DWORD bV4GammaBlue;
} BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
typedef struct {
DWORD bV5Size;
LONG bV5Width;
LONG bV5Height;
WORD bV5Planes;
WORD bV5BitCount;
DWORD bV5Compression;
DWORD bV5SizeImage;
LONG bV5XPelsPerMeter;
LONG bV5YPelsPerMeter;
DWORD bV5ClrUsed;
DWORD bV5ClrImportant;
DWORD bV5RedMask;
DWORD bV5GreenMask;
DWORD bV5BlueMask;
DWORD bV5AlphaMask;
DWORD bV5CSType;
CIEXYZTRIPLE bV5Endpoints;
DWORD bV5GammaRed;
DWORD bV5GammaGreen;
DWORD bV5GammaBlue;
DWORD bV5Intent;
DWORD bV5ProfileData;
DWORD bV5ProfileSize;
DWORD bV5Reserved;
} BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER;
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
typedef struct tagBITMAPCOREINFO {
BITMAPCOREHEADER bmciHeader;
RGBTRIPLE bmciColors[1];
} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
#pragma pack(push,2)
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
#pragma pack(pop)
typedef struct tagFONTSIGNATURE {
DWORD fsUsb[4];
DWORD fsCsb[2];
} FONTSIGNATURE,*PFONTSIGNATURE,*LPFONTSIGNATURE;
typedef struct tagCHARSETINFO {
UINT ciCharset;
UINT ciACP;
FONTSIGNATURE fs;
} CHARSETINFO,*PCHARSETINFO,*NPCHARSETINFO,*LPCHARSETINFO;
typedef struct tagLOCALESIGNATURE {
DWORD lsUsb[4];
DWORD lsCsbDefault[2];
DWORD lsCsbSupported[2];
} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
typedef struct tagHANDLETABLE {
HGDIOBJ objectHandle[1];
} HANDLETABLE,*PHANDLETABLE,*LPHANDLETABLE;
typedef struct tagMETARECORD {
DWORD rdSize;
WORD rdFunction;
WORD rdParm[1];
} METARECORD;
typedef struct tagMETARECORD *PMETARECORD;
typedef struct tagMETARECORD *LPMETARECORD;
typedef struct tagMETAFILEPICT {
LONG mm;
LONG xExt;
LONG yExt;
HMETAFILE hMF;
} METAFILEPICT,*LPMETAFILEPICT;
#pragma pack(push,2)
typedef struct tagMETAHEADER {
WORD mtType;
WORD mtHeaderSize;
WORD mtVersion;
DWORD mtSize;
WORD mtNoObjects;
DWORD mtMaxRecord;
WORD mtNoParameters;
} METAHEADER;
typedef struct tagMETAHEADER *PMETAHEADER;
typedef struct tagMETAHEADER *LPMETAHEADER;
#pragma pack(pop)
typedef struct tagENHMETARECORD {
DWORD iType;
DWORD nSize;
DWORD dParm[1];
} ENHMETARECORD,*PENHMETARECORD,*LPENHMETARECORD;
typedef struct tagENHMETAHEADER {
DWORD iType;
DWORD nSize;
RECTL rclBounds;
RECTL rclFrame;
DWORD dSignature;
DWORD nVersion;
DWORD nBytes;
DWORD nRecords;
WORD nHandles;
WORD sReserved;
DWORD nDescription;
DWORD offDescription;
DWORD nPalEntries;
SIZEL szlDevice;
SIZEL szlMillimeters;
DWORD cbPixelFormat;
DWORD offPixelFormat;
DWORD bOpenGL;
SIZEL szlMicrometers;
} ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER;
typedef BYTE BCHAR;
#pragma pack(push,4)
typedef struct tagTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRICA,*PTEXTMETRICA,*NPTEXTMETRICA,*LPTEXTMETRICA;
typedef struct tagTEXTMETRICW {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
WCHAR tmFirstChar;
WCHAR tmLastChar;
WCHAR tmDefaultChar;
WCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRICW,*PTEXTMETRICW,*NPTEXTMETRICW,*LPTEXTMETRICW;
typedef TEXTMETRICA TEXTMETRIC;
typedef PTEXTMETRICA PTEXTMETRIC;
typedef NPTEXTMETRICA NPTEXTMETRIC;
typedef LPTEXTMETRICA LPTEXTMETRIC;
#pragma pack(pop)
#pragma pack(push,4)
typedef struct tagNEWTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICA,*PNEWTEXTMETRICA,*NPNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
typedef struct tagNEWTEXTMETRICW {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
WCHAR tmFirstChar;
WCHAR tmLastChar;
WCHAR tmDefaultChar;
WCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICW,*PNEWTEXTMETRICW,*NPNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
typedef NEWTEXTMETRICA NEWTEXTMETRIC;
typedef PNEWTEXTMETRICA PNEWTEXTMETRIC;
typedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC;
typedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC;
#pragma pack(pop)
typedef struct tagNEWTEXTMETRICEXA {
NEWTEXTMETRICA ntmTm;
FONTSIGNATURE ntmFontSig;
} NEWTEXTMETRICEXA;
typedef struct tagNEWTEXTMETRICEXW {
NEWTEXTMETRICW ntmTm;
FONTSIGNATURE ntmFontSig;
} NEWTEXTMETRICEXW;
typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
typedef struct tagPELARRAY {
LONG paXCount;
LONG paYCount;
LONG paXExt;
LONG paYExt;
BYTE paRGBs;
} PELARRAY,*PPELARRAY,*NPPELARRAY,*LPPELARRAY;
typedef struct tagLOGBRUSH {
UINT lbStyle;
COLORREF lbColor;
ULONG_PTR lbHatch;
} LOGBRUSH,*PLOGBRUSH,*NPLOGBRUSH,*LPLOGBRUSH;
typedef struct tagLOGBRUSH32 {
UINT lbStyle;
COLORREF lbColor;
ULONG lbHatch;
} LOGBRUSH32,*PLOGBRUSH32,*NPLOGBRUSH32,*LPLOGBRUSH32;
typedef LOGBRUSH PATTERN;
typedef PATTERN *PPATTERN;
typedef PATTERN *NPPATTERN;
typedef PATTERN *LPPATTERN;
typedef struct tagLOGPEN {
UINT lopnStyle;
POINT lopnWidth;
COLORREF lopnColor;
} LOGPEN,*PLOGPEN,*NPLOGPEN,*LPLOGPEN;
typedef struct tagEXTLOGPEN {
DWORD elpPenStyle;
DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
ULONG_PTR elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN,*PEXTLOGPEN,*NPEXTLOGPEN,*LPEXTLOGPEN;
typedef struct tagEXTLOGPEN32 {
DWORD elpPenStyle;
DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
ULONG elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32;
typedef struct tagPALETTEENTRY {
BYTE peRed;
BYTE peGreen;
BYTE peBlue;
BYTE peFlags;
} PALETTEENTRY,*PPALETTEENTRY,*LPPALETTEENTRY;
typedef struct tagLOGPALETTE {
WORD palVersion;
WORD palNumEntries;
PALETTEENTRY palPalEntry[1];
} LOGPALETTE,*PLOGPALETTE,*NPLOGPALETTE,*LPLOGPALETTE;
typedef struct tagLOGFONTA {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
CHAR lfFaceName[32];
} LOGFONTA,*PLOGFONTA,*NPLOGFONTA,*LPLOGFONTA;
typedef struct tagLOGFONTW {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
WCHAR lfFaceName[32];
} LOGFONTW,*PLOGFONTW,*NPLOGFONTW,*LPLOGFONTW;
typedef LOGFONTA LOGFONT;
typedef PLOGFONTA PLOGFONT;
typedef NPLOGFONTA NPLOGFONT;
typedef LPLOGFONTA LPLOGFONT;
typedef struct tagENUMLOGFONTA {
LOGFONTA elfLogFont;
BYTE elfFullName[64];
BYTE elfStyle[32];
} ENUMLOGFONTA,*LPENUMLOGFONTA;
typedef struct tagENUMLOGFONTW {
LOGFONTW elfLogFont;
WCHAR elfFullName[64];
WCHAR elfStyle[32];
} ENUMLOGFONTW,*LPENUMLOGFONTW;
typedef ENUMLOGFONTA ENUMLOGFONT;
typedef LPENUMLOGFONTA LPENUMLOGFONT;
typedef struct tagENUMLOGFONTEXA {
LOGFONTA elfLogFont;
BYTE elfFullName[64];
BYTE elfStyle[32];
BYTE elfScript[32];
} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
typedef struct tagENUMLOGFONTEXW {
LOGFONTW elfLogFont;
WCHAR elfFullName[64];
WCHAR elfStyle[32];
WCHAR elfScript[32];
} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
typedef ENUMLOGFONTEXA ENUMLOGFONTEX;
typedef LPENUMLOGFONTEXA LPENUMLOGFONTEX;
typedef struct tagPANOSE {
BYTE bFamilyType;
BYTE bSerifStyle;
BYTE bWeight;
BYTE bProportion;
BYTE bContrast;
BYTE bStrokeVariation;
BYTE bArmStyle;
BYTE bLetterform;
BYTE bMidline;
BYTE bXHeight;
} PANOSE,*LPPANOSE;
typedef struct tagEXTLOGFONTA {
LOGFONTA elfLogFont;
BYTE elfFullName[64];
BYTE elfStyle[32];
DWORD elfVersion;
DWORD elfStyleSize;
DWORD elfMatch;
DWORD elfReserved;
BYTE elfVendorId[4];
DWORD elfCulture;
PANOSE elfPanose;
} EXTLOGFONTA,*PEXTLOGFONTA,*NPEXTLOGFONTA,*LPEXTLOGFONTA;
typedef struct tagEXTLOGFONTW {
LOGFONTW elfLogFont;
WCHAR elfFullName[64];
WCHAR elfStyle[32];
DWORD elfVersion;
DWORD elfStyleSize;
DWORD elfMatch;
DWORD elfReserved;
BYTE elfVendorId[4];
DWORD elfCulture;
PANOSE elfPanose;
} EXTLOGFONTW,*PEXTLOGFONTW,*NPEXTLOGFONTW,*LPEXTLOGFONTW;
typedef EXTLOGFONTA EXTLOGFONT;
typedef PEXTLOGFONTA PEXTLOGFONT;
typedef NPEXTLOGFONTA NPEXTLOGFONT;
typedef LPEXTLOGFONTA LPEXTLOGFONT;
typedef struct _devicemodeA {
BYTE dmDeviceName[32];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
__extension__ union {
__extension__ struct {
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
};
struct {
POINTL dmPosition;
DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput;
};
};
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
BYTE dmFormName[32];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
__extension__ union {
DWORD dmDisplayFlags;
DWORD dmNup;
};
DWORD dmDisplayFrequency;
DWORD dmICMMethod;
DWORD dmICMIntent;
DWORD dmMediaType;
DWORD dmDitherType;
DWORD dmReserved1;
DWORD dmReserved2;
DWORD dmPanningWidth;
DWORD dmPanningHeight;
} DEVMODEA,*PDEVMODEA,*NPDEVMODEA,*LPDEVMODEA;
typedef struct _devicemodeW {
WCHAR dmDeviceName[32];
WORD dmSpecVersion;
WORD dmDriverVersion;
WORD dmSize;
WORD dmDriverExtra;
DWORD dmFields;
__extension__ union {
__extension__ struct {
short dmOrientation;
short dmPaperSize;
short dmPaperLength;
short dmPaperWidth;
short dmScale;
short dmCopies;
short dmDefaultSource;
short dmPrintQuality;
};
__extension__ struct {
POINTL dmPosition;
DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput;
};
};
short dmColor;
short dmDuplex;
short dmYResolution;
short dmTTOption;
short dmCollate;
WCHAR dmFormName[32];
WORD dmLogPixels;
DWORD dmBitsPerPel;
DWORD dmPelsWidth;
DWORD dmPelsHeight;
__extension__ union {
DWORD dmDisplayFlags;
DWORD dmNup;
};
DWORD dmDisplayFrequency;
DWORD dmICMMethod;
DWORD dmICMIntent;
DWORD dmMediaType;
DWORD dmDitherType;
DWORD dmReserved1;
DWORD dmReserved2;
DWORD dmPanningWidth;
DWORD dmPanningHeight;
} DEVMODEW,*PDEVMODEW,*NPDEVMODEW,*LPDEVMODEW;
typedef DEVMODEA DEVMODE;
typedef PDEVMODEA PDEVMODE;
typedef NPDEVMODEA NPDEVMODE;
typedef LPDEVMODEA LPDEVMODE;
typedef struct _DISPLAY_DEVICEA {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD StateFlags;
CHAR DeviceID[128];
CHAR DeviceKey[128];
} DISPLAY_DEVICEA,*PDISPLAY_DEVICEA,*LPDISPLAY_DEVICEA;
typedef struct _DISPLAY_DEVICEW {
DWORD cb;
WCHAR DeviceName[32];
WCHAR DeviceString[128];
DWORD StateFlags;
WCHAR DeviceID[128];
WCHAR DeviceKey[128];
} DISPLAY_DEVICEW,*PDISPLAY_DEVICEW,*LPDISPLAY_DEVICEW;
typedef DISPLAY_DEVICEA DISPLAY_DEVICE;
typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;
typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;
typedef struct _RGNDATAHEADER {
DWORD dwSize;
DWORD iType;
DWORD nCount;
DWORD nRgnSize;
RECT rcBound;
} RGNDATAHEADER,*PRGNDATAHEADER;
typedef struct _RGNDATA {
RGNDATAHEADER rdh;
char Buffer[1];
} RGNDATA,*PRGNDATA,*NPRGNDATA,*LPRGNDATA;
typedef struct _ABC {
int abcA;
UINT abcB;
int abcC;
} ABC,*PABC,*NPABC,*LPABC;
typedef struct _ABCFLOAT {
FLOAT abcfA;
FLOAT abcfB;
FLOAT abcfC;
} ABCFLOAT,*PABCFLOAT,*NPABCFLOAT,*LPABCFLOAT;
typedef struct _OUTLINETEXTMETRICA {
UINT otmSize;
TEXTMETRICA otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscoreSize;
int otmsUnderscorePosition;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*NPOUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
typedef struct _OUTLINETEXTMETRICW {
UINT otmSize;
TEXTMETRICW otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscoreSize;
int otmsUnderscorePosition;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*NPOUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC;
typedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC;
typedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC;
typedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;
typedef struct tagPOLYTEXTA {
int x;
int y;
UINT n;
LPCSTR lpstr;
UINT uiFlags;
RECT rcl;
int *pdx;
} POLYTEXTA,*PPOLYTEXTA,*NPPOLYTEXTA,*LPPOLYTEXTA;
typedef struct tagPOLYTEXTW {
int x;
int y;
UINT n;
LPCWSTR lpstr;
UINT uiFlags;
RECT rcl;
int *pdx;
} POLYTEXTW,*PPOLYTEXTW,*NPPOLYTEXTW,*LPPOLYTEXTW;
typedef POLYTEXTA POLYTEXT;
typedef PPOLYTEXTA PPOLYTEXT;
typedef NPPOLYTEXTA NPPOLYTEXT;
typedef LPPOLYTEXTA LPPOLYTEXT;
typedef struct _FIXED {
WORD fract;
short value;
} FIXED;
typedef struct _MAT2 {
FIXED eM11;
FIXED eM12;
FIXED eM21;
FIXED eM22;
} MAT2,*LPMAT2;
typedef struct _GLYPHMETRICS {
UINT gmBlackBoxX;
UINT gmBlackBoxY;
POINT gmptGlyphOrigin;
short gmCellIncX;
short gmCellIncY;
} GLYPHMETRICS,*LPGLYPHMETRICS;
typedef struct tagPOINTFX {
FIXED x;
FIXED y;
} POINTFX,*LPPOINTFX;
typedef struct tagTTPOLYCURVE {
WORD wType;
WORD cpfx;
POINTFX apfx[1];
} TTPOLYCURVE,*LPTTPOLYCURVE;
typedef struct tagTTPOLYGONHEADER {
DWORD cb;
DWORD dwType;
POINTFX pfxStart;
} TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
typedef struct tagGCP_RESULTSA {
DWORD lStructSize;
LPSTR lpOutString;
UINT *lpOrder;
int *lpDx;
int *lpCaretPos;
LPSTR lpClass;
LPWSTR lpGlyphs;
UINT nGlyphs;
int nMaxFit;
} GCP_RESULTSA,*LPGCP_RESULTSA;
typedef struct tagGCP_RESULTSW {
DWORD lStructSize;
LPWSTR lpOutString;
UINT *lpOrder;
int *lpDx;
int *lpCaretPos;
LPSTR lpClass;
LPWSTR lpGlyphs;
UINT nGlyphs;
int nMaxFit;
} GCP_RESULTSW,*LPGCP_RESULTSW;
typedef GCP_RESULTSA GCP_RESULTS;
typedef LPGCP_RESULTSA LPGCP_RESULTS;
typedef struct _RASTERIZER_STATUS {
short nSize;
short wFlags;
short nLanguageID;
} RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
typedef struct tagPIXELFORMATDESCRIPTOR {
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerType;
BYTE bReserved;
DWORD dwLayerMask;
DWORD dwVisibleMask;
DWORD dwDamageMask;
} PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
typedef int ( *OLDFONTENUMPROCA)(const LOGFONTA *,const TEXTMETRICA *,DWORD,LPARAM);
typedef int ( *OLDFONTENUMPROCW)(const LOGFONTW *,const TEXTMETRICW *,DWORD,LPARAM);
typedef OLDFONTENUMPROCA FONTENUMPROCA;
typedef OLDFONTENUMPROCW FONTENUMPROCW;
typedef FONTENUMPROCA FONTENUMPROC;
typedef int ( *GOBJENUMPROC)(LPVOID,LPARAM);
typedef void ( *LINEDDAPROC)(int,int,LPARAM);
__attribute__((dllimport)) int AddFontResourceA(LPCSTR);
__attribute__((dllimport)) int AddFontResourceW(LPCWSTR);
__attribute__((dllimport)) WINBOOL AnimatePalette(HPALETTE hPal,UINT iStartIndex,UINT cEntries,const PALETTEENTRY *ppe);
__attribute__((dllimport)) WINBOOL Arc(HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);
__attribute__((dllimport)) WINBOOL BitBlt(HDC hdc,int x,int y,int cx,int cy,HDC hdcSrc,int x1,int y1,DWORD rop);
__attribute__((dllimport)) WINBOOL CancelDC(HDC hdc);
__attribute__((dllimport)) WINBOOL Chord(HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);
__attribute__((dllimport)) int ChoosePixelFormat(HDC hdc,const PIXELFORMATDESCRIPTOR *ppfd);
__attribute__((dllimport)) HMETAFILE CloseMetaFile(HDC hdc);
__attribute__((dllimport)) int CombineRgn(HRGN hrgnDst,HRGN hrgnSrc1,HRGN hrgnSrc2,int iMode);
__attribute__((dllimport)) HMETAFILE CopyMetaFileA(HMETAFILE,LPCSTR);
__attribute__((dllimport)) HMETAFILE CopyMetaFileW(HMETAFILE,LPCWSTR);
__attribute__((dllimport)) HBITMAP CreateBitmap(int nWidth,int nHeight,UINT nPlanes,UINT nBitCount,const void *lpBits);
__attribute__((dllimport)) HBITMAP CreateBitmapIndirect(const BITMAP *pbm);
__attribute__((dllimport)) HBRUSH CreateBrushIndirect(const LOGBRUSH *plbrush);
__attribute__((dllimport)) HBITMAP CreateCompatibleBitmap(HDC hdc,int cx,int cy);
__attribute__((dllimport)) HBITMAP CreateDiscardableBitmap(HDC hdc,int cx,int cy);
__attribute__((dllimport)) HDC CreateCompatibleDC(HDC hdc);
__attribute__((dllimport)) HDC CreateDCA(LPCSTR pwszDriver,LPCSTR pwszDevice,LPCSTR pszPort,const DEVMODEA *pdm);
__attribute__((dllimport)) HDC CreateDCW(LPCWSTR pwszDriver,LPCWSTR pwszDevice,LPCWSTR pszPort,const DEVMODEW *pdm);
__attribute__((dllimport)) HBITMAP CreateDIBitmap(HDC hdc,const BITMAPINFOHEADER *pbmih,DWORD flInit,const void *pjBits,const BITMAPINFO *pbmi,UINT iUsage);
__attribute__((dllimport)) HBRUSH CreateDIBPatternBrush(HGLOBAL h,UINT iUsage);
__attribute__((dllimport)) HBRUSH CreateDIBPatternBrushPt(const void *lpPackedDIB,UINT iUsage);
__attribute__((dllimport)) HRGN CreateEllipticRgn(int x1,int y1,int x2,int y2);
__attribute__((dllimport)) HRGN CreateEllipticRgnIndirect(const RECT *lprect);
__attribute__((dllimport)) HFONT CreateFontIndirectA(const LOGFONTA *lplf);
__attribute__((dllimport)) HFONT CreateFontIndirectW(const LOGFONTW *lplf);
__attribute__((dllimport)) HFONT CreateFontA(int cHeight,int cWidth,int cEscapement,int cOrientation,int cWeight,DWORD bItalic,DWORD bUnderline,DWORD bStrikeOut,DWORD iCharSet,DWORD iOutPrecision,DWORD iClipPrecision,DWORD iQuality,DWORD iPitchAndFamily,LPCSTR pszFaceName);
__attribute__((dllimport)) HFONT CreateFontW(int cHeight,int cWidth,int cEscapement,int cOrientation,int cWeight,DWORD bItalic,DWORD bUnderline,DWORD bStrikeOut,DWORD iCharSet,DWORD iOutPrecision,DWORD iClipPrecision,DWORD iQuality,DWORD iPitchAndFamily,LPCWSTR pszFaceName);
__attribute__((dllimport)) HBRUSH CreateHatchBrush(int iHatch,COLORREF color);
__attribute__((dllimport)) HDC CreateICA(LPCSTR pszDriver,LPCSTR pszDevice,LPCSTR pszPort,const DEVMODEA *pdm);
__attribute__((dllimport)) HDC CreateICW(LPCWSTR pszDriver,LPCWSTR pszDevice,LPCWSTR pszPort,const DEVMODEW *pdm);
__attribute__((dllimport)) HDC CreateMetaFileA(LPCSTR pszFile);
__attribute__((dllimport)) HDC CreateMetaFileW(LPCWSTR pszFile);
__attribute__((dllimport)) HPALETTE CreatePalette(const LOGPALETTE *plpal);
__attribute__((dllimport)) HPEN CreatePen(int iStyle,int cWidth,COLORREF color);
__attribute__((dllimport)) HPEN CreatePenIndirect(const LOGPEN *plpen);
__attribute__((dllimport)) HRGN CreatePolyPolygonRgn(const POINT *pptl,const INT *pc,int cPoly,int iMode);
__attribute__((dllimport)) HBRUSH CreatePatternBrush(HBITMAP hbm);
__attribute__((dllimport)) HRGN CreateRectRgn(int x1,int y1,int x2,int y2);
__attribute__((dllimport)) HRGN CreateRectRgnIndirect(const RECT *lprect);
__attribute__((dllimport)) HRGN CreateRoundRectRgn(int x1,int y1,int x2,int y2,int w,int h);
__attribute__((dllimport)) WINBOOL CreateScalableFontResourceA(DWORD fdwHidden,LPCSTR lpszFont,LPCSTR lpszFile,LPCSTR lpszPath);
__attribute__((dllimport)) WINBOOL CreateScalableFontResourceW(DWORD fdwHidden,LPCWSTR lpszFont,LPCWSTR lpszFile,LPCWSTR lpszPath);
__attribute__((dllimport)) HBRUSH CreateSolidBrush(COLORREF color);
__attribute__((dllimport)) WINBOOL DeleteDC(HDC hdc);
__attribute__((dllimport)) WINBOOL DeleteMetaFile(HMETAFILE hmf);
__attribute__((dllimport)) WINBOOL DeleteObject(HGDIOBJ ho);
__attribute__((dllimport)) int DescribePixelFormat(HDC hdc,int iPixelFormat,UINT nBytes,LPPIXELFORMATDESCRIPTOR ppfd);
typedef UINT ( *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODE,LPSTR,LPSTR,LPDEVMODE,LPSTR,UINT);
typedef DWORD ( *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODE);
__attribute__((dllimport)) int DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,LPSTR pOutput,const DEVMODEA *pDevMode);
__attribute__((dllimport)) int DeviceCapabilitiesW(LPCWSTR pDevice,LPCWSTR pPort,WORD fwCapability,LPWSTR pOutput,const DEVMODEW *pDevMode);
__attribute__((dllimport)) int DrawEscape(HDC hdc,int iEscape,int cjIn,LPCSTR lpIn);
__attribute__((dllimport)) WINBOOL Ellipse(HDC hdc,int left,int top,int right,int bottom);
__attribute__((dllimport)) int EnumFontFamiliesExA(HDC hdc,LPLOGFONTA lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam,DWORD dwFlags);
__attribute__((dllimport)) int EnumFontFamiliesExW(HDC hdc,LPLOGFONTW lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam,DWORD dwFlags);
__attribute__((dllimport)) int EnumFontFamiliesA(HDC hdc,LPCSTR lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam);
__attribute__((dllimport)) int EnumFontFamiliesW(HDC hdc,LPCWSTR lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam);
__attribute__((dllimport)) int EnumFontsA(HDC hdc,LPCSTR lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam);
__attribute__((dllimport)) int EnumFontsW(HDC hdc,LPCWSTR lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam);
__attribute__((dllimport)) int EnumObjects(HDC hdc,int nType,GOBJENUMPROC lpFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EqualRgn(HRGN hrgn1,HRGN hrgn2);
__attribute__((dllimport)) int Escape(HDC hdc,int iEscape,int cjIn,LPCSTR pvIn,LPVOID pvOut);
__attribute__((dllimport)) int ExtEscape(HDC hdc,int iEscape,int cjInput,LPCSTR lpInData,int cjOutput,LPSTR lpOutData);
__attribute__((dllimport)) int ExcludeClipRect(HDC hdc,int left,int top,int right,int bottom);
__attribute__((dllimport)) HRGN ExtCreateRegion(const XFORM *lpx,DWORD nCount,const RGNDATA *lpData);
__attribute__((dllimport)) WINBOOL ExtFloodFill(HDC hdc,int x,int y,COLORREF color,UINT type);
__attribute__((dllimport)) WINBOOL FillRgn(HDC hdc,HRGN hrgn,HBRUSH hbr);
__attribute__((dllimport)) WINBOOL FloodFill(HDC hdc,int x,int y,COLORREF color);
__attribute__((dllimport)) WINBOOL FrameRgn(HDC hdc,HRGN hrgn,HBRUSH hbr,int w,int h);
__attribute__((dllimport)) int GetROP2(HDC hdc);
__attribute__((dllimport)) WINBOOL GetAspectRatioFilterEx(HDC hdc,LPSIZE lpsize);
__attribute__((dllimport)) COLORREF GetBkColor(HDC hdc);
__attribute__((dllimport)) COLORREF GetDCBrushColor(HDC hdc);
__attribute__((dllimport)) COLORREF GetDCPenColor(HDC hdc);
__attribute__((dllimport)) int GetBkMode(HDC hdc);
__attribute__((dllimport)) LONG GetBitmapBits(HBITMAP hbit,LONG cb,LPVOID lpvBits);
__attribute__((dllimport)) WINBOOL GetBitmapDimensionEx(HBITMAP hbit,LPSIZE lpsize);
__attribute__((dllimport)) UINT GetBoundsRect(HDC hdc,LPRECT lprect,UINT flags);
__attribute__((dllimport)) WINBOOL GetBrushOrgEx(HDC hdc,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL GetCharWidthA(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharWidthW(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharWidth32A(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharWidth32W(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharWidthFloatA(HDC hdc,UINT iFirst,UINT iLast,PFLOAT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharWidthFloatW(HDC hdc,UINT iFirst,UINT iLast,PFLOAT lpBuffer);
__attribute__((dllimport)) WINBOOL GetCharABCWidthsA(HDC hdc,UINT wFirst,UINT wLast,LPABC lpABC);
__attribute__((dllimport)) WINBOOL GetCharABCWidthsW(HDC hdc,UINT wFirst,UINT wLast,LPABC lpABC);
__attribute__((dllimport)) WINBOOL GetCharABCWidthsFloatA(HDC hdc,UINT iFirst,UINT iLast,LPABCFLOAT lpABC);
__attribute__((dllimport)) WINBOOL GetCharABCWidthsFloatW(HDC hdc,UINT iFirst,UINT iLast,LPABCFLOAT lpABC);
__attribute__((dllimport)) int GetClipBox(HDC hdc,LPRECT lprect);
__attribute__((dllimport)) int GetClipRgn(HDC hdc,HRGN hrgn);
__attribute__((dllimport)) int GetMetaRgn(HDC hdc,HRGN hrgn);
__attribute__((dllimport)) HGDIOBJ GetCurrentObject(HDC hdc,UINT type);
__attribute__((dllimport)) WINBOOL GetCurrentPositionEx(HDC hdc,LPPOINT lppt);
__attribute__((dllimport)) int GetDeviceCaps(HDC hdc,int index);
__attribute__((dllimport)) int GetDIBits(HDC hdc,HBITMAP hbm,UINT start,UINT cLines,LPVOID lpvBits,LPBITMAPINFO lpbmi,UINT usage);
__attribute__((dllimport)) DWORD GetFontData (HDC hdc,DWORD dwTable,DWORD dwOffset,PVOID pvBuffer,DWORD cjBuffer);
__attribute__((dllimport)) DWORD GetGlyphOutlineA(HDC hdc,UINT uChar,UINT fuFormat,LPGLYPHMETRICS lpgm,DWORD cjBuffer,LPVOID pvBuffer,const MAT2 *lpmat2);
__attribute__((dllimport)) DWORD GetGlyphOutlineW(HDC hdc,UINT uChar,UINT fuFormat,LPGLYPHMETRICS lpgm,DWORD cjBuffer,LPVOID pvBuffer,const MAT2 *lpmat2);
__attribute__((dllimport)) int GetGraphicsMode(HDC hdc);
__attribute__((dllimport)) int GetMapMode(HDC hdc);
__attribute__((dllimport)) UINT GetMetaFileBitsEx(HMETAFILE hMF,UINT cbBuffer,LPVOID lpData);
__attribute__((dllimport)) HMETAFILE GetMetaFileA(LPCSTR lpName);
__attribute__((dllimport)) HMETAFILE GetMetaFileW(LPCWSTR lpName);
__attribute__((dllimport)) COLORREF GetNearestColor(HDC hdc,COLORREF color);
__attribute__((dllimport)) UINT GetNearestPaletteIndex(HPALETTE h,COLORREF color);
__attribute__((dllimport)) DWORD GetObjectType(HGDIOBJ h);
__attribute__((dllimport)) UINT GetOutlineTextMetricsA(HDC hdc,UINT cjCopy,LPOUTLINETEXTMETRICA potm);
__attribute__((dllimport)) UINT GetOutlineTextMetricsW(HDC hdc,UINT cjCopy,LPOUTLINETEXTMETRICW potm);
__attribute__((dllimport)) UINT GetPaletteEntries(HPALETTE hpal,UINT iStart,UINT cEntries,LPPALETTEENTRY pPalEntries);
__attribute__((dllimport)) COLORREF GetPixel(HDC hdc,int x,int y);
__attribute__((dllimport)) int GetPixelFormat(HDC hdc);
__attribute__((dllimport)) int GetPolyFillMode(HDC hdc);
__attribute__((dllimport)) WINBOOL GetRasterizerCaps(LPRASTERIZER_STATUS lpraststat,UINT cjBytes);
__attribute__((dllimport)) int GetRandomRgn (HDC hdc,HRGN hrgn,INT i);
__attribute__((dllimport)) DWORD GetRegionData(HRGN hrgn,DWORD nCount,LPRGNDATA lpRgnData);
__attribute__((dllimport)) int GetRgnBox(HRGN hrgn,LPRECT lprc);
__attribute__((dllimport)) HGDIOBJ GetStockObject(int i);
__attribute__((dllimport)) int GetStretchBltMode(HDC hdc);
__attribute__((dllimport)) UINT GetSystemPaletteEntries(HDC hdc,UINT iStart,UINT cEntries,LPPALETTEENTRY pPalEntries);
__attribute__((dllimport)) UINT GetSystemPaletteUse(HDC hdc);
__attribute__((dllimport)) int GetTextCharacterExtra(HDC hdc);
__attribute__((dllimport)) UINT GetTextAlign(HDC hdc);
__attribute__((dllimport)) COLORREF GetTextColor(HDC hdc);
__attribute__((dllimport)) WINBOOL GetTextExtentPointA(HDC hdc,LPCSTR lpString,int c,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL GetTextExtentPointW(HDC hdc,LPCWSTR lpString,int c,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL GetTextExtentPoint32A(HDC hdc,LPCSTR lpString,int c,LPSIZE psizl);
__attribute__((dllimport)) WINBOOL GetTextExtentPoint32W(HDC hdc,LPCWSTR lpString,int c,LPSIZE psizl);
__attribute__((dllimport)) WINBOOL GetTextExtentExPointA(HDC hdc,LPCSTR lpszString,int cchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize);
__attribute__((dllimport)) WINBOOL GetTextExtentExPointW(HDC hdc,LPCWSTR lpszString,int cchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize);
__attribute__((dllimport)) int GetTextCharset(HDC hdc);
__attribute__((dllimport)) int GetTextCharsetInfo(HDC hdc,LPFONTSIGNATURE lpSig,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL TranslateCharsetInfo(DWORD *lpSrc,LPCHARSETINFO lpCs,DWORD dwFlags);
__attribute__((dllimport)) DWORD GetFontLanguageInfo(HDC hdc);
__attribute__((dllimport)) DWORD GetCharacterPlacementA(HDC hdc,LPCSTR lpString,int nCount,int nMexExtent,LPGCP_RESULTSA lpResults,DWORD dwFlags);
__attribute__((dllimport)) DWORD GetCharacterPlacementW(HDC hdc,LPCWSTR lpString,int nCount,int nMexExtent,LPGCP_RESULTSW lpResults,DWORD dwFlags);
typedef struct tagWCRANGE {
WCHAR wcLow;
USHORT cGlyphs;
} WCRANGE,*PWCRANGE,*LPWCRANGE;
typedef struct tagGLYPHSET {
DWORD cbThis;
DWORD flAccel;
DWORD cGlyphsSupported;
DWORD cRanges;
WCRANGE ranges[1];
} GLYPHSET,*PGLYPHSET,*LPGLYPHSET;
__attribute__((dllimport)) DWORD GetFontUnicodeRanges(HDC hdc,LPGLYPHSET lpgs);
__attribute__((dllimport)) DWORD GetGlyphIndicesA(HDC hdc,LPCSTR lpstr,int c,LPWORD pgi,DWORD fl);
__attribute__((dllimport)) DWORD GetGlyphIndicesW(HDC hdc,LPCWSTR lpstr,int c,LPWORD pgi,DWORD fl);
__attribute__((dllimport)) WINBOOL GetTextExtentPointI(HDC hdc,LPWORD pgiIn,int cgi,LPSIZE psize);
__attribute__((dllimport)) WINBOOL GetTextExtentExPointI (HDC hdc,LPWORD lpwszString,int cwchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize);
__attribute__((dllimport)) WINBOOL GetCharWidthI(HDC hdc,UINT giFirst,UINT cgi,LPWORD pgi,LPINT piWidths);
__attribute__((dllimport)) WINBOOL GetCharABCWidthsI(HDC hdc,UINT giFirst,UINT cgi,LPWORD pgi,LPABC pabc);
typedef struct tagDESIGNVECTOR {
DWORD dvReserved;
DWORD dvNumAxes;
LONG dvValues[16];
} DESIGNVECTOR,*PDESIGNVECTOR,*LPDESIGNVECTOR;
__attribute__((dllimport)) int AddFontResourceExA(LPCSTR name,DWORD fl,PVOID res);
__attribute__((dllimport)) int AddFontResourceExW(LPCWSTR name,DWORD fl,PVOID res);
__attribute__((dllimport)) WINBOOL RemoveFontResourceExA(LPCSTR name,DWORD fl,PVOID pdv);
__attribute__((dllimport)) WINBOOL RemoveFontResourceExW(LPCWSTR name,DWORD fl,PVOID pdv);
__attribute__((dllimport)) HANDLE AddFontMemResourceEx(PVOID pFileView,DWORD cjSize,PVOID pvResrved,DWORD *pNumFonts);
__attribute__((dllimport)) WINBOOL RemoveFontMemResourceEx(HANDLE h);
typedef struct tagAXISINFOA {
LONG axMinValue;
LONG axMaxValue;
BYTE axAxisName[16];
} AXISINFOA,*PAXISINFOA,*LPAXISINFOA;
typedef struct tagAXISINFOW {
LONG axMinValue;
LONG axMaxValue;
WCHAR axAxisName[16];
} AXISINFOW,*PAXISINFOW,*LPAXISINFOW;
typedef AXISINFOA AXISINFO;
typedef PAXISINFOA PAXISINFO;
typedef LPAXISINFOA LPAXISINFO;
typedef struct tagAXESLISTA {
DWORD axlReserved;
DWORD axlNumAxes;
AXISINFOA axlAxisInfo[16];
} AXESLISTA,*PAXESLISTA,*LPAXESLISTA;
typedef struct tagAXESLISTW {
DWORD axlReserved;
DWORD axlNumAxes;
AXISINFOW axlAxisInfo[16];
} AXESLISTW,*PAXESLISTW,*LPAXESLISTW;
typedef AXESLISTA AXESLIST;
typedef PAXESLISTA PAXESLIST;
typedef LPAXESLISTA LPAXESLIST;
typedef struct tagENUMLOGFONTEXDVA {
ENUMLOGFONTEXA elfEnumLogfontEx;
DESIGNVECTOR elfDesignVector;
} ENUMLOGFONTEXDVA,*PENUMLOGFONTEXDVA,*LPENUMLOGFONTEXDVA;
typedef struct tagENUMLOGFONTEXDVW {
ENUMLOGFONTEXW elfEnumLogfontEx;
DESIGNVECTOR elfDesignVector;
} ENUMLOGFONTEXDVW,*PENUMLOGFONTEXDVW,*LPENUMLOGFONTEXDVW;
typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
__attribute__((dllimport)) HFONT CreateFontIndirectExA(const ENUMLOGFONTEXDVA *);
__attribute__((dllimport)) HFONT CreateFontIndirectExW(const ENUMLOGFONTEXDVW *);
typedef struct tagENUMTEXTMETRICA {
NEWTEXTMETRICEXA etmNewTextMetricEx;
AXESLISTA etmAxesList;
} ENUMTEXTMETRICA,*PENUMTEXTMETRICA,*LPENUMTEXTMETRICA;
typedef struct tagENUMTEXTMETRICW
{
NEWTEXTMETRICEXW etmNewTextMetricEx;
AXESLISTW etmAxesList;
} ENUMTEXTMETRICW,*PENUMTEXTMETRICW,*LPENUMTEXTMETRICW;
typedef ENUMTEXTMETRICA ENUMTEXTMETRIC;
typedef PENUMTEXTMETRICA PENUMTEXTMETRIC;
typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC;
__attribute__((dllimport)) WINBOOL GetViewportExtEx(HDC hdc,LPSIZE lpsize);
__attribute__((dllimport)) WINBOOL GetViewportOrgEx(HDC hdc,LPPOINT lppoint);
__attribute__((dllimport)) WINBOOL GetWindowExtEx(HDC hdc,LPSIZE lpsize);
__attribute__((dllimport)) WINBOOL GetWindowOrgEx(HDC hdc,LPPOINT lppoint);
__attribute__((dllimport)) int IntersectClipRect(HDC hdc,int left,int top,int right,int bottom);
__attribute__((dllimport)) WINBOOL InvertRgn(HDC hdc,HRGN hrgn);
__attribute__((dllimport)) WINBOOL LineDDA(int xStart,int yStart,int xEnd,int yEnd,LINEDDAPROC lpProc,LPARAM data);
__attribute__((dllimport)) WINBOOL LineTo(HDC hdc,int x,int y);
__attribute__((dllimport)) WINBOOL MaskBlt(HDC hdcDest,int xDest,int yDest,int width,int height,HDC hdcSrc,int xSrc,int ySrc,HBITMAP hbmMask,int xMask,int yMask,DWORD rop);
__attribute__((dllimport)) WINBOOL PlgBlt(HDC hdcDest,const POINT *lpPoint,HDC hdcSrc,int xSrc,int ySrc,int width,int height,HBITMAP hbmMask,int xMask,int yMask);
__attribute__((dllimport)) int OffsetClipRgn(HDC hdc,int x,int y);
__attribute__((dllimport)) int OffsetRgn(HRGN hrgn,int x,int y);
__attribute__((dllimport)) WINBOOL PatBlt(HDC hdc,int x,int y,int w,int h,DWORD rop);
__attribute__((dllimport)) WINBOOL Pie(HDC hdc,int left,int top,int right,int bottom,int xr1,int yr1,int xr2,int yr2);
__attribute__((dllimport)) WINBOOL PlayMetaFile(HDC hdc,HMETAFILE hmf);
__attribute__((dllimport)) WINBOOL PaintRgn(HDC hdc,HRGN hrgn);
__attribute__((dllimport)) WINBOOL PolyPolygon(HDC hdc,const POINT *apt,const INT *asz,int csz);
__attribute__((dllimport)) WINBOOL PtInRegion(HRGN hrgn,int x,int y);
__attribute__((dllimport)) WINBOOL PtVisible(HDC hdc,int x,int y);
__attribute__((dllimport)) WINBOOL RectInRegion(HRGN hrgn,const RECT *lprect);
__attribute__((dllimport)) WINBOOL RectVisible(HDC hdc,const RECT *lprect);
__attribute__((dllimport)) WINBOOL Rectangle(HDC hdc,int left,int top,int right,int bottom);
__attribute__((dllimport)) WINBOOL RestoreDC(HDC hdc,int nSavedDC);
__attribute__((dllimport)) HDC ResetDCA(HDC hdc,const DEVMODEA *lpdm);
__attribute__((dllimport)) HDC ResetDCW(HDC hdc,const DEVMODEW *lpdm);
__attribute__((dllimport)) UINT RealizePalette(HDC hdc);
__attribute__((dllimport)) WINBOOL RemoveFontResourceA(LPCSTR lpFileName);
__attribute__((dllimport)) WINBOOL RemoveFontResourceW(LPCWSTR lpFileName);
__attribute__((dllimport)) WINBOOL RoundRect(HDC hdc,int left,int top,int right,int bottom,int width,int height);
__attribute__((dllimport)) WINBOOL ResizePalette(HPALETTE hpal,UINT n);
__attribute__((dllimport)) int SaveDC(HDC hdc);
__attribute__((dllimport)) int SelectClipRgn(HDC hdc,HRGN hrgn);
__attribute__((dllimport)) int ExtSelectClipRgn(HDC hdc,HRGN hrgn,int mode);
__attribute__((dllimport)) int SetMetaRgn(HDC hdc);
__attribute__((dllimport)) HGDIOBJ SelectObject(HDC hdc,HGDIOBJ h);
__attribute__((dllimport)) HPALETTE SelectPalette(HDC hdc,HPALETTE hPal,WINBOOL bForceBkgd);
__attribute__((dllimport)) COLORREF SetBkColor(HDC hdc,COLORREF color);
__attribute__((dllimport)) COLORREF SetDCBrushColor(HDC hdc,COLORREF color);
__attribute__((dllimport)) COLORREF SetDCPenColor(HDC hdc,COLORREF color);
__attribute__((dllimport)) int SetBkMode(HDC hdc,int mode);
__attribute__((dllimport)) LONG SetBitmapBits(HBITMAP hbm,DWORD cb,const void *pvBits);
__attribute__((dllimport)) UINT SetBoundsRect(HDC hdc,const RECT *lprect,UINT flags);
__attribute__((dllimport)) int SetDIBits(HDC hdc,HBITMAP hbm,UINT start,UINT cLines,const void *lpBits,const BITMAPINFO *lpbmi,UINT ColorUse);
__attribute__((dllimport)) int SetDIBitsToDevice(HDC hdc,int xDest,int yDest,DWORD w,DWORD h,int xSrc,int ySrc,UINT StartScan,UINT cLines,const void *lpvBits,const BITMAPINFO *lpbmi,UINT ColorUse);
__attribute__((dllimport)) DWORD SetMapperFlags(HDC hdc,DWORD flags);
__attribute__((dllimport)) int SetGraphicsMode(HDC hdc,int iMode);
__attribute__((dllimport)) int SetMapMode(HDC hdc,int iMode);
__attribute__((dllimport)) DWORD SetLayout(HDC hdc,DWORD l);
__attribute__((dllimport)) DWORD GetLayout(HDC hdc);
__attribute__((dllimport)) HMETAFILE SetMetaFileBitsEx(UINT cbBuffer,const BYTE *lpData);
__attribute__((dllimport)) UINT SetPaletteEntries(HPALETTE hpal,UINT iStart,UINT cEntries,const PALETTEENTRY *pPalEntries);
__attribute__((dllimport)) COLORREF SetPixel(HDC hdc,int x,int y,COLORREF color);
__attribute__((dllimport)) WINBOOL SetPixelV(HDC hdc,int x,int y,COLORREF color);
__attribute__((dllimport)) WINBOOL SetPixelFormat(HDC hdc,int format,const PIXELFORMATDESCRIPTOR *ppfd);
__attribute__((dllimport)) int SetPolyFillMode(HDC hdc,int mode);
__attribute__((dllimport)) WINBOOL StretchBlt(HDC hdcDest,int xDest,int yDest,int wDest,int hDest,HDC hdcSrc,int xSrc,int ySrc,int wSrc,int hSrc,DWORD rop);
__attribute__((dllimport)) WINBOOL SetRectRgn(HRGN hrgn,int left,int top,int right,int bottom);
__attribute__((dllimport)) int StretchDIBits(HDC hdc,int xDest,int yDest,int DestWidth,int DestHeight,int xSrc,int ySrc,int SrcWidth,int SrcHeight,const void *lpBits,const BITMAPINFO *lpbmi,UINT iUsage,DWORD rop);
__attribute__((dllimport)) int SetROP2(HDC hdc,int rop2);
__attribute__((dllimport)) int SetStretchBltMode(HDC hdc,int mode);
__attribute__((dllimport)) UINT SetSystemPaletteUse(HDC hdc,UINT use);
__attribute__((dllimport)) int SetTextCharacterExtra(HDC hdc,int extra);
__attribute__((dllimport)) COLORREF SetTextColor(HDC hdc,COLORREF color);
__attribute__((dllimport)) UINT SetTextAlign(HDC hdc,UINT align);
__attribute__((dllimport)) WINBOOL SetTextJustification(HDC hdc,int extra,int count);
__attribute__((dllimport)) WINBOOL UpdateColors(HDC hdc);
typedef USHORT COLOR16;
typedef struct _TRIVERTEX {
LONG x;
LONG y;
COLOR16 Red;
COLOR16 Green;
COLOR16 Blue;
COLOR16 Alpha;
} TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
typedef struct _GRADIENT_TRIANGLE {
ULONG Vertex1;
ULONG Vertex2;
ULONG Vertex3;
} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
typedef struct _GRADIENT_RECT {
ULONG UpperLeft;
ULONG LowerRight;
} GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
typedef struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
BYTE SourceConstantAlpha;
BYTE AlphaFormat;
} BLENDFUNCTION,*PBLENDFUNCTION;
__attribute__((dllimport)) WINBOOL AlphaBlend(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,BLENDFUNCTION ftn);
__attribute__((dllimport)) WINBOOL GdiAlphaBlend(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,BLENDFUNCTION ftn);
__attribute__((dllimport)) WINBOOL TransparentBlt(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,UINT crTransparent);
__attribute__((dllimport)) WINBOOL GdiTransparentBlt(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,UINT crTransparent);
__attribute__((dllimport)) WINBOOL GradientFill(HDC hdc,PTRIVERTEX pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,ULONG ulMode);
__attribute__((dllimport)) WINBOOL GdiGradientFill(HDC hdc,PTRIVERTEX pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,ULONG ulMode);
__attribute__((dllimport)) WINBOOL PlayMetaFileRecord(HDC hdc,LPHANDLETABLE lpHandleTable,LPMETARECORD lpMR,UINT noObjs);
typedef int ( *MFENUMPROC)(HDC hdc,HANDLETABLE *lpht,METARECORD *lpMR,int nObj,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EnumMetaFile(HDC hdc,HMETAFILE hmf,MFENUMPROC lpProc,LPARAM lParam);
typedef int ( *ENHMFENUMPROC)(HDC hdc,HANDLETABLE *lpht,const ENHMETARECORD *lpmr,int hHandles,LPARAM data);
__attribute__((dllimport)) HENHMETAFILE CloseEnhMetaFile(HDC hdc);
__attribute__((dllimport)) HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE hEnh,LPCSTR lpFileName);
__attribute__((dllimport)) HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE hEnh,LPCWSTR lpFileName);
__attribute__((dllimport)) HDC CreateEnhMetaFileA(HDC hdc,LPCSTR lpFilename,const RECT *lprc,LPCSTR lpDesc);
__attribute__((dllimport)) HDC CreateEnhMetaFileW(HDC hdc,LPCWSTR lpFilename,const RECT *lprc,LPCWSTR lpDesc);
__attribute__((dllimport)) WINBOOL DeleteEnhMetaFile(HENHMETAFILE hmf);
__attribute__((dllimport)) WINBOOL EnumEnhMetaFile(HDC hdc,HENHMETAFILE hmf,ENHMFENUMPROC lpProc,LPVOID lpParam,const RECT *lpRect);
__attribute__((dllimport)) HENHMETAFILE GetEnhMetaFileA(LPCSTR lpName);
__attribute__((dllimport)) HENHMETAFILE GetEnhMetaFileW(LPCWSTR lpName);
__attribute__((dllimport)) UINT GetEnhMetaFileBits(HENHMETAFILE hEMF,UINT nSize,LPBYTE lpData);
__attribute__((dllimport)) UINT GetEnhMetaFileDescriptionA(HENHMETAFILE hemf,UINT cchBuffer,LPSTR lpDescription);
__attribute__((dllimport)) UINT GetEnhMetaFileDescriptionW(HENHMETAFILE hemf,UINT cchBuffer,LPWSTR lpDescription);
__attribute__((dllimport)) UINT GetEnhMetaFileHeader(HENHMETAFILE hemf,UINT nSize,LPENHMETAHEADER lpEnhMetaHeader);
__attribute__((dllimport)) UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE hemf,UINT nNumEntries,LPPALETTEENTRY lpPaletteEntries);
__attribute__((dllimport)) UINT GetEnhMetaFilePixelFormat(HENHMETAFILE hemf,UINT cbBuffer,PIXELFORMATDESCRIPTOR *ppfd);
__attribute__((dllimport)) UINT GetWinMetaFileBits(HENHMETAFILE hemf,UINT cbData16,LPBYTE pData16,INT iMapMode,HDC hdcRef);
__attribute__((dllimport)) WINBOOL PlayEnhMetaFile(HDC hdc,HENHMETAFILE hmf,const RECT *lprect);
__attribute__((dllimport)) WINBOOL PlayEnhMetaFileRecord(HDC hdc,LPHANDLETABLE pht,const ENHMETARECORD *pmr,UINT cht);
__attribute__((dllimport)) HENHMETAFILE SetEnhMetaFileBits(UINT nSize,const BYTE *pb);
__attribute__((dllimport)) HENHMETAFILE SetWinMetaFileBits(UINT nSize,const BYTE *lpMeta16Data,HDC hdcRef,const METAFILEPICT *lpMFP);
__attribute__((dllimport)) WINBOOL GdiComment(HDC hdc,UINT nSize,const BYTE *lpData);
__attribute__((dllimport)) WINBOOL GetTextMetricsA(HDC hdc,LPTEXTMETRICA lptm);
__attribute__((dllimport)) WINBOOL GetTextMetricsW(HDC hdc,LPTEXTMETRICW lptm);
typedef struct tagDIBSECTION {
BITMAP dsBm;
BITMAPINFOHEADER dsBmih;
DWORD dsBitfields[3];
HANDLE dshSection;
DWORD dsOffset;
} DIBSECTION,*LPDIBSECTION,*PDIBSECTION;
__attribute__((dllimport)) WINBOOL AngleArc(HDC hdc,int x,int y,DWORD r,FLOAT StartAngle,FLOAT SweepAngle);
__attribute__((dllimport)) WINBOOL PolyPolyline(HDC hdc,const POINT *apt,const DWORD *asz,DWORD csz);
__attribute__((dllimport)) WINBOOL GetWorldTransform(HDC hdc,LPXFORM lpxf);
__attribute__((dllimport)) WINBOOL SetWorldTransform(HDC hdc,const XFORM *lpxf);
__attribute__((dllimport)) WINBOOL ModifyWorldTransform(HDC hdc,const XFORM *lpxf,DWORD mode);
__attribute__((dllimport)) WINBOOL CombineTransform(LPXFORM lpxfOut,const XFORM *lpxf1,const XFORM *lpxf2);
__attribute__((dllimport)) HBITMAP CreateDIBSection(HDC hdc,const BITMAPINFO *lpbmi,UINT usage,void **ppvBits,HANDLE hSection,DWORD offset);
__attribute__((dllimport)) UINT GetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,RGBQUAD *prgbq);
__attribute__((dllimport)) UINT SetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,const RGBQUAD *prgbq);
typedef struct tagCOLORADJUSTMENT {
WORD caSize;
WORD caFlags;
WORD caIlluminantIndex;
WORD caRedGamma;
WORD caGreenGamma;
WORD caBlueGamma;
WORD caReferenceBlack;
WORD caReferenceWhite;
SHORT caContrast;
SHORT caBrightness;
SHORT caColorfulness;
SHORT caRedGreenTint;
} COLORADJUSTMENT,*PCOLORADJUSTMENT,*LPCOLORADJUSTMENT;
__attribute__((dllimport)) WINBOOL SetColorAdjustment(HDC hdc,const COLORADJUSTMENT *lpca);
__attribute__((dllimport)) WINBOOL GetColorAdjustment(HDC hdc,LPCOLORADJUSTMENT lpca);
__attribute__((dllimport)) HPALETTE CreateHalftonePalette(HDC hdc);
typedef WINBOOL ( *ABORTPROC)(HDC,int);
typedef struct _DOCINFOA {
int cbSize;
LPCSTR lpszDocName;
LPCSTR lpszOutput;
LPCSTR lpszDatatype;
DWORD fwType;
} DOCINFOA,*LPDOCINFOA;
typedef struct _DOCINFOW {
int cbSize;
LPCWSTR lpszDocName;
LPCWSTR lpszOutput;
LPCWSTR lpszDatatype;
DWORD fwType;
} DOCINFOW,*LPDOCINFOW;
typedef DOCINFOA DOCINFO;
typedef LPDOCINFOA LPDOCINFO;
__attribute__((dllimport)) int StartDocA(HDC hdc,const DOCINFOA *lpdi);
__attribute__((dllimport)) int StartDocW(HDC hdc,const DOCINFOW *lpdi);
__attribute__((dllimport)) int EndDoc(HDC hdc);
__attribute__((dllimport)) int StartPage(HDC hdc);
__attribute__((dllimport)) int EndPage(HDC hdc);
__attribute__((dllimport)) int AbortDoc(HDC hdc);
__attribute__((dllimport)) int SetAbortProc(HDC hdc,ABORTPROC lpProc);
__attribute__((dllimport)) WINBOOL AbortPath(HDC hdc);
__attribute__((dllimport)) WINBOOL ArcTo(HDC hdc,int left,int top,int right,int bottom,int xr1,int yr1,int xr2,int yr2);
__attribute__((dllimport)) WINBOOL BeginPath(HDC hdc);
__attribute__((dllimport)) WINBOOL CloseFigure(HDC hdc);
__attribute__((dllimport)) WINBOOL EndPath(HDC hdc);
__attribute__((dllimport)) WINBOOL FillPath(HDC hdc);
__attribute__((dllimport)) WINBOOL FlattenPath(HDC hdc);
__attribute__((dllimport)) int GetPath(HDC hdc,LPPOINT apt,LPBYTE aj,int cpt);
__attribute__((dllimport)) HRGN PathToRegion(HDC hdc);
__attribute__((dllimport)) WINBOOL PolyDraw(HDC hdc,const POINT *apt,const BYTE *aj,int cpt);
__attribute__((dllimport)) WINBOOL SelectClipPath(HDC hdc,int mode);
__attribute__((dllimport)) int SetArcDirection(HDC hdc,int dir);
__attribute__((dllimport)) WINBOOL SetMiterLimit(HDC hdc,FLOAT limit,PFLOAT old);
__attribute__((dllimport)) WINBOOL StrokeAndFillPath(HDC hdc);
__attribute__((dllimport)) WINBOOL StrokePath(HDC hdc);
__attribute__((dllimport)) WINBOOL WidenPath(HDC hdc);
__attribute__((dllimport)) HPEN ExtCreatePen(DWORD iPenStyle,DWORD cWidth,const LOGBRUSH *plbrush,DWORD cStyle,const DWORD *pstyle);
__attribute__((dllimport)) WINBOOL GetMiterLimit(HDC hdc,PFLOAT plimit);
__attribute__((dllimport)) int GetArcDirection(HDC hdc);
__attribute__((dllimport)) int GetObjectA(HANDLE h,int c,LPVOID pv);
__attribute__((dllimport)) int GetObjectW(HANDLE h,int c,LPVOID pv);
__attribute__((dllimport)) WINBOOL MoveToEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL TextOutA(HDC hdc,int x,int y,LPCSTR lpString,int c);
__attribute__((dllimport)) WINBOOL TextOutW(HDC hdc,int x,int y,LPCWSTR lpString,int c);
__attribute__((dllimport)) WINBOOL ExtTextOutA(HDC hdc,int x,int y,UINT options,const RECT *lprect,LPCSTR lpString,UINT c,const INT *lpDx);
__attribute__((dllimport)) WINBOOL ExtTextOutW(HDC hdc,int x,int y,UINT options,const RECT *lprect,LPCWSTR lpString,UINT c,const INT *lpDx);
__attribute__((dllimport)) WINBOOL PolyTextOutA(HDC hdc,const POLYTEXTA *ppt,int nstrings);
__attribute__((dllimport)) WINBOOL PolyTextOutW(HDC hdc,const POLYTEXTW *ppt,int nstrings);
__attribute__((dllimport)) HRGN CreatePolygonRgn(const POINT *pptl,int cPoint,int iMode);
__attribute__((dllimport)) WINBOOL DPtoLP(HDC hdc,LPPOINT lppt,int c);
__attribute__((dllimport)) WINBOOL LPtoDP(HDC hdc,LPPOINT lppt,int c);
__attribute__((dllimport)) WINBOOL Polygon(HDC hdc,const POINT *apt,int cpt);
__attribute__((dllimport)) WINBOOL Polyline(HDC hdc,const POINT *apt,int cpt);
__attribute__((dllimport)) WINBOOL PolyBezier(HDC hdc,const POINT *apt,DWORD cpt);
__attribute__((dllimport)) WINBOOL PolyBezierTo(HDC hdc,const POINT *apt,DWORD cpt);
__attribute__((dllimport)) WINBOOL PolylineTo(HDC hdc,const POINT *apt,DWORD cpt);
__attribute__((dllimport)) WINBOOL SetViewportExtEx(HDC hdc,int x,int y,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL SetViewportOrgEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL SetWindowExtEx(HDC hdc,int x,int y,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL SetWindowOrgEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL OffsetViewportOrgEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL OffsetWindowOrgEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL ScaleViewportExtEx(HDC hdc,int xn,int dx,int yn,int yd,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL ScaleWindowExtEx(HDC hdc,int xn,int xd,int yn,int yd,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL SetBitmapDimensionEx(HBITMAP hbm,int w,int h,LPSIZE lpsz);
__attribute__((dllimport)) WINBOOL SetBrushOrgEx(HDC hdc,int x,int y,LPPOINT lppt);
__attribute__((dllimport)) int GetTextFaceA(HDC hdc,int c,LPSTR lpName);
__attribute__((dllimport)) int GetTextFaceW(HDC hdc,int c,LPWSTR lpName);
typedef struct tagKERNINGPAIR {
WORD wFirst;
WORD wSecond;
int iKernAmount;
} KERNINGPAIR,*LPKERNINGPAIR;
__attribute__((dllimport)) DWORD GetKerningPairsA(HDC hdc,DWORD nPairs,LPKERNINGPAIR lpKernPair);
__attribute__((dllimport)) DWORD GetKerningPairsW(HDC hdc,DWORD nPairs,LPKERNINGPAIR lpKernPair);
__attribute__((dllimport)) WINBOOL GetDCOrgEx(HDC hdc,LPPOINT lppt);
__attribute__((dllimport)) WINBOOL FixBrushOrgEx(HDC hdc,int x,int y,LPPOINT ptl);
__attribute__((dllimport)) WINBOOL UnrealizeObject(HGDIOBJ h);
__attribute__((dllimport)) WINBOOL GdiFlush(void);
__attribute__((dllimport)) DWORD GdiSetBatchLimit(DWORD dw);
__attribute__((dllimport)) DWORD GdiGetBatchLimit(void);
typedef int ( *ICMENUMPROCA)(LPSTR,LPARAM);
typedef int ( *ICMENUMPROCW)(LPWSTR,LPARAM);
__attribute__((dllimport)) int SetICMMode(HDC hdc,int mode);
__attribute__((dllimport)) WINBOOL CheckColorsInGamut(HDC hdc,LPVOID lpRGBTriple,LPVOID dlpBuffer,DWORD nCount);
__attribute__((dllimport)) HCOLORSPACE GetColorSpace(HDC hdc);
__attribute__((dllimport)) WINBOOL GetLogColorSpaceA(HCOLORSPACE hColorSpace,LPLOGCOLORSPACEA lpBuffer,DWORD nSize);
__attribute__((dllimport)) WINBOOL GetLogColorSpaceW(HCOLORSPACE hColorSpace,LPLOGCOLORSPACEW lpBuffer,DWORD nSize);
__attribute__((dllimport)) HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACEA lplcs);
__attribute__((dllimport)) HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACEW lplcs);
__attribute__((dllimport)) HCOLORSPACE SetColorSpace(HDC hdc,HCOLORSPACE hcs);
__attribute__((dllimport)) WINBOOL DeleteColorSpace(HCOLORSPACE hcs);
__attribute__((dllimport)) WINBOOL GetICMProfileA(HDC hdc,LPDWORD pBufSize,LPSTR pszFilename);
__attribute__((dllimport)) WINBOOL GetICMProfileW(HDC hdc,LPDWORD pBufSize,LPWSTR pszFilename);
__attribute__((dllimport)) WINBOOL SetICMProfileA(HDC hdc,LPSTR lpFileName);
__attribute__((dllimport)) WINBOOL SetICMProfileW(HDC hdc,LPWSTR lpFileName);
__attribute__((dllimport)) WINBOOL GetDeviceGammaRamp(HDC hdc,LPVOID lpRamp);
__attribute__((dllimport)) WINBOOL SetDeviceGammaRamp(HDC hdc,LPVOID lpRamp);
__attribute__((dllimport)) WINBOOL ColorMatchToTarget(HDC hdc,HDC hdcTarget,DWORD action);
__attribute__((dllimport)) int EnumICMProfilesA(HDC hdc,ICMENUMPROCA lpProc,LPARAM lParam);
__attribute__((dllimport)) int EnumICMProfilesW(HDC hdc,ICMENUMPROCW lpProc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL UpdateICMRegKeyA(DWORD reserved,LPSTR lpszCMID,LPSTR lpszFileName,UINT command);
__attribute__((dllimport)) WINBOOL UpdateICMRegKeyW(DWORD reserved,LPWSTR lpszCMID,LPWSTR lpszFileName,UINT command);
__attribute__((dllimport)) WINBOOL ColorCorrectPalette(HDC hdc,HPALETTE hPal,DWORD deFirst,DWORD num);
typedef struct tagEMR {
DWORD iType;
DWORD nSize;
} EMR,*PEMR;
typedef struct tagEMRTEXT {
POINTL ptlReference;
DWORD nChars;
DWORD offString;
DWORD fOptions;
RECTL rcl;
DWORD offDx;
} EMRTEXT,*PEMRTEXT;
typedef struct tagABORTPATH {
EMR emr;
} EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
typedef struct tagEMRSELECTCLIPPATH {
EMR emr;
DWORD iMode;
} EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETLAYOUT,*PEMRSETLAYOUT,
EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETICMMODE,
*PEMRSETICMMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN;
typedef struct tagEMRSETMITERLIMIT {
EMR emr;
FLOAT eMiterLimit;
} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
typedef struct tagEMRRESTOREDC {
EMR emr;
LONG iRelative;
} EMRRESTOREDC,*PEMRRESTOREDC;
typedef struct tagEMRSETARCDIRECTION {
EMR emr;
DWORD iArcDirection;
} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
typedef struct tagEMRSETMAPPERFLAGS {
EMR emr;
DWORD dwFlags;
} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
typedef struct tagEMRSETTEXTCOLOR {
EMR emr;
COLORREF crColor;
} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
typedef struct tagEMRSELECTOBJECT {
EMR emr;
DWORD ihObject;
} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
typedef struct tagEMRSELECTPALETTE {
EMR emr;
DWORD ihPal;
} EMRSELECTPALETTE,*PEMRSELECTPALETTE;
typedef struct tagEMRRESIZEPALETTE {
EMR emr;
DWORD ihPal;
DWORD cEntries;
} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
typedef struct tagEMRSETPALETTEENTRIES {
EMR emr;
DWORD ihPal;
DWORD iStart;
DWORD cEntries;
PALETTEENTRY aPalEntries[1];
} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
typedef struct tagEMRSETCOLORADJUSTMENT {
EMR emr;
COLORADJUSTMENT ColorAdjustment;
} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
typedef struct tagEMRGDICOMMENT {
EMR emr;
DWORD cbData;
BYTE Data[1];
} EMRGDICOMMENT,*PEMRGDICOMMENT;
typedef struct tagEMREOF {
EMR emr;
DWORD nPalEntries;
DWORD offPalEntries;
DWORD nSizeLast;
} EMREOF,*PEMREOF;
typedef struct tagEMRLINETO {
EMR emr;
POINTL ptl;
} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
typedef struct tagEMROFFSETCLIPRGN {
EMR emr;
POINTL ptlOffset;
} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
typedef struct tagEMRFILLPATH {
EMR emr;
RECTL rclBounds;
} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
typedef struct tagEMREXCLUDECLIPRECT {
EMR emr;
RECTL rclClip;
} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
typedef struct tagEMRSETVIEWPORTORGEX {
EMR emr;
POINTL ptlOrigin;
} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
typedef struct tagEMRSETVIEWPORTEXTEX {
EMR emr;
SIZEL szlExtent;
} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
typedef struct tagEMRSCALEVIEWPORTEXTEX {
EMR emr;
LONG xNum;
LONG xDenom;
LONG yNum;
LONG yDenom;
} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
typedef struct tagEMRSETWORLDTRANSFORM {
EMR emr;
XFORM xform;
} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
typedef struct tagEMRMODIFYWORLDTRANSFORM {
EMR emr;
XFORM xform;
DWORD iMode;
} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
typedef struct tagEMRSETPIXELV {
EMR emr;
POINTL ptlPixel;
COLORREF crColor;
} EMRSETPIXELV,*PEMRSETPIXELV;
typedef struct tagEMREXTFLOODFILL {
EMR emr;
POINTL ptlStart;
COLORREF crColor;
DWORD iMode;
} EMREXTFLOODFILL,*PEMREXTFLOODFILL;
typedef struct tagEMRELLIPSE {
EMR emr;
RECTL rclBox;
} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
typedef struct tagEMRROUNDRECT {
EMR emr;
RECTL rclBox;
SIZEL szlCorner;
} EMRROUNDRECT,*PEMRROUNDRECT;
typedef struct tagEMRARC {
EMR emr;
RECTL rclBox;
POINTL ptlStart;
POINTL ptlEnd;
} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
typedef struct tagEMRANGLEARC {
EMR emr;
POINTL ptlCenter;
DWORD nRadius;
FLOAT eStartAngle;
FLOAT eSweepAngle;
} EMRANGLEARC,*PEMRANGLEARC;
typedef struct tagEMRPOLYLINE {
EMR emr;
RECTL rclBounds;
DWORD cptl;
POINTL aptl[1];
} EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
typedef struct tagEMRPOLYLINE16 {
EMR emr;
RECTL rclBounds;
DWORD cpts;
POINTS apts[1];
} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
typedef struct tagEMRPOLYDRAW {
EMR emr;
RECTL rclBounds;
DWORD cptl;
POINTL aptl[1];
BYTE abTypes[1];
} EMRPOLYDRAW,*PEMRPOLYDRAW;
typedef struct tagEMRPOLYDRAW16 {
EMR emr;
RECTL rclBounds;
DWORD cpts;
POINTS apts[1];
BYTE abTypes[1];
} EMRPOLYDRAW16,*PEMRPOLYDRAW16;
typedef struct tagEMRPOLYPOLYLINE {
EMR emr;
RECTL rclBounds;
DWORD nPolys;
DWORD cptl;
DWORD aPolyCounts[1];
POINTL aptl[1];
} EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
typedef struct tagEMRPOLYPOLYLINE16 {
EMR emr;
RECTL rclBounds;
DWORD nPolys;
DWORD cpts;
DWORD aPolyCounts[1];
POINTS apts[1];
} EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
typedef struct tagEMRINVERTRGN {
EMR emr;
RECTL rclBounds;
DWORD cbRgnData;
BYTE RgnData[1];
} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
typedef struct tagEMRFILLRGN {
EMR emr;
RECTL rclBounds;
DWORD cbRgnData;
DWORD ihBrush;
BYTE RgnData[1];
} EMRFILLRGN,*PEMRFILLRGN;
typedef struct tagEMRFRAMERGN {
EMR emr;
RECTL rclBounds;
DWORD cbRgnData;
DWORD ihBrush;
SIZEL szlStroke;
BYTE RgnData[1];
} EMRFRAMERGN,*PEMRFRAMERGN;
typedef struct tagEMREXTSELECTCLIPRGN {
EMR emr;
DWORD cbRgnData;
DWORD iMode;
BYTE RgnData[1];
} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
typedef struct tagEMREXTTEXTOUTA {
EMR emr;
RECTL rclBounds;
DWORD iGraphicsMode;
FLOAT exScale;
FLOAT eyScale;
EMRTEXT emrtext;
} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
typedef struct tagEMRPOLYTEXTOUTA {
EMR emr;
RECTL rclBounds;
DWORD iGraphicsMode;
FLOAT exScale;
FLOAT eyScale;
LONG cStrings;
EMRTEXT aemrtext[1];
} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
typedef struct tagEMRBITBLT {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG cxDest;
LONG cyDest;
DWORD dwRop;
LONG xSrc;
LONG ySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
} EMRBITBLT,*PEMRBITBLT;
typedef struct tagEMRSTRETCHBLT {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG cxDest;
LONG cyDest;
DWORD dwRop;
LONG xSrc;
LONG ySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
LONG cxSrc;
LONG cySrc;
} EMRSTRETCHBLT,*PEMRSTRETCHBLT;
typedef struct tagEMRMASKBLT {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG cxDest;
LONG cyDest;
DWORD dwRop;
LONG xSrc;
LONG ySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
LONG xMask;
LONG yMask;
DWORD iUsageMask;
DWORD offBmiMask;
DWORD cbBmiMask;
DWORD offBitsMask;
DWORD cbBitsMask;
} EMRMASKBLT,*PEMRMASKBLT;
typedef struct tagEMRPLGBLT {
EMR emr;
RECTL rclBounds;
POINTL aptlDest[3];
LONG xSrc;
LONG ySrc;
LONG cxSrc;
LONG cySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
LONG xMask;
LONG yMask;
DWORD iUsageMask;
DWORD offBmiMask;
DWORD cbBmiMask;
DWORD offBitsMask;
DWORD cbBitsMask;
} EMRPLGBLT,*PEMRPLGBLT;
typedef struct tagEMRSETDIBITSTODEVICE {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG xSrc;
LONG ySrc;
LONG cxSrc;
LONG cySrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
DWORD iUsageSrc;
DWORD iStartScan;
DWORD cScans;
} EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
typedef struct tagEMRSTRETCHDIBITS {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG xSrc;
LONG ySrc;
LONG cxSrc;
LONG cySrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
DWORD iUsageSrc;
DWORD dwRop;
LONG cxDest;
LONG cyDest;
} EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
typedef struct tagEMREXTCREATEFONTINDIRECTW {
EMR emr;
DWORD ihFont;
EXTLOGFONTW elfw;
} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
typedef struct tagEMRCREATEPALETTE {
EMR emr;
DWORD ihPal;
LOGPALETTE lgpl;
} EMRCREATEPALETTE,*PEMRCREATEPALETTE;
typedef struct tagEMRCREATEPEN {
EMR emr;
DWORD ihPen;
LOGPEN lopn;
} EMRCREATEPEN,*PEMRCREATEPEN;
typedef struct tagEMREXTCREATEPEN {
EMR emr;
DWORD ihPen;
DWORD offBmi;
DWORD cbBmi;
DWORD offBits;
DWORD cbBits;
EXTLOGPEN elp;
} EMREXTCREATEPEN,*PEMREXTCREATEPEN;
typedef struct tagEMRCREATEBRUSHINDIRECT {
EMR emr;
DWORD ihBrush;
LOGBRUSH32 lb;
} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
typedef struct tagEMRCREATEMONOBRUSH {
EMR emr;
DWORD ihBrush;
DWORD iUsage;
DWORD offBmi;
DWORD cbBmi;
DWORD offBits;
DWORD cbBits;
} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
EMR emr;
DWORD ihBrush;
DWORD iUsage;
DWORD offBmi;
DWORD cbBmi;
DWORD offBits;
DWORD cbBits;
} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
typedef struct tagEMRFORMAT {
DWORD dSignature;
DWORD nVersion;
DWORD cbData;
DWORD offData;
} EMRFORMAT,*PEMRFORMAT;
typedef struct tagEMRGLSRECORD {
EMR emr;
DWORD cbData;
BYTE Data[1];
} EMRGLSRECORD,*PEMRGLSRECORD;
typedef struct tagEMRGLSBOUNDEDRECORD {
EMR emr;
RECTL rclBounds;
DWORD cbData;
BYTE Data[1];
} EMRGLSBOUNDEDRECORD,*PEMRGLSBOUNDEDRECORD;
typedef struct tagEMRPIXELFORMAT {
EMR emr;
PIXELFORMATDESCRIPTOR pfd;
} EMRPIXELFORMAT,*PEMRPIXELFORMAT;
typedef struct tagEMRCREATECOLORSPACE {
EMR emr;
DWORD ihCS;
LOGCOLORSPACEA lcs;
} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
typedef struct tagEMRSETCOLORSPACE {
EMR emr;
DWORD ihCS;
} EMRSETCOLORSPACE,*PEMRSETCOLORSPACE,EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
typedef struct tagEMREXTESCAPE {
EMR emr;
INT iEscape;
INT cbEscData;
BYTE EscData[1];
} EMREXTESCAPE,*PEMREXTESCAPE,EMRDRAWESCAPE,*PEMRDRAWESCAPE;
typedef struct tagEMRNAMEDESCAPE {
EMR emr;
INT iEscape;
INT cbDriver;
INT cbEscData;
BYTE EscData[1];
} EMRNAMEDESCAPE,*PEMRNAMEDESCAPE;
typedef struct tagEMRSETICMPROFILE {
EMR emr;
DWORD dwFlags;
DWORD cbName;
DWORD cbData;
BYTE Data[1];
} EMRSETICMPROFILE,*PEMRSETICMPROFILE,EMRSETICMPROFILEA,*PEMRSETICMPROFILEA,EMRSETICMPROFILEW,*PEMRSETICMPROFILEW;
typedef struct tagEMRCREATECOLORSPACEW {
EMR emr;
DWORD ihCS;
LOGCOLORSPACEW lcs;
DWORD dwFlags;
DWORD cbData;
BYTE Data[1];
} EMRCREATECOLORSPACEW,*PEMRCREATECOLORSPACEW;
typedef struct tagCOLORMATCHTOTARGET {
EMR emr;
DWORD dwAction;
DWORD dwFlags;
DWORD cbName;
DWORD cbData;
BYTE Data[1];
} EMRCOLORMATCHTOTARGET,*PEMRCOLORMATCHTOTARGET;
typedef struct tagCOLORCORRECTPALETTE {
EMR emr;
DWORD ihPalette;
DWORD nFirstEntry;
DWORD nPalEntries;
DWORD nReserved;
} EMRCOLORCORRECTPALETTE,*PEMRCOLORCORRECTPALETTE;
typedef struct tagEMRALPHABLEND {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG cxDest;
LONG cyDest;
DWORD dwRop;
LONG xSrc;
LONG ySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
LONG cxSrc;
LONG cySrc;
} EMRALPHABLEND,*PEMRALPHABLEND;
typedef struct tagEMRGRADIENTFILL {
EMR emr;
RECTL rclBounds;
DWORD nVer;
DWORD nTri;
ULONG ulMode;
TRIVERTEX Ver[1];
} EMRGRADIENTFILL,*PEMRGRADIENTFILL;
typedef struct tagEMRTRANSPARENTBLT {
EMR emr;
RECTL rclBounds;
LONG xDest;
LONG yDest;
LONG cxDest;
LONG cyDest;
DWORD dwRop;
LONG xSrc;
LONG ySrc;
XFORM xformSrc;
COLORREF crBkColorSrc;
DWORD iUsageSrc;
DWORD offBmiSrc;
DWORD cbBmiSrc;
DWORD offBitsSrc;
DWORD cbBitsSrc;
LONG cxSrc;
LONG cySrc;
} EMRTRANSPARENTBLT,*PEMRTRANSPARENTBLT;
__attribute__((dllimport)) WINBOOL wglCopyContext(HGLRC,HGLRC,UINT);
__attribute__((dllimport)) HGLRC wglCreateContext(HDC);
__attribute__((dllimport)) HGLRC wglCreateLayerContext(HDC,int);
__attribute__((dllimport)) WINBOOL wglDeleteContext(HGLRC);
__attribute__((dllimport)) HGLRC wglGetCurrentContext(void);
__attribute__((dllimport)) HDC wglGetCurrentDC(void);
__attribute__((dllimport)) PROC wglGetProcAddress(LPCSTR);
__attribute__((dllimport)) WINBOOL wglMakeCurrent(HDC,HGLRC);
__attribute__((dllimport)) WINBOOL wglShareLists(HGLRC,HGLRC);
__attribute__((dllimport)) WINBOOL wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
__attribute__((dllimport)) WINBOOL wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
__attribute__((dllimport)) WINBOOL SwapBuffers(HDC);
typedef struct _POINTFLOAT {
FLOAT x;
FLOAT y;
} POINTFLOAT,*PPOINTFLOAT;
typedef struct _GLYPHMETRICSFLOAT {
FLOAT gmfBlackBoxX;
FLOAT gmfBlackBoxY;
POINTFLOAT gmfptGlyphOrigin;
FLOAT gmfCellIncX;
FLOAT gmfCellIncY;
} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
__attribute__((dllimport)) WINBOOL wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
__attribute__((dllimport)) WINBOOL wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
typedef struct tagLAYERPLANEDESCRIPTOR {
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerPlane;
BYTE bReserved;
COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
__attribute__((dllimport)) WINBOOL wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
__attribute__((dllimport)) int wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF *);
__attribute__((dllimport)) int wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF *);
__attribute__((dllimport)) WINBOOL wglRealizeLayerPalette(HDC,int,WINBOOL);
__attribute__((dllimport)) WINBOOL wglSwapLayerBuffers(HDC,UINT);
typedef struct _WGLSWAP {
HDC hdc;
UINT uiFlags;
} WGLSWAP,*PWGLSWAP,*LPWGLSWAP;
__attribute__((dllimport)) DWORD wglSwapMultipleBuffers(UINT,const WGLSWAP *);
typedef HANDLE HDWP;
typedef void MENUTEMPLATEA;
typedef void MENUTEMPLATEW;
typedef PVOID LPMENUTEMPLATEA;
typedef PVOID LPMENUTEMPLATEW;
typedef MENUTEMPLATEA MENUTEMPLATE;
typedef LPMENUTEMPLATEA LPMENUTEMPLATE;
typedef LRESULT ( *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
typedef INT_PTR ( *DLGPROC) (HWND, UINT, WPARAM, LPARAM);
typedef void ( *TIMERPROC) (HWND, UINT, UINT_PTR, DWORD);
typedef WINBOOL ( *GRAYSTRINGPROC) (HDC, LPARAM, int);
typedef WINBOOL ( *WNDENUMPROC) (HWND, LPARAM);
typedef LRESULT ( *HOOKPROC) (int code, WPARAM wParam, LPARAM lParam);
typedef void ( *SENDASYNCPROC) (HWND, UINT, ULONG_PTR, LRESULT);
typedef WINBOOL ( *PROPENUMPROCA) (HWND, LPCSTR, HANDLE);
typedef WINBOOL ( *PROPENUMPROCW) (HWND, LPCWSTR, HANDLE);
typedef WINBOOL ( *PROPENUMPROCEXA) (HWND, LPSTR, HANDLE, ULONG_PTR);
typedef WINBOOL ( *PROPENUMPROCEXW) (HWND, LPWSTR, HANDLE, ULONG_PTR);
typedef int ( *EDITWORDBREAKPROCA) (LPSTR lpch, int ichCurrent, int cch, int code);
typedef int ( *EDITWORDBREAKPROCW) (LPWSTR lpch, int ichCurrent, int cch, int code);
typedef WINBOOL ( *DRAWSTATEPROC) (HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy);
typedef PROPENUMPROCA PROPENUMPROC;
typedef PROPENUMPROCEXA PROPENUMPROCEX;
typedef EDITWORDBREAKPROCA EDITWORDBREAKPROC;
typedef WINBOOL ( *NAMEENUMPROCA) (LPSTR, LPARAM);
typedef WINBOOL ( *NAMEENUMPROCW) (LPWSTR, LPARAM);
typedef NAMEENUMPROCA WINSTAENUMPROCA;
typedef NAMEENUMPROCW WINSTAENUMPROCW;
typedef NAMEENUMPROCA DESKTOPENUMPROCA;
typedef NAMEENUMPROCW DESKTOPENUMPROCW;
typedef WINSTAENUMPROCA WINSTAENUMPROC;
typedef DESKTOPENUMPROCA DESKTOPENUMPROC;
__attribute__((dllimport)) int wvsprintfA(LPSTR,LPCSTR,va_list arglist);
__attribute__((dllimport)) int wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
__attribute__((dllimport)) int __attribute__((__cdecl__)) wsprintfA(LPSTR,LPCSTR,...);
__attribute__((dllimport)) int __attribute__((__cdecl__)) wsprintfW(LPWSTR,LPCWSTR,...);
typedef struct tagCBT_CREATEWNDA {
struct tagCREATESTRUCTA *lpcs;
HWND hwndInsertAfter;
} CBT_CREATEWNDA,*LPCBT_CREATEWNDA;
typedef struct tagCBT_CREATEWNDW {
struct tagCREATESTRUCTW *lpcs;
HWND hwndInsertAfter;
} CBT_CREATEWNDW,*LPCBT_CREATEWNDW;
typedef CBT_CREATEWNDA CBT_CREATEWND;
typedef LPCBT_CREATEWNDA LPCBT_CREATEWND;
typedef struct tagCBTACTIVATESTRUCT {
WINBOOL fMouse;
HWND hWndActive;
} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
typedef struct tagWTSSESSION_NOTIFICATION {
DWORD cbSize;
DWORD dwSessionId;
} WTSSESSION_NOTIFICATION,*PWTSSESSION_NOTIFICATION;
typedef struct {
HWND hwnd;
RECT rc;
} SHELLHOOKINFO,*LPSHELLHOOKINFO;
typedef struct tagEVENTMSG {
UINT message;
UINT paramL;
UINT paramH;
DWORD time;
HWND hwnd;
} EVENTMSG,*PEVENTMSGMSG,*NPEVENTMSGMSG,*LPEVENTMSGMSG;
typedef struct tagEVENTMSG *PEVENTMSG,*NPEVENTMSG,*LPEVENTMSG;
typedef struct tagCWPSTRUCT {
LPARAM lParam;
WPARAM wParam;
UINT message;
HWND hwnd;
} CWPSTRUCT,*PCWPSTRUCT,*NPCWPSTRUCT,*LPCWPSTRUCT;
typedef struct tagCWPRETSTRUCT {
LRESULT lResult;
LPARAM lParam;
WPARAM wParam;
UINT message;
HWND hwnd;
} CWPRETSTRUCT,*PCWPRETSTRUCT,*NPCWPRETSTRUCT,*LPCWPRETSTRUCT;
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
typedef struct tagMSLLHOOKSTRUCT {
POINT pt;
DWORD mouseData;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MSLLHOOKSTRUCT,*LPMSLLHOOKSTRUCT,*PMSLLHOOKSTRUCT;
typedef struct tagDEBUGHOOKINFO {
DWORD idThread;
DWORD idThreadInstaller;
LPARAM lParam;
WPARAM wParam;
int code;
} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*NPDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
typedef struct tagMOUSEHOOKSTRUCT {
POINT pt;
HWND hwnd;
UINT wHitTestCode;
ULONG_PTR dwExtraInfo;
} MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
typedef struct tagMOUSEHOOKSTRUCTEX {
MOUSEHOOKSTRUCT __unnamed;
DWORD mouseData;
} MOUSEHOOKSTRUCTEX,*LPMOUSEHOOKSTRUCTEX,*PMOUSEHOOKSTRUCTEX;
typedef struct tagHARDWAREHOOKSTRUCT {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
} HARDWAREHOOKSTRUCT,*LPHARDWAREHOOKSTRUCT,*PHARDWAREHOOKSTRUCT;
__attribute__((dllimport)) HKL LoadKeyboardLayoutA(LPCSTR pwszKLID,UINT Flags);
__attribute__((dllimport)) HKL LoadKeyboardLayoutW(LPCWSTR pwszKLID,UINT Flags);
__attribute__((dllimport)) HKL ActivateKeyboardLayout(HKL hkl,UINT Flags);
__attribute__((dllimport)) int ToUnicodeEx(UINT wVirtKey,UINT wScanCode,const BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags,HKL dwhkl);
__attribute__((dllimport)) WINBOOL UnloadKeyboardLayout(HKL hkl);
__attribute__((dllimport)) WINBOOL GetKeyboardLayoutNameA(LPSTR pwszKLID);
__attribute__((dllimport)) WINBOOL GetKeyboardLayoutNameW(LPWSTR pwszKLID);
__attribute__((dllimport)) int GetKeyboardLayoutList(int nBuff,HKL *lpList);
__attribute__((dllimport)) HKL GetKeyboardLayout(DWORD idThread);
typedef struct tagMOUSEMOVEPOINT {
int x;
int y;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
__attribute__((dllimport)) int GetMouseMovePointsEx(UINT cbSize,LPMOUSEMOVEPOINT lppt,LPMOUSEMOVEPOINT lpptBuf,int nBufPoints,DWORD resolution);
__attribute__((dllimport)) HDESK CreateDesktopA(LPCSTR lpszDesktop,LPCSTR lpszDevice,LPDEVMODEA pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
__attribute__((dllimport)) HDESK CreateDesktopW(LPCWSTR lpszDesktop,LPCWSTR lpszDevice,LPDEVMODEW pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
__attribute__((dllimport)) HDESK CreateDesktopExA (LPCSTR lpszDesktop, LPCSTR lpszDevice, DEVMODEA *pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid);
__attribute__((dllimport)) HDESK CreateDesktopExW (LPCWSTR lpszDesktop, LPCWSTR lpszDevice, DEVMODEW *pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid);
__attribute__((dllimport)) HDESK OpenDesktopA(LPCSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
__attribute__((dllimport)) HDESK OpenDesktopW(LPCWSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
__attribute__((dllimport)) HDESK OpenInputDesktop(DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
__attribute__((dllimport)) WINBOOL EnumDesktopsA(HWINSTA hwinsta,DESKTOPENUMPROCA lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EnumDesktopsW(HWINSTA hwinsta,DESKTOPENUMPROCW lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EnumDesktopWindows(HDESK hDesktop,WNDENUMPROC lpfn,LPARAM lParam);
__attribute__((dllimport)) WINBOOL SwitchDesktop(HDESK hDesktop);
__attribute__((dllimport)) WINBOOL SetThreadDesktop(HDESK hDesktop);
__attribute__((dllimport)) WINBOOL CloseDesktop(HDESK hDesktop);
__attribute__((dllimport)) HDESK GetThreadDesktop(DWORD dwThreadId);
__attribute__((dllimport)) HWINSTA CreateWindowStationA(LPCSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
__attribute__((dllimport)) HWINSTA CreateWindowStationW(LPCWSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa);
__attribute__((dllimport)) HWINSTA OpenWindowStationA(LPCSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
__attribute__((dllimport)) HWINSTA OpenWindowStationW(LPCWSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess);
__attribute__((dllimport)) WINBOOL EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL CloseWindowStation(HWINSTA hWinSta);
__attribute__((dllimport)) WINBOOL SetProcessWindowStation(HWINSTA hWinSta);
__attribute__((dllimport)) HWINSTA GetProcessWindowStation(void);
__attribute__((dllimport)) WINBOOL SetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID);
__attribute__((dllimport)) WINBOOL GetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID,DWORD nLength,LPDWORD lpnLengthNeeded);
typedef struct tagUSEROBJECTFLAGS {
WINBOOL fInherit;
WINBOOL fReserved;
DWORD dwFlags;
} USEROBJECTFLAGS,*PUSEROBJECTFLAGS;
__attribute__((dllimport)) WINBOOL GetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded);
__attribute__((dllimport)) WINBOOL GetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded);
__attribute__((dllimport)) WINBOOL SetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength);
__attribute__((dllimport)) WINBOOL SetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength);
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA,*PWNDCLASSEXA,*NPWNDCLASSEXA,*LPWNDCLASSEXA;
typedef struct tagWNDCLASSEXW {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXW,*PWNDCLASSEXW,*NPWNDCLASSEXW,*LPWNDCLASSEXW;
typedef WNDCLASSEXA WNDCLASSEX;
typedef PWNDCLASSEXA PWNDCLASSEX;
typedef NPWNDCLASSEXA NPWNDCLASSEX;
typedef LPWNDCLASSEXA LPWNDCLASSEX;
typedef struct tagWNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
} WNDCLASSA,*PWNDCLASSA,*NPWNDCLASSA,*LPWNDCLASSA;
typedef struct tagWNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
} WNDCLASSW,*PWNDCLASSW,*NPWNDCLASSW,*LPWNDCLASSW;
typedef WNDCLASSA WNDCLASS;
typedef PWNDCLASSA PWNDCLASS;
typedef NPWNDCLASSA NPWNDCLASS;
typedef LPWNDCLASSA LPWNDCLASS;
__attribute__((dllimport)) WINBOOL IsHungAppWindow(HWND hwnd);
__attribute__((dllimport)) void DisableProcessWindowsGhosting(void);
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG,*PMSG,*NPMSG,*LPMSG;
typedef struct tagMINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
typedef struct tagCOPYDATASTRUCT {
ULONG_PTR dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT,*PCOPYDATASTRUCT;
typedef struct tagMDINEXTMENU {
HMENU hmenuIn;
HMENU hmenuNext;
HWND hwndNext;
} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
typedef struct {
GUID PowerSetting;
DWORD DataLength;
UCHAR Data[1];
} POWERBROADCAST_SETTING,*PPOWERBROADCAST_SETTING;
__attribute__((dllimport)) UINT RegisterWindowMessageA(LPCSTR lpString);
__attribute__((dllimport)) UINT RegisterWindowMessageW(LPCWSTR lpString);
typedef struct tagWINDOWPOS {
HWND hwnd;
HWND hwndInsertAfter;
int x;
int y;
int cx;
int cy;
UINT flags;
} WINDOWPOS,*LPWINDOWPOS,*PWINDOWPOS;
typedef struct tagNCCALCSIZE_PARAMS {
RECT rgrc[3];
PWINDOWPOS lppos;
} NCCALCSIZE_PARAMS,*LPNCCALCSIZE_PARAMS;
typedef struct tagTRACKMOUSEEVENT {
DWORD cbSize;
DWORD dwFlags;
HWND hwndTrack;
DWORD dwHoverTime;
} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
__attribute__((dllimport)) WINBOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack);
__attribute__((dllimport)) WINBOOL DrawEdge(HDC hdc,LPRECT qrc,UINT edge,UINT grfFlags);
__attribute__((dllimport)) WINBOOL DrawFrameControl(HDC,LPRECT,UINT,UINT);
__attribute__((dllimport)) WINBOOL DrawCaption(HWND hwnd,HDC hdc,const RECT *lprect,UINT flags);
__attribute__((dllimport)) WINBOOL DrawAnimatedRects(HWND hwnd,int idAni,const RECT *lprcFrom,const RECT *lprcTo);
typedef struct tagACCEL {
BYTE fVirt;
WORD key;
WORD cmd;
} ACCEL,*LPACCEL;
typedef struct tagPAINTSTRUCT {
HDC hdc;
WINBOOL fErase;
RECT rcPaint;
WINBOOL fRestore;
WINBOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT,*PPAINTSTRUCT,*NPPAINTSTRUCT,*LPPAINTSTRUCT;
typedef struct tagCREATESTRUCTA {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCSTR lpszName;
LPCSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCTA,*LPCREATESTRUCTA;
typedef struct tagCREATESTRUCTW {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCWSTR lpszName;
LPCWSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCTW,*LPCREATESTRUCTW;
typedef CREATESTRUCTA CREATESTRUCT;
typedef LPCREATESTRUCTA LPCREATESTRUCT;
typedef struct tagWINDOWPLACEMENT {
UINT length;
UINT flags;
UINT showCmd;
POINT ptMinPosition;
POINT ptMaxPosition;
RECT rcNormalPosition;
} WINDOWPLACEMENT;
typedef WINDOWPLACEMENT *PWINDOWPLACEMENT,*LPWINDOWPLACEMENT;
typedef struct tagNMHDR {
HWND hwndFrom;
UINT_PTR idFrom;
UINT code;
} NMHDR;
typedef NMHDR *LPNMHDR;
typedef struct tagSTYLESTRUCT {
DWORD styleOld;
DWORD styleNew;
} STYLESTRUCT,*LPSTYLESTRUCT;
typedef struct tagMEASUREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemWidth;
UINT itemHeight;
ULONG_PTR itemData;
} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
} DRAWITEMSTRUCT,*PDRAWITEMSTRUCT,*LPDRAWITEMSTRUCT;
typedef struct tagDELETEITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
HWND hwndItem;
ULONG_PTR itemData;
} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
typedef struct tagCOMPAREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
HWND hwndItem;
UINT itemID1;
ULONG_PTR itemData1;
UINT itemID2;
ULONG_PTR itemData2;
DWORD dwLocaleId;
} COMPAREITEMSTRUCT,*PCOMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
__attribute__((dllimport)) WINBOOL GetMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax);
__attribute__((dllimport)) WINBOOL GetMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax);
__attribute__((dllimport)) WINBOOL TranslateMessage(const MSG *lpMsg);
__attribute__((dllimport)) LRESULT DispatchMessageA(const MSG *lpMsg);
__attribute__((dllimport)) LRESULT DispatchMessageW(const MSG *lpMsg);
__attribute__((dllimport)) WINBOOL SetMessageQueue(int cMessagesMax);
__attribute__((dllimport)) WINBOOL PeekMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg);
__attribute__((dllimport)) WINBOOL PeekMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg);
__attribute__((dllimport)) WINBOOL RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk);
__attribute__((dllimport)) WINBOOL UnregisterHotKey(HWND hWnd,int id);
__attribute__((dllimport)) WINBOOL ExitWindowsEx(UINT uFlags,DWORD dwReason);
__attribute__((dllimport)) WINBOOL SwapMouseButton(WINBOOL fSwap);
__attribute__((dllimport)) DWORD GetMessagePos(void);
__attribute__((dllimport)) LONG GetMessageTime(void);
__attribute__((dllimport)) LPARAM GetMessageExtraInfo(void);
__attribute__((dllimport)) WINBOOL IsWow64Message(void);
__attribute__((dllimport)) LPARAM SetMessageExtraInfo(LPARAM lParam);
__attribute__((dllimport)) LRESULT SendMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT SendMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT SendMessageTimeoutA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult);
__attribute__((dllimport)) LRESULT SendMessageTimeoutW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult);
__attribute__((dllimport)) WINBOOL SendNotifyMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) WINBOOL SendNotifyMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) WINBOOL SendMessageCallbackA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData);
__attribute__((dllimport)) WINBOOL SendMessageCallbackW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData);
typedef struct {
UINT cbSize;
HDESK hdesk;
HWND hwnd;
LUID luid;
} BSMINFO,*PBSMINFO;
__attribute__((dllimport)) long BroadcastSystemMessageExA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo);
__attribute__((dllimport)) long BroadcastSystemMessageExW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo);
__attribute__((dllimport)) long BroadcastSystemMessageA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) long BroadcastSystemMessageW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam);
typedef PVOID HDEVNOTIFY;
typedef HDEVNOTIFY *PHDEVNOTIFY;
typedef HANDLE HPOWERNOTIFY;
typedef HPOWERNOTIFY *PHPOWERNOTIFY;
__attribute__((dllimport)) HPOWERNOTIFY RegisterPowerSettingNotification (HANDLE hRecipient, LPCGUID PowerSettingGuid, DWORD Flags);
__attribute__((dllimport)) WINBOOL UnregisterPowerSettingNotification (HPOWERNOTIFY Handle);
__attribute__((dllimport)) HPOWERNOTIFY RegisterSuspendResumeNotification (HANDLE hRecipient, DWORD Flags);
__attribute__((dllimport)) WINBOOL UnregisterSuspendResumeNotification (HPOWERNOTIFY Handle);
__attribute__((dllimport)) WINBOOL PostMessageA (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) WINBOOL PostMessageW (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) WINBOOL PostThreadMessageA (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) WINBOOL PostThreadMessageW (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) WINBOOL AttachThreadInput (DWORD idAttach, DWORD idAttachTo, WINBOOL fAttach);
__attribute__((dllimport)) WINBOOL ReplyMessage (LRESULT lResult);
__attribute__((dllimport)) WINBOOL WaitMessage (void);
__attribute__((dllimport)) DWORD WaitForInputIdle (HANDLE hProcess, DWORD dwMilliseconds);
__attribute__((dllimport)) LRESULT DefWindowProcA (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) LRESULT DefWindowProcW (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) void PostQuitMessage (int nExitCode);
__attribute__((dllimport)) WINBOOL InSendMessage (void);
__attribute__((dllimport)) DWORD InSendMessageEx (LPVOID lpReserved);
__attribute__((dllimport)) UINT GetDoubleClickTime (void);
__attribute__((dllimport)) WINBOOL SetDoubleClickTime (UINT);
__attribute__((dllimport)) ATOM RegisterClassA (const WNDCLASSA *lpWndClass);
__attribute__((dllimport)) ATOM RegisterClassW (const WNDCLASSW *lpWndClass);
__attribute__((dllimport)) WINBOOL UnregisterClassA (LPCSTR lpClassName, HINSTANCE hInstance);
__attribute__((dllimport)) WINBOOL UnregisterClassW (LPCWSTR lpClassName, HINSTANCE hInstance);
__attribute__((dllimport)) WINBOOL GetClassInfoA (HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass);
__attribute__((dllimport)) WINBOOL GetClassInfoW (HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass);
__attribute__((dllimport)) ATOM RegisterClassExA (const WNDCLASSEXA *);
__attribute__((dllimport)) ATOM RegisterClassExW (const WNDCLASSEXW *);
__attribute__((dllimport)) WINBOOL GetClassInfoExA (HINSTANCE hInstance, LPCSTR lpszClass, LPWNDCLASSEXA lpwcx);
__attribute__((dllimport)) WINBOOL GetClassInfoExW (HINSTANCE hInstance, LPCWSTR lpszClass, LPWNDCLASSEXW lpwcx);
__attribute__((dllimport)) LRESULT CallWindowProcA (WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) LRESULT CallWindowProcW (WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
extern const GUID GUID_POWERSCHEME_PERSONALITY;
extern const GUID GUID_MIN_POWER_SAVINGS;
extern const GUID GUID_MAX_POWER_SAVINGS;
extern const GUID GUID_TYPICAL_POWER_SAVINGS;
extern const GUID GUID_ACDC_POWER_SOURCE;
extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING;
extern const GUID GUID_IDLE_BACKGROUND_TASK;
extern const GUID GUID_SYSTEM_AWAYMODE;
extern const GUID GUID_MONITOR_POWER_ON;
__attribute__((dllimport)) HDEVNOTIFY RegisterDeviceNotificationA(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
__attribute__((dllimport)) HDEVNOTIFY RegisterDeviceNotificationW(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags);
__attribute__((dllimport)) WINBOOL UnregisterDeviceNotification(HDEVNOTIFY Handle);
typedef BOOLEAN ( *PREGISTERCLASSNAMEW)(LPCWSTR);
__attribute__((dllimport)) HWND CreateWindowExA(DWORD dwExStyle,LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam);
__attribute__((dllimport)) HWND CreateWindowExW(DWORD dwExStyle,LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam);
__attribute__((dllimport)) WINBOOL IsWindow(HWND hWnd);
__attribute__((dllimport)) WINBOOL IsMenu(HMENU hMenu);
__attribute__((dllimport)) WINBOOL IsChild(HWND hWndParent,HWND hWnd);
__attribute__((dllimport)) WINBOOL DestroyWindow(HWND hWnd);
__attribute__((dllimport)) WINBOOL ShowWindow(HWND hWnd,int nCmdShow);
__attribute__((dllimport)) WINBOOL AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL UpdateLayeredWindow (HWND hWnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags);
typedef struct tagUPDATELAYEREDWINDOWINFO {
DWORD cbSize;
HDC hdcDst;
const POINT *pptDst;
const SIZE *psize;
HDC hdcSrc;
const POINT *pptSrc;
COLORREF crKey;
const BLENDFUNCTION *pblend;
DWORD dwFlags;
const RECT *prcDirty;
} UPDATELAYEREDWINDOWINFO,*PUPDATELAYEREDWINDOWINFO;
__attribute__((dllimport)) WINBOOL UpdateLayeredWindowIndirect (HWND hWnd, const UPDATELAYEREDWINDOWINFO *pULWInfo);
__attribute__((dllimport)) WINBOOL GetLayeredWindowAttributes (HWND hwnd, COLORREF *pcrKey, BYTE *pbAlpha, DWORD *pdwFlags);
__attribute__((dllimport)) WINBOOL PrintWindow (HWND hwnd, HDC hdcBlt, UINT nFlags);
__attribute__((dllimport)) WINBOOL SetLayeredWindowAttributes (HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags);
typedef struct {
UINT cbSize;
HWND hwnd;
DWORD dwFlags;
UINT uCount;
DWORD dwTimeout;
} FLASHWINFO,*PFLASHWINFO;
__attribute__((dllimport)) WINBOOL ShowWindowAsync (HWND hWnd, int nCmdShow);
__attribute__((dllimport)) WINBOOL FlashWindow (HWND hWnd, WINBOOL bInvert);
__attribute__((dllimport)) WINBOOL FlashWindowEx (PFLASHWINFO pfwi);
__attribute__((dllimport)) WINBOOL ShowOwnedPopups (HWND hWnd, WINBOOL fShow);
__attribute__((dllimport)) WINBOOL OpenIcon (HWND hWnd);
__attribute__((dllimport)) WINBOOL CloseWindow (HWND hWnd);
__attribute__((dllimport)) WINBOOL MoveWindow (HWND hWnd, int X, int Y, int nWidth, int nHeight, WINBOOL bRepaint);
__attribute__((dllimport)) WINBOOL SetWindowPos (HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags);
__attribute__((dllimport)) WINBOOL GetWindowPlacement (HWND hWnd, WINDOWPLACEMENT *lpwndpl);
__attribute__((dllimport)) WINBOOL SetWindowPlacement (HWND hWnd, const WINDOWPLACEMENT *lpwndpl);
__attribute__((dllimport)) HDWP BeginDeferWindowPos (int nNumWindows);
__attribute__((dllimport)) HDWP DeferWindowPos (HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags);
__attribute__((dllimport)) WINBOOL EndDeferWindowPos (HDWP hWinPosInfo);
__attribute__((dllimport)) WINBOOL IsWindowVisible (HWND hWnd);
__attribute__((dllimport)) WINBOOL IsIconic (HWND hWnd);
__attribute__((dllimport)) WINBOOL AnyPopup (void);
__attribute__((dllimport)) WINBOOL BringWindowToTop (HWND hWnd);
__attribute__((dllimport)) WINBOOL IsZoomed (HWND hWnd);
#pragma pack(push,2)
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
WORD cdit;
short x;
short y;
short cx;
short cy;
} DLGTEMPLATE;
typedef DLGTEMPLATE *LPDLGTEMPLATEA;
typedef DLGTEMPLATE *LPDLGTEMPLATEW;
typedef LPDLGTEMPLATEA LPDLGTEMPLATE;
typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
typedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
short x;
short y;
short cx;
short cy;
WORD id;
} DLGITEMTEMPLATE;
typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
typedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE;
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
typedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE;
#pragma pack(pop)
__attribute__((dllimport)) HWND CreateDialogParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) HWND CreateDialogParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) HWND CreateDialogIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) HWND CreateDialogIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) INT_PTR DialogBoxParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) INT_PTR DialogBoxParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) INT_PTR DialogBoxIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) INT_PTR DialogBoxIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam);
__attribute__((dllimport)) WINBOOL EndDialog(HWND hDlg,INT_PTR nResult);
__attribute__((dllimport)) HWND GetDlgItem(HWND hDlg,int nIDDlgItem);
__attribute__((dllimport)) WINBOOL SetDlgItemInt(HWND hDlg,int nIDDlgItem,UINT uValue,WINBOOL bSigned);
__attribute__((dllimport)) UINT GetDlgItemInt(HWND hDlg,int nIDDlgItem,WINBOOL *lpTranslated,WINBOOL bSigned);
__attribute__((dllimport)) WINBOOL SetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPCSTR lpString);
__attribute__((dllimport)) WINBOOL SetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPCWSTR lpString);
__attribute__((dllimport)) UINT GetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPSTR lpString,int cchMax);
__attribute__((dllimport)) UINT GetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPWSTR lpString,int cchMax);
__attribute__((dllimport)) WINBOOL CheckDlgButton(HWND hDlg,int nIDButton,UINT uCheck);
__attribute__((dllimport)) WINBOOL CheckRadioButton(HWND hDlg,int nIDFirstButton,int nIDLastButton,int nIDCheckButton);
__attribute__((dllimport)) UINT IsDlgButtonChecked(HWND hDlg,int nIDButton);
__attribute__((dllimport)) LRESULT SendDlgItemMessageA(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT SendDlgItemMessageW(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) HWND GetNextDlgGroupItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious);
__attribute__((dllimport)) HWND GetNextDlgTabItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious);
__attribute__((dllimport)) int GetDlgCtrlID(HWND hWnd);
__attribute__((dllimport)) long GetDialogBaseUnits(void);
__attribute__((dllimport)) LRESULT DefDlgProcA(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT DefDlgProcW(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) WINBOOL CallMsgFilterA(LPMSG lpMsg,int nCode);
__attribute__((dllimport)) WINBOOL CallMsgFilterW(LPMSG lpMsg,int nCode);
__attribute__((dllimport)) WINBOOL OpenClipboard(HWND hWndNewOwner);
__attribute__((dllimport)) WINBOOL CloseClipboard(void);
__attribute__((dllimport)) DWORD GetClipboardSequenceNumber(void);
__attribute__((dllimport)) HWND GetClipboardOwner(void);
__attribute__((dllimport)) HWND SetClipboardViewer(HWND hWndNewViewer);
__attribute__((dllimport)) HWND GetClipboardViewer(void);
__attribute__((dllimport)) WINBOOL ChangeClipboardChain(HWND hWndRemove, HWND hWndNewNext);
__attribute__((dllimport)) HANDLE SetClipboardData(UINT uFormat, HANDLE hMem);
__attribute__((dllimport)) HANDLE GetClipboardData(UINT uFormat);
__attribute__((dllimport)) UINT RegisterClipboardFormatA(LPCSTR lpszFormat);
__attribute__((dllimport)) UINT RegisterClipboardFormatW(LPCWSTR lpszFormat);
__attribute__((dllimport)) int CountClipboardFormats(void);
__attribute__((dllimport)) UINT EnumClipboardFormats(UINT format);
__attribute__((dllimport)) int GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount);
__attribute__((dllimport)) int GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName, int cchMaxCount);
__attribute__((dllimport)) WINBOOL EmptyClipboard(void);
__attribute__((dllimport)) WINBOOL IsClipboardFormatAvailable(UINT format);
__attribute__((dllimport)) int GetPriorityClipboardFormat(UINT *paFormatPriorityList, int cFormats);
__attribute__((dllimport)) HWND GetOpenClipboardWindow(void);
__attribute__((dllimport)) WINBOOL CharToOemA(LPCSTR lpszSrc,LPSTR lpszDst);
__attribute__((dllimport)) WINBOOL CharToOemW(LPCWSTR lpszSrc,LPSTR lpszDst);
__attribute__((dllimport)) WINBOOL OemToCharA(LPCSTR lpszSrc,LPSTR lpszDst);
__attribute__((dllimport)) WINBOOL OemToCharW(LPCSTR lpszSrc,LPWSTR lpszDst);
__attribute__((dllimport)) WINBOOL CharToOemBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
__attribute__((dllimport)) WINBOOL CharToOemBuffW(LPCWSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
__attribute__((dllimport)) WINBOOL OemToCharBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength);
__attribute__((dllimport)) WINBOOL OemToCharBuffW(LPCSTR lpszSrc,LPWSTR lpszDst,DWORD cchDstLength);
__attribute__((dllimport)) LPSTR CharUpperA(LPSTR lpsz);
__attribute__((dllimport)) LPWSTR CharUpperW(LPWSTR lpsz);
__attribute__((dllimport)) DWORD CharUpperBuffA(LPSTR lpsz,DWORD cchLength);
__attribute__((dllimport)) DWORD CharUpperBuffW(LPWSTR lpsz,DWORD cchLength);
__attribute__((dllimport)) LPSTR CharLowerA(LPSTR lpsz);
__attribute__((dllimport)) LPWSTR CharLowerW(LPWSTR lpsz);
__attribute__((dllimport)) DWORD CharLowerBuffA(LPSTR lpsz,DWORD cchLength);
__attribute__((dllimport)) DWORD CharLowerBuffW(LPWSTR lpsz,DWORD cchLength);
__attribute__((dllimport)) LPSTR CharNextA(LPCSTR lpsz);
__attribute__((dllimport)) LPWSTR CharNextW(LPCWSTR lpsz);
__attribute__((dllimport)) LPSTR CharPrevA(LPCSTR lpszStart,LPCSTR lpszCurrent);
__attribute__((dllimport)) LPWSTR CharPrevW(LPCWSTR lpszStart,LPCWSTR lpszCurrent);
__attribute__((dllimport)) LPSTR CharNextExA(WORD CodePage,LPCSTR lpCurrentChar,DWORD dwFlags);
__attribute__((dllimport)) LPSTR CharPrevExA(WORD CodePage,LPCSTR lpStart,LPCSTR lpCurrentChar,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL IsCharAlphaA(CHAR ch);
__attribute__((dllimport)) WINBOOL IsCharAlphaW(WCHAR ch);
__attribute__((dllimport)) WINBOOL IsCharAlphaNumericA(CHAR ch);
__attribute__((dllimport)) WINBOOL IsCharAlphaNumericW(WCHAR ch);
__attribute__((dllimport)) WINBOOL IsCharUpperA(CHAR ch);
__attribute__((dllimport)) WINBOOL IsCharUpperW(WCHAR ch);
__attribute__((dllimport)) WINBOOL IsCharLowerA(CHAR ch);
__attribute__((dllimport)) WINBOOL IsCharLowerW(WCHAR ch);
__attribute__((dllimport)) HWND SetFocus(HWND hWnd);
__attribute__((dllimport)) HWND GetActiveWindow(void);
__attribute__((dllimport)) HWND GetFocus(void);
__attribute__((dllimport)) UINT GetKBCodePage(void);
__attribute__((dllimport)) SHORT GetKeyState(int nVirtKey);
__attribute__((dllimport)) SHORT GetAsyncKeyState(int vKey);
__attribute__((dllimport)) WINBOOL GetKeyboardState(PBYTE lpKeyState);
__attribute__((dllimport)) WINBOOL SetKeyboardState(LPBYTE lpKeyState);
__attribute__((dllimport)) int GetKeyNameTextA(LONG lParam,LPSTR lpString,int cchSize);
__attribute__((dllimport)) int GetKeyNameTextW(LONG lParam,LPWSTR lpString,int cchSize);
__attribute__((dllimport)) int GetKeyboardType(int nTypeFlag);
__attribute__((dllimport)) int ToAscii(UINT uVirtKey,UINT uScanCode,const BYTE *lpKeyState,LPWORD lpChar,UINT uFlags);
__attribute__((dllimport)) int ToAsciiEx(UINT uVirtKey,UINT uScanCode,const BYTE *lpKeyState,LPWORD lpChar,UINT uFlags,HKL dwhkl);
__attribute__((dllimport)) int ToUnicode(UINT wVirtKey,UINT wScanCode,const BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags);
__attribute__((dllimport)) DWORD OemKeyScan(WORD wOemChar);
__attribute__((dllimport)) SHORT VkKeyScanA(CHAR ch);
__attribute__((dllimport)) SHORT VkKeyScanW(WCHAR ch);
__attribute__((dllimport)) SHORT VkKeyScanExA(CHAR ch,HKL dwhkl);
__attribute__((dllimport)) SHORT VkKeyScanExW(WCHAR ch,HKL dwhkl);
__attribute__((dllimport)) void keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo);
__attribute__((dllimport)) void mouse_event(DWORD dwFlags,DWORD dx,DWORD dy,DWORD dwData,ULONG_PTR dwExtraInfo);
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT,*PMOUSEINPUT,*LPMOUSEINPUT;
typedef struct tagKEYBDINPUT {
WORD wVk;
WORD wScan;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KEYBDINPUT,*PKEYBDINPUT,*LPKEYBDINPUT;
typedef struct tagHARDWAREINPUT {
DWORD uMsg;
WORD wParamL;
WORD wParamH;
} HARDWAREINPUT,*PHARDWAREINPUT,*LPHARDWAREINPUT;
typedef struct tagINPUT {
DWORD type;
__extension__ union {
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
} ;
} INPUT,*PINPUT,*LPINPUT;
__attribute__((dllimport)) UINT SendInput(UINT cInputs,LPINPUT pInputs,int cbSize);
typedef struct tagLASTINPUTINFO {
UINT cbSize;
DWORD dwTime;
} LASTINPUTINFO,*PLASTINPUTINFO;
__attribute__((dllimport)) WINBOOL GetLastInputInfo(PLASTINPUTINFO plii);
__attribute__((dllimport)) UINT MapVirtualKeyA(UINT uCode,UINT uMapType);
__attribute__((dllimport)) UINT MapVirtualKeyW(UINT uCode,UINT uMapType);
__attribute__((dllimport)) UINT MapVirtualKeyExA(UINT uCode,UINT uMapType,HKL dwhkl);
__attribute__((dllimport)) UINT MapVirtualKeyExW(UINT uCode,UINT uMapType,HKL dwhkl);
__attribute__((dllimport)) WINBOOL GetInputState(void);
__attribute__((dllimport)) DWORD GetQueueStatus(UINT flags);
__attribute__((dllimport)) HWND GetCapture(void);
__attribute__((dllimport)) HWND SetCapture(HWND hWnd);
__attribute__((dllimport)) WINBOOL ReleaseCapture(void);
__attribute__((dllimport)) DWORD MsgWaitForMultipleObjects(DWORD nCount,const HANDLE *pHandles,WINBOOL fWaitAll,DWORD dwMilliseconds,DWORD dwWakeMask);
__attribute__((dllimport)) DWORD MsgWaitForMultipleObjectsEx(DWORD nCount,const HANDLE *pHandles,DWORD dwMilliseconds,DWORD dwWakeMask,DWORD dwFlags);
__attribute__((dllimport)) UINT_PTR SetTimer(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);
__attribute__((dllimport)) WINBOOL KillTimer(HWND hWnd,UINT_PTR uIDEvent);
__attribute__((dllimport)) WINBOOL IsWindowUnicode(HWND hWnd);
__attribute__((dllimport)) WINBOOL EnableWindow(HWND hWnd,WINBOOL bEnable);
__attribute__((dllimport)) WINBOOL IsWindowEnabled(HWND hWnd);
__attribute__((dllimport)) HACCEL LoadAcceleratorsA(HINSTANCE hInstance,LPCSTR lpTableName);
__attribute__((dllimport)) HACCEL LoadAcceleratorsW(HINSTANCE hInstance,LPCWSTR lpTableName);
__attribute__((dllimport)) HACCEL CreateAcceleratorTableA(LPACCEL paccel,int cAccel);
__attribute__((dllimport)) HACCEL CreateAcceleratorTableW(LPACCEL paccel,int cAccel);
__attribute__((dllimport)) WINBOOL DestroyAcceleratorTable(HACCEL hAccel);
__attribute__((dllimport)) int CopyAcceleratorTableA(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries);
__attribute__((dllimport)) int CopyAcceleratorTableW(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries);
__attribute__((dllimport)) int TranslateAcceleratorA(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg);
__attribute__((dllimport)) int TranslateAcceleratorW(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg);
__attribute__((dllimport)) int GetSystemMetrics(int nIndex);
__attribute__((dllimport)) HMENU LoadMenuA(HINSTANCE hInstance,LPCSTR lpMenuName);
__attribute__((dllimport)) HMENU LoadMenuW(HINSTANCE hInstance,LPCWSTR lpMenuName);
__attribute__((dllimport)) HMENU LoadMenuIndirectA(const MENUTEMPLATEA *lpMenuTemplate);
__attribute__((dllimport)) HMENU LoadMenuIndirectW(const MENUTEMPLATEW *lpMenuTemplate);
__attribute__((dllimport)) HMENU GetMenu(HWND hWnd);
__attribute__((dllimport)) WINBOOL SetMenu(HWND hWnd,HMENU hMenu);
__attribute__((dllimport)) WINBOOL ChangeMenuA(HMENU hMenu,UINT cmd,LPCSTR lpszNewItem,UINT cmdInsert,UINT flags);
__attribute__((dllimport)) WINBOOL ChangeMenuW(HMENU hMenu,UINT cmd,LPCWSTR lpszNewItem,UINT cmdInsert,UINT flags);
__attribute__((dllimport)) WINBOOL HiliteMenuItem(HWND hWnd,HMENU hMenu,UINT uIDHiliteItem,UINT uHilite);
__attribute__((dllimport)) int GetMenuStringA(HMENU hMenu,UINT uIDItem,LPSTR lpString,int cchMax,UINT flags);
__attribute__((dllimport)) int GetMenuStringW(HMENU hMenu,UINT uIDItem,LPWSTR lpString,int cchMax,UINT flags);
__attribute__((dllimport)) UINT GetMenuState(HMENU hMenu,UINT uId,UINT uFlags);
__attribute__((dllimport)) WINBOOL DrawMenuBar(HWND hWnd);
__attribute__((dllimport)) HMENU GetSystemMenu(HWND hWnd,WINBOOL bRevert);
__attribute__((dllimport)) HMENU CreateMenu(void);
__attribute__((dllimport)) HMENU CreatePopupMenu(void);
__attribute__((dllimport)) WINBOOL DestroyMenu(HMENU hMenu);
__attribute__((dllimport)) DWORD CheckMenuItem(HMENU hMenu,UINT uIDCheckItem,UINT uCheck);
__attribute__((dllimport)) WINBOOL EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable);
__attribute__((dllimport)) HMENU GetSubMenu(HMENU hMenu,int nPos);
__attribute__((dllimport)) UINT GetMenuItemID(HMENU hMenu,int nPos);
__attribute__((dllimport)) int GetMenuItemCount(HMENU hMenu);
__attribute__((dllimport)) WINBOOL InsertMenuA(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
__attribute__((dllimport)) WINBOOL InsertMenuW(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
__attribute__((dllimport)) WINBOOL AppendMenuA(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
__attribute__((dllimport)) WINBOOL AppendMenuW(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
__attribute__((dllimport)) WINBOOL ModifyMenuA(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem);
__attribute__((dllimport)) WINBOOL ModifyMenuW(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem);
__attribute__((dllimport)) WINBOOL RemoveMenu(HMENU hMenu,UINT uPosition,UINT uFlags);
__attribute__((dllimport)) WINBOOL DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags);
__attribute__((dllimport)) WINBOOL SetMenuItemBitmaps(HMENU hMenu,UINT uPosition,UINT uFlags,HBITMAP hBitmapUnchecked,HBITMAP hBitmapChecked);
__attribute__((dllimport)) LONG GetMenuCheckMarkDimensions(void);
__attribute__((dllimport)) WINBOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,const RECT *prcRect);
typedef struct tagTPMPARAMS {
UINT cbSize;
RECT rcExclude;
} TPMPARAMS;
typedef struct tagMENUINFO {
DWORD cbSize;
DWORD fMask;
DWORD dwStyle;
UINT cyMax;
HBRUSH hbrBack;
DWORD dwContextHelpID;
ULONG_PTR dwMenuData;
} MENUINFO,*LPMENUINFO;
typedef TPMPARAMS *LPTPMPARAMS;
typedef MENUINFO const *LPCMENUINFO;
__attribute__((dllimport)) WINBOOL TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
__attribute__((dllimport)) WINBOOL GetMenuInfo(HMENU,LPMENUINFO);
__attribute__((dllimport)) WINBOOL SetMenuInfo(HMENU,LPCMENUINFO);
__attribute__((dllimport)) WINBOOL EndMenu(void);
typedef struct tagMENUGETOBJECTINFO {
DWORD dwFlags;
UINT uPos;
HMENU hmenu;
PVOID riid;
PVOID pvObj;
} MENUGETOBJECTINFO,*PMENUGETOBJECTINFO;
typedef struct tagMENUITEMINFOA {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOA,*LPMENUITEMINFOA;
typedef struct tagMENUITEMINFOW {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOW,*LPMENUITEMINFOW;
typedef MENUITEMINFOA MENUITEMINFO;
typedef LPMENUITEMINFOA LPMENUITEMINFO;
typedef MENUITEMINFOA const *LPCMENUITEMINFOA;
typedef MENUITEMINFOW const *LPCMENUITEMINFOW;
typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
__attribute__((dllimport)) WINBOOL InsertMenuItemA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOA lpmi);
__attribute__((dllimport)) WINBOOL InsertMenuItemW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOW lpmi);
__attribute__((dllimport)) WINBOOL GetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOA lpmii);
__attribute__((dllimport)) WINBOOL GetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOW lpmii);
__attribute__((dllimport)) WINBOOL SetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOA lpmii);
__attribute__((dllimport)) WINBOOL SetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOW lpmii);
__attribute__((dllimport)) UINT GetMenuDefaultItem(HMENU hMenu,UINT fByPos,UINT gmdiFlags);
__attribute__((dllimport)) WINBOOL SetMenuDefaultItem(HMENU hMenu,UINT uItem,UINT fByPos);
__attribute__((dllimport)) WINBOOL GetMenuItemRect(HWND hWnd,HMENU hMenu,UINT uItem,LPRECT lprcItem);
__attribute__((dllimport)) int MenuItemFromPoint(HWND hWnd,HMENU hMenu,POINT ptScreen);
typedef struct tagDROPSTRUCT {
HWND hwndSource;
HWND hwndSink;
DWORD wFmt;
ULONG_PTR dwData;
POINT ptDrop;
DWORD dwControlData;
} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
__attribute__((dllimport)) DWORD DragObject(HWND hwndParent,HWND hwndFrom,UINT fmt,ULONG_PTR data,HCURSOR hcur);
__attribute__((dllimport)) WINBOOL DragDetect(HWND hwnd,POINT pt);
__attribute__((dllimport)) WINBOOL DrawIcon(HDC hDC,int X,int Y,HICON hIcon);
typedef struct tagDRAWTEXTPARAMS {
UINT cbSize;
int iTabLength;
int iLeftMargin;
int iRightMargin;
UINT uiLengthDrawn;
} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
__attribute__((dllimport)) int DrawTextA(HDC hdc,LPCSTR lpchText,int cchText,LPRECT lprc,UINT format);
__attribute__((dllimport)) int DrawTextW(HDC hdc,LPCWSTR lpchText,int cchText,LPRECT lprc,UINT format);
__attribute__((dllimport)) int DrawTextExA(HDC hdc,LPSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp);
__attribute__((dllimport)) int DrawTextExW(HDC hdc,LPWSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp);
__attribute__((dllimport)) WINBOOL GrayStringA(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight);
__attribute__((dllimport)) WINBOOL GrayStringW(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight);
__attribute__((dllimport)) WINBOOL DrawStateA(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags);
__attribute__((dllimport)) WINBOOL DrawStateW(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags);
__attribute__((dllimport)) LONG TabbedTextOutA(HDC hdc,int x,int y,LPCSTR lpString,int chCount,int nTabPositions,const INT *lpnTabStopPositions,int nTabOrigin);
__attribute__((dllimport)) LONG TabbedTextOutW(HDC hdc,int x,int y,LPCWSTR lpString,int chCount,int nTabPositions,const INT *lpnTabStopPositions,int nTabOrigin);
__attribute__((dllimport)) DWORD GetTabbedTextExtentA(HDC hdc,LPCSTR lpString,int chCount,int nTabPositions,const INT *lpnTabStopPositions);
__attribute__((dllimport)) DWORD GetTabbedTextExtentW(HDC hdc,LPCWSTR lpString,int chCount,int nTabPositions,const INT *lpnTabStopPositions);
__attribute__((dllimport)) WINBOOL UpdateWindow(HWND hWnd);
__attribute__((dllimport)) HWND SetActiveWindow(HWND hWnd);
__attribute__((dllimport)) HWND GetForegroundWindow(void);
__attribute__((dllimport)) WINBOOL PaintDesktop(HDC hdc);
__attribute__((dllimport)) void SwitchToThisWindow(HWND hwnd,WINBOOL fUnknown);
__attribute__((dllimport)) WINBOOL SetForegroundWindow(HWND hWnd);
__attribute__((dllimport)) WINBOOL AllowSetForegroundWindow(DWORD dwProcessId);
__attribute__((dllimport)) WINBOOL LockSetForegroundWindow(UINT uLockCode);
__attribute__((dllimport)) HWND WindowFromDC(HDC hDC);
__attribute__((dllimport)) HDC GetDC(HWND hWnd);
__attribute__((dllimport)) HDC GetDCEx(HWND hWnd,HRGN hrgnClip,DWORD flags);
__attribute__((dllimport)) HDC GetWindowDC(HWND hWnd);
__attribute__((dllimport)) int ReleaseDC(HWND hWnd,HDC hDC);
__attribute__((dllimport)) HDC BeginPaint(HWND hWnd,LPPAINTSTRUCT lpPaint);
__attribute__((dllimport)) WINBOOL EndPaint(HWND hWnd,const PAINTSTRUCT *lpPaint);
__attribute__((dllimport)) WINBOOL GetUpdateRect(HWND hWnd,LPRECT lpRect,WINBOOL bErase);
__attribute__((dllimport)) int GetUpdateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase);
__attribute__((dllimport)) int SetWindowRgn(HWND hWnd,HRGN hRgn,WINBOOL bRedraw);
__attribute__((dllimport)) int GetWindowRgn(HWND hWnd,HRGN hRgn);
__attribute__((dllimport)) int GetWindowRgnBox(HWND hWnd,LPRECT lprc);
__attribute__((dllimport)) int ExcludeUpdateRgn(HDC hDC,HWND hWnd);
__attribute__((dllimport)) WINBOOL InvalidateRect(HWND hWnd,const RECT *lpRect,WINBOOL bErase);
__attribute__((dllimport)) WINBOOL ValidateRect(HWND hWnd,const RECT *lpRect);
__attribute__((dllimport)) WINBOOL InvalidateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase);
__attribute__((dllimport)) WINBOOL ValidateRgn(HWND hWnd,HRGN hRgn);
__attribute__((dllimport)) WINBOOL RedrawWindow(HWND hWnd,const RECT *lprcUpdate,HRGN hrgnUpdate,UINT flags);
__attribute__((dllimport)) WINBOOL LockWindowUpdate(HWND hWndLock);
__attribute__((dllimport)) WINBOOL ScrollWindow(HWND hWnd,int XAmount,int YAmount,const RECT *lpRect,const RECT *lpClipRect);
__attribute__((dllimport)) WINBOOL ScrollDC(HDC hDC,int dx,int dy,const RECT *lprcScroll,const RECT *lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate);
__attribute__((dllimport)) int ScrollWindowEx(HWND hWnd,int dx,int dy,const RECT *prcScroll,const RECT *prcClip,HRGN hrgnUpdate,LPRECT prcUpdate,UINT flags);
__attribute__((dllimport)) int SetScrollPos(HWND hWnd,int nBar,int nPos,WINBOOL bRedraw);
__attribute__((dllimport)) int GetScrollPos(HWND hWnd,int nBar);
__attribute__((dllimport)) WINBOOL SetScrollRange(HWND hWnd,int nBar,int nMinPos,int nMaxPos,WINBOOL bRedraw);
__attribute__((dllimport)) WINBOOL GetScrollRange(HWND hWnd,int nBar,LPINT lpMinPos,LPINT lpMaxPos);
__attribute__((dllimport)) WINBOOL ShowScrollBar(HWND hWnd,int wBar,WINBOOL bShow);
__attribute__((dllimport)) WINBOOL EnableScrollBar(HWND hWnd,UINT wSBflags,UINT wArrows);
__attribute__((dllimport)) WINBOOL SetPropA(HWND hWnd,LPCSTR lpString,HANDLE hData);
__attribute__((dllimport)) WINBOOL SetPropW(HWND hWnd,LPCWSTR lpString,HANDLE hData);
__attribute__((dllimport)) HANDLE GetPropA(HWND hWnd,LPCSTR lpString);
__attribute__((dllimport)) HANDLE GetPropW(HWND hWnd,LPCWSTR lpString);
__attribute__((dllimport)) HANDLE RemovePropA(HWND hWnd,LPCSTR lpString);
__attribute__((dllimport)) HANDLE RemovePropW(HWND hWnd,LPCWSTR lpString);
__attribute__((dllimport)) int EnumPropsExA(HWND hWnd,PROPENUMPROCEXA lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) int EnumPropsExW(HWND hWnd,PROPENUMPROCEXW lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) int EnumPropsA(HWND hWnd,PROPENUMPROCA lpEnumFunc);
__attribute__((dllimport)) int EnumPropsW(HWND hWnd,PROPENUMPROCW lpEnumFunc);
__attribute__((dllimport)) WINBOOL SetWindowTextA(HWND hWnd,LPCSTR lpString);
__attribute__((dllimport)) WINBOOL SetWindowTextW(HWND hWnd,LPCWSTR lpString);
__attribute__((dllimport)) int GetWindowTextA(HWND hWnd,LPSTR lpString,int nMaxCount);
__attribute__((dllimport)) int GetWindowTextW(HWND hWnd,LPWSTR lpString,int nMaxCount);
__attribute__((dllimport)) int GetWindowTextLengthA(HWND hWnd);
__attribute__((dllimport)) int GetWindowTextLengthW(HWND hWnd);
__attribute__((dllimport)) WINBOOL GetClientRect(HWND hWnd,LPRECT lpRect);
__attribute__((dllimport)) WINBOOL GetWindowRect(HWND hWnd,LPRECT lpRect);
__attribute__((dllimport)) WINBOOL AdjustWindowRect(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu);
__attribute__((dllimport)) WINBOOL AdjustWindowRectEx(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu,DWORD dwExStyle);
typedef struct tagHELPINFO {
UINT cbSize;
int iContextType;
int iCtrlId;
HANDLE hItemHandle;
DWORD_PTR dwContextId;
POINT MousePos;
} HELPINFO,*LPHELPINFO;
__attribute__((dllimport)) WINBOOL SetWindowContextHelpId(HWND,DWORD);
__attribute__((dllimport)) DWORD GetWindowContextHelpId(HWND);
__attribute__((dllimport)) WINBOOL SetMenuContextHelpId(HMENU,DWORD);
__attribute__((dllimport)) DWORD GetMenuContextHelpId(HMENU);
__attribute__((dllimport)) int MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType);
__attribute__((dllimport)) int MessageBoxW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType);
__attribute__((dllimport)) int MessageBoxExA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType,WORD wLanguageId);
__attribute__((dllimport)) int MessageBoxExW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType,WORD wLanguageId);
typedef void ( *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
typedef struct tagMSGBOXPARAMSA {
UINT cbSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpszText;
LPCSTR lpszCaption;
DWORD dwStyle;
LPCSTR lpszIcon;
DWORD_PTR dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
typedef struct tagMSGBOXPARAMSW {
UINT cbSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCWSTR lpszText;
LPCWSTR lpszCaption;
DWORD dwStyle;
LPCWSTR lpszIcon;
DWORD_PTR dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
typedef MSGBOXPARAMSA MSGBOXPARAMS;
typedef PMSGBOXPARAMSA PMSGBOXPARAMS;
typedef LPMSGBOXPARAMSA LPMSGBOXPARAMS;
__attribute__((dllimport)) int MessageBoxIndirectA(const MSGBOXPARAMSA *lpmbp);
__attribute__((dllimport)) int MessageBoxIndirectW(const MSGBOXPARAMSW *lpmbp);
__attribute__((dllimport)) WINBOOL MessageBeep(UINT uType);
__attribute__((dllimport)) int ShowCursor(WINBOOL bShow);
__attribute__((dllimport)) WINBOOL SetCursorPos(int X,int Y);
__attribute__((dllimport)) HCURSOR SetCursor(HCURSOR hCursor);
__attribute__((dllimport)) WINBOOL GetCursorPos(LPPOINT lpPoint);
__attribute__((dllimport)) WINBOOL ClipCursor(const RECT *lpRect);
__attribute__((dllimport)) WINBOOL GetClipCursor(LPRECT lpRect);
__attribute__((dllimport)) HCURSOR GetCursor(void);
__attribute__((dllimport)) WINBOOL CreateCaret(HWND hWnd,HBITMAP hBitmap,int nWidth,int nHeight);
__attribute__((dllimport)) UINT GetCaretBlinkTime(void);
__attribute__((dllimport)) WINBOOL SetCaretBlinkTime(UINT uMSeconds);
__attribute__((dllimport)) WINBOOL DestroyCaret(void);
__attribute__((dllimport)) WINBOOL HideCaret(HWND hWnd);
__attribute__((dllimport)) WINBOOL ShowCaret(HWND hWnd);
__attribute__((dllimport)) WINBOOL SetCaretPos(int X,int Y);
__attribute__((dllimport)) WINBOOL GetCaretPos(LPPOINT lpPoint);
__attribute__((dllimport)) WINBOOL ClientToScreen(HWND hWnd,LPPOINT lpPoint);
__attribute__((dllimport)) WINBOOL ScreenToClient(HWND hWnd,LPPOINT lpPoint);
__attribute__((dllimport)) int MapWindowPoints(HWND hWndFrom,HWND hWndTo,LPPOINT lpPoints,UINT cPoints);
__attribute__((dllimport)) HWND WindowFromPoint(POINT Point);
__attribute__((dllimport)) HWND ChildWindowFromPoint(HWND hWndParent,POINT Point);
__attribute__((dllimport)) HWND ChildWindowFromPointEx(HWND hwnd,POINT pt,UINT flags);
__attribute__((dllimport)) DWORD GetSysColor(int nIndex);
__attribute__((dllimport)) HBRUSH GetSysColorBrush(int nIndex);
__attribute__((dllimport)) WINBOOL SetSysColors(int cElements,const INT *lpaElements,const COLORREF *lpaRgbValues);
__attribute__((dllimport)) WINBOOL DrawFocusRect(HDC hDC,const RECT *lprc);
__attribute__((dllimport)) int FillRect(HDC hDC,const RECT *lprc,HBRUSH hbr);
__attribute__((dllimport)) int FrameRect(HDC hDC,const RECT *lprc,HBRUSH hbr);
__attribute__((dllimport)) WINBOOL InvertRect(HDC hDC,const RECT *lprc);
__attribute__((dllimport)) WINBOOL SetRect(LPRECT lprc,int xLeft,int yTop,int xRight,int yBottom);
__attribute__((dllimport)) WINBOOL SetRectEmpty(LPRECT lprc);
__attribute__((dllimport)) WINBOOL CopyRect(LPRECT lprcDst,const RECT *lprcSrc);
__attribute__((dllimport)) WINBOOL InflateRect(LPRECT lprc,int dx,int dy);
__attribute__((dllimport)) WINBOOL IntersectRect(LPRECT lprcDst,const RECT *lprcSrc1,const RECT *lprcSrc2);
__attribute__((dllimport)) WINBOOL UnionRect(LPRECT lprcDst,const RECT *lprcSrc1,const RECT *lprcSrc2);
__attribute__((dllimport)) WINBOOL SubtractRect(LPRECT lprcDst,const RECT *lprcSrc1,const RECT *lprcSrc2);
__attribute__((dllimport)) WINBOOL OffsetRect(LPRECT lprc,int dx,int dy);
__attribute__((dllimport)) WINBOOL IsRectEmpty(const RECT *lprc);
__attribute__((dllimport)) WINBOOL EqualRect(const RECT *lprc1,const RECT *lprc2);
__attribute__((dllimport)) WINBOOL PtInRect(const RECT *lprc,POINT pt);
__attribute__((dllimport)) WORD GetWindowWord(HWND hWnd,int nIndex);
__attribute__((dllimport)) WORD SetWindowWord(HWND hWnd,int nIndex,WORD wNewWord);
__attribute__((dllimport)) LONG GetWindowLongA(HWND hWnd,int nIndex);
__attribute__((dllimport)) LONG GetWindowLongW(HWND hWnd,int nIndex);
__attribute__((dllimport)) LONG SetWindowLongA(HWND hWnd,int nIndex,LONG dwNewLong);
__attribute__((dllimport)) LONG SetWindowLongW(HWND hWnd,int nIndex,LONG dwNewLong);
__attribute__((dllimport)) LONG_PTR GetWindowLongPtrA(HWND hWnd,int nIndex);
__attribute__((dllimport)) LONG_PTR GetWindowLongPtrW(HWND hWnd,int nIndex);
__attribute__((dllimport)) LONG_PTR SetWindowLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
__attribute__((dllimport)) LONG_PTR SetWindowLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
__attribute__((dllimport)) WORD GetClassWord(HWND hWnd,int nIndex);
__attribute__((dllimport)) WORD SetClassWord(HWND hWnd,int nIndex,WORD wNewWord);
__attribute__((dllimport)) DWORD GetClassLongA(HWND hWnd,int nIndex);
__attribute__((dllimport)) DWORD GetClassLongW(HWND hWnd,int nIndex);
__attribute__((dllimport)) DWORD SetClassLongA(HWND hWnd,int nIndex,LONG dwNewLong);
__attribute__((dllimport)) DWORD SetClassLongW(HWND hWnd,int nIndex,LONG dwNewLong);
__attribute__((dllimport)) ULONG_PTR GetClassLongPtrA(HWND hWnd,int nIndex);
__attribute__((dllimport)) ULONG_PTR GetClassLongPtrW(HWND hWnd,int nIndex);
__attribute__((dllimport)) ULONG_PTR SetClassLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
__attribute__((dllimport)) ULONG_PTR SetClassLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong);
__attribute__((dllimport)) WINBOOL GetProcessDefaultLayout(DWORD *pdwDefaultLayout);
__attribute__((dllimport)) WINBOOL SetProcessDefaultLayout(DWORD dwDefaultLayout);
__attribute__((dllimport)) HWND GetDesktopWindow(void);
__attribute__((dllimport)) HWND GetParent(HWND hWnd);
__attribute__((dllimport)) HWND SetParent(HWND hWndChild,HWND hWndNewParent);
__attribute__((dllimport)) WINBOOL EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) HWND FindWindowA(LPCSTR lpClassName,LPCSTR lpWindowName);
__attribute__((dllimport)) HWND FindWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName);
__attribute__((dllimport)) HWND FindWindowExA(HWND hWndParent,HWND hWndChildAfter,LPCSTR lpszClass,LPCSTR lpszWindow);
__attribute__((dllimport)) HWND FindWindowExW(HWND hWndParent,HWND hWndChildAfter,LPCWSTR lpszClass,LPCWSTR lpszWindow);
__attribute__((dllimport)) HWND GetShellWindow(void);
__attribute__((dllimport)) WINBOOL RegisterShellHookWindow(HWND hwnd);
__attribute__((dllimport)) WINBOOL DeregisterShellHookWindow(HWND hwnd);
__attribute__((dllimport)) WINBOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);
__attribute__((dllimport)) WINBOOL EnumThreadWindows(DWORD dwThreadId,WNDENUMPROC lpfn,LPARAM lParam);
__attribute__((dllimport)) int GetClassNameA(HWND hWnd,LPSTR lpClassName,int nMaxCount);
__attribute__((dllimport)) int GetClassNameW(HWND hWnd,LPWSTR lpClassName,int nMaxCount);
__attribute__((dllimport)) HWND GetTopWindow(HWND hWnd);
__attribute__((dllimport)) DWORD GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId);
__attribute__((dllimport)) WINBOOL IsGUIThread(WINBOOL bConvert);
__attribute__((dllimport)) HWND GetLastActivePopup(HWND hWnd);
__attribute__((dllimport)) HWND GetWindow(HWND hWnd,UINT uCmd);
__attribute__((dllimport)) HHOOK SetWindowsHookA (int nFilterType, HOOKPROC pfnFilterProc);
__attribute__((dllimport)) HHOOK SetWindowsHookW (int nFilterType, HOOKPROC pfnFilterProc);
__attribute__((dllimport)) WINBOOL UnhookWindowsHook (int nCode, HOOKPROC pfnFilterProc);
__attribute__((dllimport)) HHOOK SetWindowsHookExA (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId);
__attribute__((dllimport)) HHOOK SetWindowsHookExW (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId);
__attribute__((dllimport)) WINBOOL UnhookWindowsHookEx (HHOOK hhk);
__attribute__((dllimport)) LRESULT CallNextHookEx (HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam);
__attribute__((dllimport)) WINBOOL CheckMenuRadioItem(HMENU hmenu,UINT first,UINT last,UINT check,UINT flags);
typedef struct {
WORD versionNumber;
WORD offset;
} MENUITEMTEMPLATEHEADER,*PMENUITEMTEMPLATEHEADER;
typedef struct {
WORD mtOption;
WORD mtID;
WCHAR mtString[1];
} MENUITEMTEMPLATE,*PMENUITEMTEMPLATE;
__attribute__((dllimport)) HBITMAP LoadBitmapA(HINSTANCE hInstance,LPCSTR lpBitmapName);
__attribute__((dllimport)) HBITMAP LoadBitmapW(HINSTANCE hInstance,LPCWSTR lpBitmapName);
__attribute__((dllimport)) HCURSOR LoadCursorA(HINSTANCE hInstance,LPCSTR lpCursorName);
__attribute__((dllimport)) HCURSOR LoadCursorW(HINSTANCE hInstance,LPCWSTR lpCursorName);
__attribute__((dllimport)) HCURSOR LoadCursorFromFileA(LPCSTR lpFileName);
__attribute__((dllimport)) HCURSOR LoadCursorFromFileW(LPCWSTR lpFileName);
__attribute__((dllimport)) HCURSOR CreateCursor(HINSTANCE hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,const void *pvANDPlane,const void *pvXORPlane);
__attribute__((dllimport)) WINBOOL DestroyCursor(HCURSOR hCursor);
typedef struct _ICONINFO {
WINBOOL fIcon;
DWORD xHotspot;
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
} ICONINFO;
typedef ICONINFO *PICONINFO;
__attribute__((dllimport)) WINBOOL SetSystemCursor(HCURSOR hcur,DWORD id);
__attribute__((dllimport)) HICON LoadIconA(HINSTANCE hInstance,LPCSTR lpIconName);
__attribute__((dllimport)) HICON LoadIconW(HINSTANCE hInstance,LPCWSTR lpIconName);
__attribute__((dllimport)) UINT PrivateExtractIconsA(LPCSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags);
__attribute__((dllimport)) UINT PrivateExtractIconsW(LPCWSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags);
__attribute__((dllimport)) HICON CreateIcon(HINSTANCE hInstance,int nWidth,int nHeight,BYTE cPlanes,BYTE cBitsPixel,const BYTE *lpbANDbits,const BYTE *lpbXORbits);
__attribute__((dllimport)) WINBOOL DestroyIcon(HICON hIcon);
__attribute__((dllimport)) int LookupIconIdFromDirectory(PBYTE presbits,WINBOOL fIcon);
__attribute__((dllimport)) int LookupIconIdFromDirectoryEx(PBYTE presbits,WINBOOL fIcon,int cxDesired,int cyDesired,UINT Flags);
__attribute__((dllimport)) HICON CreateIconFromResource(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer);
__attribute__((dllimport)) HICON CreateIconFromResourceEx(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer,int cxDesired,int cyDesired,UINT Flags);
typedef struct tagCURSORSHAPE {
int xHotSpot;
int yHotSpot;
int cx;
int cy;
int cbWidth;
BYTE Planes;
BYTE BitsPixel;
} CURSORSHAPE,*LPCURSORSHAPE;
__attribute__((dllimport)) HANDLE LoadImageA(HINSTANCE hInst,LPCSTR name,UINT type,int cx,int cy,UINT fuLoad);
__attribute__((dllimport)) HANDLE LoadImageW(HINSTANCE hInst,LPCWSTR name,UINT type,int cx,int cy,UINT fuLoad);
__attribute__((dllimport)) HANDLE CopyImage(HANDLE h,UINT type,int cx,int cy,UINT flags);
__attribute__((dllimport)) WINBOOL DrawIconEx(HDC hdc,int xLeft,int yTop,HICON hIcon,int cxWidth,int cyWidth,UINT istepIfAniCur,HBRUSH hbrFlickerFreeDraw,UINT diFlags);
__attribute__((dllimport)) HICON CreateIconIndirect(PICONINFO piconinfo);
__attribute__((dllimport)) HICON CopyIcon(HICON hIcon);
__attribute__((dllimport)) WINBOOL GetIconInfo(HICON hIcon,PICONINFO piconinfo);
__attribute__((dllimport)) WINBOOL IsDialogMessageA(HWND hDlg,LPMSG lpMsg);
__attribute__((dllimport)) WINBOOL IsDialogMessageW(HWND hDlg,LPMSG lpMsg);
__attribute__((dllimport)) WINBOOL MapDialogRect(HWND hDlg,LPRECT lpRect);
__attribute__((dllimport)) int DlgDirListA(HWND hDlg,LPSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType);
__attribute__((dllimport)) int DlgDirListW(HWND hDlg,LPWSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType);
__attribute__((dllimport)) WINBOOL DlgDirSelectExA(HWND hwndDlg,LPSTR lpString,int chCount,int idListBox);
__attribute__((dllimport)) WINBOOL DlgDirSelectExW(HWND hwndDlg,LPWSTR lpString,int chCount,int idListBox);
__attribute__((dllimport)) int DlgDirListComboBoxA(HWND hDlg,LPSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype);
__attribute__((dllimport)) int DlgDirListComboBoxW(HWND hDlg,LPWSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype);
__attribute__((dllimport)) WINBOOL DlgDirSelectComboBoxExA(HWND hwndDlg,LPSTR lpString,int cchOut,int idComboBox);
__attribute__((dllimport)) WINBOOL DlgDirSelectComboBoxExW(HWND hwndDlg,LPWSTR lpString,int cchOut,int idComboBox);
typedef struct tagSCROLLINFO {
UINT cbSize;
UINT fMask;
int nMin;
int nMax;
UINT nPage;
int nPos;
int nTrackPos;
} SCROLLINFO,*LPSCROLLINFO;
typedef SCROLLINFO const *LPCSCROLLINFO;
__attribute__((dllimport)) int SetScrollInfo(HWND hwnd,int nBar,LPCSCROLLINFO lpsi,WINBOOL redraw);
__attribute__((dllimport)) WINBOOL GetScrollInfo(HWND hwnd,int nBar,LPSCROLLINFO lpsi);
typedef struct tagMDICREATESTRUCTA {
LPCSTR szClass;
LPCSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
} MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
typedef struct tagMDICREATESTRUCTW {
LPCWSTR szClass;
LPCWSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
} MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
typedef MDICREATESTRUCTA MDICREATESTRUCT;
typedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;
typedef struct tagCLIENTCREATESTRUCT {
HANDLE hWindowMenu;
UINT idFirstChild;
} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
__attribute__((dllimport)) LRESULT DefFrameProcA(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT DefFrameProcW(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT DefMDIChildProcA(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) LRESULT DefMDIChildProcW(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
__attribute__((dllimport)) WINBOOL TranslateMDISysAccel(HWND hWndClient,LPMSG lpMsg);
__attribute__((dllimport)) UINT ArrangeIconicWindows(HWND hWnd);
__attribute__((dllimport)) HWND CreateMDIWindowA(LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam);
__attribute__((dllimport)) HWND CreateMDIWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam);
__attribute__((dllimport)) WORD TileWindows(HWND hwndParent,UINT wHow,const RECT *lpRect,UINT cKids,const HWND *lpKids);
__attribute__((dllimport)) WORD CascadeWindows(HWND hwndParent,UINT wHow,const RECT *lpRect,UINT cKids,const HWND *lpKids);
typedef DWORD HELPPOLY;
typedef struct tagMULTIKEYHELPA {
DWORD mkSize;
CHAR mkKeylist;
CHAR szKeyphrase[1];
} MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
typedef struct tagMULTIKEYHELPW {
DWORD mkSize;
WCHAR mkKeylist;
WCHAR szKeyphrase[1];
} MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
typedef MULTIKEYHELPA MULTIKEYHELP;
typedef PMULTIKEYHELPA PMULTIKEYHELP;
typedef LPMULTIKEYHELPA LPMULTIKEYHELP;
typedef struct tagHELPWININFOA {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
CHAR rgchMember[2];
} HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
typedef struct tagHELPWININFOW {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
WCHAR rgchMember[2];
} HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
typedef HELPWININFOA HELPWININFO;
typedef PHELPWININFOA PHELPWININFO;
typedef LPHELPWININFOA LPHELPWININFO;
__attribute__((dllimport)) WINBOOL WinHelpA(HWND hWndMain,LPCSTR lpszHelp,UINT uCommand,ULONG_PTR dwData);
__attribute__((dllimport)) WINBOOL WinHelpW(HWND hWndMain,LPCWSTR lpszHelp,UINT uCommand,ULONG_PTR dwData);
__attribute__((dllimport)) DWORD GetGuiResources(HANDLE hProcess,DWORD uiFlags);
typedef struct tagNONCLIENTMETRICSA {
UINT cbSize;
int iBorderWidth;
int iScrollWidth;
int iScrollHeight;
int iCaptionWidth;
int iCaptionHeight;
LOGFONTA lfCaptionFont;
int iSmCaptionWidth;
int iSmCaptionHeight;
LOGFONTA lfSmCaptionFont;
int iMenuWidth;
int iMenuHeight;
LOGFONTA lfMenuFont;
LOGFONTA lfStatusFont;
LOGFONTA lfMessageFont;
} NONCLIENTMETRICSA,*PNONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
typedef struct tagNONCLIENTMETRICSW {
UINT cbSize;
int iBorderWidth;
int iScrollWidth;
int iScrollHeight;
int iCaptionWidth;
int iCaptionHeight;
LOGFONTW lfCaptionFont;
int iSmCaptionWidth;
int iSmCaptionHeight;
LOGFONTW lfSmCaptionFont;
int iMenuWidth;
int iMenuHeight;
LOGFONTW lfMenuFont;
LOGFONTW lfStatusFont;
LOGFONTW lfMessageFont;
} NONCLIENTMETRICSW,*PNONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
typedef NONCLIENTMETRICSA NONCLIENTMETRICS;
typedef PNONCLIENTMETRICSA PNONCLIENTMETRICS;
typedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;
typedef struct tagMINIMIZEDMETRICS {
UINT cbSize;
int iWidth;
int iHorzGap;
int iVertGap;
int iArrange;
} MINIMIZEDMETRICS,*PMINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
typedef struct tagICONMETRICSA {
UINT cbSize;
int iHorzSpacing;
int iVertSpacing;
int iTitleWrap;
LOGFONTA lfFont;
} ICONMETRICSA,*PICONMETRICSA,*LPICONMETRICSA;
typedef struct tagICONMETRICSW {
UINT cbSize;
int iHorzSpacing;
int iVertSpacing;
int iTitleWrap;
LOGFONTW lfFont;
} ICONMETRICSW,*PICONMETRICSW,*LPICONMETRICSW;
typedef ICONMETRICSA ICONMETRICS;
typedef PICONMETRICSA PICONMETRICS;
typedef LPICONMETRICSA LPICONMETRICS;
typedef struct tagANIMATIONINFO {
UINT cbSize;
int iMinAnimate;
} ANIMATIONINFO,*LPANIMATIONINFO;
typedef struct tagSERIALKEYSA {
UINT cbSize;
DWORD dwFlags;
LPSTR lpszActivePort;
LPSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
} SERIALKEYSA,*LPSERIALKEYSA;
typedef struct tagSERIALKEYSW {
UINT cbSize;
DWORD dwFlags;
LPWSTR lpszActivePort;
LPWSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
} SERIALKEYSW,*LPSERIALKEYSW;
typedef SERIALKEYSA SERIALKEYS;
typedef LPSERIALKEYSA LPSERIALKEYS;
typedef struct tagHIGHCONTRASTA {
UINT cbSize;
DWORD dwFlags;
LPSTR lpszDefaultScheme;
} HIGHCONTRASTA,*LPHIGHCONTRASTA;
typedef struct tagHIGHCONTRASTW {
UINT cbSize;
DWORD dwFlags;
LPWSTR lpszDefaultScheme;
} HIGHCONTRASTW,*LPHIGHCONTRASTW;
typedef HIGHCONTRASTA HIGHCONTRAST;
typedef LPHIGHCONTRASTA LPHIGHCONTRAST;
typedef struct _VIDEOPARAMETERS {
GUID Guid;
ULONG dwOffset;
ULONG dwCommand;
ULONG dwFlags;
ULONG dwMode;
ULONG dwTVStandard;
ULONG dwAvailableModes;
ULONG dwAvailableTVStandard;
ULONG dwFlickerFilter;
ULONG dwOverScanX;
ULONG dwOverScanY;
ULONG dwMaxUnscaledX;
ULONG dwMaxUnscaledY;
ULONG dwPositionX;
ULONG dwPositionY;
ULONG dwBrightness;
ULONG dwContrast;
ULONG dwCPType;
ULONG dwCPCommand;
ULONG dwCPStandard;
ULONG dwCPKey;
ULONG bCP_APSTriggerBits;
UCHAR bOEMCopyProtection[256];
} VIDEOPARAMETERS,*PVIDEOPARAMETERS,*LPVIDEOPARAMETERS;
__attribute__((dllimport)) LONG ChangeDisplaySettingsA(LPDEVMODEA lpDevMode,DWORD dwFlags);
__attribute__((dllimport)) LONG ChangeDisplaySettingsW(LPDEVMODEW lpDevMode,DWORD dwFlags);
__attribute__((dllimport)) LONG ChangeDisplaySettingsExA(LPCSTR lpszDeviceName,LPDEVMODEA lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam);
__attribute__((dllimport)) LONG ChangeDisplaySettingsExW(LPCWSTR lpszDeviceName,LPDEVMODEW lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam);
__attribute__((dllimport)) WINBOOL EnumDisplaySettingsA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode);
__attribute__((dllimport)) WINBOOL EnumDisplaySettingsW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode);
__attribute__((dllimport)) WINBOOL EnumDisplaySettingsExA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDisplaySettingsExW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDisplayDevicesA(LPCSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEA lpDisplayDevice,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDisplayDevicesW(LPCWSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEW lpDisplayDevice,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL SystemParametersInfoA(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni);
__attribute__((dllimport)) WINBOOL SystemParametersInfoW(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni);
typedef struct tagFILTERKEYS {
UINT cbSize;
DWORD dwFlags;
DWORD iWaitMSec;
DWORD iDelayMSec;
DWORD iRepeatMSec;
DWORD iBounceMSec;
} FILTERKEYS,*LPFILTERKEYS;
typedef struct tagSTICKYKEYS {
UINT cbSize;
DWORD dwFlags;
} STICKYKEYS,*LPSTICKYKEYS;
typedef struct tagMOUSEKEYS {
UINT cbSize;
DWORD dwFlags;
DWORD iMaxSpeed;
DWORD iTimeToMaxSpeed;
DWORD iCtrlSpeed;
DWORD dwReserved1;
DWORD dwReserved2;
} MOUSEKEYS,*LPMOUSEKEYS;
typedef struct tagACCESSTIMEOUT {
UINT cbSize;
DWORD dwFlags;
DWORD iTimeOutMSec;
} ACCESSTIMEOUT,*LPACCESSTIMEOUT;
typedef struct tagSOUNDSENTRYA {
UINT cbSize;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
} SOUNDSENTRYA,*LPSOUNDSENTRYA;
typedef struct tagSOUNDSENTRYW {
UINT cbSize;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPWSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
} SOUNDSENTRYW,*LPSOUNDSENTRYW;
typedef SOUNDSENTRYA SOUNDSENTRY;
typedef LPSOUNDSENTRYA LPSOUNDSENTRY;
typedef struct tagTOGGLEKEYS {
UINT cbSize;
DWORD dwFlags;
} TOGGLEKEYS,*LPTOGGLEKEYS;
typedef struct tagMONITORINFO {
DWORD cbSize;
RECT rcMonitor;
RECT rcWork;
DWORD dwFlags;
} MONITORINFO,*LPMONITORINFO;
typedef struct tagMONITORINFOEXA {
__extension__ struct {
DWORD cbSize;
RECT rcMonitor;
RECT rcWork;
DWORD dwFlags;
};
CHAR szDevice[32];
} MONITORINFOEXA,*LPMONITORINFOEXA;
typedef struct tagMONITORINFOEXW {
__extension__ struct {
DWORD cbSize;
RECT rcMonitor;
RECT rcWork;
DWORD dwFlags;
};
WCHAR szDevice[32];
} MONITORINFOEXW,*LPMONITORINFOEXW;
typedef MONITORINFOEXA MONITORINFOEX;
typedef LPMONITORINFOEXA LPMONITORINFOEX;
typedef WINBOOL ( *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
__attribute__((dllimport)) void SetDebugErrorLevel (DWORD dwLevel);
__attribute__((dllimport)) void SetLastErrorEx (DWORD dwErrCode, DWORD dwType);
__attribute__((dllimport)) int InternalGetWindowText (HWND hWnd, LPWSTR pString, int cchMaxCount);
__attribute__((dllimport)) WINBOOL CancelShutdown (void);
__attribute__((dllimport)) HMONITOR MonitorFromPoint(POINT pt,DWORD dwFlags);
__attribute__((dllimport)) HMONITOR MonitorFromRect(LPCRECT lprc,DWORD dwFlags);
__attribute__((dllimport)) HMONITOR MonitorFromWindow(HWND hwnd,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL GetMonitorInfoA(HMONITOR hMonitor,LPMONITORINFO lpmi);
__attribute__((dllimport)) WINBOOL GetMonitorInfoW(HMONITOR hMonitor,LPMONITORINFO lpmi);
__attribute__((dllimport)) WINBOOL EnumDisplayMonitors(HDC hdc,LPCRECT lprcClip,MONITORENUMPROC lpfnEnum,LPARAM dwData);
typedef void ( *WINEVENTPROC)(HWINEVENTHOOK hWinEventHook,DWORD event,HWND hwnd,LONG idObject,LONG idChild,DWORD idEventThread,DWORD dwmsEventTime);
__attribute__((dllimport)) void NotifyWinEvent(DWORD event,HWND hwnd,LONG idObject,LONG idChild);
__attribute__((dllimport)) HWINEVENTHOOK SetWinEventHook(DWORD eventMin,DWORD eventMax,HMODULE hmodWinEventProc,WINEVENTPROC pfnWinEventProc,DWORD idProcess,DWORD idThread,DWORD dwFlags);
__attribute__((dllimport)) WINBOOL IsWinEventHookInstalled(DWORD event);
__attribute__((dllimport)) WINBOOL UnhookWinEvent(HWINEVENTHOOK hWinEventHook);
typedef struct tagGUITHREADINFO {
DWORD cbSize;
DWORD flags;
HWND hwndActive;
HWND hwndFocus;
HWND hwndCapture;
HWND hwndMenuOwner;
HWND hwndMoveSize;
HWND hwndCaret;
RECT rcCaret;
} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
__attribute__((dllimport)) WINBOOL GetGUIThreadInfo(DWORD idThread,PGUITHREADINFO pgui);
__attribute__((dllimport)) WINBOOL BlockInput (WINBOOL fBlockIt);
__attribute__((dllimport)) UINT GetWindowModuleFileNameA(HWND hwnd,LPSTR pszFileName,UINT cchFileNameMax);
__attribute__((dllimport)) UINT GetWindowModuleFileNameW(HWND hwnd,LPWSTR pszFileName,UINT cchFileNameMax);
typedef struct tagCURSORINFO {
DWORD cbSize;
DWORD flags;
HCURSOR hCursor;
POINT ptScreenPos;
} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
__attribute__((dllimport)) WINBOOL GetCursorInfo(PCURSORINFO pci);
typedef struct tagWINDOWINFO {
DWORD cbSize;
RECT rcWindow;
RECT rcClient;
DWORD dwStyle;
DWORD dwExStyle;
DWORD dwWindowStatus;
UINT cxWindowBorders;
UINT cyWindowBorders;
ATOM atomWindowType;
WORD wCreatorVersion;
} WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
__attribute__((dllimport)) WINBOOL GetWindowInfo(HWND hwnd,PWINDOWINFO pwi);
typedef struct tagTITLEBARINFO {
DWORD cbSize;
RECT rcTitleBar;
DWORD rgstate[5 + 1];
} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
__attribute__((dllimport)) WINBOOL GetTitleBarInfo(HWND hwnd,PTITLEBARINFO pti);
typedef struct tagMENUBARINFO {
DWORD cbSize;
RECT rcBar;
HMENU hMenu;
HWND hwndMenu;
WINBOOL fBarFocused:1;
WINBOOL fFocused:1;
} MENUBARINFO,*PMENUBARINFO,*LPMENUBARINFO;
__attribute__((dllimport)) WINBOOL GetMenuBarInfo(HWND hwnd,LONG idObject,LONG idItem,PMENUBARINFO pmbi);
typedef struct tagSCROLLBARINFO {
DWORD cbSize;
RECT rcScrollBar;
int dxyLineButton;
int xyThumbTop;
int xyThumbBottom;
int reserved;
DWORD rgstate[5 + 1];
} SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
__attribute__((dllimport)) WINBOOL GetScrollBarInfo(HWND hwnd,LONG idObject,PSCROLLBARINFO psbi);
typedef struct tagCOMBOBOXINFO {
DWORD cbSize;
RECT rcItem;
RECT rcButton;
DWORD stateButton;
HWND hwndCombo;
HWND hwndItem;
HWND hwndList;
} COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
__attribute__((dllimport)) WINBOOL GetComboBoxInfo(HWND hwndCombo,PCOMBOBOXINFO pcbi);
__attribute__((dllimport)) HWND GetAncestor(HWND hwnd,UINT gaFlags);
__attribute__((dllimport)) HWND RealChildWindowFromPoint(HWND hwndParent,POINT ptParentClientCoords);
__attribute__((dllimport)) UINT RealGetWindowClassA(HWND hwnd,LPSTR ptszClassName,UINT cchClassNameMax);
__attribute__((dllimport)) UINT RealGetWindowClassW(HWND hwnd,LPWSTR ptszClassName,UINT cchClassNameMax);
typedef struct tagALTTABINFO {
DWORD cbSize;
int cItems;
int cColumns;
int cRows;
int iColFocus;
int iRowFocus;
int cxItem;
int cyItem;
POINT ptStart;
} ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
__attribute__((dllimport)) WINBOOL GetAltTabInfoA(HWND hwnd,int iItem,PALTTABINFO pati,LPSTR pszItemText,UINT cchItemText);
__attribute__((dllimport)) WINBOOL GetAltTabInfoW(HWND hwnd,int iItem,PALTTABINFO pati,LPWSTR pszItemText,UINT cchItemText);
__attribute__((dllimport)) DWORD GetListBoxInfo(HWND hwnd);
__attribute__((dllimport)) WINBOOL LockWorkStation(void);
__attribute__((dllimport)) WINBOOL UserHandleGrantAccess(HANDLE hUserHandle,HANDLE hJob,WINBOOL bGrant);
struct HRAWINPUT__ { int unused; }; typedef struct HRAWINPUT__ *HRAWINPUT;
typedef struct tagRAWINPUTHEADER {
DWORD dwType;
DWORD dwSize;
HANDLE hDevice;
WPARAM wParam;
} RAWINPUTHEADER,*PRAWINPUTHEADER,*LPRAWINPUTHEADER;
typedef struct tagRAWMOUSE {
USHORT usFlags;
__extension__ union {
ULONG ulButtons;
__extension__ struct {
USHORT usButtonFlags;
USHORT usButtonData;
};
};
ULONG ulRawButtons;
LONG lLastX;
LONG lLastY;
ULONG ulExtraInformation;
} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
typedef struct tagRAWKEYBOARD {
USHORT MakeCode;
USHORT Flags;
USHORT Reserved;
USHORT VKey;
UINT Message;
ULONG ExtraInformation;
} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
typedef struct tagRAWHID {
DWORD dwSizeHid;
DWORD dwCount;
BYTE bRawData[1];
} RAWHID,*PRAWHID,*LPRAWHID;
typedef struct tagRAWINPUT {
RAWINPUTHEADER header;
union {
RAWMOUSE mouse;
RAWKEYBOARD keyboard;
RAWHID hid;
} data;
} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
__attribute__((dllimport)) UINT GetRawInputData(HRAWINPUT hRawInput,UINT uiCommand,LPVOID pData,PUINT pcbSize,UINT cbSizeHeader);
typedef struct tagRID_DEVICE_INFO_MOUSE {
DWORD dwId;
DWORD dwNumberOfButtons;
DWORD dwSampleRate;
WINBOOL fHasHorizontalWheel;
} RID_DEVICE_INFO_MOUSE,*PRID_DEVICE_INFO_MOUSE;
typedef struct tagRID_DEVICE_INFO_KEYBOARD {
DWORD dwType;
DWORD dwSubType;
DWORD dwKeyboardMode;
DWORD dwNumberOfFunctionKeys;
DWORD dwNumberOfIndicators;
DWORD dwNumberOfKeysTotal;
} RID_DEVICE_INFO_KEYBOARD,*PRID_DEVICE_INFO_KEYBOARD;
typedef struct tagRID_DEVICE_INFO_HID {
DWORD dwVendorId;
DWORD dwProductId;
DWORD dwVersionNumber;
USHORT usUsagePage;
USHORT usUsage;
} RID_DEVICE_INFO_HID,*PRID_DEVICE_INFO_HID;
typedef struct tagRID_DEVICE_INFO {
DWORD cbSize;
DWORD dwType;
__extension__ union {
RID_DEVICE_INFO_MOUSE mouse;
RID_DEVICE_INFO_KEYBOARD keyboard;
RID_DEVICE_INFO_HID hid;
} ;
} RID_DEVICE_INFO,*PRID_DEVICE_INFO,*LPRID_DEVICE_INFO;
__attribute__((dllimport)) UINT GetRawInputDeviceInfoA(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize);
__attribute__((dllimport)) UINT GetRawInputDeviceInfoW(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize);
__attribute__((dllimport)) UINT GetRawInputBuffer(PRAWINPUT pData,PUINT pcbSize,UINT cbSizeHeader);
typedef struct tagRAWINPUTDEVICE {
USHORT usUsagePage;
USHORT usUsage;
DWORD dwFlags;
HWND hwndTarget;
} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
typedef struct tagRAWINPUTDEVICELIST {
HANDLE hDevice;
DWORD dwType;
} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
__attribute__((dllimport)) WINBOOL RegisterRawInputDevices (PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize);
__attribute__((dllimport)) UINT GetRegisteredRawInputDevices (PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize);
__attribute__((dllimport)) UINT GetRawInputDeviceList (PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize);
__attribute__((dllimport)) LRESULT DefRawInputProc (PRAWINPUT *paRawInput, INT nInput, UINT cbSizeHeader);
__attribute__((dllimport)) WINBOOL ShutdownBlockReasonCreate (HWND hWnd, LPCWSTR pwszReason);
__attribute__((dllimport)) WINBOOL ShutdownBlockReasonQuery (HWND hWnd, LPWSTR pwszBuff, DWORD *pcchBuff);
__attribute__((dllimport)) WINBOOL ShutdownBlockReasonDestroy (HWND hWnd);
__attribute__((dllimport)) int GetTimeFormatEx (LPCWSTR lpLocaleName, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchTime);
__attribute__((dllimport)) int GetDateFormatEx (LPCWSTR lpLocaleName, DWORD dwFlags, const SYSTEMTIME *lpDate, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchDate, LPCWSTR lpCalendar);
__attribute__((dllimport)) int GetDateFormatA (LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpDate, LPCSTR lpFormat, LPSTR lpDateStr, int cchDate);
__attribute__((dllimport)) int GetDateFormatW (LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpDate, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchDate);
__attribute__((dllimport)) int GetTimeFormatA (LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCSTR lpFormat, LPSTR lpTimeStr, int cchTime);
__attribute__((dllimport)) int GetTimeFormatW (LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchTime);
typedef DWORD LGRPID;
typedef DWORD LCTYPE;
typedef DWORD CALTYPE;
typedef DWORD CALID;
typedef struct _cpinfo {
UINT MaxCharSize;
BYTE DefaultChar[2];
BYTE LeadByte[12];
} CPINFO,*LPCPINFO;
typedef struct _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[2];
BYTE LeadByte[12];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[260];
} CPINFOEXA,*LPCPINFOEXA;
typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[2];
BYTE LeadByte[12];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[260];
} CPINFOEXW,*LPCPINFOEXW;
typedef CPINFOEXA CPINFOEX;
typedef LPCPINFOEXA LPCPINFOEX;
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;
typedef NUMBERFMTA NUMBERFMT;
typedef LPNUMBERFMTA LPNUMBERFMT;
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;
typedef CURRENCYFMTA CURRENCYFMT;
typedef LPCURRENCYFMTA LPCURRENCYFMT;
enum SYSNLS_FUNCTION {
COMPARE_STRING = 0x1
};
typedef DWORD NLS_FUNCTION;
typedef struct _nlsversioninfo {
DWORD dwNLSVersionInfoSize;
DWORD dwNLSVersion;
DWORD dwDefinedVersion;
} NLSVERSIONINFO,*LPNLSVERSIONINFO;
typedef struct _nlsversioninfoex {
DWORD dwNLSVersionInfoSize;
DWORD dwNLSVersion;
DWORD dwDefinedVersion;
DWORD dwEffectiveId;
GUID guidCustomVersion;
} NLSVERSIONINFOEX,*LPNLSVERSIONINFOEX;
typedef LONG GEOID;
typedef DWORD GEOTYPE;
typedef DWORD GEOCLASS;
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,
GEO_ISO_UN_NUMBER = 0x000c,
GEO_PARENT = 0x000d
};
enum SYSGEOCLASS {
GEOCLASS_NATION = 16,
GEOCLASS_REGION = 14,
GEOCLASS_ALL = 0
};
typedef WINBOOL ( *LANGUAGEGROUP_ENUMPROCA) (LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
typedef WINBOOL ( *LANGGROUPLOCALE_ENUMPROCA) (LGRPID, LCID, LPSTR, LONG_PTR);
typedef WINBOOL ( *UILANGUAGE_ENUMPROCA) (LPSTR, LONG_PTR);
typedef WINBOOL ( *CODEPAGE_ENUMPROCA) (LPSTR);
typedef WINBOOL ( *DATEFMT_ENUMPROCA) (LPSTR);
typedef WINBOOL ( *DATEFMT_ENUMPROCEXA) (LPSTR, CALID);
typedef WINBOOL ( *TIMEFMT_ENUMPROCA) (LPSTR);
typedef WINBOOL ( *CALINFO_ENUMPROCA) (LPSTR);
typedef WINBOOL ( *CALINFO_ENUMPROCEXA) (LPSTR, CALID);
typedef WINBOOL ( *LOCALE_ENUMPROCA) (LPSTR);
typedef WINBOOL ( *LOCALE_ENUMPROCW) (LPWSTR);
typedef WINBOOL ( *LANGUAGEGROUP_ENUMPROCW) (LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
typedef WINBOOL ( *LANGGROUPLOCALE_ENUMPROCW) (LGRPID, LCID, LPWSTR, LONG_PTR);
typedef WINBOOL ( *UILANGUAGE_ENUMPROCW) (LPWSTR, LONG_PTR);
typedef WINBOOL ( *CODEPAGE_ENUMPROCW) (LPWSTR);
typedef WINBOOL ( *DATEFMT_ENUMPROCW) (LPWSTR);
typedef WINBOOL ( *DATEFMT_ENUMPROCEXW) (LPWSTR, CALID);
typedef WINBOOL ( *TIMEFMT_ENUMPROCW) (LPWSTR);
typedef WINBOOL ( *CALINFO_ENUMPROCW) (LPWSTR);
typedef WINBOOL ( *CALINFO_ENUMPROCEXW) (LPWSTR, CALID);
typedef WINBOOL ( *GEO_ENUMPROC) (GEOID);
typedef struct _FILEMUIINFO {
DWORD dwSize;
DWORD dwVersion;
DWORD dwFileType;
BYTE pChecksum[16];
BYTE pServiceChecksum[16];
DWORD dwLanguageNameOffset;
DWORD dwTypeIDMainSize;
DWORD dwTypeIDMainOffset;
DWORD dwTypeNameMainOffset;
DWORD dwTypeIDMUISize;
DWORD dwTypeIDMUIOffset;
DWORD dwTypeNameMUIOffset;
BYTE abBuffer[8];
} FILEMUIINFO,*PFILEMUIINFO;
__attribute__((dllimport)) int CompareStringW (LCID Locale, DWORD dwCmpFlags, PCNZWCH lpString1, int cchCount1, PCNZWCH lpString2, int cchCount2);
__attribute__((dllimport)) int FoldStringW (DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
__attribute__((dllimport)) WINBOOL GetStringTypeExW (LCID Locale, DWORD dwInfoType, LPCWCH lpSrcStr, int cchSrc, LPWORD lpCharType);
__attribute__((dllimport)) WINBOOL GetStringTypeW (DWORD dwInfoType, LPCWCH lpSrcStr, int cchSrc, LPWORD lpCharType);
__attribute__((dllimport)) int MultiByteToWideChar (UINT CodePage, DWORD dwFlags, LPCCH lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar);
__attribute__((dllimport)) int WideCharToMultiByte (UINT CodePage, DWORD dwFlags, LPCWCH lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCCH lpDefaultChar, LPBOOL lpUsedDefaultChar);
__attribute__((dllimport)) WINBOOL IsValidCodePage (UINT CodePage);
__attribute__((dllimport)) UINT GetACP (void);
__attribute__((dllimport)) WINBOOL IsDBCSLeadByteEx (UINT CodePage, BYTE TestChar);
__attribute__((dllimport)) UINT GetOEMCP (void);
__attribute__((dllimport)) int CompareStringA (LCID Locale, DWORD dwCmpFlags, PCNZCH lpString1, int cchCount1, PCNZCH lpString2, int cchCount2);
__attribute__((dllimport)) int LCMapStringW (LCID Locale, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
__attribute__((dllimport)) int LCMapStringA (LCID Locale, DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest);
__attribute__((dllimport)) int GetLocaleInfoW (LCID Locale, LCTYPE LCType, LPWSTR lpLCData, int cchData);
__attribute__((dllimport)) int GetLocaleInfoA (LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData);
__attribute__((dllimport)) WINBOOL IsDBCSLeadByte (BYTE TestChar);
__attribute__((dllimport)) int GetNumberFormatA (LCID Locale, DWORD dwFlags, LPCSTR lpValue, const NUMBERFMTA *lpFormat, LPSTR lpNumberStr, int cchNumber);
__attribute__((dllimport)) int GetNumberFormatW (LCID Locale, DWORD dwFlags, LPCWSTR lpValue, const NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber);
__attribute__((dllimport)) int GetCurrencyFormatA (LCID Locale, DWORD dwFlags, LPCSTR lpValue, const CURRENCYFMTA *lpFormat, LPSTR lpCurrencyStr, int cchCurrency);
__attribute__((dllimport)) int GetCurrencyFormatW (LCID Locale, DWORD dwFlags, LPCWSTR lpValue, const CURRENCYFMTW *lpFormat, LPWSTR lpCurrencyStr, int cchCurrency);
__attribute__((dllimport)) WINBOOL EnumCalendarInfoA (CALINFO_ENUMPROCA lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType);
__attribute__((dllimport)) WINBOOL EnumCalendarInfoW (CALINFO_ENUMPROCW lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType);
__attribute__((dllimport)) WINBOOL EnumCalendarInfoExA (CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType);
__attribute__((dllimport)) WINBOOL EnumCalendarInfoExW (CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType);
__attribute__((dllimport)) WINBOOL EnumTimeFormatsA (TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumTimeFormatsW (TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDateFormatsA (DATEFMT_ENUMPROCA lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDateFormatsW (DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDateFormatsExA (DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumDateFormatsExW (DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL IsValidLanguageGroup (LGRPID LanguageGroup, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL GetNLSVersion (NLS_FUNCTION Function, LCID Locale, LPNLSVERSIONINFO lpVersionInformation);
__attribute__((dllimport)) WINBOOL IsNLSDefinedString (NLS_FUNCTION Function, DWORD dwFlags, LPNLSVERSIONINFO lpVersionInformation, LPCWSTR lpString, INT cchStr);
__attribute__((dllimport)) WINBOOL IsValidLocale (LCID Locale, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL SetLocaleInfoA (LCID Locale, LCTYPE LCType, LPCSTR lpLCData);
__attribute__((dllimport)) WINBOOL SetLocaleInfoW (LCID Locale, LCTYPE LCType, LPCWSTR lpLCData);
__attribute__((dllimport)) int GetCalendarInfoA (LCID Locale, CALID Calendar, CALTYPE CalType, LPSTR lpCalData, int cchData, LPDWORD lpValue);
__attribute__((dllimport)) int GetCalendarInfoW (LCID Locale, CALID Calendar, CALTYPE CalType, LPWSTR lpCalData, int cchData, LPDWORD lpValue);
__attribute__((dllimport)) WINBOOL SetCalendarInfoA (LCID Locale, CALID Calendar, CALTYPE CalType, LPCSTR lpCalData);
__attribute__((dllimport)) WINBOOL SetCalendarInfoW (LCID Locale, CALID Calendar, CALTYPE CalType, LPCWSTR lpCalData);
__attribute__((dllimport)) int GetGeoInfoA (GEOID Location, GEOTYPE GeoType, LPSTR lpGeoData, int cchData, LANGID LangId);
__attribute__((dllimport)) int GetGeoInfoW (GEOID Location, GEOTYPE GeoType, LPWSTR lpGeoData, int cchData, LANGID LangId);
__attribute__((dllimport)) WINBOOL EnumSystemGeoID (GEOCLASS GeoClass, GEOID ParentGeoId, GEO_ENUMPROC lpGeoEnumProc);
__attribute__((dllimport)) GEOID GetUserGeoID (GEOCLASS GeoClass);
__attribute__((dllimport)) WINBOOL GetCPInfo (UINT CodePage, LPCPINFO lpCPInfo);
__attribute__((dllimport)) WINBOOL GetCPInfoExA (UINT CodePage, DWORD dwFlags, LPCPINFOEXA lpCPInfoEx);
__attribute__((dllimport)) WINBOOL GetCPInfoExW (UINT CodePage, DWORD dwFlags, LPCPINFOEXW lpCPInfoEx);
__attribute__((dllimport)) WINBOOL SetUserGeoID (GEOID GeoId);
__attribute__((dllimport)) LCID ConvertDefaultLocale (LCID Locale);
__attribute__((dllimport)) LCID GetThreadLocale (void);
__attribute__((dllimport)) WINBOOL SetThreadLocale (LCID Locale);
__attribute__((dllimport)) LANGID GetSystemDefaultUILanguage (void);
__attribute__((dllimport)) LANGID GetUserDefaultUILanguage (void);
__attribute__((dllimport)) LANGID GetSystemDefaultLangID (void);
__attribute__((dllimport)) LANGID GetUserDefaultLangID (void);
__attribute__((dllimport)) LCID GetSystemDefaultLCID (void);
__attribute__((dllimport)) LCID GetUserDefaultLCID (void);
__attribute__((dllimport)) LANGID SetThreadUILanguage (LANGID LangId);
__attribute__((dllimport)) WINBOOL GetStringTypeExA (LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType);
__attribute__((dllimport)) WINBOOL GetStringTypeA (LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType);
__attribute__((dllimport)) int FoldStringA (DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest);
__attribute__((dllimport)) WINBOOL EnumSystemLocalesA (LOCALE_ENUMPROCA lpLocaleEnumProc, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumSystemLocalesW (LOCALE_ENUMPROCW lpLocaleEnumProc, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumSystemLanguageGroupsA (LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumSystemLanguageGroupsW (LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumLanguageGroupLocalesA (LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumLanguageGroupLocalesW (LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumUILanguagesA (UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumUILanguagesW (UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam);
__attribute__((dllimport)) WINBOOL EnumSystemCodePagesA (CODEPAGE_ENUMPROCA lpCodePageEnumProc, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL EnumSystemCodePagesW (CODEPAGE_ENUMPROCW lpCodePageEnumProc, DWORD dwFlags);
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;
typedef struct _MOUSE_EVENT_RECORD {
COORD dwMousePosition;
DWORD dwButtonState;
DWORD dwControlKeyState;
DWORD dwEventFlags;
} MOUSE_EVENT_RECORD,*PMOUSE_EVENT_RECORD;
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;
typedef struct _CHAR_INFO {
union {
WCHAR UnicodeChar;
CHAR AsciiChar;
} Char;
WORD Attributes;
} CHAR_INFO,*PCHAR_INFO;
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;
typedef WINBOOL ( *PHANDLER_ROUTINE)(DWORD CtrlType);
__attribute__((dllimport)) WINBOOL PeekConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
__attribute__((dllimport)) WINBOOL PeekConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
__attribute__((dllimport)) WINBOOL ReadConsoleInputA(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
__attribute__((dllimport)) WINBOOL ReadConsoleInputW(HANDLE hConsoleInput,PINPUT_RECORD lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsRead);
__attribute__((dllimport)) WINBOOL WriteConsoleInputA(HANDLE hConsoleInput,const INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
__attribute__((dllimport)) WINBOOL WriteConsoleInputW(HANDLE hConsoleInput,const INPUT_RECORD *lpBuffer,DWORD nLength,LPDWORD lpNumberOfEventsWritten);
__attribute__((dllimport)) WINBOOL ReadConsoleOutputA(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
__attribute__((dllimport)) WINBOOL ReadConsoleOutputW(HANDLE hConsoleOutput,PCHAR_INFO lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpReadRegion);
__attribute__((dllimport)) WINBOOL WriteConsoleOutputA(HANDLE hConsoleOutput,const CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
__attribute__((dllimport)) WINBOOL WriteConsoleOutputW(HANDLE hConsoleOutput,const CHAR_INFO *lpBuffer,COORD dwBufferSize,COORD dwBufferCoord,PSMALL_RECT lpWriteRegion);
__attribute__((dllimport)) WINBOOL ReadConsoleOutputCharacterA(HANDLE hConsoleOutput,LPSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
__attribute__((dllimport)) WINBOOL ReadConsoleOutputCharacterW(HANDLE hConsoleOutput,LPWSTR lpCharacter,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfCharsRead);
__attribute__((dllimport)) WINBOOL ReadConsoleOutputAttribute(HANDLE hConsoleOutput,LPWORD lpAttribute,DWORD nLength,COORD dwReadCoord,LPDWORD lpNumberOfAttrsRead);
__attribute__((dllimport)) WINBOOL WriteConsoleOutputCharacterA(HANDLE hConsoleOutput,LPCSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
__attribute__((dllimport)) WINBOOL WriteConsoleOutputCharacterW(HANDLE hConsoleOutput,LPCWSTR lpCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
__attribute__((dllimport)) WINBOOL WriteConsoleOutputAttribute(HANDLE hConsoleOutput,const WORD *lpAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
__attribute__((dllimport)) WINBOOL FillConsoleOutputCharacterA(HANDLE hConsoleOutput,CHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
__attribute__((dllimport)) WINBOOL FillConsoleOutputCharacterW(HANDLE hConsoleOutput,WCHAR cCharacter,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfCharsWritten);
__attribute__((dllimport)) WINBOOL FillConsoleOutputAttribute(HANDLE hConsoleOutput,WORD wAttribute,DWORD nLength,COORD dwWriteCoord,LPDWORD lpNumberOfAttrsWritten);
__attribute__((dllimport)) WINBOOL GetConsoleMode(HANDLE hConsoleHandle,LPDWORD lpMode);
__attribute__((dllimport)) WINBOOL GetNumberOfConsoleInputEvents(HANDLE hConsoleInput,LPDWORD lpNumberOfEvents);
__attribute__((dllimport)) WINBOOL GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);
__attribute__((dllimport)) COORD GetLargestConsoleWindowSize(HANDLE hConsoleOutput);
__attribute__((dllimport)) WINBOOL GetConsoleCursorInfo(HANDLE hConsoleOutput,PCONSOLE_CURSOR_INFO lpConsoleCursorInfo);
__attribute__((dllimport)) WINBOOL GetCurrentConsoleFont(HANDLE hConsoleOutput,WINBOOL bMaximumWindow,PCONSOLE_FONT_INFO lpConsoleCurrentFont);
__attribute__((dllimport)) COORD GetConsoleFontSize(HANDLE hConsoleOutput,DWORD nFont);
__attribute__((dllimport)) WINBOOL GetConsoleSelectionInfo(PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo);
__attribute__((dllimport)) WINBOOL GetNumberOfConsoleMouseButtons(LPDWORD lpNumberOfMouseButtons);
__attribute__((dllimport)) WINBOOL SetConsoleMode(HANDLE hConsoleHandle,DWORD dwMode);
__attribute__((dllimport)) WINBOOL SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput);
__attribute__((dllimport)) WINBOOL FlushConsoleInputBuffer(HANDLE hConsoleInput);
__attribute__((dllimport)) WINBOOL SetConsoleScreenBufferSize(HANDLE hConsoleOutput,COORD dwSize);
__attribute__((dllimport)) WINBOOL SetConsoleCursorPosition(HANDLE hConsoleOutput,COORD dwCursorPosition);
__attribute__((dllimport)) WINBOOL SetConsoleCursorInfo(HANDLE hConsoleOutput,const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo);
__attribute__((dllimport)) WINBOOL ScrollConsoleScreenBufferA(HANDLE hConsoleOutput,const SMALL_RECT *lpScrollRectangle,const SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,const CHAR_INFO *lpFill);
__attribute__((dllimport)) WINBOOL ScrollConsoleScreenBufferW(HANDLE hConsoleOutput,const SMALL_RECT *lpScrollRectangle,const SMALL_RECT *lpClipRectangle,COORD dwDestinationOrigin,const CHAR_INFO *lpFill);
__attribute__((dllimport)) WINBOOL SetConsoleWindowInfo(HANDLE hConsoleOutput,WINBOOL bAbsolute,const SMALL_RECT *lpConsoleWindow);
__attribute__((dllimport)) WINBOOL SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes);
__attribute__((dllimport)) WINBOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine,WINBOOL Add);
__attribute__((dllimport)) WINBOOL GenerateConsoleCtrlEvent(DWORD dwCtrlEvent,DWORD dwProcessGroupId);
__attribute__((dllimport)) WINBOOL AllocConsole(void);
__attribute__((dllimport)) WINBOOL FreeConsole(void);
__attribute__((dllimport)) WINBOOL AttachConsole(DWORD dwProcessId);
__attribute__((dllimport)) DWORD GetConsoleTitleA(LPSTR lpConsoleTitle,DWORD nSize);
__attribute__((dllimport)) DWORD GetConsoleTitleW(LPWSTR lpConsoleTitle,DWORD nSize);
__attribute__((dllimport)) WINBOOL SetConsoleTitleA(LPCSTR lpConsoleTitle);
__attribute__((dllimport)) WINBOOL SetConsoleTitleW(LPCWSTR lpConsoleTitle);
__attribute__((dllimport)) WINBOOL ReadConsoleA(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
__attribute__((dllimport)) WINBOOL ReadConsoleW(HANDLE hConsoleInput,LPVOID lpBuffer,DWORD nNumberOfCharsToRead,LPDWORD lpNumberOfCharsRead,LPVOID lpReserved);
__attribute__((dllimport)) WINBOOL WriteConsoleA(HANDLE hConsoleOutput,const void *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
__attribute__((dllimport)) WINBOOL WriteConsoleW(HANDLE hConsoleOutput,const void *lpBuffer,DWORD nNumberOfCharsToWrite,LPDWORD lpNumberOfCharsWritten,LPVOID lpReserved);
__attribute__((dllimport)) HANDLE CreateConsoleScreenBuffer(DWORD dwDesiredAccess,DWORD dwShareMode,const SECURITY_ATTRIBUTES *lpSecurityAttributes,DWORD dwFlags,LPVOID lpScreenBufferData);
__attribute__((dllimport)) UINT GetConsoleCP(void);
__attribute__((dllimport)) WINBOOL SetConsoleCP(UINT wCodePageID);
__attribute__((dllimport)) UINT GetConsoleOutputCP(void);
__attribute__((dllimport)) WINBOOL SetConsoleOutputCP(UINT wCodePageID);
__attribute__((dllimport)) WINBOOL GetConsoleDisplayMode(LPDWORD lpModeFlags);
__attribute__((dllimport)) WINBOOL SetConsoleDisplayMode(HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions);
__attribute__((dllimport)) HWND GetConsoleWindow(void);
__attribute__((dllimport)) DWORD GetConsoleProcessList(LPDWORD lpdwProcessList,DWORD dwProcessCount);
__attribute__((dllimport)) WINBOOL AddConsoleAliasA(LPSTR Source,LPSTR Target,LPSTR ExeName);
__attribute__((dllimport)) WINBOOL AddConsoleAliasW(LPWSTR Source,LPWSTR Target,LPWSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasA(LPSTR Source,LPSTR TargetBuffer,DWORD TargetBufferLength,LPSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasW(LPWSTR Source,LPWSTR TargetBuffer,DWORD TargetBufferLength,LPWSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasesLengthA(LPSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasesLengthW(LPWSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasExesLengthA(void);
__attribute__((dllimport)) DWORD GetConsoleAliasExesLengthW(void);
__attribute__((dllimport)) DWORD GetConsoleAliasesA(LPSTR AliasBuffer,DWORD AliasBufferLength,LPSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasesW(LPWSTR AliasBuffer,DWORD AliasBufferLength,LPWSTR ExeName);
__attribute__((dllimport)) DWORD GetConsoleAliasExesA(LPSTR ExeNameBuffer,DWORD ExeNameBufferLength);
__attribute__((dllimport)) DWORD GetConsoleAliasExesW(LPWSTR ExeNameBuffer,DWORD ExeNameBufferLength);
typedef struct _CONSOLE_FONT_INFOEX {
ULONG cbSize;
DWORD nFont;
COORD dwFontSize;
UINT FontFamily;
UINT FontWeight;
WCHAR FaceName[32];
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
typedef struct _CONSOLE_HISTORY_INFO {
UINT cbSize;
UINT HistoryBufferSize;
UINT NumberOfHistoryBuffers;
DWORD dwFlags;
} CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
typedef struct _CONSOLE_READCONSOLE_CONTROL {
ULONG nLength;
ULONG nInitialChars;
ULONG dwCtrlWakeupMask;
ULONG dwControlKeyState;
} CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX {
ULONG cbSize;
COORD dwSize;
COORD dwCursorPosition;
WORD wAttributes;
SMALL_RECT srWindow;
COORD dwMaximumWindowSize;
WORD wPopupAttributes;
WINBOOL bFullscreenSupported;
COLORREF ColorTable[16];
} CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX;
WINBOOL GetConsoleHistoryInfo(
PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo
);
__attribute__((dllimport)) WINBOOL GetConsoleScreenBufferInfoEx(
HANDLE hConsoleOutput,
PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
);
__attribute__((dllimport)) WINBOOL GetCurrentConsoleFontEx(
HANDLE hConsoleOutput,
WINBOOL bMaximumWindow,
PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
);
__attribute__((dllimport)) WINBOOL SetConsoleHistoryInfo(
PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo
);
__attribute__((dllimport)) WINBOOL SetConsoleScreenBufferInfoEx(
HANDLE hConsoleOutput,
PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx
);
__attribute__((dllimport)) WINBOOL SetCurrentConsoleFontEx(
HANDLE hConsoleOutput,
WINBOOL bMaximumWindow,
PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx
);
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;
DWORD VerFindFileA(DWORD uFlags,LPSTR szFileName,LPSTR szWinDir,LPSTR szAppDir,LPSTR szCurDir,PUINT lpuCurDirLen,LPSTR szDestDir,PUINT lpuDestDirLen);
DWORD VerFindFileW(DWORD uFlags,LPWSTR szFileName,LPWSTR szWinDir,LPWSTR szAppDir,LPWSTR szCurDir,PUINT lpuCurDirLen,LPWSTR szDestDir,PUINT lpuDestDirLen);
DWORD VerInstallFileA(DWORD uFlags,LPSTR szSrcFileName,LPSTR szDestFileName,LPSTR szSrcDir,LPSTR szDestDir,LPSTR szCurDir,LPSTR szTmpFile,PUINT lpuTmpFileLen);
DWORD VerInstallFileW(DWORD uFlags,LPWSTR szSrcFileName,LPWSTR szDestFileName,LPWSTR szSrcDir,LPWSTR szDestDir,LPWSTR szCurDir,LPWSTR szTmpFile,PUINT lpuTmpFileLen);
DWORD GetFileVersionInfoSizeA(LPCSTR lptstrFilename,LPDWORD lpdwHandle);
DWORD GetFileVersionInfoSizeW(LPCWSTR lptstrFilename,LPDWORD lpdwHandle);
WINBOOL GetFileVersionInfoA(LPCSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
WINBOOL GetFileVersionInfoW(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
DWORD VerLanguageNameA(DWORD wLang,LPSTR szLang,DWORD nSize);
DWORD VerLanguageNameW(DWORD wLang,LPWSTR szLang,DWORD nSize);
WINBOOL VerQueryValueA(LPCVOID pBlock,LPCSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
WINBOOL VerQueryValueW(LPCVOID pBlock,LPCWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
typedef ACCESS_MASK REGSAM;
typedef LONG LSTATUS;
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;
typedef PVALUEA PVALUE;
typedef PPVALUEA PPVALUE;
typedef DWORD __attribute__((__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;
typedef VALENTA VALENT;
typedef PVALENTA PVALENT;
__attribute__((dllimport)) LONG RegCloseKey(HKEY hKey);
__attribute__((dllimport)) LONG RegOverridePredefKey(HKEY hKey,HKEY hNewHKey);
__attribute__((dllimport)) LONG RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult);
__attribute__((dllimport)) LONG RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult);
__attribute__((dllimport)) LONG RegDisablePredefinedCache(void);
__attribute__((dllimport)) LONG RegDisablePredefinedCacheEx(void);
__attribute__((dllimport)) LONG RegConnectRegistryA(LPCSTR lpMachineName,HKEY hKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegConnectRegistryW(LPCWSTR lpMachineName,HKEY hKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegConnectRegistryExA(LPCSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
__attribute__((dllimport)) LONG RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
__attribute__((dllimport)) LONG RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
__attribute__((dllimport)) LONG RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
__attribute__((dllimport)) LONG RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey);
__attribute__((dllimport)) LONG RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey);
__attribute__((dllimport)) LONG RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
__attribute__((dllimport)) LONG RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
__attribute__((dllimport)) LONG RegDisableReflectionKey(HKEY hBase);
__attribute__((dllimport)) LONG RegEnableReflectionKey(HKEY hBase);
__attribute__((dllimport)) LONG RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled);
__attribute__((dllimport)) LONG RegDeleteValueA(HKEY hKey,LPCSTR lpValueName);
__attribute__((dllimport)) LONG RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName);
__attribute__((dllimport)) LONG RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName);
__attribute__((dllimport)) LONG RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName);
__attribute__((dllimport)) LONG RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
__attribute__((dllimport)) LONG RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
__attribute__((dllimport)) LONG RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
__attribute__((dllimport)) LONG RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
__attribute__((dllimport)) LONG RegFlushKey(HKEY hKey);
__attribute__((dllimport)) LONG RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor);
__attribute__((dllimport)) LONG RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpFile);
__attribute__((dllimport)) LONG RegLoadKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpFile);
__attribute__((dllimport)) LONG RegNotifyChangeKeyValue(HKEY hKey,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,HANDLE hEvent,WINBOOL fAsynchronous);
__attribute__((dllimport)) LONG RegOpenKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegOpenKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
__attribute__((dllimport)) LONG RegOpenKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
__attribute__((dllimport)) LONG RegOpenKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
__attribute__((dllimport)) LONG 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);
__attribute__((dllimport)) LONG 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);
__attribute__((dllimport)) LONG RegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpData,PLONG lpcbData);
__attribute__((dllimport)) LONG RegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpData,PLONG lpcbData);
__attribute__((dllimport)) LONG RegQueryMultipleValuesA(HKEY hKey,PVALENTA val_list,DWORD num_vals,LPSTR lpValueBuf,LPDWORD ldwTotsize);
__attribute__((dllimport)) LONG RegQueryMultipleValuesW(HKEY hKey,PVALENTW val_list,DWORD num_vals,LPWSTR lpValueBuf,LPDWORD ldwTotsize);
__attribute__((dllimport)) LONG RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
__attribute__((dllimport)) LONG RegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
__attribute__((dllimport)) LONG RegReplaceKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpNewFile,LPCSTR lpOldFile);
__attribute__((dllimport)) LONG RegReplaceKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpNewFile,LPCWSTR lpOldFile);
__attribute__((dllimport)) LONG RegRestoreKeyA(HKEY hKey,LPCSTR lpFile,DWORD dwFlags);
__attribute__((dllimport)) LONG RegRestoreKeyW(HKEY hKey,LPCWSTR lpFile,DWORD dwFlags);
__attribute__((dllimport)) LONG RegSaveKeyA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) LONG RegSaveKeyW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
__attribute__((dllimport)) LONG RegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
__attribute__((dllimport)) LONG RegSetValueA(HKEY hKey,LPCSTR lpSubKey,DWORD dwType,LPCSTR lpData,DWORD cbData);
__attribute__((dllimport)) LONG RegSetValueW(HKEY hKey,LPCWSTR lpSubKey,DWORD dwType,LPCWSTR lpData,DWORD cbData);
__attribute__((dllimport)) LONG RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,const BYTE *lpData,DWORD cbData);
__attribute__((dllimport)) LONG RegSetValueExW(HKEY hKey,LPCWSTR lpValueName,DWORD Reserved,DWORD dwType,const BYTE *lpData,DWORD cbData);
__attribute__((dllimport)) LONG RegUnLoadKeyA(HKEY hKey,LPCSTR lpSubKey);
__attribute__((dllimport)) LONG RegUnLoadKeyW(HKEY hKey,LPCWSTR lpSubKey);
__attribute__((dllimport)) LONG RegGetValueA(HKEY hkey,LPCSTR lpSubKey,LPCSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
__attribute__((dllimport)) LONG RegGetValueW(HKEY hkey,LPCWSTR lpSubKey,LPCWSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
__attribute__((dllimport)) WINBOOL InitiateSystemShutdownA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
__attribute__((dllimport)) WINBOOL InitiateSystemShutdownW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
__attribute__((dllimport)) WINBOOL AbortSystemShutdownA(LPSTR lpMachineName);
__attribute__((dllimport)) WINBOOL AbortSystemShutdownW(LPWSTR lpMachineName);
__attribute__((dllimport)) WINBOOL InitiateSystemShutdownExA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
__attribute__((dllimport)) WINBOOL InitiateSystemShutdownExW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
__attribute__((dllimport)) LONG RegSaveKeyExA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
__attribute__((dllimport)) LONG RegSaveKeyExW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
__attribute__((dllimport)) LONG Wow64Win32ApiEntry (DWORD dwFuncNumber,DWORD dwFlag,DWORD dwRes);
typedef struct _NETRESOURCEA {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPSTR lpLocalName;
LPSTR lpRemoteName;
LPSTR lpComment;
LPSTR lpProvider;
} NETRESOURCEA,*LPNETRESOURCEA;
typedef struct _NETRESOURCEW {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPWSTR lpLocalName;
LPWSTR lpRemoteName;
LPWSTR lpComment;
LPWSTR lpProvider;
} NETRESOURCEW,*LPNETRESOURCEW;
typedef NETRESOURCEA NETRESOURCE;
typedef LPNETRESOURCEA LPNETRESOURCE;
DWORD WNetAddConnectionA(LPCSTR lpRemoteName,LPCSTR lpPassword,LPCSTR lpLocalName);
DWORD WNetAddConnectionW(LPCWSTR lpRemoteName,LPCWSTR lpPassword,LPCWSTR lpLocalName);
DWORD WNetAddConnection2A(LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
DWORD WNetAddConnection2W(LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
DWORD WNetAddConnection3A(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags);
DWORD WNetAddConnection3W(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags);
DWORD WNetCancelConnectionA(LPCSTR lpName,WINBOOL fForce);
DWORD WNetCancelConnectionW(LPCWSTR lpName,WINBOOL fForce);
DWORD WNetCancelConnection2A(LPCSTR lpName,DWORD dwFlags,WINBOOL fForce);
DWORD WNetCancelConnection2W(LPCWSTR lpName,DWORD dwFlags,WINBOOL fForce);
DWORD WNetGetConnectionA(LPCSTR lpLocalName,LPSTR lpRemoteName,LPDWORD lpnLength);
DWORD WNetGetConnectionW(LPCWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnLength);
DWORD WNetRestoreConnectionA(HWND hwndParent,LPCSTR lpDevice);
DWORD WNetUseConnectionA(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserID,DWORD dwFlags,LPSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
DWORD WNetUseConnectionW(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserID,DWORD dwFlags,LPWSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult);
DWORD WNetConnectionDialog(HWND hwnd,DWORD dwType);
DWORD WNetDisconnectDialog(HWND hwnd,DWORD dwType);
DWORD WNetRestoreConnectionW(HWND hwndParent,LPCWSTR lpDevice);
typedef struct _CONNECTDLGSTRUCTA {
DWORD cbStructure;
HWND hwndOwner;
LPNETRESOURCEA lpConnRes;
DWORD dwFlags;
DWORD dwDevNum;
} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
typedef struct _CONNECTDLGSTRUCTW {
DWORD cbStructure;
HWND hwndOwner;
LPNETRESOURCEW lpConnRes;
DWORD dwFlags;
DWORD dwDevNum;
} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT;
typedef LPCONNECTDLGSTRUCTA LPCONNECTDLGSTRUCT;
DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA lpConnDlgStruct);
DWORD WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct);
typedef struct _DISCDLGSTRUCTA {
DWORD cbStructure;
HWND hwndOwner;
LPSTR lpLocalName;
LPSTR lpRemoteName;
DWORD dwFlags;
} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
typedef struct _DISCDLGSTRUCTW {
DWORD cbStructure;
HWND hwndOwner;
LPWSTR lpLocalName;
LPWSTR lpRemoteName;
DWORD dwFlags;
} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
typedef DISCDLGSTRUCTA DISCDLGSTRUCT;
typedef LPDISCDLGSTRUCTA LPDISCDLGSTRUCT;
DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCTA lpConnDlgStruct);
DWORD WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct);
DWORD WNetOpenEnumA(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEA lpNetResource,LPHANDLE lphEnum);
DWORD WNetOpenEnumW(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum);
DWORD WNetEnumResourceA(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
DWORD WNetEnumResourceW(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize);
DWORD WNetCloseEnum(HANDLE hEnum);
DWORD WNetGetResourceParentA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
DWORD WNetGetResourceParentW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer);
DWORD WNetGetResourceInformationA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPSTR *lplpSystem);
DWORD WNetGetResourceInformationW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPWSTR *lplpSystem);
typedef struct _UNIVERSAL_NAME_INFOA {
LPSTR lpUniversalName;
} UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
typedef struct _UNIVERSAL_NAME_INFOW {
LPWSTR lpUniversalName;
} UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO;
typedef LPUNIVERSAL_NAME_INFOA LPUNIVERSAL_NAME_INFO;
typedef struct _REMOTE_NAME_INFOA {
LPSTR lpUniversalName;
LPSTR lpConnectionName;
LPSTR lpRemainingPath;
} REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
typedef struct _REMOTE_NAME_INFOW {
LPWSTR lpUniversalName;
LPWSTR lpConnectionName;
LPWSTR lpRemainingPath;
} REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO;
typedef LPREMOTE_NAME_INFOA LPREMOTE_NAME_INFO;
DWORD WNetGetUniversalNameA(LPCSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
DWORD WNetGetUniversalNameW(LPCWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize);
DWORD WNetGetUserA(LPCSTR lpName,LPSTR lpUserName,LPDWORD lpnLength);
DWORD WNetGetUserW(LPCWSTR lpName,LPWSTR lpUserName,LPDWORD lpnLength);
DWORD WNetGetProviderNameA(DWORD dwNetType,LPSTR lpProviderName,LPDWORD lpBufferSize);
DWORD WNetGetProviderNameW(DWORD dwNetType,LPWSTR lpProviderName,LPDWORD lpBufferSize);
typedef struct _NETINFOSTRUCT {
DWORD cbStructure;
DWORD dwProviderVersion;
DWORD dwStatus;
DWORD dwCharacteristics;
ULONG_PTR dwHandle;
WORD wNetType;
DWORD dwPrinters;
DWORD dwDrives;
} NETINFOSTRUCT,*LPNETINFOSTRUCT;
DWORD WNetGetNetworkInformationA(LPCSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
DWORD WNetGetNetworkInformationW(LPCWSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct);
typedef UINT ( *PFNGETPROFILEPATHA) (LPCSTR pszUsername,LPSTR pszBuffer,UINT cbBuffer);
typedef UINT ( *PFNGETPROFILEPATHW) (LPCWSTR pszUsername,LPWSTR pszBuffer,UINT cbBuffer);
typedef UINT ( *PFNRECONCILEPROFILEA) (LPCSTR pszCentralFile,LPCSTR pszLocalFile,DWORD dwFlags);
typedef UINT ( *PFNRECONCILEPROFILEW) (LPCWSTR pszCentralFile,LPCWSTR pszLocalFile,DWORD dwFlags);
typedef WINBOOL ( *PFNPROCESSPOLICIESA) (HWND hwnd,LPCSTR pszPath,LPCSTR pszUsername,LPCSTR pszComputerName,DWORD dwFlags);
typedef WINBOOL ( *PFNPROCESSPOLICIESW) (HWND hwnd,LPCWSTR pszPath,LPCWSTR pszUsername,LPCWSTR pszComputerName,DWORD dwFlags);
DWORD WNetGetLastErrorA(LPDWORD lpError,LPSTR lpErrorBuf,DWORD nErrorBufSize,LPSTR lpNameBuf,DWORD nNameBufSize);
DWORD WNetGetLastErrorW(LPDWORD lpError,LPWSTR lpErrorBuf,DWORD nErrorBufSize,LPWSTR lpNameBuf,DWORD nNameBufSize);
typedef struct _NETCONNECTINFOSTRUCT {
DWORD cbStructure;
DWORD dwFlags;
DWORD dwSpeed;
DWORD dwDelay;
DWORD dwOptDataSize;
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCEA lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
DWORD MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct);
typedef struct {
unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
} DDEACK;
typedef struct {
unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
short cfFormat;
} DDEADVISE;
typedef struct {
unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
short cfFormat;
BYTE Value[1];
} DDEDATA;
typedef struct {
unsigned short unused:13,fRelease:1,fReserved:2;
short cfFormat;
BYTE Value[1];
} DDEPOKE;
typedef struct {
unsigned short unused:13,fRelease:1,fDeferUpd:1,fAckReq:1;
short cfFormat;
} DDELN;
typedef struct {
unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
short cfFormat;
BYTE rgb[1];
} DDEUP;
WINBOOL DdeSetQualityOfService(HWND hwndClient,const SECURITY_QUALITY_OF_SERVICE *pqosNew,PSECURITY_QUALITY_OF_SERVICE pqosPrev);
WINBOOL ImpersonateDdeClientWindow(HWND hWndClient,HWND hWndServer);
LPARAM PackDDElParam(UINT msg,UINT_PTR uiLo,UINT_PTR uiHi);
WINBOOL UnpackDDElParam(UINT msg,LPARAM lParam,PUINT_PTR puiLo,PUINT_PTR puiHi);
WINBOOL FreeDDElParam(UINT msg,LPARAM lParam);
LPARAM ReuseDDElParam(LPARAM lParam,UINT msgIn,UINT msgOut,UINT_PTR uiLo,UINT_PTR uiHi);
struct HCONVLIST__ { int unused; }; typedef struct HCONVLIST__ *HCONVLIST;
struct HCONV__ { int unused; }; typedef struct HCONV__ *HCONV;
struct HSZ__ { int unused; }; typedef struct HSZ__ *HSZ;
struct HDDEDATA__ { int unused; }; typedef struct HDDEDATA__ *HDDEDATA;
typedef struct tagHSZPAIR {
HSZ hszSvc;
HSZ hszTopic;
} HSZPAIR, *PHSZPAIR;
typedef struct tagCONVCONTEXT {
UINT cb;
UINT wFlags;
UINT wCountryID;
int iCodePage;
DWORD dwLangID;
DWORD dwSecurity;
SECURITY_QUALITY_OF_SERVICE qos;
} CONVCONTEXT, *PCONVCONTEXT;
typedef struct tagCONVINFO {
DWORD cb;
DWORD_PTR hUser;
HCONV hConvPartner;
HSZ hszSvcPartner;
HSZ hszServiceReq;
HSZ hszTopic;
HSZ hszItem;
UINT wFmt;
UINT wType;
UINT wStatus;
UINT wConvst;
UINT wLastError;
HCONVLIST hConvList;
CONVCONTEXT ConvCtxt;
HWND hwnd;
HWND hwndPartner;
} CONVINFO, *PCONVINFO;
typedef HDDEDATA FNCALLBACK(UINT wType,UINT wFmt,HCONV hConv,HSZ hsz1,HSZ hsz2,HDDEDATA hData,ULONG_PTR dwData1,ULONG_PTR dwData2);
typedef HDDEDATA ( *PFNCALLBACK)(UINT wType,UINT wFmt,HCONV hConv,HSZ hsz1,HSZ hsz2,HDDEDATA hData,ULONG_PTR dwData1,ULONG_PTR dwData2);
UINT DdeInitializeA(LPDWORD pidInst,PFNCALLBACK pfnCallback,DWORD afCmd,DWORD ulRes);
UINT DdeInitializeW(LPDWORD pidInst,PFNCALLBACK pfnCallback,DWORD afCmd,DWORD ulRes);
WINBOOL DdeUninitialize(DWORD idInst);
HCONVLIST DdeConnectList(DWORD idInst,HSZ hszService,HSZ hszTopic,HCONVLIST hConvList,PCONVCONTEXT pCC);
HCONV DdeQueryNextServer(HCONVLIST hConvList,HCONV hConvPrev);
WINBOOL DdeDisconnectList(HCONVLIST hConvList);
HCONV DdeConnect(DWORD idInst,HSZ hszService,HSZ hszTopic,PCONVCONTEXT pCC);
WINBOOL DdeDisconnect(HCONV hConv);
HCONV DdeReconnect(HCONV hConv);
UINT DdeQueryConvInfo(HCONV hConv,DWORD idTransaction,PCONVINFO pConvInfo);
WINBOOL DdeSetUserHandle(HCONV hConv,DWORD id,DWORD_PTR hUser);
WINBOOL DdeAbandonTransaction(DWORD idInst,HCONV hConv,DWORD idTransaction);
WINBOOL DdePostAdvise(DWORD idInst,HSZ hszTopic,HSZ hszItem);
WINBOOL DdeEnableCallback(DWORD idInst,HCONV hConv,UINT wCmd);
WINBOOL DdeImpersonateClient(HCONV hConv);
HDDEDATA DdeNameService(DWORD idInst,HSZ hsz1,HSZ hsz2,UINT afCmd);
HDDEDATA DdeClientTransaction(LPBYTE pData,DWORD cbData,HCONV hConv,HSZ hszItem,UINT wFmt,UINT wType,DWORD dwTimeout,LPDWORD pdwResult);
HDDEDATA DdeCreateDataHandle(DWORD idInst,LPBYTE pSrc,DWORD cb,DWORD cbOff,HSZ hszItem,UINT wFmt,UINT afCmd);
HDDEDATA DdeAddData(HDDEDATA hData,LPBYTE pSrc,DWORD cb,DWORD cbOff);
DWORD DdeGetData(HDDEDATA hData,LPBYTE pDst,DWORD cbMax,DWORD cbOff);
LPBYTE DdeAccessData(HDDEDATA hData,LPDWORD pcbDataSize);
WINBOOL DdeUnaccessData(HDDEDATA hData);
WINBOOL DdeFreeDataHandle(HDDEDATA hData);
UINT DdeGetLastError(DWORD idInst);
HSZ DdeCreateStringHandleA(DWORD idInst,LPCSTR psz,int iCodePage);
HSZ DdeCreateStringHandleW(DWORD idInst,LPCWSTR psz,int iCodePage);
DWORD DdeQueryStringA(DWORD idInst,HSZ hsz,LPSTR psz,DWORD cchMax,int iCodePage);
DWORD DdeQueryStringW(DWORD idInst,HSZ hsz,LPWSTR psz,DWORD cchMax,int iCodePage);
WINBOOL DdeFreeStringHandle(DWORD idInst,HSZ hsz);
WINBOOL DdeKeepStringHandle(DWORD idInst,HSZ hsz);
int DdeCmpStringHandles(HSZ hsz1,HSZ hsz2);
typedef struct tagDDEML_MSG_HOOK_DATA {
UINT_PTR uiLo;
UINT_PTR uiHi;
DWORD cbData;
DWORD Data[8];
} DDEML_MSG_HOOK_DATA,*PDDEML_MSG_HOOK_DATA;
typedef struct tagMONMSGSTRUCT {
UINT cb;
HWND hwndTo;
DWORD dwTime;
HANDLE hTask;
UINT wMsg;
WPARAM wParam;
LPARAM lParam;
DDEML_MSG_HOOK_DATA dmhd;
} MONMSGSTRUCT,*PMONMSGSTRUCT;
typedef struct tagMONCBSTRUCT {
UINT cb;
DWORD dwTime;
HANDLE hTask;
DWORD dwRet;
UINT wType;
UINT wFmt;
HCONV hConv;
HSZ hsz1;
HSZ hsz2;
HDDEDATA hData;
ULONG_PTR dwData1;
ULONG_PTR dwData2;
CONVCONTEXT cc;
DWORD cbData;
DWORD Data[8];
} MONCBSTRUCT,*PMONCBSTRUCT;
typedef struct tagMONHSZSTRUCTA {
UINT cb;
WINBOOL fsAction;
DWORD dwTime;
HSZ hsz;
HANDLE hTask;
CHAR str[1];
} MONHSZSTRUCTA,*PMONHSZSTRUCTA;
typedef struct tagMONHSZSTRUCTW {
UINT cb;
WINBOOL fsAction;
DWORD dwTime;
HSZ hsz;
HANDLE hTask;
WCHAR str[1];
} MONHSZSTRUCTW,*PMONHSZSTRUCTW;
typedef MONHSZSTRUCTA MONHSZSTRUCT;
typedef PMONHSZSTRUCTA PMONHSZSTRUCT;
typedef struct tagMONERRSTRUCT {
UINT cb;
UINT wLastError;
DWORD dwTime;
HANDLE hTask;
} MONERRSTRUCT,*PMONERRSTRUCT;
typedef struct tagMONLINKSTRUCT {
UINT cb;
DWORD dwTime;
HANDLE hTask;
WINBOOL fEstablished;
WINBOOL fNoData;
HSZ hszSvc;
HSZ hszTopic;
HSZ hszItem;
UINT wFmt;
WINBOOL fServer;
HCONV hConvServer;
HCONV hConvClient;
} MONLINKSTRUCT,*PMONLINKSTRUCT;
typedef struct tagMONCONVSTRUCT {
UINT cb;
WINBOOL fConnect;
DWORD dwTime;
HANDLE hTask;
HSZ hszSvc;
HSZ hszTopic;
HCONV hConvClient;
HCONV hConvServer;
} MONCONVSTRUCT,*PMONCONVSTRUCT;
typedef struct tagCRGB {
BYTE bRed;
BYTE bGreen;
BYTE bBlue;
BYTE bExtra;
} CRGB;
INT LZStart(void);
void LZDone(void);
LONG CopyLZFile(INT,INT);
LONG LZCopy(INT,INT);
INT LZInit(INT);
INT GetExpandedNameA(LPSTR,LPSTR);
INT GetExpandedNameW(LPWSTR,LPWSTR);
INT LZOpenFileA(LPSTR,LPOFSTRUCT,WORD);
INT LZOpenFileW(LPWSTR,LPOFSTRUCT,WORD);
LONG LZSeek(INT,LONG,INT);
INT LZRead(INT,LPSTR,INT);
void LZClose(INT);
#pragma pack(push,1)
typedef UINT MMVERSION;
typedef UINT MMRESULT;
typedef UINT *LPUINT;
typedef struct mmtime_tag {
UINT wType;
union {
DWORD ms;
DWORD sample;
DWORD cb;
DWORD ticks;
struct {
BYTE hour;
BYTE min;
BYTE sec;
BYTE frame;
BYTE fps;
BYTE dummy;
BYTE pad[2];
} smpte;
struct {
DWORD songptrpos;
} midi;
} u;
} MMTIME,*PMMTIME, *NPMMTIME,*LPMMTIME;
struct HDRVR__ { int unused; }; typedef struct HDRVR__ *HDRVR;
typedef struct DRVCONFIGINFOEX {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
DWORD dnDevNode;
} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX, *NPDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
typedef struct tagDRVCONFIGINFO {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
} DRVCONFIGINFO,*PDRVCONFIGINFO, *NPDRVCONFIGINFO,*LPDRVCONFIGINFO;
typedef LRESULT ( *DRIVERPROC)(DWORD_PTR,HDRVR,UINT,LPARAM,LPARAM);
__attribute__((dllimport)) LRESULT CloseDriver(HDRVR hDriver,LPARAM lParam1,LPARAM lParam2);
__attribute__((dllimport)) HDRVR OpenDriver(LPCWSTR szDriverName,LPCWSTR szSectionName,LPARAM lParam2);
__attribute__((dllimport)) LRESULT SendDriverMessage(HDRVR hDriver,UINT message,LPARAM lParam1,LPARAM lParam2);
__attribute__((dllimport)) HMODULE DrvGetModuleHandle(HDRVR hDriver);
__attribute__((dllimport)) HMODULE GetDriverModuleHandle(HDRVR hDriver);
__attribute__((dllimport)) LRESULT DefDriverProc(DWORD_PTR dwDriverIdentifier,HDRVR hdrvr,UINT uMsg,LPARAM lParam1,LPARAM lParam2);
typedef void ( DRVCALLBACK)(HDRVR hdrvr,UINT uMsg,DWORD_PTR dwUser,DWORD_PTR dw1,DWORD_PTR dw2);
typedef DRVCALLBACK *LPDRVCALLBACK;
typedef DRVCALLBACK *PDRVCALLBACK;
__attribute__((dllimport)) WINBOOL sndPlaySoundA(LPCSTR pszSound,UINT fuSound);
__attribute__((dllimport)) WINBOOL sndPlaySoundW(LPCWSTR pszSound,UINT fuSound);
__attribute__((dllimport)) WINBOOL PlaySoundA(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);
__attribute__((dllimport)) WINBOOL PlaySoundW(LPCWSTR pszSound,HMODULE hmod,DWORD fdwSound);
struct HWAVE__ { int unused; }; typedef struct HWAVE__ *HWAVE;
struct HWAVEIN__ { int unused; }; typedef struct HWAVEIN__ *HWAVEIN;
struct HWAVEOUT__ { int unused; }; typedef struct HWAVEOUT__ *HWAVEOUT;
typedef HWAVEIN *LPHWAVEIN;
typedef HWAVEOUT *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK *LPWAVECALLBACK;
typedef struct wavehdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD_PTR dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag *lpNext;
DWORD_PTR reserved;
} WAVEHDR,*PWAVEHDR, *NPWAVEHDR,*LPWAVEHDR;
typedef struct tagWAVEOUTCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*NPWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
typedef struct tagWAVEOUTCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*NPWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
typedef WAVEOUTCAPSA WAVEOUTCAPS;
typedef PWAVEOUTCAPSA PWAVEOUTCAPS;
typedef NPWAVEOUTCAPSA NPWAVEOUTCAPS;
typedef LPWAVEOUTCAPSA LPWAVEOUTCAPS;
typedef struct tagWAVEOUTCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} WAVEOUTCAPS2A,*PWAVEOUTCAPS2A,*NPWAVEOUTCAPS2A,*LPWAVEOUTCAPS2A;
typedef struct tagWAVEOUTCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} WAVEOUTCAPS2W,*PWAVEOUTCAPS2W,*NPWAVEOUTCAPS2W,*LPWAVEOUTCAPS2W;
typedef WAVEOUTCAPS2A WAVEOUTCAPS2;
typedef PWAVEOUTCAPS2A PWAVEOUTCAPS2;
typedef NPWAVEOUTCAPS2A NPWAVEOUTCAPS2;
typedef LPWAVEOUTCAPS2A LPWAVEOUTCAPS2;
typedef struct tagWAVEINCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSA,*PWAVEINCAPSA,*NPWAVEINCAPSA,*LPWAVEINCAPSA;
typedef struct tagWAVEINCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSW,*PWAVEINCAPSW,*NPWAVEINCAPSW,*LPWAVEINCAPSW;
typedef WAVEINCAPSA WAVEINCAPS;
typedef PWAVEINCAPSA PWAVEINCAPS;
typedef NPWAVEINCAPSA NPWAVEINCAPS;
typedef LPWAVEINCAPSA LPWAVEINCAPS;
typedef struct tagWAVEINCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} WAVEINCAPS2A,*PWAVEINCAPS2A,*NPWAVEINCAPS2A,*LPWAVEINCAPS2A;
typedef struct tagWAVEINCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} WAVEINCAPS2W,*PWAVEINCAPS2W,*NPWAVEINCAPS2W,*LPWAVEINCAPS2W;
typedef WAVEINCAPS2A WAVEINCAPS2;
typedef PWAVEINCAPS2A PWAVEINCAPS2;
typedef NPWAVEINCAPS2A NPWAVEINCAPS2;
typedef LPWAVEINCAPS2A LPWAVEINCAPS2;
typedef struct waveformat_tag {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT, *NPWAVEFORMAT,*LPWAVEFORMAT;
typedef struct pcmwaveformat_tag {
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT,*PPCMWAVEFORMAT, *NPPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
typedef struct tWAVEFORMATEX {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX,*PWAVEFORMATEX, *NPWAVEFORMATEX,*LPWAVEFORMATEX;
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
__attribute__((dllimport)) UINT waveOutGetNumDevs(void);
__attribute__((dllimport)) MMRESULT waveOutGetDevCapsA(UINT_PTR uDeviceID,LPWAVEOUTCAPSA pwoc,UINT cbwoc);
__attribute__((dllimport)) MMRESULT waveOutGetDevCapsW(UINT_PTR uDeviceID,LPWAVEOUTCAPSW pwoc,UINT cbwoc);
__attribute__((dllimport)) MMRESULT waveOutGetVolume(HWAVEOUT hwo,LPDWORD pdwVolume);
__attribute__((dllimport)) MMRESULT waveOutSetVolume(HWAVEOUT hwo,DWORD dwVolume);
__attribute__((dllimport)) MMRESULT waveOutGetErrorTextA(MMRESULT mmrError,LPSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT waveOutGetErrorTextW(MMRESULT mmrError,LPWSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT waveOutOpen(LPHWAVEOUT phwo,UINT uDeviceID,LPCWAVEFORMATEX pwfx,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT waveOutClose(HWAVEOUT hwo);
__attribute__((dllimport)) MMRESULT waveOutPrepareHeader(HWAVEOUT hwo,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveOutUnprepareHeader(HWAVEOUT hwo,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveOutWrite(HWAVEOUT hwo,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveOutPause(HWAVEOUT hwo);
__attribute__((dllimport)) MMRESULT waveOutRestart(HWAVEOUT hwo);
__attribute__((dllimport)) MMRESULT waveOutReset(HWAVEOUT hwo);
__attribute__((dllimport)) MMRESULT waveOutBreakLoop(HWAVEOUT hwo);
__attribute__((dllimport)) MMRESULT waveOutGetPosition(HWAVEOUT hwo,LPMMTIME pmmt,UINT cbmmt);
__attribute__((dllimport)) MMRESULT waveOutGetPitch(HWAVEOUT hwo,LPDWORD pdwPitch);
__attribute__((dllimport)) MMRESULT waveOutSetPitch(HWAVEOUT hwo,DWORD dwPitch);
__attribute__((dllimport)) MMRESULT waveOutGetPlaybackRate(HWAVEOUT hwo,LPDWORD pdwRate);
__attribute__((dllimport)) MMRESULT waveOutSetPlaybackRate(HWAVEOUT hwo,DWORD dwRate);
__attribute__((dllimport)) MMRESULT waveOutGetID(HWAVEOUT hwo,LPUINT puDeviceID);
__attribute__((dllimport)) MMRESULT waveOutMessage(HWAVEOUT hwo,UINT uMsg,DWORD_PTR dw1,DWORD_PTR dw2);
__attribute__((dllimport)) UINT waveInGetNumDevs(void);
__attribute__((dllimport)) MMRESULT waveInGetDevCapsA(UINT_PTR uDeviceID,LPWAVEINCAPSA pwic,UINT cbwic);
__attribute__((dllimport)) MMRESULT waveInGetDevCapsW(UINT_PTR uDeviceID,LPWAVEINCAPSW pwic,UINT cbwic);
__attribute__((dllimport)) MMRESULT waveInGetErrorTextA(MMRESULT mmrError,LPSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT waveInGetErrorTextW(MMRESULT mmrError,LPWSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT waveInOpen(LPHWAVEIN phwi,UINT uDeviceID,LPCWAVEFORMATEX pwfx,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT waveInClose(HWAVEIN hwi);
__attribute__((dllimport)) MMRESULT waveInPrepareHeader(HWAVEIN hwi,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveInUnprepareHeader(HWAVEIN hwi,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveInAddBuffer(HWAVEIN hwi,LPWAVEHDR pwh,UINT cbwh);
__attribute__((dllimport)) MMRESULT waveInStart(HWAVEIN hwi);
__attribute__((dllimport)) MMRESULT waveInStop(HWAVEIN hwi);
__attribute__((dllimport)) MMRESULT waveInReset(HWAVEIN hwi);
__attribute__((dllimport)) MMRESULT waveInGetPosition(HWAVEIN hwi,LPMMTIME pmmt,UINT cbmmt);
__attribute__((dllimport)) MMRESULT waveInGetID(HWAVEIN hwi,LPUINT puDeviceID);
__attribute__((dllimport)) MMRESULT waveInMessage(HWAVEIN hwi,UINT uMsg,DWORD_PTR dw1,DWORD_PTR dw2);
struct HMIDI__ { int unused; }; typedef struct HMIDI__ *HMIDI;
struct HMIDIIN__ { int unused; }; typedef struct HMIDIIN__ *HMIDIIN;
struct HMIDIOUT__ { int unused; }; typedef struct HMIDIOUT__ *HMIDIOUT;
struct HMIDISTRM__ { int unused; }; typedef struct HMIDISTRM__ *HMIDISTRM;
typedef HMIDI *LPHMIDI;
typedef HMIDIIN *LPHMIDIIN;
typedef HMIDIOUT *LPHMIDIOUT;
typedef HMIDISTRM *LPHMIDISTRM;
typedef DRVCALLBACK MIDICALLBACK;
typedef MIDICALLBACK *LPMIDICALLBACK;
typedef WORD PATCHARRAY[128];
typedef WORD *LPPATCHARRAY;
typedef WORD KEYARRAY[128];
typedef WORD *LPKEYARRAY;
typedef struct tagMIDIOUTCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*NPMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
typedef struct tagMIDIOUTCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*NPMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
typedef MIDIOUTCAPSA MIDIOUTCAPS;
typedef PMIDIOUTCAPSA PMIDIOUTCAPS;
typedef NPMIDIOUTCAPSA NPMIDIOUTCAPS;
typedef LPMIDIOUTCAPSA LPMIDIOUTCAPS;
typedef struct tagMIDIOUTCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIDIOUTCAPS2A,*PMIDIOUTCAPS2A,*NPMIDIOUTCAPS2A,*LPMIDIOUTCAPS2A;
typedef struct tagMIDIOUTCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIDIOUTCAPS2W,*PMIDIOUTCAPS2W,*NPMIDIOUTCAPS2W,*LPMIDIOUTCAPS2W;
typedef MIDIOUTCAPS2A MIDIOUTCAPS2;
typedef PMIDIOUTCAPS2A PMIDIOUTCAPS2;
typedef NPMIDIOUTCAPS2A NPMIDIOUTCAPS2;
typedef LPMIDIOUTCAPS2A LPMIDIOUTCAPS2;
typedef struct tagMIDIINCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwSupport;
} MIDIINCAPSA,*PMIDIINCAPSA,*NPMIDIINCAPSA,*LPMIDIINCAPSA;
typedef struct tagMIDIINCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwSupport;
} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
typedef MIDIINCAPSA MIDIINCAPS;
typedef PMIDIINCAPSA PMIDIINCAPS;
typedef NPMIDIINCAPSA NPMIDIINCAPS;
typedef LPMIDIINCAPSA LPMIDIINCAPS;
typedef struct tagMIDIINCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIDIINCAPS2A,*PMIDIINCAPS2A,*NPMIDIINCAPS2A,*LPMIDIINCAPS2A;
typedef struct tagMIDIINCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIDIINCAPS2W,*PMIDIINCAPS2W,*NPMIDIINCAPS2W,*LPMIDIINCAPS2W;
typedef MIDIINCAPS2A MIDIINCAPS2;
typedef PMIDIINCAPS2A PMIDIINCAPS2;
typedef NPMIDIINCAPS2A NPMIDIINCAPS2;
typedef LPMIDIINCAPS2A LPMIDIINCAPS2;
typedef struct midihdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD_PTR dwUser;
DWORD dwFlags;
struct midihdr_tag *lpNext;
DWORD_PTR reserved;
DWORD dwOffset;
DWORD_PTR dwReserved[8];
} MIDIHDR,*PMIDIHDR, *NPMIDIHDR,*LPMIDIHDR;
typedef struct midievent_tag {
DWORD dwDeltaTime;
DWORD dwStreamID;
DWORD dwEvent;
DWORD dwParms[1];
} MIDIEVENT;
typedef struct midistrmbuffver_tag {
DWORD dwVersion;
DWORD dwMid;
DWORD dwOEMVersion;
} MIDISTRMBUFFVER;
typedef struct midiproptimediv_tag {
DWORD cbStruct;
DWORD dwTimeDiv;
} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
typedef struct midiproptempo_tag {
DWORD cbStruct;
DWORD dwTempo;
} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
__attribute__((dllimport)) UINT midiOutGetNumDevs(void);
__attribute__((dllimport)) MMRESULT midiStreamOpen(LPHMIDISTRM phms,LPUINT puDeviceID,DWORD cMidi,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT midiStreamClose(HMIDISTRM hms);
__attribute__((dllimport)) MMRESULT midiStreamProperty(HMIDISTRM hms,LPBYTE lppropdata,DWORD dwProperty);
__attribute__((dllimport)) MMRESULT midiStreamPosition(HMIDISTRM hms,LPMMTIME lpmmt,UINT cbmmt);
__attribute__((dllimport)) MMRESULT midiStreamOut(HMIDISTRM hms,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiStreamPause(HMIDISTRM hms);
__attribute__((dllimport)) MMRESULT midiStreamRestart(HMIDISTRM hms);
__attribute__((dllimport)) MMRESULT midiStreamStop(HMIDISTRM hms);
__attribute__((dllimport)) MMRESULT midiConnect(HMIDI hmi,HMIDIOUT hmo,LPVOID pReserved);
__attribute__((dllimport)) MMRESULT midiDisconnect(HMIDI hmi,HMIDIOUT hmo,LPVOID pReserved);
__attribute__((dllimport)) MMRESULT midiOutGetDevCapsA(UINT_PTR uDeviceID,LPMIDIOUTCAPSA pmoc,UINT cbmoc);
__attribute__((dllimport)) MMRESULT midiOutGetDevCapsW(UINT_PTR uDeviceID,LPMIDIOUTCAPSW pmoc,UINT cbmoc);
__attribute__((dllimport)) MMRESULT midiOutGetVolume(HMIDIOUT hmo,LPDWORD pdwVolume);
__attribute__((dllimport)) MMRESULT midiOutSetVolume(HMIDIOUT hmo,DWORD dwVolume);
__attribute__((dllimport)) MMRESULT midiOutGetErrorTextA(MMRESULT mmrError,LPSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT midiOutGetErrorTextW(MMRESULT mmrError,LPWSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT midiOutOpen(LPHMIDIOUT phmo,UINT uDeviceID,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT midiOutClose(HMIDIOUT hmo);
__attribute__((dllimport)) MMRESULT midiOutPrepareHeader(HMIDIOUT hmo,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiOutUnprepareHeader(HMIDIOUT hmo,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiOutShortMsg(HMIDIOUT hmo,DWORD dwMsg);
__attribute__((dllimport)) MMRESULT midiOutLongMsg(HMIDIOUT hmo,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiOutReset(HMIDIOUT hmo);
__attribute__((dllimport)) MMRESULT midiOutCachePatches(HMIDIOUT hmo,UINT uBank,LPWORD pwpa,UINT fuCache);
__attribute__((dllimport)) MMRESULT midiOutCacheDrumPatches(HMIDIOUT hmo,UINT uPatch,LPWORD pwkya,UINT fuCache);
__attribute__((dllimport)) MMRESULT midiOutGetID(HMIDIOUT hmo,LPUINT puDeviceID);
__attribute__((dllimport)) MMRESULT midiOutMessage(HMIDIOUT hmo,UINT uMsg,DWORD_PTR dw1,DWORD_PTR dw2);
__attribute__((dllimport)) UINT midiInGetNumDevs(void);
__attribute__((dllimport)) MMRESULT midiInGetDevCapsA(UINT_PTR uDeviceID,LPMIDIINCAPSA pmic,UINT cbmic);
__attribute__((dllimport)) MMRESULT midiInGetDevCapsW(UINT_PTR uDeviceID,LPMIDIINCAPSW pmic,UINT cbmic);
__attribute__((dllimport)) MMRESULT midiInGetErrorTextA(MMRESULT mmrError,LPSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT midiInGetErrorTextW(MMRESULT mmrError,LPWSTR pszText,UINT cchText);
__attribute__((dllimport)) MMRESULT midiInOpen(LPHMIDIIN phmi,UINT uDeviceID,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT midiInClose(HMIDIIN hmi);
__attribute__((dllimport)) MMRESULT midiInPrepareHeader(HMIDIIN hmi,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiInUnprepareHeader(HMIDIIN hmi,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiInAddBuffer(HMIDIIN hmi,LPMIDIHDR pmh,UINT cbmh);
__attribute__((dllimport)) MMRESULT midiInStart(HMIDIIN hmi);
__attribute__((dllimport)) MMRESULT midiInStop(HMIDIIN hmi);
__attribute__((dllimport)) MMRESULT midiInReset(HMIDIIN hmi);
__attribute__((dllimport)) MMRESULT midiInGetID(HMIDIIN hmi,LPUINT puDeviceID);
__attribute__((dllimport)) MMRESULT midiInMessage(HMIDIIN hmi,UINT uMsg,DWORD_PTR dw1,DWORD_PTR dw2);
typedef struct tagAUXCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSA,*PAUXCAPSA,*NPAUXCAPSA,*LPAUXCAPSA;
typedef struct tagAUXCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSW,*PAUXCAPSW,*NPAUXCAPSW,*LPAUXCAPSW;
typedef AUXCAPSA AUXCAPS;
typedef PAUXCAPSA PAUXCAPS;
typedef NPAUXCAPSA NPAUXCAPS;
typedef LPAUXCAPSA LPAUXCAPS;
typedef struct tagAUXCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} AUXCAPS2A,*PAUXCAPS2A,*NPAUXCAPS2A,*LPAUXCAPS2A;
typedef struct tagAUXCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} AUXCAPS2W,*PAUXCAPS2W,*NPAUXCAPS2W,*LPAUXCAPS2W;
typedef AUXCAPS2A AUXCAPS2;
typedef PAUXCAPS2A PAUXCAPS2;
typedef NPAUXCAPS2A NPAUXCAPS2;
typedef LPAUXCAPS2A LPAUXCAPS2;
__attribute__((dllimport)) UINT auxGetNumDevs(void);
__attribute__((dllimport)) MMRESULT auxGetDevCapsA(UINT_PTR uDeviceID,LPAUXCAPSA pac,UINT cbac);
__attribute__((dllimport)) MMRESULT auxGetDevCapsW(UINT_PTR uDeviceID,LPAUXCAPSW pac,UINT cbac);
__attribute__((dllimport)) MMRESULT auxSetVolume(UINT uDeviceID,DWORD dwVolume);
__attribute__((dllimport)) MMRESULT auxGetVolume(UINT uDeviceID,LPDWORD pdwVolume);
__attribute__((dllimport)) MMRESULT auxOutMessage(UINT uDeviceID,UINT uMsg,DWORD_PTR dw1,DWORD_PTR dw2);
struct HMIXEROBJ__ { int unused; }; typedef struct HMIXEROBJ__ *HMIXEROBJ;
typedef HMIXEROBJ *LPHMIXEROBJ;
struct HMIXER__ { int unused; }; typedef struct HMIXER__ *HMIXER;
typedef HMIXER *LPHMIXER;
__attribute__((dllimport)) UINT mixerGetNumDevs(void);
typedef struct tagMIXERCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
typedef struct tagMIXERCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
typedef MIXERCAPSA MIXERCAPS;
typedef PMIXERCAPSA PMIXERCAPS;
typedef LPMIXERCAPSA LPMIXERCAPS;
typedef struct tagMIXERCAPS2A {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
DWORD fdwSupport;
DWORD cDestinations;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIXERCAPS2A,*PMIXERCAPS2A,*LPMIXERCAPS2A;
typedef struct tagMIXERCAPS2W {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
DWORD fdwSupport;
DWORD cDestinations;
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} MIXERCAPS2W,*PMIXERCAPS2W,*LPMIXERCAPS2W;
typedef MIXERCAPS2A MIXERCAPS2;
typedef PMIXERCAPS2A PMIXERCAPS2;
typedef LPMIXERCAPS2A LPMIXERCAPS2;
__attribute__((dllimport)) MMRESULT mixerGetDevCapsA(UINT_PTR uMxId,LPMIXERCAPSA pmxcaps,UINT cbmxcaps);
__attribute__((dllimport)) MMRESULT mixerGetDevCapsW(UINT_PTR uMxId,LPMIXERCAPSW pmxcaps,UINT cbmxcaps);
__attribute__((dllimport)) MMRESULT mixerOpen(LPHMIXER phmx,UINT uMxId,DWORD_PTR dwCallback,DWORD_PTR dwInstance,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT mixerClose(HMIXER hmx);
__attribute__((dllimport)) DWORD mixerMessage(HMIXER hmx,UINT uMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2);
typedef struct tagMIXERLINEA {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD_PTR dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
CHAR szShortName[16];
CHAR szName[64];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32];
} Target;
} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
typedef struct tagMIXERLINEW {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD_PTR dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
WCHAR szShortName[16];
WCHAR szName[64];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32];
} Target;
} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
typedef MIXERLINEA MIXERLINE;
typedef PMIXERLINEA PMIXERLINE;
typedef LPMIXERLINEA LPMIXERLINE;
__attribute__((dllimport)) MMRESULT mixerGetLineInfoA(HMIXEROBJ hmxobj,LPMIXERLINEA pmxl,DWORD fdwInfo);
__attribute__((dllimport)) MMRESULT mixerGetLineInfoW(HMIXEROBJ hmxobj,LPMIXERLINEW pmxl,DWORD fdwInfo);
__attribute__((dllimport)) MMRESULT mixerGetID(HMIXEROBJ hmxobj,UINT *puMxId,DWORD fdwId);
typedef struct tagMIXERCONTROLA {
DWORD cbStruct;
DWORD dwControlID;
DWORD dwControlType;
DWORD fdwControl;
DWORD cMultipleItems;
CHAR szShortName[16];
CHAR szName[64];
union {
__extension__ struct {
LONG lMinimum;
LONG lMaximum;
} ;
__extension__ struct {
DWORD dwMinimum;
DWORD dwMaximum;
} ;
DWORD dwReserved[6];
} Bounds;
union {
DWORD cSteps;
DWORD cbCustomData;
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
typedef struct tagMIXERCONTROLW {
DWORD cbStruct;
DWORD dwControlID;
DWORD dwControlType;
DWORD fdwControl;
DWORD cMultipleItems;
WCHAR szShortName[16];
WCHAR szName[64];
union {
__extension__ struct {
LONG lMinimum;
LONG lMaximum;
} ;
__extension__ struct {
DWORD dwMinimum;
DWORD dwMaximum;
} ;
DWORD dwReserved[6];
} Bounds;
union {
DWORD cSteps;
DWORD cbCustomData;
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
typedef MIXERCONTROLA MIXERCONTROL;
typedef PMIXERCONTROLA PMIXERCONTROL;
typedef LPMIXERCONTROLA LPMIXERCONTROL;
typedef struct tagMIXERLINECONTROLSA {
DWORD cbStruct;
DWORD dwLineID;
__extension__ union {
DWORD dwControlID;
DWORD dwControlType;
} ;
DWORD cControls;
DWORD cbmxctrl;
LPMIXERCONTROLA pamxctrl;
} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
typedef struct tagMIXERLINECONTROLSW {
DWORD cbStruct;
DWORD dwLineID;
__extension__ union {
DWORD dwControlID;
DWORD dwControlType;
} ;
DWORD cControls;
DWORD cbmxctrl;
LPMIXERCONTROLW pamxctrl;
} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
typedef MIXERLINECONTROLSA MIXERLINECONTROLS;
typedef PMIXERLINECONTROLSA PMIXERLINECONTROLS;
typedef LPMIXERLINECONTROLSA LPMIXERLINECONTROLS;
__attribute__((dllimport)) MMRESULT mixerGetLineControlsA(HMIXEROBJ hmxobj,LPMIXERLINECONTROLSA pmxlc,DWORD fdwControls);
__attribute__((dllimport)) MMRESULT mixerGetLineControlsW(HMIXEROBJ hmxobj,LPMIXERLINECONTROLSW pmxlc,DWORD fdwControls);
typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct;
DWORD dwControlID;
DWORD cChannels;
__extension__ union {
HWND hwndOwner;
DWORD cMultipleItems;
} ;
DWORD cbDetails;
LPVOID paDetails;
} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
DWORD dwParam1;
DWORD dwParam2;
CHAR szName[64];
} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
DWORD dwParam1;
DWORD dwParam2;
WCHAR szName[64];
} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT;
typedef PMIXERCONTROLDETAILS_LISTTEXTA PMIXERCONTROLDETAILS_LISTTEXT;
typedef LPMIXERCONTROLDETAILS_LISTTEXTA LPMIXERCONTROLDETAILS_LISTTEXT;
typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
LONG fValue;
} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
typedef struct tMIXERCONTROLDETAILS_SIGNED {
LONG lValue;
} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
DWORD dwValue;
} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
__attribute__((dllimport)) MMRESULT mixerGetControlDetailsA(HMIXEROBJ hmxobj,LPMIXERCONTROLDETAILS pmxcd,DWORD fdwDetails);
__attribute__((dllimport)) MMRESULT mixerGetControlDetailsW(HMIXEROBJ hmxobj,LPMIXERCONTROLDETAILS pmxcd,DWORD fdwDetails);
__attribute__((dllimport)) MMRESULT mixerSetControlDetails(HMIXEROBJ hmxobj,LPMIXERCONTROLDETAILS pmxcd,DWORD fdwDetails);
typedef void ( TIMECALLBACK)(UINT uTimerID,UINT uMsg,DWORD_PTR dwUser,DWORD_PTR dw1,DWORD_PTR dw2);
typedef TIMECALLBACK *LPTIMECALLBACK;
typedef struct timecaps_tag {
UINT wPeriodMin;
UINT wPeriodMax;
} TIMECAPS,*PTIMECAPS, *NPTIMECAPS,*LPTIMECAPS;
__attribute__((dllimport)) MMRESULT timeGetSystemTime(LPMMTIME pmmt,UINT cbmmt);
__attribute__((dllimport)) DWORD timeGetTime(void);
__attribute__((dllimport)) MMRESULT timeSetEvent(UINT uDelay,UINT uResolution,LPTIMECALLBACK fptc,DWORD_PTR dwUser,UINT fuEvent);
__attribute__((dllimport)) MMRESULT timeKillEvent(UINT uTimerID);
__attribute__((dllimport)) MMRESULT timeGetDevCaps(LPTIMECAPS ptc,UINT cbtc);
__attribute__((dllimport)) MMRESULT timeBeginPeriod(UINT uPeriod);
__attribute__((dllimport)) MMRESULT timeEndPeriod(UINT uPeriod);
typedef struct tagJOYCAPSA {
WORD wMid;
WORD wPid;
CHAR szPname[32];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
CHAR szRegKey[32];
CHAR szOEMVxD[260];
} JOYCAPSA,*PJOYCAPSA,*NPJOYCAPSA,*LPJOYCAPSA;
typedef struct tagJOYCAPSW {
WORD wMid;
WORD wPid;
WCHAR szPname[32];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
WCHAR szRegKey[32];
WCHAR szOEMVxD[260];
} JOYCAPSW,*PJOYCAPSW,*NPJOYCAPSW,*LPJOYCAPSW;
typedef JOYCAPSA JOYCAPS;
typedef PJOYCAPSA PJOYCAPS;
typedef NPJOYCAPSA NPJOYCAPS;
typedef LPJOYCAPSA LPJOYCAPS;
typedef struct tagJOYCAPS2A {
WORD wMid;
WORD wPid;
CHAR szPname[32];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
CHAR szRegKey[32];
CHAR szOEMVxD[260];
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} JOYCAPS2A,*PJOYCAPS2A,*NPJOYCAPS2A,*LPJOYCAPS2A;
typedef struct tagJOYCAPS2W {
WORD wMid;
WORD wPid;
WCHAR szPname[32];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
WCHAR szRegKey[32];
WCHAR szOEMVxD[260];
GUID ManufacturerGuid;
GUID ProductGuid;
GUID NameGuid;
} JOYCAPS2W,*PJOYCAPS2W,*NPJOYCAPS2W,*LPJOYCAPS2W;
typedef JOYCAPS2A JOYCAPS2;
typedef PJOYCAPS2A PJOYCAPS2;
typedef NPJOYCAPS2A NPJOYCAPS2;
typedef LPJOYCAPS2A LPJOYCAPS2;
typedef struct joyinfo_tag {
UINT wXpos;
UINT wYpos;
UINT wZpos;
UINT wButtons;
} JOYINFO,*PJOYINFO, *NPJOYINFO,*LPJOYINFO;
typedef struct joyinfoex_tag {
DWORD dwSize;
DWORD dwFlags;
DWORD dwXpos;
DWORD dwYpos;
DWORD dwZpos;
DWORD dwRpos;
DWORD dwUpos;
DWORD dwVpos;
DWORD dwButtons;
DWORD dwButtonNumber;
DWORD dwPOV;
DWORD dwReserved1;
DWORD dwReserved2;
} JOYINFOEX,*PJOYINFOEX, *NPJOYINFOEX,*LPJOYINFOEX;
__attribute__((dllimport)) UINT joyGetNumDevs(void);
__attribute__((dllimport)) MMRESULT joyGetDevCapsA(UINT_PTR uJoyID,LPJOYCAPSA pjc,UINT cbjc);
__attribute__((dllimport)) MMRESULT joyGetDevCapsW(UINT_PTR uJoyID,LPJOYCAPSW pjc,UINT cbjc);
__attribute__((dllimport)) MMRESULT joyGetPos(UINT uJoyID,LPJOYINFO pji);
__attribute__((dllimport)) MMRESULT joyGetPosEx(UINT uJoyID,LPJOYINFOEX pji);
__attribute__((dllimport)) MMRESULT joyGetThreshold(UINT uJoyID,LPUINT puThreshold);
__attribute__((dllimport)) MMRESULT joyReleaseCapture(UINT uJoyID);
__attribute__((dllimport)) MMRESULT joySetCapture(HWND hwnd,UINT uJoyID,UINT uPeriod,WINBOOL fChanged);
__attribute__((dllimport)) MMRESULT joySetThreshold(UINT uJoyID,UINT uThreshold);
typedef DWORD FOURCC;
typedef char *HPSTR;
struct HMMIO__ { int unused; }; typedef struct HMMIO__ *HMMIO;
typedef LRESULT ( MMIOPROC)(LPSTR lpmmioinfo,UINT uMsg,LPARAM lParam1,LPARAM lParam2);
typedef MMIOPROC *LPMMIOPROC;
typedef struct _MMIOINFO {
DWORD dwFlags;
FOURCC fccIOProc;
LPMMIOPROC pIOProc;
UINT wErrorRet;
HTASK htask;
LONG cchBuffer;
HPSTR pchBuffer;
HPSTR pchNext;
HPSTR pchEndRead;
HPSTR pchEndWrite;
LONG lBufOffset;
LONG lDiskOffset;
DWORD adwInfo[3];
DWORD dwReserved1;
DWORD dwReserved2;
HMMIO hmmio;
} MMIOINFO,*PMMIOINFO, *NPMMIOINFO,*LPMMIOINFO;
typedef const MMIOINFO *LPCMMIOINFO;
typedef struct _MMCKINFO {
FOURCC ckid;
DWORD cksize;
FOURCC fccType;
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO,*PMMCKINFO, *NPMMCKINFO,*LPMMCKINFO;
typedef const MMCKINFO *LPCMMCKINFO;
__attribute__((dllimport)) FOURCC mmioStringToFOURCCA(LPCSTR sz,UINT uFlags);
__attribute__((dllimport)) FOURCC mmioStringToFOURCCW(LPCWSTR sz,UINT uFlags);
__attribute__((dllimport)) LPMMIOPROC mmioInstallIOProcA(FOURCC fccIOProc,LPMMIOPROC pIOProc,DWORD dwFlags);
__attribute__((dllimport)) LPMMIOPROC mmioInstallIOProcW(FOURCC fccIOProc,LPMMIOPROC pIOProc,DWORD dwFlags);
__attribute__((dllimport)) HMMIO mmioOpenA(LPSTR pszFileName,LPMMIOINFO pmmioinfo,DWORD fdwOpen);
__attribute__((dllimport)) HMMIO mmioOpenW(LPWSTR pszFileName,LPMMIOINFO pmmioinfo,DWORD fdwOpen);
__attribute__((dllimport)) MMRESULT mmioRenameA(LPCSTR pszFileName,LPCSTR pszNewFileName,LPCMMIOINFO pmmioinfo,DWORD fdwRename);
__attribute__((dllimport)) MMRESULT mmioRenameW(LPCWSTR pszFileName,LPCWSTR pszNewFileName,LPCMMIOINFO pmmioinfo,DWORD fdwRename);
__attribute__((dllimport)) MMRESULT mmioClose(HMMIO hmmio,UINT fuClose);
__attribute__((dllimport)) LONG mmioRead(HMMIO hmmio,HPSTR pch,LONG cch);
__attribute__((dllimport)) LONG mmioWrite(HMMIO hmmio,const char *pch,LONG cch);
__attribute__((dllimport)) LONG mmioSeek(HMMIO hmmio,LONG lOffset,int iOrigin);
__attribute__((dllimport)) MMRESULT mmioGetInfo(HMMIO hmmio,LPMMIOINFO pmmioinfo,UINT fuInfo);
__attribute__((dllimport)) MMRESULT mmioSetInfo(HMMIO hmmio,LPCMMIOINFO pmmioinfo,UINT fuInfo);
__attribute__((dllimport)) MMRESULT mmioSetBuffer(HMMIO hmmio,LPSTR pchBuffer,LONG cchBuffer,UINT fuBuffer);
__attribute__((dllimport)) MMRESULT mmioFlush(HMMIO hmmio,UINT fuFlush);
__attribute__((dllimport)) MMRESULT mmioAdvance(HMMIO hmmio,LPMMIOINFO pmmioinfo,UINT fuAdvance);
__attribute__((dllimport)) LRESULT mmioSendMessage(HMMIO hmmio,UINT uMsg,LPARAM lParam1,LPARAM lParam2);
__attribute__((dllimport)) MMRESULT mmioDescend(HMMIO hmmio,LPMMCKINFO pmmcki,const MMCKINFO *pmmckiParent,UINT fuDescend);
__attribute__((dllimport)) MMRESULT mmioAscend(HMMIO hmmio,LPMMCKINFO pmmcki,UINT fuAscend);
__attribute__((dllimport)) MMRESULT mmioCreateChunk(HMMIO hmmio,LPMMCKINFO pmmcki,UINT fuCreate);
typedef DWORD MCIERROR;
typedef UINT MCIDEVICEID;
typedef UINT ( *YIELDPROC)(MCIDEVICEID mciId,DWORD dwYieldData);
__attribute__((dllimport)) MCIERROR mciSendCommandA(MCIDEVICEID mciId,UINT uMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2);
__attribute__((dllimport)) MCIERROR mciSendCommandW(MCIDEVICEID mciId,UINT uMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2);
__attribute__((dllimport)) MCIERROR mciSendStringA(LPCSTR lpstrCommand,LPSTR lpstrReturnString,UINT uReturnLength,HWND hwndCallback);
__attribute__((dllimport)) MCIERROR mciSendStringW(LPCWSTR lpstrCommand,LPWSTR lpstrReturnString,UINT uReturnLength,HWND hwndCallback);
__attribute__((dllimport)) MCIDEVICEID mciGetDeviceIDA(LPCSTR pszDevice);
__attribute__((dllimport)) MCIDEVICEID mciGetDeviceIDW(LPCWSTR pszDevice);
__attribute__((dllimport)) MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD dwElementID,LPCSTR lpstrType);
__attribute__((dllimport)) MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD dwElementID,LPCWSTR lpstrType);
__attribute__((dllimport)) WINBOOL mciGetErrorStringA(MCIERROR mcierr,LPSTR pszText,UINT cchText);
__attribute__((dllimport)) WINBOOL mciGetErrorStringW(MCIERROR mcierr,LPWSTR pszText,UINT cchText);
__attribute__((dllimport)) WINBOOL mciSetYieldProc(MCIDEVICEID mciId,YIELDPROC fpYieldProc,DWORD dwYieldData);
__attribute__((dllimport)) HTASK mciGetCreatorTask(MCIDEVICEID mciId);
__attribute__((dllimport)) YIELDPROC mciGetYieldProc(MCIDEVICEID mciId,LPDWORD pdwYieldData);
typedef struct tagMCI_GENERIC_PARMS {
DWORD_PTR dwCallback;
} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
typedef struct tagMCI_OPEN_PARMSA {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
typedef struct tagMCI_OPEN_PARMSW {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS;
typedef PMCI_OPEN_PARMSA PMCI_OPEN_PARMS;
typedef LPMCI_OPEN_PARMSA LPMCI_OPEN_PARMS;
typedef struct tagMCI_PLAY_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
typedef struct tagMCI_SEEK_PARMS {
DWORD_PTR dwCallback;
DWORD dwTo;
} MCI_SEEK_PARMS,*PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
typedef struct tagMCI_STATUS_PARMS {
DWORD_PTR dwCallback;
DWORD_PTR dwReturn;
DWORD dwItem;
DWORD dwTrack;
} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
typedef struct tagMCI_INFO_PARMSA {
DWORD_PTR dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
typedef struct tagMCI_INFO_PARMSW {
DWORD_PTR dwCallback;
LPWSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
typedef MCI_INFO_PARMSA MCI_INFO_PARMS;
typedef LPMCI_INFO_PARMSA LPMCI_INFO_PARMS;
typedef struct tagMCI_GETDEVCAPS_PARMS {
DWORD_PTR dwCallback;
DWORD dwReturn;
DWORD dwItem;
} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
typedef struct tagMCI_SYSINFO_PARMSA {
DWORD_PTR dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
typedef struct tagMCI_SYSINFO_PARMSW {
DWORD_PTR dwCallback;
LPWSTR lpstrReturn;
DWORD dwRetSize;
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS;
typedef PMCI_SYSINFO_PARMSA PMCI_SYSINFO_PARMS;
typedef LPMCI_SYSINFO_PARMSA LPMCI_SYSINFO_PARMS;
typedef struct tagMCI_SET_PARMS {
DWORD_PTR dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
typedef struct tagMCI_BREAK_PARMS {
DWORD_PTR dwCallback;
int nVirtKey;
HWND hwndBreak;
} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
typedef struct tagMCI_SAVE_PARMSA {
DWORD_PTR dwCallback;
LPCSTR lpfilename;
} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
typedef struct tagMCI_SAVE_PARMSW {
DWORD_PTR dwCallback;
LPCWSTR lpfilename;
} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS;
typedef PMCI_SAVE_PARMSA PMCI_SAVE_PARMS;
typedef LPMCI_SAVE_PARMSA LPMCI_SAVE_PARMS;
typedef struct tagMCI_LOAD_PARMSA {
DWORD_PTR dwCallback;
LPCSTR lpfilename;
} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
typedef struct tagMCI_LOAD_PARMSW {
DWORD_PTR dwCallback;
LPCWSTR lpfilename;
} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS;
typedef PMCI_LOAD_PARMSA PMCI_LOAD_PARMS;
typedef LPMCI_LOAD_PARMSA LPMCI_LOAD_PARMS;
typedef struct tagMCI_RECORD_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
typedef struct tagMCI_VD_PLAY_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
DWORD dwSpeed;
} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
typedef struct tagMCI_VD_STEP_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrames;
} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
typedef struct tagMCI_VD_ESCAPE_PARMSA {
DWORD_PTR dwCallback;
LPCSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
typedef struct tagMCI_VD_ESCAPE_PARMSW {
DWORD_PTR dwCallback;
LPCWSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS;
typedef PMCI_VD_ESCAPE_PARMSA PMCI_VD_ESCAPE_PARMS;
typedef LPMCI_VD_ESCAPE_PARMSA LPMCI_VD_ESCAPE_PARMS;
typedef struct tagMCI_WAVE_OPEN_PARMSA {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
typedef struct tagMCI_WAVE_OPEN_PARMSW {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS;
typedef PMCI_WAVE_OPEN_PARMSA PMCI_WAVE_OPEN_PARMS;
typedef LPMCI_WAVE_OPEN_PARMSA LPMCI_WAVE_OPEN_PARMS;
typedef struct tagMCI_WAVE_DELETE_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_WAVE_DELETE_PARMS,*PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
typedef struct tagMCI_WAVE_SET_PARMS {
DWORD_PTR dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
UINT wInput;
UINT wOutput;
WORD wFormatTag;
WORD wReserved2;
WORD nChannels;
WORD wReserved3;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wReserved4;
WORD wBitsPerSample;
WORD wReserved5;
} MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS;
typedef struct tagMCI_SEQ_SET_PARMS {
DWORD_PTR dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
DWORD dwTempo;
DWORD dwPort;
DWORD dwSlave;
DWORD dwMaster;
DWORD dwOffset;
} MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS;
typedef struct tagMCI_ANIM_OPEN_PARMSA {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA;
typedef struct tagMCI_ANIM_OPEN_PARMSW {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW;
typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS;
typedef PMCI_ANIM_OPEN_PARMSA PMCI_ANIM_OPEN_PARMS;
typedef LPMCI_ANIM_OPEN_PARMSA LPMCI_ANIM_OPEN_PARMS;
typedef struct tagMCI_ANIM_PLAY_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrom;
DWORD dwTo;
DWORD dwSpeed;
} MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS;
typedef struct tagMCI_ANIM_STEP_PARMS {
DWORD_PTR dwCallback;
DWORD dwFrames;
} MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS;
typedef struct tagMCI_ANIM_WINDOW_PARMSA {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCSTR lpstrText;
} MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA;
typedef struct tagMCI_ANIM_WINDOW_PARMSW {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCWSTR lpstrText;
} MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW;
typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS;
typedef PMCI_ANIM_WINDOW_PARMSA PMCI_ANIM_WINDOW_PARMS;
typedef LPMCI_ANIM_WINDOW_PARMSA LPMCI_ANIM_WINDOW_PARMS;
typedef struct tagMCI_ANIM_RECT_PARMS {
DWORD_PTR dwCallback;
RECT rc;
} MCI_ANIM_RECT_PARMS;
typedef MCI_ANIM_RECT_PARMS *PMCI_ANIM_RECT_PARMS;
typedef MCI_ANIM_RECT_PARMS *LPMCI_ANIM_RECT_PARMS;
typedef struct tagMCI_ANIM_UPDATE_PARMS {
DWORD_PTR dwCallback;
RECT rc;
HDC hDC;
} MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS;
typedef struct tagMCI_OVLY_OPEN_PARMSA {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA;
typedef struct tagMCI_OVLY_OPEN_PARMSW {
DWORD_PTR dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW;
typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS;
typedef PMCI_OVLY_OPEN_PARMSA PMCI_OVLY_OPEN_PARMS;
typedef LPMCI_OVLY_OPEN_PARMSA LPMCI_OVLY_OPEN_PARMS;
typedef struct tagMCI_OVLY_WINDOW_PARMSA {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCSTR lpstrText;
} MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA;
typedef struct tagMCI_OVLY_WINDOW_PARMSW {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCWSTR lpstrText;
} MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW;
typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS;
typedef PMCI_OVLY_WINDOW_PARMSA PMCI_OVLY_WINDOW_PARMS;
typedef LPMCI_OVLY_WINDOW_PARMSA LPMCI_OVLY_WINDOW_PARMS;
typedef struct tagMCI_OVLY_RECT_PARMS {
DWORD_PTR dwCallback;
RECT rc;
} MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS;
typedef struct tagMCI_OVLY_SAVE_PARMSA {
DWORD_PTR dwCallback;
LPCSTR lpfilename;
RECT rc;
} MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA;
typedef struct tagMCI_OVLY_SAVE_PARMSW {
DWORD_PTR dwCallback;
LPCWSTR lpfilename;
RECT rc;
} MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW;
typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS;
typedef PMCI_OVLY_SAVE_PARMSA PMCI_OVLY_SAVE_PARMS;
typedef LPMCI_OVLY_SAVE_PARMSA LPMCI_OVLY_SAVE_PARMS;
typedef struct tagMCI_OVLY_LOAD_PARMSA {
DWORD_PTR dwCallback;
LPCSTR lpfilename;
RECT rc;
} MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA;
typedef struct tagMCI_OVLY_LOAD_PARMSW {
DWORD_PTR dwCallback;
LPCWSTR lpfilename;
RECT rc;
} MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW;
typedef MCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMS;
typedef PMCI_OVLY_LOAD_PARMSA PMCI_OVLY_LOAD_PARMS;
typedef LPMCI_OVLY_LOAD_PARMSA LPMCI_OVLY_LOAD_PARMS;
#pragma pack(pop)
typedef struct _NCB {
UCHAR ncb_command;
UCHAR ncb_retcode;
UCHAR ncb_lsn;
UCHAR ncb_num;
PUCHAR ncb_buffer;
WORD ncb_length;
UCHAR ncb_callname[16];
UCHAR ncb_name[16];
UCHAR ncb_rto;
UCHAR ncb_sto;
void ( *ncb_post)(struct _NCB *);
UCHAR ncb_lana_num;
UCHAR ncb_cmd_cplt;
UCHAR ncb_reserve[18];
HANDLE ncb_event;
} NCB,*PNCB;
typedef struct _ADAPTER_STATUS {
UCHAR adapter_address[6];
UCHAR rev_major;
UCHAR reserved0;
UCHAR adapter_type;
UCHAR rev_minor;
WORD duration;
WORD frmr_recv;
WORD frmr_xmit;
WORD iframe_recv_err;
WORD xmit_aborts;
DWORD xmit_success;
DWORD recv_success;
WORD iframe_xmit_err;
WORD recv_buff_unavail;
WORD t1_timeouts;
WORD ti_timeouts;
DWORD reserved1;
WORD free_ncbs;
WORD max_cfg_ncbs;
WORD max_ncbs;
WORD xmit_buf_unavail;
WORD max_dgram_size;
WORD pending_sess;
WORD max_cfg_sess;
WORD max_sess;
WORD max_sess_pkt_size;
WORD name_count;
} ADAPTER_STATUS,*PADAPTER_STATUS;
typedef struct _NAME_BUFFER {
UCHAR name[16];
UCHAR name_num;
UCHAR name_flags;
} NAME_BUFFER,*PNAME_BUFFER;
typedef struct _SESSION_HEADER {
UCHAR sess_name;
UCHAR num_sess;
UCHAR rcv_dg_outstanding;
UCHAR rcv_any_outstanding;
} SESSION_HEADER,*PSESSION_HEADER;
typedef struct _SESSION_BUFFER {
UCHAR lsn;
UCHAR state;
UCHAR local_name[16];
UCHAR remote_name[16];
UCHAR rcvs_outstanding;
UCHAR sends_outstanding;
} SESSION_BUFFER,*PSESSION_BUFFER;
typedef struct _LANA_ENUM {
UCHAR length;
UCHAR lana[254 +1];
} LANA_ENUM,*PLANA_ENUM;
typedef struct _FIND_NAME_HEADER {
WORD node_count;
UCHAR reserved;
UCHAR unique_group;
} FIND_NAME_HEADER,*PFIND_NAME_HEADER;
typedef struct _FIND_NAME_BUFFER {
UCHAR length;
UCHAR access_control;
UCHAR frame_control;
UCHAR destination_addr[6];
UCHAR source_addr[6];
UCHAR routing_info[18];
} FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
typedef struct _ACTION_HEADER {
ULONG transport_id;
USHORT action_code;
USHORT reserved;
} ACTION_HEADER,*PACTION_HEADER;
UCHAR Netbios(PNCB pncb);
#pragma pack(push,8)
typedef void *I_RPC_HANDLE;
typedef long RPC_STATUS;
typedef unsigned char *RPC_CSTR;
typedef unsigned short *RPC_WSTR;
typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
typedef RPC_BINDING_HANDLE handle_t;
typedef GUID UUID;
typedef struct _RPC_BINDING_VECTOR {
unsigned long Count;
RPC_BINDING_HANDLE BindingH[1];
} RPC_BINDING_VECTOR;
typedef struct _UUID_VECTOR {
unsigned long Count;
UUID *Uuid[1];
} UUID_VECTOR;
typedef void *RPC_IF_HANDLE;
typedef struct _RPC_IF_ID {
UUID Uuid;
unsigned short VersMajor;
unsigned short VersMinor;
} RPC_IF_ID;
typedef struct _RPC_PROTSEQ_VECTORA {
unsigned int Count;
unsigned char *Protseq[1];
} RPC_PROTSEQ_VECTORA;
typedef struct _RPC_PROTSEQ_VECTORW {
unsigned int Count;
unsigned short *Protseq[1];
} RPC_PROTSEQ_VECTORW;
typedef struct _RPC_POLICY {
unsigned int Length;
unsigned long EndpointFlags;
unsigned long NICFlags;
} RPC_POLICY,*PRPC_POLICY;
typedef void RPC_OBJECT_INQ_FN(UUID *ObjectUuid,UUID *TypeUuid,RPC_STATUS *Status);
typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE InterfaceUuid,void *Context);
typedef void RPC_SECURITY_CALLBACK_FN(void *Context);
typedef struct {
unsigned int Count;
unsigned long Stats[1];
} RPC_STATS_VECTOR;
typedef struct {
unsigned long Count;
RPC_IF_ID *IfId[1];
} RPC_IF_ID_VECTOR;
__attribute__((dllimport)) RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE SourceBinding,RPC_BINDING_HANDLE *DestinationBinding);
__attribute__((dllimport)) RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE *Binding);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetOption(RPC_BINDING_HANDLE hBinding,unsigned long option,ULONG_PTR optionValue);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqOption(RPC_BINDING_HANDLE hBinding,unsigned long option,ULONG_PTR *pOptionValue);
__attribute__((dllimport)) RPC_STATUS RpcBindingFromStringBindingA(RPC_CSTR StringBinding,RPC_BINDING_HANDLE *Binding);
__attribute__((dllimport)) RPC_STATUS RpcBindingFromStringBindingW(RPC_WSTR StringBinding,RPC_BINDING_HANDLE *Binding);
__attribute__((dllimport)) RPC_STATUS RpcSsGetContextBinding(void *ContextHandle,RPC_BINDING_HANDLE *Binding);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE Binding,UUID *ObjectUuid);
__attribute__((dllimport)) RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE Binding);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE Binding,UUID *ObjectUuid);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqDefaultProtectLevel(unsigned long AuthnSvc,unsigned long *AuthnLevel);
__attribute__((dllimport)) RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE Binding,RPC_CSTR *StringBinding);
__attribute__((dllimport)) RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE Binding,RPC_WSTR *StringBinding);
__attribute__((dllimport)) RPC_STATUS RpcBindingVectorFree(RPC_BINDING_VECTOR **BindingVector);
__attribute__((dllimport)) RPC_STATUS RpcStringBindingComposeA(RPC_CSTR ObjUuid,RPC_CSTR Protseq,RPC_CSTR NetworkAddr,RPC_CSTR Endpoint,RPC_CSTR Options,RPC_CSTR *StringBinding);
__attribute__((dllimport)) RPC_STATUS RpcStringBindingComposeW(RPC_WSTR ObjUuid,RPC_WSTR Protseq,RPC_WSTR NetworkAddr,RPC_WSTR Endpoint,RPC_WSTR Options,RPC_WSTR *StringBinding);
__attribute__((dllimport)) RPC_STATUS RpcStringBindingParseA(RPC_CSTR StringBinding,RPC_CSTR *ObjUuid,RPC_CSTR *Protseq,RPC_CSTR *NetworkAddr,RPC_CSTR *Endpoint,RPC_CSTR *NetworkOptions);
__attribute__((dllimport)) RPC_STATUS RpcStringBindingParseW(RPC_WSTR StringBinding,RPC_WSTR *ObjUuid,RPC_WSTR *Protseq,RPC_WSTR *NetworkAddr,RPC_WSTR *Endpoint,RPC_WSTR *NetworkOptions);
__attribute__((dllimport)) RPC_STATUS RpcStringFreeA(RPC_CSTR *String);
__attribute__((dllimport)) RPC_STATUS RpcStringFreeW(RPC_WSTR *String);
__attribute__((dllimport)) RPC_STATUS RpcIfInqId(RPC_IF_HANDLE RpcIfHandle,RPC_IF_ID *RpcIfId);
__attribute__((dllimport)) RPC_STATUS RpcNetworkIsProtseqValidA(RPC_CSTR Protseq);
__attribute__((dllimport)) RPC_STATUS RpcNetworkIsProtseqValidW(RPC_WSTR Protseq);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqComTimeout(RPC_BINDING_HANDLE Binding,unsigned int *Timeout);
__attribute__((dllimport)) RPC_STATUS RpcMgmtSetComTimeout(RPC_BINDING_HANDLE Binding,unsigned int Timeout);
__attribute__((dllimport)) RPC_STATUS RpcMgmtSetCancelTimeout(long Timeout);
__attribute__((dllimport)) RPC_STATUS RpcNetworkInqProtseqsA (RPC_PROTSEQ_VECTORA **ProtseqVector);
__attribute__((dllimport)) RPC_STATUS RpcNetworkInqProtseqsW (RPC_PROTSEQ_VECTORW **ProtseqVector);
__attribute__((dllimport)) RPC_STATUS RpcObjectInqType(UUID *ObjUuid,UUID *TypeUuid);
__attribute__((dllimport)) RPC_STATUS RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *InquiryFn);
__attribute__((dllimport)) RPC_STATUS RpcObjectSetType(UUID *ObjUuid,UUID *TypeUuid);
__attribute__((dllimport)) RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA **ProtseqVector);
__attribute__((dllimport)) RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW **ProtseqVector);
__attribute__((dllimport)) RPC_STATUS RpcServerInqBindings (RPC_BINDING_VECTOR **BindingVector);
__attribute__((dllimport)) RPC_STATUS RpcServerInqIf(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,void **MgrEpv);
__attribute__((dllimport)) RPC_STATUS RpcServerListen(unsigned int MinimumCallThreads,unsigned int MaxCalls,unsigned int DontWait);
__attribute__((dllimport)) RPC_STATUS RpcServerRegisterIf(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,void *MgrEpv);
__attribute__((dllimport)) RPC_STATUS RpcServerRegisterIfEx(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,void *MgrEpv,unsigned int Flags,unsigned int MaxCalls,RPC_IF_CALLBACK_FN *IfCallback);
__attribute__((dllimport)) RPC_STATUS RpcServerRegisterIf2(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,void *MgrEpv,unsigned int Flags,unsigned int MaxCalls,unsigned int MaxRpcSize,RPC_IF_CALLBACK_FN *IfCallbackFn);
__attribute__((dllimport)) RPC_STATUS RpcServerUnregisterIf(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,unsigned int WaitForCallsToComplete);
__attribute__((dllimport)) RPC_STATUS RpcServerUnregisterIfEx(RPC_IF_HANDLE IfSpec,UUID *MgrTypeUuid,int RundownContextHandles);
__attribute__((dllimport)) RPC_STATUS RpcServerUseAllProtseqs(unsigned int MaxCalls,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseAllProtseqsEx(unsigned int MaxCalls,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseAllProtseqsIf(unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseAllProtseqsIfEx(unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqA(RPC_CSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqExA(RPC_CSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqW(RPC_WSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqExW(RPC_WSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqEpA(RPC_CSTR Protseq,unsigned int MaxCalls,RPC_CSTR Endpoint,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqEpExA(RPC_CSTR Protseq,unsigned int MaxCalls,RPC_CSTR Endpoint,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqEpW(RPC_WSTR Protseq,unsigned int MaxCalls,RPC_WSTR Endpoint,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqEpExW(RPC_WSTR Protseq,unsigned int MaxCalls,RPC_WSTR Endpoint,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqIfA(RPC_CSTR Protseq,unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqIfExA(RPC_CSTR Protseq,unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqIfW(RPC_WSTR Protseq,unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor);
__attribute__((dllimport)) RPC_STATUS RpcServerUseProtseqIfExW(RPC_WSTR Protseq,unsigned int MaxCalls,RPC_IF_HANDLE IfSpec,void *SecurityDescriptor,PRPC_POLICY Policy);
__attribute__((dllimport)) void RpcServerYield (void);
__attribute__((dllimport)) RPC_STATUS RpcMgmtStatsVectorFree(RPC_STATS_VECTOR **StatsVector);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqStats(RPC_BINDING_HANDLE Binding,RPC_STATS_VECTOR **Statistics);
__attribute__((dllimport)) RPC_STATUS RpcMgmtIsServerListening(RPC_BINDING_HANDLE Binding);
__attribute__((dllimport)) RPC_STATUS RpcMgmtStopServerListening(RPC_BINDING_HANDLE Binding);
__attribute__((dllimport)) RPC_STATUS RpcMgmtWaitServerListen(void);
__attribute__((dllimport)) RPC_STATUS RpcMgmtSetServerStackSize(unsigned long ThreadStackSize);
__attribute__((dllimport)) void RpcSsDontSerializeContext(void);
__attribute__((dllimport)) RPC_STATUS RpcMgmtEnableIdleCleanup(void);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqIfIds(RPC_BINDING_HANDLE Binding,RPC_IF_ID_VECTOR **IfIdVector);
__attribute__((dllimport)) RPC_STATUS RpcIfIdVectorFree(RPC_IF_ID_VECTOR **IfIdVector);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE Binding,unsigned long AuthnSvc,RPC_CSTR *ServerPrincName);
__attribute__((dllimport)) RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE Binding,unsigned long AuthnSvc,RPC_WSTR *ServerPrincName);
__attribute__((dllimport)) RPC_STATUS RpcServerInqDefaultPrincNameA(unsigned long AuthnSvc,RPC_CSTR *PrincName);
__attribute__((dllimport)) RPC_STATUS RpcServerInqDefaultPrincNameW(unsigned long AuthnSvc,RPC_WSTR *PrincName);
__attribute__((dllimport)) RPC_STATUS RpcEpResolveBinding(RPC_BINDING_HANDLE Binding,RPC_IF_HANDLE IfSpec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE Binding,unsigned long EntryNameSyntax,RPC_CSTR *EntryName);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE Binding,unsigned long EntryNameSyntax,RPC_WSTR *EntryName);
typedef void *RPC_AUTH_IDENTITY_HANDLE;
typedef void *RPC_AUTHZ_HANDLE;
typedef struct _RPC_SECURITY_QOS {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
} RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
unsigned short *User;
unsigned long UserLength;
unsigned short *Domain;
unsigned long DomainLength;
unsigned short *Password;
unsigned long PasswordLength;
unsigned long Flags;
} SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
unsigned char *User;
unsigned long UserLength;
unsigned char *Domain;
unsigned long DomainLength;
unsigned char *Password;
unsigned long PasswordLength;
unsigned long Flags;
} SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W {
SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials;
unsigned long Flags;
unsigned long AuthenticationTarget;
unsigned long NumberOfAuthnSchemes;
unsigned long *AuthnSchemes;
unsigned short *ServerCertificateSubject;
} RPC_HTTP_TRANSPORT_CREDENTIALS_W,*PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A {
SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials;
unsigned long Flags;
unsigned long AuthenticationTarget;
unsigned long NumberOfAuthnSchemes;
unsigned long *AuthnSchemes;
unsigned char *ServerCertificateSubject;
} RPC_HTTP_TRANSPORT_CREDENTIALS_A,*PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
typedef struct _RPC_SECURITY_QOS_V2_W {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
unsigned long AdditionalSecurityInfoType;
union {
RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
} u;
} RPC_SECURITY_QOS_V2_W,*PRPC_SECURITY_QOS_V2_W;
typedef struct _RPC_SECURITY_QOS_V2_A {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
unsigned long AdditionalSecurityInfoType;
union {
RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
} u;
} RPC_SECURITY_QOS_V2_A,*PRPC_SECURITY_QOS_V2_A;
typedef struct _RPC_SECURITY_QOS_V3_W {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
unsigned long AdditionalSecurityInfoType;
union {
RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
} u;
void *Sid;
} RPC_SECURITY_QOS_V3_W,*PRPC_SECURITY_QOS_V3_W;
typedef struct _RPC_SECURITY_QOS_V3_A {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
unsigned long AdditionalSecurityInfoType;
union {
RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
} u;
void *Sid;
} RPC_SECURITY_QOS_V3_A,*PRPC_SECURITY_QOS_V3_A;
typedef enum _RPC_HTTP_REDIRECTOR_STAGE {
RPCHTTP_RS_REDIRECT = 1,RPCHTTP_RS_ACCESS_1,RPCHTTP_RS_SESSION,RPCHTTP_RS_ACCESS_2,RPCHTTP_RS_INTERFACE
} RPC_HTTP_REDIRECTOR_STAGE;
typedef RPC_STATUS ( *RPC_NEW_HTTP_PROXY_CHANNEL)(RPC_HTTP_REDIRECTOR_STAGE RedirectorStage,unsigned short *ServerName,unsigned short *ServerPort,unsigned short *RemoteUser,unsigned short *AuthType,void *ResourceUuid,void *Metadata,void *SessionId,void *Interface,void *Reserved,unsigned long Flags,unsigned short **NewServerName,unsigned short **NewServerPort);
typedef void ( *RPC_HTTP_PROXY_FREE_STRING)(unsigned short *String);
__attribute__((dllimport)) RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE BindingHandle);
__attribute__((dllimport)) RPC_STATUS RpcRevertToSelfEx(RPC_BINDING_HANDLE BindingHandle);
__attribute__((dllimport)) RPC_STATUS RpcRevertToSelf(void);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE ClientBinding,RPC_AUTHZ_HANDLE *Privs,RPC_CSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,unsigned long *AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE ClientBinding,RPC_AUTHZ_HANDLE *Privs,RPC_WSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,unsigned long *AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthClientExA(RPC_BINDING_HANDLE ClientBinding,RPC_AUTHZ_HANDLE *Privs,RPC_CSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,unsigned long *AuthzSvc,unsigned long Flags);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthClientExW(RPC_BINDING_HANDLE ClientBinding,RPC_AUTHZ_HANDLE *Privs,RPC_WSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,unsigned long *AuthzSvc,unsigned long Flags);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE Binding,RPC_CSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,unsigned long *AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE Binding,RPC_WSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,unsigned long *AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE Binding,RPC_CSTR ServerPrincName,unsigned long AuthnLevel,unsigned long AuthnSvc,RPC_AUTH_IDENTITY_HANDLE AuthIdentity,unsigned long AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE Binding,RPC_CSTR ServerPrincName,unsigned long AuthnLevel,unsigned long AuthnSvc,RPC_AUTH_IDENTITY_HANDLE AuthIdentity,unsigned long AuthzSvc,RPC_SECURITY_QOS *SecurityQos);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE Binding,RPC_WSTR ServerPrincName,unsigned long AuthnLevel,unsigned long AuthnSvc,RPC_AUTH_IDENTITY_HANDLE AuthIdentity,unsigned long AuthzSvc);
__attribute__((dllimport)) RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE Binding,RPC_WSTR ServerPrincName,unsigned long AuthnLevel,unsigned long AuthnSvc,RPC_AUTH_IDENTITY_HANDLE AuthIdentity,unsigned long AuthzSvc,RPC_SECURITY_QOS *SecurityQOS);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE Binding,RPC_CSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,unsigned long *AuthzSvc,unsigned long RpcQosVersion,RPC_SECURITY_QOS *SecurityQOS);
__attribute__((dllimport)) RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE Binding,RPC_WSTR *ServerPrincName,unsigned long *AuthnLevel,unsigned long *AuthnSvc,RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,unsigned long *AuthzSvc,unsigned long RpcQosVersion,RPC_SECURITY_QOS *SecurityQOS);
typedef void ( *RPC_AUTH_KEY_RETRIEVAL_FN)(void *Arg,unsigned short *ServerPrincName,unsigned long KeyVer,void **Key,RPC_STATUS *Status);
__attribute__((dllimport)) RPC_STATUS RpcServerRegisterAuthInfoA(RPC_CSTR ServerPrincName,unsigned long AuthnSvc,RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,void *Arg);
__attribute__((dllimport)) RPC_STATUS RpcServerRegisterAuthInfoW(RPC_WSTR ServerPrincName,unsigned long AuthnSvc,RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,void *Arg);
typedef struct {
unsigned char *UserName;
unsigned char *ComputerName;
unsigned short Privilege;
unsigned long AuthFlags;
} RPC_CLIENT_INFORMATION1,*PRPC_CLIENT_INFORMATION1;
__attribute__((dllimport)) RPC_STATUS RpcBindingServerFromClient(RPC_BINDING_HANDLE ClientBinding,RPC_BINDING_HANDLE *ServerBinding);
__attribute__((dllimport)) __attribute__((noreturn)) void RpcRaiseException(RPC_STATUS exception);
__attribute__((dllimport)) RPC_STATUS RpcTestCancel(void);
__attribute__((dllimport)) RPC_STATUS RpcServerTestCancel(RPC_BINDING_HANDLE BindingHandle);
__attribute__((dllimport)) RPC_STATUS RpcCancelThread(void *Thread);
__attribute__((dllimport)) RPC_STATUS RpcCancelThreadEx(void *Thread,long Timeout);
__attribute__((dllimport)) RPC_STATUS UuidCreate(UUID *Uuid);
__attribute__((dllimport)) RPC_STATUS UuidCreateSequential(UUID *Uuid);
__attribute__((dllimport)) RPC_STATUS UuidToStringA(UUID *Uuid,RPC_CSTR *StringUuid);
__attribute__((dllimport)) RPC_STATUS UuidFromStringA(RPC_CSTR StringUuid,UUID *Uuid);
__attribute__((dllimport)) RPC_STATUS UuidToStringW(UUID *Uuid,RPC_WSTR *StringUuid);
__attribute__((dllimport)) RPC_STATUS UuidFromStringW(RPC_WSTR StringUuid,UUID *Uuid);
__attribute__((dllimport)) signed int UuidCompare(UUID *Uuid1,UUID *Uuid2,RPC_STATUS *Status);
__attribute__((dllimport)) RPC_STATUS UuidCreateNil(UUID *NilUuid);
__attribute__((dllimport)) int UuidEqual(UUID *Uuid1,UUID *Uuid2,RPC_STATUS *Status);
__attribute__((dllimport)) unsigned short UuidHash(UUID *Uuid,RPC_STATUS *Status);
__attribute__((dllimport)) int UuidIsNil(UUID *Uuid,RPC_STATUS *Status);
__attribute__((dllimport)) RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVector,UUID_VECTOR *UuidVector,RPC_CSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVector,UUID_VECTOR *UuidVector,RPC_WSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVector,UUID_VECTOR *UuidVector,RPC_CSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVector,UUID_VECTOR *UuidVector,RPC_WSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcEpUnregister(RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVector,UUID_VECTOR *UuidVector);
__attribute__((dllimport)) RPC_STATUS DceErrorInqTextA(RPC_STATUS RpcStatus,RPC_CSTR ErrorText);
__attribute__((dllimport)) RPC_STATUS DceErrorInqTextW(RPC_STATUS RpcStatus,RPC_WSTR ErrorText);
typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
__attribute__((dllimport)) RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE EpBinding,unsigned long InquiryType,RPC_IF_ID *IfId,unsigned long VersOption,UUID *ObjectUuid,RPC_EP_INQ_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE InquiryContext,RPC_IF_ID *IfId,RPC_BINDING_HANDLE *Binding,UUID *ObjectUuid,RPC_CSTR *Annotation);
__attribute__((dllimport)) RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE InquiryContext,RPC_IF_ID *IfId,RPC_BINDING_HANDLE *Binding,UUID *ObjectUuid,RPC_WSTR *Annotation);
__attribute__((dllimport)) RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE EpBinding,RPC_IF_ID *IfId,RPC_BINDING_HANDLE Binding,UUID *ObjectUuid);
typedef int ( *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE ClientBinding,unsigned long RequestedMgmtOperation,RPC_STATUS *Status);
__attribute__((dllimport)) RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN AuthorizationFn);
typedef struct _RPC_VERSION {
unsigned short MajorVersion;
unsigned short MinorVersion;
} RPC_VERSION;
typedef struct _RPC_SYNTAX_IDENTIFIER {
GUID SyntaxGUID;
RPC_VERSION SyntaxVersion;
} RPC_SYNTAX_IDENTIFIER,*PRPC_SYNTAX_IDENTIFIER;
typedef struct _RPC_MESSAGE {
RPC_BINDING_HANDLE Handle;
unsigned long DataRepresentation;
void *Buffer;
unsigned int BufferLength;
unsigned int ProcNum;
PRPC_SYNTAX_IDENTIFIER TransferSyntax;
void *RpcInterfaceInformation;
void *ReservedForRuntime;
void *ManagerEpv;
void *ImportContext;
unsigned long RpcFlags;
} RPC_MESSAGE,*PRPC_MESSAGE;
typedef RPC_STATUS RPC_FORWARD_FUNCTION(UUID *InterfaceId,RPC_VERSION *InterfaceVersion,UUID *ObjectId,unsigned char *Rpcpro,void **ppDestEndpoint);
enum RPC_ADDRESS_CHANGE_TYPE {
PROTOCOL_NOT_LOADED = 1,PROTOCOL_LOADED,PROTOCOL_ADDRESS_CHANGE
};
typedef void RPC_ADDRESS_CHANGE_FN(void *arg);
typedef void ( *RPC_DISPATCH_FUNCTION)(PRPC_MESSAGE Message);
typedef struct {
unsigned int DispatchTableCount;
RPC_DISPATCH_FUNCTION *DispatchTable;
LONG_PTR Reserved;
} RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
typedef struct _RPC_PROTSEQ_ENDPOINT {
unsigned char *RpcProtocolSequence;
unsigned char *Endpoint;
} RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
typedef struct _RPC_SERVER_INTERFACE {
unsigned int Length;
RPC_SYNTAX_IDENTIFIER InterfaceId;
RPC_SYNTAX_IDENTIFIER TransferSyntax;
PRPC_DISPATCH_TABLE DispatchTable;
unsigned int RpcProtseqEndpointCount;
PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
void *DefaultManagerEpv;
void const *InterpreterInfo;
unsigned int Flags;
} RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
typedef struct _RPC_CLIENT_INTERFACE {
unsigned int Length;
RPC_SYNTAX_IDENTIFIER InterfaceId;
RPC_SYNTAX_IDENTIFIER TransferSyntax;
PRPC_DISPATCH_TABLE DispatchTable;
unsigned int RpcProtseqEndpointCount;
PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
ULONG_PTR Reserved;
void const *InterpreterInfo;
unsigned int Flags;
} RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
__attribute__((dllimport)) RPC_STATUS I_RpcNegotiateTransferSyntax(RPC_MESSAGE *Message);
__attribute__((dllimport)) RPC_STATUS I_RpcGetBuffer(RPC_MESSAGE *Message);
__attribute__((dllimport)) RPC_STATUS I_RpcGetBufferWithObject(RPC_MESSAGE *Message,UUID *ObjectUuid);
__attribute__((dllimport)) RPC_STATUS I_RpcSendReceive(RPC_MESSAGE *Message);
__attribute__((dllimport)) RPC_STATUS I_RpcFreeBuffer(RPC_MESSAGE *Message);
__attribute__((dllimport)) RPC_STATUS I_RpcSend(PRPC_MESSAGE Message);
__attribute__((dllimport)) RPC_STATUS I_RpcReceive(PRPC_MESSAGE Message,unsigned int Size);
__attribute__((dllimport)) RPC_STATUS I_RpcFreePipeBuffer(RPC_MESSAGE *Message);
__attribute__((dllimport)) RPC_STATUS I_RpcReallocPipeBuffer(PRPC_MESSAGE Message,unsigned int NewSize);
typedef void *I_RPC_MUTEX;
__attribute__((dllimport)) void I_RpcRequestMutex(I_RPC_MUTEX *Mutex);
__attribute__((dllimport)) void I_RpcClearMutex(I_RPC_MUTEX Mutex);
__attribute__((dllimport)) void I_RpcDeleteMutex(I_RPC_MUTEX Mutex);
__attribute__((dllimport)) void * I_RpcAllocate(unsigned int Size);
__attribute__((dllimport)) void I_RpcFree(void *Object);
__attribute__((dllimport)) void I_RpcPauseExecution(unsigned long Milliseconds);
__attribute__((dllimport)) RPC_STATUS I_RpcGetExtendedError(void);
typedef void ( *PRPC_RUNDOWN)(void *AssociationContext);
__attribute__((dllimport)) RPC_STATUS I_RpcMonitorAssociation(RPC_BINDING_HANDLE Handle,PRPC_RUNDOWN RundownRoutine,void *Context);
__attribute__((dllimport)) RPC_STATUS I_RpcStopMonitorAssociation(RPC_BINDING_HANDLE Handle);
__attribute__((dllimport)) RPC_BINDING_HANDLE I_RpcGetCurrentCallHandle(void);
__attribute__((dllimport)) RPC_STATUS I_RpcGetAssociationContext(RPC_BINDING_HANDLE BindingHandle,void **AssociationContext);
__attribute__((dllimport)) void * I_RpcGetServerContextList(RPC_BINDING_HANDLE BindingHandle);
__attribute__((dllimport)) void I_RpcSetServerContextList(RPC_BINDING_HANDLE BindingHandle,void *ServerContextList);
__attribute__((dllimport)) RPC_STATUS I_RpcNsInterfaceExported(unsigned long EntryNameSyntax,unsigned short *EntryName,RPC_SERVER_INTERFACE *RpcInterfaceInformation);
__attribute__((dllimport)) RPC_STATUS I_RpcNsInterfaceUnexported(unsigned long EntryNameSyntax,unsigned short *EntryName,RPC_SERVER_INTERFACE *RpcInterfaceInformation);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingToStaticStringBindingW(RPC_BINDING_HANDLE Binding,unsigned short **StringBinding);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqSecurityContext(RPC_BINDING_HANDLE Binding,void **SecurityContextHandle);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqWireIdForSnego(RPC_BINDING_HANDLE Binding,RPC_CSTR WireId);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqMarshalledTargetInfo (RPC_BINDING_HANDLE Binding,unsigned long *MarshalledTargetInfoLength,RPC_CSTR *MarshalledTargetInfo);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqLocalClientPID(RPC_BINDING_HANDLE Binding,unsigned long *Pid);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingHandleToAsyncHandle(RPC_BINDING_HANDLE Binding,void **AsyncHandle);
__attribute__((dllimport)) RPC_STATUS I_RpcNsBindingSetEntryNameW(RPC_BINDING_HANDLE Binding,unsigned long EntryNameSyntax,RPC_WSTR EntryName);
__attribute__((dllimport)) RPC_STATUS I_RpcNsBindingSetEntryNameA(RPC_BINDING_HANDLE Binding,unsigned long EntryNameSyntax,RPC_CSTR EntryName);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUseProtseqEp2A(RPC_CSTR NetworkAddress,RPC_CSTR Protseq,unsigned int MaxCalls,RPC_CSTR Endpoint,void *SecurityDescriptor,void *Policy);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUseProtseqEp2W(RPC_WSTR NetworkAddress,RPC_WSTR Protseq,unsigned int MaxCalls,RPC_WSTR Endpoint,void *SecurityDescriptor,void *Policy);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUseProtseq2W(RPC_WSTR NetworkAddress,RPC_WSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,void *Policy);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUseProtseq2A(RPC_CSTR NetworkAddress,RPC_CSTR Protseq,unsigned int MaxCalls,void *SecurityDescriptor,void *Policy);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqDynamicEndpointW(RPC_BINDING_HANDLE Binding,RPC_WSTR *DynamicEndpoint);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqDynamicEndpointA(RPC_BINDING_HANDLE Binding,RPC_CSTR *DynamicEndpoint);
__attribute__((dllimport)) RPC_STATUS I_RpcServerCheckClientRestriction(RPC_BINDING_HANDLE Context);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqTransportType(RPC_BINDING_HANDLE Binding,unsigned int *Type);
typedef struct _RPC_TRANSFER_SYNTAX {
UUID Uuid;
unsigned short VersMajor;
unsigned short VersMinor;
} RPC_TRANSFER_SYNTAX;
__attribute__((dllimport)) RPC_STATUS I_RpcIfInqTransferSyntaxes(RPC_IF_HANDLE RpcIfHandle,RPC_TRANSFER_SYNTAX *TransferSyntaxes,unsigned int TransferSyntaxSize,unsigned int *TransferSyntaxCount);
__attribute__((dllimport)) RPC_STATUS I_UuidCreate(UUID *Uuid);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingCopy(RPC_BINDING_HANDLE SourceBinding,RPC_BINDING_HANDLE *DestinationBinding);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingIsClientLocal(RPC_BINDING_HANDLE BindingHandle,unsigned int *ClientLocalFlag);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingInqConnId(RPC_BINDING_HANDLE Binding,void **ConnId,int *pfFirstCall);
__attribute__((dllimport)) void I_RpcSsDontSerializeContext(void);
__attribute__((dllimport)) RPC_STATUS I_RpcLaunchDatagramReceiveThread(void *pAddress);
__attribute__((dllimport)) RPC_STATUS I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION *pForwardFunction);
RPC_ADDRESS_CHANGE_FN * I_RpcServerInqAddressChangeFn();
RPC_STATUS I_RpcServerSetAddressChangeFn(RPC_ADDRESS_CHANGE_FN *pAddressChangeFn);
__attribute__((dllimport)) RPC_STATUS I_RpcServerInqLocalConnAddress(RPC_BINDING_HANDLE Binding,void *Buffer,unsigned long *BufferSize,unsigned long *AddressFormat);
__attribute__((dllimport)) void I_RpcSessionStrictContextHandle(void);
__attribute__((dllimport)) RPC_STATUS I_RpcTurnOnEEInfoPropagation(void);
__attribute__((dllimport)) RPC_STATUS I_RpcConnectionInqSockBuffSize(unsigned long *RecvBuffSize,unsigned long *SendBuffSize);
__attribute__((dllimport)) RPC_STATUS I_RpcConnectionSetSockBuffSize(unsigned long RecvBuffSize,unsigned long SendBuffSize);
typedef void (*RPCLT_PDU_FILTER_FUNC)(void *Buffer,unsigned int BufferLength,int fDatagram);
typedef void (__attribute__((__cdecl__)) *RPC_SETFILTER_FUNC)(RPCLT_PDU_FILTER_FUNC pfnFilter);
__attribute__((dllimport)) RPC_STATUS I_RpcServerStartListening(void *hWnd);
__attribute__((dllimport)) RPC_STATUS I_RpcServerStopListening();
typedef RPC_STATUS (*RPC_BLOCKING_FN)(void *hWnd,void *Context,void *hSyncEvent);
__attribute__((dllimport)) RPC_STATUS I_RpcBindingSetAsync(RPC_BINDING_HANDLE Binding,RPC_BLOCKING_FN BlockingFn,unsigned long ServerTid);
__attribute__((dllimport)) RPC_STATUS I_RpcSetThreadParams(int fClientFree,void *Context,void *hWndClient);
__attribute__((dllimport)) unsigned int I_RpcWindowProc(void *hWnd,unsigned int Message,unsigned int wParam,unsigned long lParam);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUnregisterEndpointA(RPC_CSTR Protseq,RPC_CSTR Endpoint);
__attribute__((dllimport)) RPC_STATUS I_RpcServerUnregisterEndpointW(RPC_WSTR Protseq,RPC_WSTR Endpoint);
__attribute__((dllimport)) RPC_STATUS I_RpcServerInqTransportType(unsigned int *Type);
__attribute__((dllimport)) long I_RpcMapWin32Status(RPC_STATUS Status);
typedef struct _RPC_C_OPT_METADATA_DESCRIPTOR {
unsigned long BufferSize;
char *Buffer;
} RPC_C_OPT_METADATA_DESCRIPTOR;
typedef struct _RDR_CALLOUT_STATE {
RPC_STATUS LastError;
void *LastEEInfo;
RPC_HTTP_REDIRECTOR_STAGE LastCalledStage;
unsigned short *ServerName;
unsigned short *ServerPort;
unsigned short *RemoteUser;
unsigned short *AuthType;
unsigned char ResourceTypePresent;
unsigned char MetadataPresent;
unsigned char SessionIdPresent;
unsigned char InterfacePresent;
UUID ResourceType;
RPC_C_OPT_METADATA_DESCRIPTOR Metadata;
UUID SessionId;
RPC_SYNTAX_IDENTIFIER Interface;
void *CertContext;
} RDR_CALLOUT_STATE;
typedef RPC_STATUS ( *I_RpcProxyIsValidMachineFn)(char *pszMachine,char *pszDotMachine,unsigned long dwPortNumber);
typedef RPC_STATUS ( *I_RpcProxyGetClientAddressFn)(void *Context,char *Buffer,unsigned long *BufferLength);
typedef RPC_STATUS ( *I_RpcProxyGetConnectionTimeoutFn)(unsigned long *ConnectionTimeout);
typedef RPC_STATUS ( *I_RpcPerformCalloutFn)(void *Context,RDR_CALLOUT_STATE *CallOutState,RPC_HTTP_REDIRECTOR_STAGE Stage);
typedef void ( *I_RpcFreeCalloutStateFn)(RDR_CALLOUT_STATE *CallOutState);
typedef struct tagI_RpcProxyCallbackInterface {
I_RpcProxyIsValidMachineFn IsValidMachineFn;
I_RpcProxyGetClientAddressFn GetClientAddressFn;
I_RpcProxyGetConnectionTimeoutFn GetConnectionTimeoutFn;
I_RpcPerformCalloutFn PerformCalloutFn;
I_RpcFreeCalloutStateFn FreeCalloutStateFn;
} I_RpcProxyCallbackInterface;
__attribute__((dllimport)) RPC_STATUS I_RpcProxyNewConnection(unsigned long ConnectionType,unsigned short *ServerAddress,unsigned short *ServerPort,unsigned short *MinConnTimeout,void *ConnectionParameter,RDR_CALLOUT_STATE *CallOutState,I_RpcProxyCallbackInterface *ProxyCallbackInterface);
__attribute__((dllimport)) RPC_STATUS I_RpcReplyToClientWithStatus(void *ConnectionParameter,RPC_STATUS RpcStatus);
__attribute__((dllimport)) void I_RpcRecordCalloutFailure(RPC_STATUS RpcStatus,RDR_CALLOUT_STATE *CallOutState,unsigned short *DllName);
typedef void *RPC_NS_HANDLE;
__attribute__((dllimport)) RPC_STATUS RpcNsBindingExportA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVec,UUID_VECTOR *ObjectUuidVec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingUnexportA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectUuidVec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingExportW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,RPC_BINDING_VECTOR *BindingVec,UUID_VECTOR *ObjectUuidVec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingUnexportW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectUuidVec);
RPC_STATUS RpcNsBindingExportPnPA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectVector);
RPC_STATUS RpcNsBindingUnexportPnPA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectVector);
RPC_STATUS RpcNsBindingExportPnPW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectVector);
RPC_STATUS RpcNsBindingUnexportPnPW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,UUID_VECTOR *ObjectVector);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingLookupBeginA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,UUID *ObjUuid,unsigned long BindingMaxCount,RPC_NS_HANDLE *LookupContext);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingLookupBeginW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,UUID *ObjUuid,unsigned long BindingMaxCount,RPC_NS_HANDLE *LookupContext);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingLookupNext(RPC_NS_HANDLE LookupContext,RPC_BINDING_VECTOR **BindingVec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingLookupDone(RPC_NS_HANDLE *LookupContext);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupDeleteA(unsigned long GroupNameSyntax,RPC_CSTR GroupName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrAddA(unsigned long GroupNameSyntax,RPC_CSTR GroupName,unsigned long MemberNameSyntax,RPC_CSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrRemoveA(unsigned long GroupNameSyntax,RPC_CSTR GroupName,unsigned long MemberNameSyntax,RPC_CSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrInqBeginA(unsigned long GroupNameSyntax,RPC_CSTR GroupName,unsigned long MemberNameSyntax,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrInqNextA(RPC_NS_HANDLE InquiryContext,RPC_CSTR *MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupDeleteW(unsigned long GroupNameSyntax,RPC_WSTR GroupName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrAddW(unsigned long GroupNameSyntax,RPC_WSTR GroupName,unsigned long MemberNameSyntax,RPC_WSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrRemoveW(unsigned long GroupNameSyntax,RPC_WSTR GroupName,unsigned long MemberNameSyntax,RPC_WSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrInqBeginW(unsigned long GroupNameSyntax,RPC_WSTR GroupName,unsigned long MemberNameSyntax,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE InquiryContext,RPC_WSTR *MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsGroupMbrInqDone(RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileDeleteA(unsigned long ProfileNameSyntax,RPC_CSTR ProfileName);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltAddA(unsigned long ProfileNameSyntax,RPC_CSTR ProfileName,RPC_IF_ID *IfId,unsigned long MemberNameSyntax,RPC_CSTR MemberName,unsigned long Priority,RPC_CSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltRemoveA(unsigned long ProfileNameSyntax,RPC_CSTR ProfileName,RPC_IF_ID *IfId,unsigned long MemberNameSyntax,RPC_CSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltInqBeginA(unsigned long ProfileNameSyntax,RPC_CSTR ProfileName,unsigned long InquiryType,RPC_IF_ID *IfId,unsigned long VersOption,unsigned long MemberNameSyntax,RPC_CSTR MemberName,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltInqNextA(RPC_NS_HANDLE InquiryContext,RPC_IF_ID *IfId,RPC_CSTR *MemberName,unsigned long *Priority,RPC_CSTR *Annotation);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileDeleteW(unsigned long ProfileNameSyntax,RPC_WSTR ProfileName);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltAddW(unsigned long ProfileNameSyntax,RPC_WSTR ProfileName,RPC_IF_ID *IfId,unsigned long MemberNameSyntax,RPC_WSTR MemberName,unsigned long Priority,RPC_WSTR Annotation);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltRemoveW(unsigned long ProfileNameSyntax,RPC_WSTR ProfileName,RPC_IF_ID *IfId,unsigned long MemberNameSyntax,RPC_WSTR MemberName);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltInqBeginW(unsigned long ProfileNameSyntax,RPC_WSTR ProfileName,unsigned long InquiryType,RPC_IF_ID *IfId,unsigned long VersOption,unsigned long MemberNameSyntax,RPC_WSTR MemberName,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE InquiryContext,RPC_IF_ID *IfId,RPC_WSTR *MemberName,unsigned long *Priority,RPC_WSTR *Annotation);
__attribute__((dllimport)) RPC_STATUS RpcNsProfileEltInqDone(RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryObjectInqBeginA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryObjectInqBeginW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryObjectInqNext(RPC_NS_HANDLE InquiryContext,UUID *ObjUuid);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryObjectInqDone(RPC_NS_HANDLE *InquiryContext);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryExpandNameA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_CSTR *ExpandedName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtBindingUnexportA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_ID *IfId,unsigned long VersOption,UUID_VECTOR *ObjectUuidVec);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryCreateA(unsigned long EntryNameSyntax,RPC_CSTR EntryName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryDeleteA(unsigned long EntryNameSyntax,RPC_CSTR EntryName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryInqIfIdsA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_ID_VECTOR **IfIdVec);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE NsHandle,unsigned long ExpirationAge);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtInqExpAge(unsigned long *ExpirationAge);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtSetExpAge(unsigned long ExpirationAge);
__attribute__((dllimport)) RPC_STATUS RpcNsEntryExpandNameW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_WSTR *ExpandedName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtBindingUnexportW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_ID *IfId,unsigned long VersOption,UUID_VECTOR *ObjectUuidVec);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryCreateW(unsigned long EntryNameSyntax,RPC_WSTR EntryName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryDeleteW(unsigned long EntryNameSyntax,RPC_WSTR EntryName);
__attribute__((dllimport)) RPC_STATUS RpcNsMgmtEntryInqIfIdsW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_ID_VECTOR **IfIdVec);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingImportBeginA(unsigned long EntryNameSyntax,RPC_CSTR EntryName,RPC_IF_HANDLE IfSpec,UUID *ObjUuid,RPC_NS_HANDLE *ImportContext);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingImportBeginW(unsigned long EntryNameSyntax,RPC_WSTR EntryName,RPC_IF_HANDLE IfSpec,UUID *ObjUuid,RPC_NS_HANDLE *ImportContext);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE ImportContext,RPC_BINDING_HANDLE *Binding);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE *ImportContext);
__attribute__((dllimport)) RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR *BindingVec,RPC_BINDING_HANDLE *Binding);
#pragma pack(push,8)
typedef enum _RPC_NOTIFICATION_TYPES {
RpcNotificationTypeNone,RpcNotificationTypeEvent,RpcNotificationTypeApc,RpcNotificationTypeIoc,RpcNotificationTypeHwnd,
RpcNotificationTypeCallback
} RPC_NOTIFICATION_TYPES;
typedef enum _RPC_ASYNC_EVENT {
RpcCallComplete,RpcSendComplete,RpcReceiveComplete
} RPC_ASYNC_EVENT;
struct _RPC_ASYNC_STATE;
typedef void RPCNOTIFICATION_ROUTINE(struct _RPC_ASYNC_STATE *pAsync,void *Context,RPC_ASYNC_EVENT Event);
typedef RPCNOTIFICATION_ROUTINE *PFN_RPCNOTIFICATION_ROUTINE;
typedef struct _RPC_ASYNC_STATE {
unsigned int Size;
unsigned long Signature;
long Lock;
unsigned long Flags;
void *StubInfo;
void *UserInfo;
void *RuntimeInfo;
RPC_ASYNC_EVENT Event;
RPC_NOTIFICATION_TYPES NotificationType;
union {
struct {
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
HANDLE hThread;
} APC;
struct {
HANDLE hIOPort;
DWORD dwNumberOfBytesTransferred;
DWORD_PTR dwCompletionKey;
LPOVERLAPPED lpOverlapped;
} IOC;
struct {
HWND hWnd;
UINT Msg;
} HWND;
HANDLE hEvent;
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
} u;
LONG_PTR Reserved[4];
} RPC_ASYNC_STATE,*PRPC_ASYNC_STATE;
__attribute__((dllimport)) RPC_STATUS RpcAsyncInitializeHandle(PRPC_ASYNC_STATE pAsync,unsigned int Size);
__attribute__((dllimport)) RPC_STATUS RpcAsyncRegisterInfo(PRPC_ASYNC_STATE pAsync);
__attribute__((dllimport)) RPC_STATUS RpcAsyncGetCallStatus(PRPC_ASYNC_STATE pAsync);
__attribute__((dllimport)) RPC_STATUS RpcAsyncCompleteCall(PRPC_ASYNC_STATE pAsync,void *Reply);
__attribute__((dllimport)) RPC_STATUS RpcAsyncAbortCall(PRPC_ASYNC_STATE pAsync,unsigned long ExceptionCode);
__attribute__((dllimport)) RPC_STATUS RpcAsyncCancelCall(PRPC_ASYNC_STATE pAsync,WINBOOL fAbort);
__attribute__((dllimport)) RPC_STATUS RpcAsyncCleanupThread(DWORD dwTimeout);
typedef enum tagExtendedErrorParamTypes {
eeptAnsiString = 1,eeptUnicodeString,eeptLongVal,eeptShortVal,eeptPointerVal,eeptNone,eeptBinary
} ExtendedErrorParamTypes;
typedef struct tagBinaryParam {
void *Buffer;
short Size;
} BinaryParam;
typedef struct tagRPC_EE_INFO_PARAM {
ExtendedErrorParamTypes ParameterType;
union {
LPSTR AnsiString;
LPWSTR UnicodeString;
long LVal;
short SVal;
ULONGLONG PVal;
BinaryParam BVal;
} u;
} RPC_EE_INFO_PARAM;
typedef struct tagRPC_EXTENDED_ERROR_INFO {
ULONG Version;
LPWSTR ComputerName;
ULONG ProcessID;
union {
SYSTEMTIME SystemTime;
FILETIME FileTime;
} u;
ULONG GeneratingComponent;
ULONG Status;
USHORT DetectionLocation;
USHORT Flags;
int NumberOfParameters;
RPC_EE_INFO_PARAM Parameters[4];
} RPC_EXTENDED_ERROR_INFO;
typedef struct tagRPC_ERROR_ENUM_HANDLE {
ULONG Signature;
void *CurrentPos;
void *Head;
} RPC_ERROR_ENUM_HANDLE;
__attribute__((dllimport)) RPC_STATUS RpcErrorStartEnumeration(RPC_ERROR_ENUM_HANDLE *EnumHandle);
__attribute__((dllimport)) RPC_STATUS RpcErrorGetNextRecord(RPC_ERROR_ENUM_HANDLE *EnumHandle,WINBOOL CopyStrings,RPC_EXTENDED_ERROR_INFO *ErrorInfo);
__attribute__((dllimport)) RPC_STATUS RpcErrorEndEnumeration(RPC_ERROR_ENUM_HANDLE *EnumHandle);
__attribute__((dllimport)) RPC_STATUS RpcErrorResetEnumeration(RPC_ERROR_ENUM_HANDLE *EnumHandle);
__attribute__((dllimport)) RPC_STATUS RpcErrorGetNumberOfRecords(RPC_ERROR_ENUM_HANDLE *EnumHandle,int *Records);
__attribute__((dllimport)) RPC_STATUS RpcErrorSaveErrorInfo(RPC_ERROR_ENUM_HANDLE *EnumHandle,PVOID *ErrorBlob,size_t *BlobSize);
__attribute__((dllimport)) RPC_STATUS RpcErrorLoadErrorInfo(PVOID ErrorBlob,size_t BlobSize,RPC_ERROR_ENUM_HANDLE *EnumHandle);
__attribute__((dllimport)) RPC_STATUS RpcErrorAddRecord(RPC_EXTENDED_ERROR_INFO *ErrorInfo);
__attribute__((dllimport)) void RpcErrorClearInformation(void);
__attribute__((dllimport)) RPC_STATUS RpcGetAuthorizationContextForClient(RPC_BINDING_HANDLE ClientBinding,WINBOOL ImpersonateOnReturn,PVOID Reserved1,PLARGE_INTEGER pExpirationTime,LUID Reserved2,DWORD Reserved3,PVOID Reserved4,PVOID *pAuthzClientContext);
__attribute__((dllimport)) RPC_STATUS RpcFreeAuthorizationContext(PVOID *pAuthzClientContext);
__attribute__((dllimport)) RPC_STATUS RpcSsContextLockExclusive(RPC_BINDING_HANDLE ServerBindingHandle,PVOID UserContext);
__attribute__((dllimport)) RPC_STATUS RpcSsContextLockShared(RPC_BINDING_HANDLE ServerBindingHandle,PVOID UserContext);
typedef struct tagRPC_CALL_ATTRIBUTES_V1_W {
unsigned int Version;
unsigned long Flags;
unsigned long ServerPrincipalNameBufferLength;
unsigned short *ServerPrincipalName;
unsigned long ClientPrincipalNameBufferLength;
unsigned short *ClientPrincipalName;
unsigned long AuthenticationLevel;
unsigned long AuthenticationService;
WINBOOL NullSession;
} RPC_CALL_ATTRIBUTES_V1_W;
typedef struct tagRPC_CALL_ATTRIBUTES_V1_A {
unsigned int Version;
unsigned long Flags;
unsigned long ServerPrincipalNameBufferLength;
unsigned char *ServerPrincipalName;
unsigned long ClientPrincipalNameBufferLength;
unsigned char *ClientPrincipalName;
unsigned long AuthenticationLevel;
unsigned long AuthenticationService;
WINBOOL NullSession;
} RPC_CALL_ATTRIBUTES_V1_A;
__attribute__((dllimport)) RPC_STATUS RpcServerInqCallAttributesW(RPC_BINDING_HANDLE ClientBinding,void *RpcCallAttributes);
__attribute__((dllimport)) RPC_STATUS RpcServerInqCallAttributesA(RPC_BINDING_HANDLE ClientBinding,void *RpcCallAttributes);
typedef RPC_CALL_ATTRIBUTES_V1_A RPC_CALL_ATTRIBUTES;
RPC_STATUS I_RpcAsyncSetHandle(PRPC_MESSAGE Message,PRPC_ASYNC_STATE pAsync);
RPC_STATUS I_RpcAsyncAbortCall(PRPC_ASYNC_STATE pAsync,unsigned long ExceptionCode);
int I_RpcExceptionFilter(unsigned long ExceptionCode);
typedef union _RPC_ASYNC_NOTIFICATION_INFO {
struct {
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
HANDLE hThread;
} APC;
struct {
HANDLE hIOPort;
DWORD dwNumberOfBytesTransferred;
DWORD_PTR dwCompletionKey;
LPOVERLAPPED lpOverlapped;
} IOC;
struct {
HWND hWnd;
UINT Msg;
} HWND;
HANDLE hEvent;
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
} RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;
RPC_STATUS RpcBindingBind(
PRPC_ASYNC_STATE pAsync,
RPC_BINDING_HANDLE Binding,
RPC_IF_HANDLE IfSpec
);
RPC_STATUS RpcBindingUnbind(
RPC_BINDING_HANDLE Binding
);
typedef enum _RpcCallType {
rctInvalid,
rctNormal,
rctTraining,
rctGuaranteed
} RpcCallType;
typedef enum _RpcLocalAddressFormat {
rlafInvalid,
rlafIPv4,
rlafIPv6
} RpcLocalAddressFormat;
typedef enum _RPC_NOTIFICATIONS {
RpcNotificationCallNone = 0,
RpcNotificationClientDisconnect = 1,
RpcNotificationCallCancel = 2
} RPC_NOTIFICATIONS;
typedef enum _RpcCallClientLocality {
rcclInvalid,
rcclLocal,
rcclRemote,
rcclClientUnknownLocality
} RpcCallClientLocality;
RPC_STATUS RpcServerSubscribeForNotification(
RPC_BINDING_HANDLE Binding,
DWORD Notification,
RPC_NOTIFICATION_TYPES NotificationType,
RPC_ASYNC_NOTIFICATION_INFO *NotificationInfo
);
RPC_STATUS RpcServerUnsubscribeForNotification(
RPC_BINDING_HANDLE Binding,
RPC_NOTIFICATIONS Notification,
unsigned long *NotificationsQueued
);
#pragma pack(pop)
#pragma pack(pop)
struct HDROP__ { int unused; }; typedef struct HDROP__ *HDROP;
__attribute__((dllimport)) UINT DragQueryFileA (HDROP hDrop, UINT iFile, LPSTR lpszFile, UINT cch);
__attribute__((dllimport)) UINT DragQueryFileW (HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch);
__attribute__((dllimport)) WINBOOL DragQueryPoint (HDROP hDrop, POINT *ppt);
__attribute__((dllimport)) void DragFinish (HDROP hDrop);
__attribute__((dllimport)) void DragAcceptFiles (HWND hWnd, WINBOOL fAccept);
__attribute__((dllimport)) HINSTANCE ShellExecuteA (HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd);
__attribute__((dllimport)) HINSTANCE ShellExecuteW (HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
__attribute__((dllimport)) HINSTANCE FindExecutableA (LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult);
__attribute__((dllimport)) HINSTANCE FindExecutableW (LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult);
__attribute__((dllimport)) LPWSTR * CommandLineToArgvW (LPCWSTR lpCmdLine, int *pNumArgs);
__attribute__((dllimport)) INT ShellAboutA (HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon);
__attribute__((dllimport)) INT ShellAboutW (HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon);
__attribute__((dllimport)) HICON DuplicateIcon (HINSTANCE hInst, HICON hIcon);
__attribute__((dllimport)) HICON ExtractAssociatedIconA (HINSTANCE hInst, LPSTR pszIconPath, WORD *piIcon);
__attribute__((dllimport)) HICON ExtractAssociatedIconW (HINSTANCE hInst, LPWSTR pszIconPath, WORD *piIcon);
__attribute__((dllimport)) HICON ExtractAssociatedIconExA (HINSTANCE hInst, LPSTR pszIconPath, WORD *piIconIndex, WORD *piIconId);
__attribute__((dllimport)) HICON ExtractAssociatedIconExW (HINSTANCE hInst, LPWSTR pszIconPath, WORD *piIconIndex, WORD *piIconId);
__attribute__((dllimport)) HICON ExtractIconA (HINSTANCE hInst, LPCSTR pszExeFileName, UINT nIconIndex);
__attribute__((dllimport)) HICON ExtractIconW (HINSTANCE hInst, LPCWSTR pszExeFileName, UINT nIconIndex);
typedef struct _DRAGINFOA {
UINT uSize;
POINT pt;
WINBOOL fNC;
LPSTR lpFileList;
DWORD grfKeyState;
} DRAGINFOA,*LPDRAGINFOA;
typedef struct _DRAGINFOW {
UINT uSize;
POINT pt;
WINBOOL fNC;
LPWSTR lpFileList;
DWORD grfKeyState;
} DRAGINFOW,*LPDRAGINFOW;
typedef DRAGINFOA DRAGINFO;
typedef LPDRAGINFOA LPDRAGINFO;
typedef struct _AppBarData {
DWORD cbSize;
HWND hWnd;
UINT uCallbackMessage;
UINT uEdge;
RECT rc;
LPARAM lParam;
} APPBARDATA,*PAPPBARDATA;
__attribute__((dllimport)) UINT_PTR SHAppBarMessage (DWORD dwMessage, PAPPBARDATA pData);
__attribute__((dllimport)) DWORD DoEnvironmentSubstA (LPSTR pszSrc, UINT cchSrc);
__attribute__((dllimport)) DWORD DoEnvironmentSubstW (LPWSTR pszSrc, UINT cchSrc);
__attribute__((dllimport)) UINT ExtractIconExA (LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
__attribute__((dllimport)) UINT ExtractIconExW (LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
typedef WORD FILEOP_FLAGS;
typedef WORD PRINTEROP_FLAGS;
typedef struct _SHFILEOPSTRUCTA {
HWND hwnd;
UINT wFunc;
LPCSTR pFrom;
LPCSTR pTo;
FILEOP_FLAGS fFlags;
WINBOOL fAnyOperationsAborted;
LPVOID hNameMappings;
PCSTR lpszProgressTitle;
} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
typedef struct _SHFILEOPSTRUCTW {
HWND hwnd;
UINT wFunc;
LPCWSTR pFrom;
LPCWSTR pTo;
FILEOP_FLAGS fFlags;
WINBOOL fAnyOperationsAborted;
LPVOID hNameMappings;
PCWSTR lpszProgressTitle;
} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT;
typedef LPSHFILEOPSTRUCTA LPSHFILEOPSTRUCT;
__attribute__((dllimport)) int SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
__attribute__((dllimport)) int SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
__attribute__((dllimport)) void SHFreeNameMappings (HANDLE hNameMappings);
typedef struct _SHNAMEMAPPINGA {
LPSTR pszOldPath;
LPSTR pszNewPath;
int cchOldPath;
int cchNewPath;
} SHNAMEMAPPINGA,*LPSHNAMEMAPPINGA;
typedef struct _SHNAMEMAPPINGW {
LPWSTR pszOldPath;
LPWSTR pszNewPath;
int cchOldPath;
int cchNewPath;
} SHNAMEMAPPINGW,*LPSHNAMEMAPPINGW;
typedef SHNAMEMAPPINGA SHNAMEMAPPING;
typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING;
typedef struct _SHELLEXECUTEINFOA {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpFile;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
void *lpIDList;
LPCSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
__extension__ union {
HANDLE hIcon;
HANDLE hMonitor;
} ;
HANDLE hProcess;
} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
typedef struct _SHELLEXECUTEINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR lpVerb;
LPCWSTR lpFile;
LPCWSTR lpParameters;
LPCWSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
void *lpIDList;
LPCWSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
__extension__ union {
HANDLE hIcon;
HANDLE hMonitor;
} ;
HANDLE hProcess;
} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO;
typedef LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFO;
__attribute__((dllimport)) WINBOOL ShellExecuteExA (SHELLEXECUTEINFOA *pExecInfo);
__attribute__((dllimport)) WINBOOL ShellExecuteExW (SHELLEXECUTEINFOW *pExecInfo);
typedef struct _SHCREATEPROCESSINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR pszFile;
LPCWSTR pszParameters;
LPCWSTR pszCurrentDirectory;
HANDLE hUserToken;
LPSECURITY_ATTRIBUTES lpProcessAttributes;
LPSECURITY_ATTRIBUTES lpThreadAttributes;
WINBOOL bInheritHandles;
DWORD dwCreationFlags;
LPSTARTUPINFOW lpStartupInfo;
LPPROCESS_INFORMATION lpProcessInformation;
} SHCREATEPROCESSINFOW,*PSHCREATEPROCESSINFOW;
__attribute__((dllimport)) WINBOOL SHCreateProcessAsUserW (PSHCREATEPROCESSINFOW pscpi);
typedef struct _SHQUERYRBINFO {
DWORD cbSize;
__extension__ long long i64Size;
__extension__ long long i64NumItems;
} SHQUERYRBINFO,*LPSHQUERYRBINFO;
__attribute__((dllimport)) HRESULT SHQueryRecycleBinA (LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
__attribute__((dllimport)) HRESULT SHQueryRecycleBinW (LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
__attribute__((dllimport)) HRESULT SHEmptyRecycleBinA (HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags);
__attribute__((dllimport)) HRESULT SHEmptyRecycleBinW (HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags);
typedef struct _NOTIFYICONDATAA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
CHAR szTip[128];
DWORD dwState;
DWORD dwStateMask;
CHAR szInfo[256];
__extension__ union {
UINT uTimeout;
UINT uVersion;
} ;
CHAR szInfoTitle[64];
DWORD dwInfoFlags;
GUID guidItem;
} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
typedef struct _NOTIFYICONDATAW {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
WCHAR szTip[128];
DWORD dwState;
DWORD dwStateMask;
WCHAR szInfo[256];
__extension__ union {
UINT uTimeout;
UINT uVersion;
} ;
WCHAR szInfoTitle[64];
DWORD dwInfoFlags;
GUID guidItem;
} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
typedef NOTIFYICONDATAA NOTIFYICONDATA;
typedef PNOTIFYICONDATAA PNOTIFYICONDATA;
typedef struct _NOTIFYICONIDENTIFIER {
DWORD cbSize;
HWND hWnd;
UINT uID;
GUID guidItem;
} NOTIFYICONIDENTIFIER,*PNOTIFYICONIDENTIFIER;
__attribute__((dllimport)) WINBOOL Shell_NotifyIconA (DWORD dwMessage, PNOTIFYICONDATAA lpData);
__attribute__((dllimport)) WINBOOL Shell_NotifyIconW (DWORD dwMessage, PNOTIFYICONDATAW lpData);
typedef struct _SHFILEINFOA {
HICON hIcon;
int iIcon;
DWORD dwAttributes;
CHAR szDisplayName[260];
CHAR szTypeName[80];
} SHFILEINFOA;
typedef struct _SHFILEINFOW {
HICON hIcon;
int iIcon;
DWORD dwAttributes;
WCHAR szDisplayName[260];
WCHAR szTypeName[80];
} SHFILEINFOW;
typedef SHFILEINFOA SHFILEINFO;
__attribute__((dllimport)) DWORD_PTR SHGetFileInfoA (LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
__attribute__((dllimport)) DWORD_PTR SHGetFileInfoW (LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags);
__attribute__((dllimport)) WINBOOL SHGetDiskFreeSpaceExA (LPCSTR pszDirectoryName, ULARGE_INTEGER *pulFreeBytesAvailableToCaller, ULARGE_INTEGER *pulTotalNumberOfBytes, ULARGE_INTEGER *pulTotalNumberOfFreeBytes);
__attribute__((dllimport)) WINBOOL SHGetDiskFreeSpaceExW (LPCWSTR pszDirectoryName, ULARGE_INTEGER *pulFreeBytesAvailableToCaller, ULARGE_INTEGER *pulTotalNumberOfBytes, ULARGE_INTEGER *pulTotalNumberOfFreeBytes);
__attribute__((dllimport)) WINBOOL SHGetNewLinkInfoA (LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, WINBOOL *pfMustCopy, UINT uFlags);
__attribute__((dllimport)) WINBOOL SHGetNewLinkInfoW (LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, WINBOOL *pfMustCopy, UINT uFlags);
__attribute__((dllimport)) WINBOOL SHInvokePrinterCommandA (HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, WINBOOL fModal);
__attribute__((dllimport)) WINBOOL SHInvokePrinterCommandW (HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, WINBOOL fModal);
__attribute__((dllimport)) HRESULT SHLoadNonloadedIconOverlayIdentifiers (void);
__attribute__((dllimport)) HRESULT SHIsFileAvailableOffline (PCWSTR pwszPath, DWORD *pdwStatus);
__attribute__((dllimport)) HRESULT SHSetLocalizedName (PCWSTR pszPath, PCWSTR pszResModule, int idsRes);
extern __attribute__((dllimport)) int __attribute__((__cdecl__)) ShellMessageBoxA (HINSTANCE hAppInst, HWND hWnd, LPCSTR lpcText, LPCSTR lpcTitle, UINT fuStyle,...);
extern __attribute__((dllimport)) int __attribute__((__cdecl__)) ShellMessageBoxW (HINSTANCE hAppInst, HWND hWnd, LPCWSTR lpcText, LPCWSTR lpcTitle, UINT fuStyle,...);
__attribute__((dllimport)) WINBOOL IsLFNDriveA (LPCSTR pszPath);
__attribute__((dllimport)) WINBOOL IsLFNDriveW (LPCWSTR pszPath);
extern HRESULT SHEnumerateUnreadMailAccountsA (HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress);
extern HRESULT SHEnumerateUnreadMailAccountsW (HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress);
extern HRESULT SHGetUnreadMailCountA (HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand);
extern HRESULT SHGetUnreadMailCountW (HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand);
extern HRESULT SHSetUnreadMailCountA (LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand);
extern HRESULT SHSetUnreadMailCountW (LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand);
extern WINBOOL SHTestTokenMembership (HANDLE hToken, ULONG ulRID);
__attribute__((dllimport)) HRESULT SHGetImageList (int iImageList, const IID *const riid, void **ppvObj);
typedef HRESULT ( *PFNCANSHAREFOLDERW) (PCWSTR pszPath);
typedef HRESULT ( *PFNSHOWSHAREFOLDERUIW) (HWND hwndParent, PCWSTR pszPath);
#pragma pack(push,8)
typedef struct _PERF_DATA_BLOCK {
WCHAR Signature[4];
DWORD LittleEndian;
DWORD Version;
DWORD Revision;
DWORD TotalByteLength;
DWORD HeaderLength;
DWORD NumObjectTypes;
LONG DefaultObject;
SYSTEMTIME SystemTime;
LARGE_INTEGER PerfTime;
LARGE_INTEGER PerfFreq;
LARGE_INTEGER PerfTime100nSec;
DWORD SystemNameLength;
DWORD SystemNameOffset;
} PERF_DATA_BLOCK,*PPERF_DATA_BLOCK;
typedef struct _PERF_OBJECT_TYPE {
DWORD TotalByteLength;
DWORD DefinitionLength;
DWORD HeaderLength;
DWORD ObjectNameTitleIndex;
DWORD ObjectNameTitle;
DWORD ObjectHelpTitleIndex;
DWORD ObjectHelpTitle;
DWORD DetailLevel;
DWORD NumCounters;
LONG DefaultCounter;
LONG NumInstances;
DWORD CodePage;
LARGE_INTEGER PerfTime;
LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE,*PPERF_OBJECT_TYPE;
typedef struct _PERF_COUNTER_DEFINITION {
DWORD ByteLength;
DWORD CounterNameTitleIndex;
DWORD CounterNameTitle;
DWORD CounterHelpTitleIndex;
DWORD CounterHelpTitle;
LONG DefaultScale;
DWORD DetailLevel;
DWORD CounterType;
DWORD CounterSize;
DWORD CounterOffset;
} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION;
typedef struct _PERF_INSTANCE_DEFINITION {
DWORD ByteLength;
DWORD ParentObjectTitleIndex;
DWORD ParentObjectInstance;
LONG UniqueID;
DWORD NameOffset;
DWORD NameLength;
} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION;
typedef struct _PERF_COUNTER_BLOCK {
DWORD ByteLength;
} PERF_COUNTER_BLOCK,*PPERF_COUNTER_BLOCK;
typedef DWORD ( PM_OPEN_PROC)(LPWSTR);
typedef DWORD ( PM_COLLECT_PROC)(LPWSTR,LPVOID *,LPDWORD,LPDWORD);
typedef DWORD ( PM_CLOSE_PROC)(void);
typedef DWORD ( PM_QUERY_PROC)(LPDWORD,LPVOID *,LPDWORD,LPDWORD);
#pragma pack(pop)
typedef unsigned int ALG_ID;
typedef ULONG_PTR HCRYPTHASH;
typedef ULONG_PTR HCRYPTKEY;
typedef ULONG_PTR HCRYPTPROV;
typedef struct _CMS_KEY_INFO {
DWORD dwVersion;
ALG_ID Algid;
BYTE *pbOID;
DWORD cbOID;
} CMS_KEY_INFO,*PCMS_KEY_INFO;
typedef struct _HMAC_Info {
ALG_ID HashAlgid;
BYTE *pbInnerString;
DWORD cbInnerString;
BYTE *pbOuterString;
DWORD cbOuterString;
} HMAC_INFO,*PHMAC_INFO;
typedef struct _SCHANNEL_ALG {
DWORD dwUse;
ALG_ID Algid;
DWORD cBits;
DWORD dwFlags;
DWORD dwReserved;
} SCHANNEL_ALG,*PSCHANNEL_ALG;
typedef struct _PROV_ENUMALGS {
ALG_ID aiAlgid;
DWORD dwBitLen;
DWORD dwNameLen;
CHAR szName[20];
} PROV_ENUMALGS;
typedef struct _PROV_ENUMALGS_EX {
ALG_ID aiAlgid;
DWORD dwDefaultLen;
DWORD dwMinLen;
DWORD dwMaxLen;
DWORD dwProtocols;
DWORD dwNameLen;
CHAR szName[20];
DWORD dwLongNameLen;
CHAR szLongName[40];
} PROV_ENUMALGS_EX;
typedef struct _PUBLICKEYSTRUC {
BYTE bType;
BYTE bVersion;
WORD reserved;
ALG_ID aiKeyAlg;
} BLOBHEADER,PUBLICKEYSTRUC;
typedef struct _RSAPUBKEY {
DWORD magic;
DWORD bitlen;
DWORD pubexp;
} RSAPUBKEY;
typedef struct _PUBKEY {
DWORD magic;
DWORD bitlen;
} DHPUBKEY,DSSPUBKEY,KEAPUBKEY,TEKPUBKEY;
typedef struct _DSSSEED {
DWORD counter;
BYTE seed[20];
} DSSSEED;
typedef struct _PUBKEYVER3 {
DWORD magic;
DWORD bitlenP;
DWORD bitlenQ;
DWORD bitlenJ;
DSSSEED DSSSeed;
} DHPUBKEY_VER3, DSSPUBKEY_VER3;
typedef struct _PRIVKEYVER3 {
DWORD magic;
DWORD bitlenP;
DWORD bitlenQ;
DWORD bitlenJ;
DWORD bitlenX;
DSSSEED DSSSeed;
} DHPRIVKEY_VER3,DSSPRIVKEY_VER3;
typedef struct _KEY_TYPE_SUBTYPE {
DWORD dwKeySpec;
GUID Type;
GUID Subtype;
} KEY_TYPE_SUBTYPE,*PKEY_TYPE_SUBTYPE;
typedef struct _CERT_FORTEZZA_DATA_PROP {
unsigned char SerialNumber[8];
int CertIndex;
unsigned char CertLabel[36];
} CERT_FORTEZZA_DATA_PROP;
typedef struct _CRYPT_RC4_KEY_STATE {
unsigned char Key[16];
unsigned char SBox[256];
unsigned char i;
unsigned char j;
} CRYPT_RC4_KEY_STATE,*PCRYPT_RC4_KEY_STATE;
typedef struct _CRYPT_DES_KEY_STATE {
unsigned char Key[8];
unsigned char IV[8];
unsigned char Feedback[8];
} CRYPT_DES_KEY_STATE,*PCRYPT_DES_KEY_STATE;
typedef struct _CRYPT_3DES_KEY_STATE {
unsigned char Key[24];
unsigned char IV[8];
unsigned char Feedback[8];
} CRYPT_3DES_KEY_STATE,*PCRYPT_3DES_KEY_STATE;
typedef struct _CRYPTOAPI_BLOB {
DWORD cbData;
BYTE *pbData;
} CRYPT_INTEGER_BLOB,*PCRYPT_INTEGER_BLOB,CRYPT_UINT_BLOB,*PCRYPT_UINT_BLOB,CRYPT_OBJID_BLOB,*PCRYPT_OBJID_BLOB,CERT_NAME_BLOB,*PCERT_NAME_BLOB,CERT_RDN_VALUE_BLOB,*PCERT_RDN_VALUE_BLOB,CERT_BLOB,*PCERT_BLOB,CRL_BLOB,*PCRL_BLOB,DATA_BLOB,*PDATA_BLOB,CRYPT_DATA_BLOB,*PCRYPT_DATA_BLOB,CRYPT_HASH_BLOB,*PCRYPT_HASH_BLOB,CRYPT_DIGEST_BLOB,*PCRYPT_DIGEST_BLOB,CRYPT_DER_BLOB,*PCRYPT_DER_BLOB,CRYPT_ATTR_BLOB,*PCRYPT_ATTR_BLOB;
__attribute__((dllimport)) WINBOOL CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptAcquireContextW (HCRYPTPROV *phProv, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptReleaseContext (HCRYPTPROV hProv, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGenRandom (HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer);
typedef struct _CMS_DH_KEY_INFO {
DWORD dwVersion;
ALG_ID Algid;
LPSTR pszContentEncObjId;
CRYPT_DATA_BLOB PubInfo;
void *pReserved;
} CMS_DH_KEY_INFO,*PCMS_DH_KEY_INFO;
__attribute__((dllimport)) WINBOOL CryptGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptDestroyKey (HCRYPTKEY hKey);
__attribute__((dllimport)) WINBOOL CryptSetKeyParam (HCRYPTKEY hKey, DWORD dwParam, const BYTE *pbData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetKeyParam (HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptSetHashParam (HCRYPTHASH hHash, DWORD dwParam, const BYTE *pbData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetHashParam (HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptSetProvParam (HCRYPTPROV hProv, DWORD dwParam, const BYTE *pbData, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey);
__attribute__((dllimport)) WINBOOL CryptExportKey (HCRYPTKEY hKey, HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen);
__attribute__((dllimport)) WINBOOL CryptImportKey (HCRYPTPROV hProv, const BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptEncrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen);
__attribute__((dllimport)) WINBOOL CryptDecrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen);
__attribute__((dllimport)) WINBOOL CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash);
__attribute__((dllimport)) WINBOOL CryptHashData (HCRYPTHASH hHash, const BYTE *pbData, DWORD dwDataLen, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptHashSessionKey (HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptDestroyHash (HCRYPTHASH hHash);
__attribute__((dllimport)) WINBOOL CryptSignHashA (HCRYPTHASH hHash, DWORD dwKeySpec, LPCSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
__attribute__((dllimport)) WINBOOL CryptSignHashW (HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
__attribute__((dllimport)) WINBOOL CryptVerifySignatureA (HCRYPTHASH hHash, const BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCSTR szDescription, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptVerifySignatureW (HCRYPTHASH hHash, const BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCWSTR szDescription, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptSetProviderA (LPCSTR pszProvName, DWORD dwProvType);
__attribute__((dllimport)) WINBOOL CryptSetProviderW (LPCWSTR pszProvName, DWORD dwProvType);
__attribute__((dllimport)) WINBOOL CryptSetProviderExA (LPCSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptSetProviderExW (LPCWSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetDefaultProviderA (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPSTR pszProvName, DWORD *pcbProvName);
__attribute__((dllimport)) WINBOOL CryptGetDefaultProviderW (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPWSTR pszProvName, DWORD *pcbProvName);
__attribute__((dllimport)) WINBOOL CryptEnumProviderTypesA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szTypeName, DWORD *pcbTypeName);
__attribute__((dllimport)) WINBOOL CryptEnumProviderTypesW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szTypeName, DWORD *pcbTypeName);
__attribute__((dllimport)) WINBOOL CryptEnumProvidersA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szProvName, DWORD *pcbProvName);
__attribute__((dllimport)) WINBOOL CryptEnumProvidersW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szProvName, DWORD *pcbProvName);
__attribute__((dllimport)) WINBOOL CryptContextAddRef (HCRYPTPROV hProv, DWORD *pdwReserved, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptDuplicateKey (HCRYPTKEY hKey, DWORD *pdwReserved, DWORD dwFlags, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptDuplicateHash (HCRYPTHASH hHash, DWORD *pdwReserved, DWORD dwFlags, HCRYPTHASH *phHash);
WINBOOL __attribute__((__cdecl__)) GetEncSChannel (BYTE **pData, DWORD *dwDecSize);
typedef ULONG_PTR HCRYPTPROV_OR_NCRYPT_KEY_HANDLE;
typedef ULONG_PTR HCRYPTPROV_LEGACY;
typedef LONG NTSTATUS,*PNTSTATUS;
typedef struct __BCRYPT_KEY_LENGTHS_STRUCT {
ULONG dwMinLength;
ULONG dwMaxLength;
ULONG dwIncrement;
} BCRYPT_KEY_LENGTHS_STRUCT;
typedef BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_AUTH_TAG_LENGTHS_STRUCT;
typedef struct _BCRYPT_OID {
ULONG cbOID;
PUCHAR pbOID;
} BCRYPT_OID;
typedef struct _BCRYPT_OID_LIST {
ULONG dwOIDCount;
BCRYPT_OID *pOIDs;
} BCRYPT_OID_LIST;
typedef struct _BCRYPT_PKCS1_PADDING_INFO {
LPCWSTR pszAlgId;
} BCRYPT_PKCS1_PADDING_INFO;
typedef struct _BCRYPT_PSS_PADDING_INFO {
LPCWSTR pszAlgId;
ULONG cbSalt;
} BCRYPT_PSS_PADDING_INFO;
typedef struct _BCRYPT_OAEP_PADDING_INFO {
LPCWSTR pszAlgId;
PUCHAR pbLabel;
ULONG cbLabel;
} BCRYPT_OAEP_PADDING_INFO;
typedef struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO {
ULONG cbSize;
ULONG dwInfoVersion;
PUCHAR pbNonce;
ULONG cbNonce;
PUCHAR pbAuthData;
ULONG cbAuthData;
PUCHAR pbTag;
ULONG cbTag;
PUCHAR pbMacContext;
ULONG cbMacContext;
ULONG cbAAD;
ULONGLONG cbData;
ULONG dwFlags;
} BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO,*PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO;
typedef struct _BCryptBuffer {
ULONG cbBuffer;
ULONG BufferType;
PVOID pvBuffer;
} BCryptBuffer,*PBCryptBuffer;
typedef struct _BCryptBufferDesc {
ULONG ulVersion;
ULONG cBuffers;
PBCryptBuffer pBuffers;
} BCryptBufferDesc,*PBCryptBufferDesc;
typedef PVOID BCRYPT_HANDLE;
typedef PVOID BCRYPT_ALG_HANDLE;
typedef PVOID BCRYPT_KEY_HANDLE;
typedef PVOID BCRYPT_HASH_HANDLE;
typedef PVOID BCRYPT_SECRET_HANDLE;
typedef struct _BCRYPT_KEY_BLOB {
ULONG Magic;
} BCRYPT_KEY_BLOB;
typedef struct _BCRYPT_RSAKEY_BLOB {
ULONG Magic;
ULONG BitLength;
ULONG cbPublicExp;
ULONG cbModulus;
ULONG cbPrime1;
ULONG cbPrime2;
} BCRYPT_RSAKEY_BLOB;
typedef struct _BCRYPT_ECCKEY_BLOB {
ULONG dwMagic;
ULONG cbKey;
} BCRYPT_ECCKEY_BLOB,*PBCRYPT_ECCKEY_BLOB;
typedef struct _BCRYPT_DH_KEY_BLOB {
ULONG dwMagic;
ULONG cbKey;
} BCRYPT_DH_KEY_BLOB,*PBCRYPT_DH_KEY_BLOB;
typedef struct _BCRYPT_DH_PARAMETER_HEADER {
ULONG cbLength;
ULONG dwMagic;
ULONG cbKeyLength;
} BCRYPT_DH_PARAMETER_HEADER;
typedef struct _BCRYPT_DSA_KEY_BLOB {
ULONG dwMagic;
ULONG cbKey;
UCHAR Count[4];
UCHAR Seed[20];
UCHAR q[20];
} BCRYPT_DSA_KEY_BLOB,*PBCRYPT_DSA_KEY_BLOB;
typedef enum {
DSA_HASH_ALGORITHM_SHA1,
DSA_HASH_ALGORITHM_SHA256,
DSA_HASH_ALGORITHM_SHA512
} HASHALGORITHM_ENUM;
typedef enum {
DSA_FIPS186_2,
DSA_FIPS186_3
} DSAFIPSVERSION_ENUM;
typedef struct _BCRYPT_DSA_KEY_BLOB_V2 {
ULONG dwMagic;
ULONG cbKey;
HASHALGORITHM_ENUM hashAlgorithm;
DSAFIPSVERSION_ENUM standardVersion;
ULONG cbSeedLength;
ULONG cbGroupSize;
UCHAR Count[4];
} BCRYPT_DSA_KEY_BLOB_V2,*PBCRYPT_DSA_KEY_BLOB_V2;
typedef struct _BCRYPT_KEY_DATA_BLOB_HEADER {
ULONG dwMagic;
ULONG dwVersion;
ULONG cbKeyData;
} BCRYPT_KEY_DATA_BLOB_HEADER,*PBCRYPT_KEY_DATA_BLOB_HEADER;
typedef struct _BCRYPT_DSA_PARAMETER_HEADER {
ULONG cbLength;
ULONG dwMagic;
ULONG cbKeyLength;
UCHAR Count[4];
UCHAR Seed[20];
UCHAR q[20];
} BCRYPT_DSA_PARAMETER_HEADER;
typedef struct _BCRYPT_DSA_PARAMETER_HEADER_V2 {
ULONG cbLength;
ULONG dwMagic;
ULONG cbKeyLength;
HASHALGORITHM_ENUM hashAlgorithm;
DSAFIPSVERSION_ENUM standardVersion;
ULONG cbSeedLength;
ULONG cbGroupSize;
UCHAR Count[4];
} BCRYPT_DSA_PARAMETER_HEADER_V2;
typedef struct _BCRYPT_ALGORITHM_IDENTIFIER {
LPWSTR pszName;
ULONG dwClass;
ULONG dwFlags;
} BCRYPT_ALGORITHM_IDENTIFIER;
typedef struct _BCRYPT_PROVIDER_NAME {
LPWSTR pszProviderName;
} BCRYPT_PROVIDER_NAME;
typedef struct _BCRYPT_INTERFACE_VERSION {
USHORT MajorVersion;
USHORT MinorVersion;
} BCRYPT_INTERFACE_VERSION,*PBCRYPT_INTERFACE_VERSION;
typedef struct _CRYPT_INTERFACE_REG {
ULONG dwInterface;
ULONG dwFlags;
ULONG cFunctions;
PWSTR *rgpszFunctions;
} CRYPT_INTERFACE_REG,*PCRYPT_INTERFACE_REG;
typedef struct _CRYPT_IMAGE_REG {
PWSTR pszImage;
ULONG cInterfaces;
PCRYPT_INTERFACE_REG *rgpInterfaces;
} CRYPT_IMAGE_REG,*PCRYPT_IMAGE_REG;
typedef struct _CRYPT_PROVIDER_REG {
ULONG cAliases;
PWSTR *rgpszAliases;
PCRYPT_IMAGE_REG pUM;
PCRYPT_IMAGE_REG pKM;
} CRYPT_PROVIDER_REG,*PCRYPT_PROVIDER_REG;
typedef struct _CRYPT_PROVIDERS {
ULONG cProviders;
PWSTR *rgpszProviders;
} CRYPT_PROVIDERS,*PCRYPT_PROVIDERS;
typedef struct _CRYPT_CONTEXT_CONFIG {
ULONG dwFlags;
ULONG dwReserved;
} CRYPT_CONTEXT_CONFIG,*PCRYPT_CONTEXT_CONFIG;
typedef struct _CRYPT_CONTEXT_FUNCTION_CONFIG {
ULONG dwFlags;
ULONG dwReserved;
} CRYPT_CONTEXT_FUNCTION_CONFIG,*PCRYPT_CONTEXT_FUNCTION_CONFIG;
typedef struct _CRYPT_CONTEXTS {
ULONG cContexts;
PWSTR *rgpszContexts;
} CRYPT_CONTEXTS,*PCRYPT_CONTEXTS;
typedef struct _CRYPT_CONTEXT_FUNCTIONS {
ULONG cFunctions;
PWSTR *rgpszFunctions;
} CRYPT_CONTEXT_FUNCTIONS,*PCRYPT_CONTEXT_FUNCTIONS;
typedef struct _CRYPT_CONTEXT_FUNCTION_PROVIDERS {
ULONG cProviders;
PWSTR *rgpszProviders;
} CRYPT_CONTEXT_FUNCTION_PROVIDERS,*PCRYPT_CONTEXT_FUNCTION_PROVIDERS;
typedef struct _CRYPT_PROPERTY_REF {
PWSTR pszProperty;
ULONG cbValue;
PUCHAR pbValue;
} CRYPT_PROPERTY_REF,*PCRYPT_PROPERTY_REF;
typedef struct _CRYPT_IMAGE_REF {
PWSTR pszImage;
ULONG dwFlags;
} CRYPT_IMAGE_REF,*PCRYPT_IMAGE_REF;
typedef struct _CRYPT_PROVIDER_REF {
ULONG dwInterface;
PWSTR pszFunction;
PWSTR pszProvider;
ULONG cProperties;
PCRYPT_PROPERTY_REF *rgpProperties;
PCRYPT_IMAGE_REF pUM;
PCRYPT_IMAGE_REF pKM;
} CRYPT_PROVIDER_REF,*PCRYPT_PROVIDER_REF;
typedef struct _CRYPT_PROVIDER_REFS {
ULONG cProviders;
PCRYPT_PROVIDER_REF *rgpProviders;
} CRYPT_PROVIDER_REFS,*PCRYPT_PROVIDER_REFS;
NTSTATUS BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags);
NTSTATUS BCryptEnumAlgorithms (ULONG dwAlgOperations, ULONG *pAlgCount, BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList, ULONG dwFlags);
NTSTATUS BCryptEnumProviders (LPCWSTR pszAlgId, ULONG *pImplCount, BCRYPT_PROVIDER_NAME **ppImplList, ULONG dwFlags);
NTSTATUS BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptSetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
NTSTATUS BCryptCloseAlgorithmProvider (BCRYPT_ALG_HANDLE hAlgorithm, ULONG dwFlags);
void BCryptFreeBuffer (PVOID pvBuffer);
NTSTATUS BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
NTSTATUS BCryptGenerateKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, ULONG dwLength, ULONG dwFlags);
NTSTATUS BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, void *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, void *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptExportKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
NTSTATUS BCryptImportKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
NTSTATUS BCryptDuplicateKey (BCRYPT_KEY_HANDLE hKey, BCRYPT_KEY_HANDLE *phNewKey, PUCHAR pbKeyObject, ULONG cbKeyObject, ULONG dwFlags);
NTSTATUS BCryptFinalizeKeyPair (BCRYPT_KEY_HANDLE hKey, ULONG dwFlags);
NTSTATUS BCryptDestroyKey (BCRYPT_KEY_HANDLE hKey);
NTSTATUS BCryptDestroySecret (BCRYPT_SECRET_HANDLE hSecret);
NTSTATUS BCryptSignHash (BCRYPT_KEY_HANDLE hKey, void *pPaddingInfo, PUCHAR pbInput, ULONG cbInput, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptVerifySignature (BCRYPT_KEY_HANDLE hKey, void *pPaddingInfo, PUCHAR pbHash, ULONG cbHash, PUCHAR pbSignature, ULONG cbSignature, ULONG dwFlags);
NTSTATUS BCryptSecretAgreement (BCRYPT_KEY_HANDLE hPrivKey, BCRYPT_KEY_HANDLE hPubKey, BCRYPT_SECRET_HANDLE *phAgreedSecret, ULONG dwFlags);
NTSTATUS BCryptDeriveKey (BCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptKeyDerivation (BCRYPT_KEY_HANDLE hKey, BCryptBufferDesc *pParameterList, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG *pcbResult, ULONG dwFlags);
NTSTATUS BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags);
NTSTATUS BCryptHashData (BCRYPT_HASH_HANDLE hHash, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags);
NTSTATUS BCryptFinishHash (BCRYPT_HASH_HANDLE hHash, PUCHAR pbOutput, ULONG cbOutput, ULONG dwFlags);
NTSTATUS BCryptDuplicateHash (BCRYPT_HASH_HANDLE hHash, BCRYPT_HASH_HANDLE *phNewHash, PUCHAR pbHashObject, ULONG cbHashObject, ULONG dwFlags);
NTSTATUS BCryptDestroyHash (BCRYPT_HASH_HANDLE hHash);
NTSTATUS BCryptGenRandom (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags);
NTSTATUS BCryptDeriveKeyCapi (BCRYPT_HASH_HANDLE hHash, BCRYPT_ALG_HANDLE hTargetAlg, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
NTSTATUS BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE hPrf, PUCHAR pbPassword, ULONG cbPassword, PUCHAR pbSalt, ULONG cbSalt, ULONGLONG cIterations, PUCHAR pbDerivedKey, ULONG cbDerivedKey, ULONG dwFlags);
NTSTATUS BCryptResolveProviders (LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProvider, ULONG dwMode, ULONG dwFlags, ULONG *pcbBuffer, PCRYPT_PROVIDER_REFS *ppBuffer);
NTSTATUS BCryptGetFipsAlgorithmMode (BOOLEAN *pfEnabled);
NTSTATUS BCryptQueryProviderRegistration (LPCWSTR pszProvider, ULONG dwMode, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_PROVIDER_REG *ppBuffer);
NTSTATUS BCryptEnumRegisteredProviders (ULONG *pcbBuffer, PCRYPT_PROVIDERS *ppBuffer);
NTSTATUS BCryptCreateContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
NTSTATUS BCryptDeleteContext (ULONG dwTable, LPCWSTR pszContext);
NTSTATUS BCryptEnumContexts (ULONG dwTable, ULONG *pcbBuffer, PCRYPT_CONTEXTS *ppBuffer);
NTSTATUS BCryptConfigureContext (ULONG dwTable, LPCWSTR pszContext, PCRYPT_CONTEXT_CONFIG pConfig);
NTSTATUS BCryptQueryContextConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG *pcbBuffer, PCRYPT_CONTEXT_CONFIG *ppBuffer);
NTSTATUS BCryptAddContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG dwPosition);
NTSTATUS BCryptRemoveContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction);
NTSTATUS BCryptEnumContextFunctions (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
NTSTATUS BCryptConfigureContextFunction (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
NTSTATUS BCryptQueryContextFunctionConfiguration (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
NTSTATUS BCryptEnumContextFunctionProviders (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, ULONG *pcbBuffer, PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
NTSTATUS BCryptSetContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG cbValue, PUCHAR pbValue);
NTSTATUS BCryptQueryContextFunctionProperty (ULONG dwTable, LPCWSTR pszContext, ULONG dwInterface, LPCWSTR pszFunction, LPCWSTR pszProperty, ULONG *pcbValue, PUCHAR *ppbValue);
NTSTATUS BCryptRegisterConfigChangeNotify (HANDLE *phEvent);
typedef LONG SECURITY_STATUS;
typedef LPVOID ( *PFN_NCRYPT_ALLOC) (SIZE_T cbSize);
typedef void ( *PFN_NCRYPT_FREE) (LPVOID pv);
typedef struct NCRYPT_ALLOC_PARA {
DWORD cbSize;
PFN_NCRYPT_ALLOC pfnAlloc;
PFN_NCRYPT_FREE pfnFree;
} NCRYPT_ALLOC_PARA;
typedef BCryptBuffer NCryptBuffer;
typedef BCryptBuffer *PNCryptBuffer;
typedef BCryptBufferDesc NCryptBufferDesc;
typedef BCryptBufferDesc *PNCryptBufferDesc;
typedef ULONG_PTR NCRYPT_HANDLE;
typedef ULONG_PTR NCRYPT_PROV_HANDLE;
typedef ULONG_PTR NCRYPT_KEY_HANDLE;
typedef ULONG_PTR NCRYPT_HASH_HANDLE;
typedef ULONG_PTR NCRYPT_SECRET_HANDLE;
typedef struct _NCryptAlgorithmName {
LPWSTR pszName;
DWORD dwClass;
DWORD dwAlgOperations;
DWORD dwFlags;
} NCryptAlgorithmName;
typedef struct NCryptKeyName {
LPWSTR pszName;
LPWSTR pszAlgid;
DWORD dwLegacyKeySpec;
DWORD dwFlags;
} NCryptKeyName;
typedef struct NCryptProviderName {
LPWSTR pszName;
LPWSTR pszComment;
} NCryptProviderName;
SECURITY_STATUS NCryptOpenStorageProvider (NCRYPT_PROV_HANDLE *phProvider, LPCWSTR pszProviderName, DWORD dwFlags);
SECURITY_STATUS NCryptEnumAlgorithms (NCRYPT_PROV_HANDLE hProvider, DWORD dwAlgOperations, DWORD *pdwAlgCount, NCryptAlgorithmName **ppAlgList, DWORD dwFlags);
SECURITY_STATUS NCryptIsAlgSupported (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszAlgId, DWORD dwFlags);
SECURITY_STATUS NCryptEnumKeys (NCRYPT_PROV_HANDLE hProvider, LPCWSTR pszScope, NCryptKeyName **ppKeyName, PVOID *ppEnumState, DWORD dwFlags);
SECURITY_STATUS NCryptEnumStorageProviders (DWORD *pdwProviderCount, NCryptProviderName **ppProviderList, DWORD dwFlags);
SECURITY_STATUS NCryptFreeBuffer (PVOID pvInput);
SECURITY_STATUS NCryptOpenKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
SECURITY_STATUS NCryptCreatePersistedKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE *phKey, LPCWSTR pszAlgId, LPCWSTR pszKeyName, DWORD dwLegacyKeySpec, DWORD dwFlags);
typedef struct __NCRYPT_UI_POLICY {
DWORD dwVersion;
DWORD dwFlags;
LPCWSTR pszCreationTitle;
LPCWSTR pszFriendlyName;
LPCWSTR pszDescription;
} NCRYPT_UI_POLICY;
typedef struct __NCRYPT_SUPPORTED_LENGTHS {
DWORD dwMinLength;
DWORD dwMaxLength;
DWORD dwIncrement;
DWORD dwDefaultLength;
} NCRYPT_SUPPORTED_LENGTHS;
SECURITY_STATUS NCryptGetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
SECURITY_STATUS NCryptSetProperty (NCRYPT_HANDLE hObject, LPCWSTR pszProperty, PBYTE pbInput, DWORD cbInput, DWORD dwFlags);
SECURITY_STATUS NCryptFinalizeKey (NCRYPT_KEY_HANDLE hKey, DWORD dwFlags);
SECURITY_STATUS NCryptEncrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, void *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
SECURITY_STATUS NCryptDecrypt (NCRYPT_KEY_HANDLE hKey, PBYTE pbInput, DWORD cbInput, void *pPaddingInfo, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
SECURITY_STATUS NCryptImportKey (NCRYPT_PROV_HANDLE hProvider, NCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, NCRYPT_KEY_HANDLE *phKey, PBYTE pbData, DWORD cbData, DWORD dwFlags);
SECURITY_STATUS NCryptExportKey (NCRYPT_KEY_HANDLE hKey, NCRYPT_KEY_HANDLE hExportKey, LPCWSTR pszBlobType, NCryptBufferDesc *pParameterList, PBYTE pbOutput, DWORD cbOutput, DWORD *pcbResult, DWORD dwFlags);
SECURITY_STATUS NCryptSignHash (NCRYPT_KEY_HANDLE hKey, void *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD *pcbResult, DWORD dwFlags);
SECURITY_STATUS NCryptVerifySignature (NCRYPT_KEY_HANDLE hKey, void *pPaddingInfo, PBYTE pbHashValue, DWORD cbHashValue, PBYTE pbSignature, DWORD cbSignature, DWORD dwFlags);
SECURITY_STATUS NCryptDeleteKey (NCRYPT_KEY_HANDLE hKey, DWORD dwFlags);
SECURITY_STATUS NCryptFreeObject (NCRYPT_HANDLE hObject);
WINBOOL NCryptIsKeyHandle (NCRYPT_KEY_HANDLE hKey);
SECURITY_STATUS NCryptTranslateHandle (NCRYPT_PROV_HANDLE *phProvider, NCRYPT_KEY_HANDLE *phKey, HCRYPTPROV hLegacyProv, HCRYPTKEY hLegacyKey, DWORD dwLegacyKeySpec, DWORD dwFlags);
SECURITY_STATUS NCryptNotifyChangeKey (NCRYPT_PROV_HANDLE hProvider, HANDLE *phEvent, DWORD dwFlags);
SECURITY_STATUS NCryptSecretAgreement (NCRYPT_KEY_HANDLE hPrivKey, NCRYPT_KEY_HANDLE hPubKey, NCRYPT_SECRET_HANDLE *phAgreedSecret, DWORD dwFlags);
SECURITY_STATUS NCryptDeriveKey (NCRYPT_SECRET_HANDLE hSharedSecret, LPCWSTR pwszKDF, NCryptBufferDesc *pParameterList, PBYTE pbDerivedKey, DWORD cbDerivedKey, DWORD *pcbResult, ULONG dwFlags);
typedef struct _CRYPT_BIT_BLOB {
DWORD cbData;
BYTE *pbData;
DWORD cUnusedBits;
} CRYPT_BIT_BLOB,*PCRYPT_BIT_BLOB;
typedef struct _CRYPT_ALGORITHM_IDENTIFIER {
LPSTR pszObjId;
CRYPT_OBJID_BLOB Parameters;
} CRYPT_ALGORITHM_IDENTIFIER,*PCRYPT_ALGORITHM_IDENTIFIER;
typedef struct _CRYPT_OBJID_TABLE {
DWORD dwAlgId;
LPCSTR pszObjId;
} CRYPT_OBJID_TABLE,*PCRYPT_OBJID_TABLE;
typedef struct _CRYPT_HASH_INFO {
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_HASH_BLOB Hash;
} CRYPT_HASH_INFO,*PCRYPT_HASH_INFO;
typedef struct _CERT_EXTENSION {
LPSTR pszObjId;
WINBOOL fCritical;
CRYPT_OBJID_BLOB Value;
} CERT_EXTENSION,*PCERT_EXTENSION;
typedef const CERT_EXTENSION *PCCERT_EXTENSION;
typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE {
LPSTR pszObjId;
CRYPT_OBJID_BLOB Value;
} CRYPT_ATTRIBUTE_TYPE_VALUE,*PCRYPT_ATTRIBUTE_TYPE_VALUE;
typedef struct _CRYPT_ATTRIBUTE {
LPSTR pszObjId;
DWORD cValue;
PCRYPT_ATTR_BLOB rgValue;
} CRYPT_ATTRIBUTE,*PCRYPT_ATTRIBUTE;
typedef struct _CRYPT_ATTRIBUTES {
DWORD cAttr;
PCRYPT_ATTRIBUTE rgAttr;
} CRYPT_ATTRIBUTES,*PCRYPT_ATTRIBUTES;
typedef struct _CERT_RDN_ATTR {
LPSTR pszObjId;
DWORD dwValueType;
CERT_RDN_VALUE_BLOB Value;
} CERT_RDN_ATTR,*PCERT_RDN_ATTR;
typedef struct _CERT_RDN {
DWORD cRDNAttr;
PCERT_RDN_ATTR rgRDNAttr;
} CERT_RDN,*PCERT_RDN;
typedef struct _CERT_NAME_INFO {
DWORD cRDN;
PCERT_RDN rgRDN;
} CERT_NAME_INFO,*PCERT_NAME_INFO;
typedef struct _CERT_NAME_VALUE {
DWORD dwValueType;
CERT_RDN_VALUE_BLOB Value;
} CERT_NAME_VALUE,*PCERT_NAME_VALUE;
typedef struct _CERT_PUBLIC_KEY_INFO {
CRYPT_ALGORITHM_IDENTIFIER Algorithm;
CRYPT_BIT_BLOB PublicKey;
} CERT_PUBLIC_KEY_INFO,*PCERT_PUBLIC_KEY_INFO;
typedef struct _CRYPT_ECC_PRIVATE_KEY_INFO {
DWORD dwVersion;
CRYPT_DER_BLOB PrivateKey;
LPSTR szCurveOid;
CRYPT_BIT_BLOB PublicKey;
} CRYPT_ECC_PRIVATE_KEY_INFO,*PCRYPT_ECC_PRIVATE_KEY_INFO;
typedef struct _CRYPT_PRIVATE_KEY_INFO {
DWORD Version;
CRYPT_ALGORITHM_IDENTIFIER Algorithm;
CRYPT_DER_BLOB PrivateKey;
PCRYPT_ATTRIBUTES pAttributes;
} CRYPT_PRIVATE_KEY_INFO,*PCRYPT_PRIVATE_KEY_INFO;
typedef struct _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO {
CRYPT_ALGORITHM_IDENTIFIER EncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedPrivateKey;
} CRYPT_ENCRYPTED_PRIVATE_KEY_INFO,*PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO;
typedef WINBOOL ( *PCRYPT_DECRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER Algorithm, CRYPT_DATA_BLOB EncryptedPrivateKey, BYTE *pbClearTextKey, DWORD *pcbClearTextKey, LPVOID pVoidDecryptFunc);
typedef WINBOOL ( *PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm, CRYPT_DATA_BLOB *pClearTextPrivateKey, BYTE *pbEncryptedKey, DWORD *pcbEncryptedKey, LPVOID pVoidEncryptFunc);
typedef WINBOOL ( *PCRYPT_RESOLVE_HCRYPTPROV_FUNC) (CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, HCRYPTPROV *phCryptProv, LPVOID pVoidResolveFunc);
typedef struct _CRYPT_PKCS8_IMPORT_PARAMS {
CRYPT_DIGEST_BLOB PrivateKey;
PCRYPT_RESOLVE_HCRYPTPROV_FUNC pResolvehCryptProvFunc;
LPVOID pVoidResolveFunc;
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC pDecryptPrivateKeyFunc;
LPVOID pVoidDecryptFunc;
} CRYPT_PKCS8_IMPORT_PARAMS,*PCRYPT_PKCS8_IMPORT_PARAMS, CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS,*PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS;
typedef struct _CRYPT_PKCS8_EXPORT_PARAMS {
HCRYPTPROV hCryptProv;
DWORD dwKeySpec;
LPSTR pszPrivateKeyObjId;
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc;
LPVOID pVoidEncryptFunc;
} CRYPT_PKCS8_EXPORT_PARAMS,*PCRYPT_PKCS8_EXPORT_PARAMS;
typedef struct _CERT_INFO {
DWORD dwVersion;
CRYPT_INTEGER_BLOB SerialNumber;
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
CERT_NAME_BLOB Issuer;
FILETIME NotBefore;
FILETIME NotAfter;
CERT_NAME_BLOB Subject;
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
CRYPT_BIT_BLOB IssuerUniqueId;
CRYPT_BIT_BLOB SubjectUniqueId;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CERT_INFO,*PCERT_INFO;
typedef struct _CRL_ENTRY {
CRYPT_INTEGER_BLOB SerialNumber;
FILETIME RevocationDate;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CRL_ENTRY,*PCRL_ENTRY;
typedef struct _CRL_INFO {
DWORD dwVersion;
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
CERT_NAME_BLOB Issuer;
FILETIME ThisUpdate;
FILETIME NextUpdate;
DWORD cCRLEntry;
PCRL_ENTRY rgCRLEntry;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CRL_INFO,*PCRL_INFO;
typedef struct _CERT_OR_CRL_BLOB {
DWORD dwChoice;
DWORD cbEncoded;
BYTE *pbEncoded;
} CERT_OR_CRL_BLOB,*PCERT_OR_CRL_BLOB;
typedef struct _CERT_OR_CRL_BUNDLE {
DWORD cItem;
PCERT_OR_CRL_BLOB rgItem;
} CERT_OR_CRL_BUNDLE,*PCERT_OR_CRL_BUNDLE;
typedef struct _CERT_REQUEST_INFO {
DWORD dwVersion;
CERT_NAME_BLOB Subject;
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
DWORD cAttribute;
PCRYPT_ATTRIBUTE rgAttribute;
} CERT_REQUEST_INFO,*PCERT_REQUEST_INFO;
typedef struct _CERT_KEYGEN_REQUEST_INFO {
DWORD dwVersion;
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
LPWSTR pwszChallengeString;
} CERT_KEYGEN_REQUEST_INFO,*PCERT_KEYGEN_REQUEST_INFO;
typedef struct _CERT_SIGNED_CONTENT_INFO {
CRYPT_DER_BLOB ToBeSigned;
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
CRYPT_BIT_BLOB Signature;
} CERT_SIGNED_CONTENT_INFO,*PCERT_SIGNED_CONTENT_INFO;
typedef struct _CTL_USAGE {
DWORD cUsageIdentifier;
LPSTR *rgpszUsageIdentifier;
} CTL_USAGE,*PCTL_USAGE,CERT_ENHKEY_USAGE,*PCERT_ENHKEY_USAGE;
typedef const CTL_USAGE *PCCTL_USAGE;
typedef const CERT_ENHKEY_USAGE *PCCERT_ENHKEY_USAGE;
typedef struct _CTL_ENTRY {
CRYPT_DATA_BLOB SubjectIdentifier;
DWORD cAttribute;
PCRYPT_ATTRIBUTE rgAttribute;
} CTL_ENTRY,*PCTL_ENTRY;
typedef struct _CTL_INFO {
DWORD dwVersion;
CTL_USAGE SubjectUsage;
CRYPT_DATA_BLOB ListIdentifier;
CRYPT_INTEGER_BLOB SequenceNumber;
FILETIME ThisUpdate;
FILETIME NextUpdate;
CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm;
DWORD cCTLEntry;
PCTL_ENTRY rgCTLEntry;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CTL_INFO,*PCTL_INFO;
typedef struct _CRYPT_TIME_STAMP_REQUEST_INFO {
LPSTR pszTimeStampAlgorithm;
LPSTR pszContentType;
CRYPT_OBJID_BLOB Content;
DWORD cAttribute;
PCRYPT_ATTRIBUTE rgAttribute;
} CRYPT_TIME_STAMP_REQUEST_INFO,*PCRYPT_TIME_STAMP_REQUEST_INFO;
typedef struct _CRYPT_ENROLLMENT_NAME_VALUE_PAIR {
LPWSTR pwszName;
LPWSTR pwszValue;
} CRYPT_ENROLLMENT_NAME_VALUE_PAIR,*PCRYPT_ENROLLMENT_NAME_VALUE_PAIR;
typedef struct _CRYPT_CSP_PROVIDER {
DWORD dwKeySpec;
LPWSTR pwszProviderName;
CRYPT_BIT_BLOB Signature;
} CRYPT_CSP_PROVIDER,*PCRYPT_CSP_PROVIDER;
__attribute__((dllimport)) WINBOOL CryptFormatObject (DWORD dwCertEncodingType, DWORD dwFormatType, DWORD dwFormatStrType, void *pFormatStruct, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, void *pbFormat, DWORD *pcbFormat);
typedef LPVOID ( *PFN_CRYPT_ALLOC)(size_t cbSize);
typedef void ( *PFN_CRYPT_FREE)(LPVOID pv);
typedef struct _CRYPT_ENCODE_PARA {
DWORD cbSize;
PFN_CRYPT_ALLOC pfnAlloc;
PFN_CRYPT_FREE pfnFree;
} CRYPT_ENCODE_PARA,*PCRYPT_ENCODE_PARA;
__attribute__((dllimport)) WINBOOL CryptEncodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, DWORD dwFlags, PCRYPT_ENCODE_PARA pEncodePara, void *pvEncoded, DWORD *pcbEncoded);
__attribute__((dllimport)) WINBOOL CryptEncodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded);
typedef struct _CRYPT_DECODE_PARA {
DWORD cbSize;
PFN_CRYPT_ALLOC pfnAlloc;
PFN_CRYPT_FREE pfnFree;
} CRYPT_DECODE_PARA,*PCRYPT_DECODE_PARA;
__attribute__((dllimport)) WINBOOL CryptDecodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo);
__attribute__((dllimport)) WINBOOL CryptDecodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo);
typedef struct _CERT_EXTENSIONS {
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CERT_EXTENSIONS,*PCERT_EXTENSIONS;
typedef struct _CERT_AUTHORITY_KEY_ID_INFO {
CRYPT_DATA_BLOB KeyId;
CERT_NAME_BLOB CertIssuer;
CRYPT_INTEGER_BLOB CertSerialNumber;
} CERT_AUTHORITY_KEY_ID_INFO,*PCERT_AUTHORITY_KEY_ID_INFO;
typedef struct _CERT_PRIVATE_KEY_VALIDITY {
FILETIME NotBefore;
FILETIME NotAfter;
} CERT_PRIVATE_KEY_VALIDITY,*PCERT_PRIVATE_KEY_VALIDITY;
typedef struct _CERT_KEY_ATTRIBUTES_INFO {
CRYPT_DATA_BLOB KeyId;
CRYPT_BIT_BLOB IntendedKeyUsage;
PCERT_PRIVATE_KEY_VALIDITY pPrivateKeyUsagePeriod;
} CERT_KEY_ATTRIBUTES_INFO,*PCERT_KEY_ATTRIBUTES_INFO;
typedef struct _CERT_POLICY_ID {
DWORD cCertPolicyElementId;
LPSTR *rgpszCertPolicyElementId;
} CERT_POLICY_ID,*PCERT_POLICY_ID;
typedef struct _CERT_KEY_USAGE_RESTRICTION_INFO {
DWORD cCertPolicyId;
PCERT_POLICY_ID rgCertPolicyId;
CRYPT_BIT_BLOB RestrictedKeyUsage;
} CERT_KEY_USAGE_RESTRICTION_INFO,*PCERT_KEY_USAGE_RESTRICTION_INFO;
typedef struct _CERT_OTHER_NAME {
LPSTR pszObjId;
CRYPT_OBJID_BLOB Value;
} CERT_OTHER_NAME,*PCERT_OTHER_NAME;
typedef struct _CERT_ALT_NAME_ENTRY {
DWORD dwAltNameChoice;
__extension__ union {
PCERT_OTHER_NAME pOtherName;
LPWSTR pwszRfc822Name;
LPWSTR pwszDNSName;
CERT_NAME_BLOB DirectoryName;
LPWSTR pwszURL;
CRYPT_DATA_BLOB IPAddress;
LPSTR pszRegisteredID;
};
} CERT_ALT_NAME_ENTRY,*PCERT_ALT_NAME_ENTRY;
typedef struct _CERT_ALT_NAME_INFO {
DWORD cAltEntry;
PCERT_ALT_NAME_ENTRY rgAltEntry;
} CERT_ALT_NAME_INFO,*PCERT_ALT_NAME_INFO;
typedef struct _CERT_BASIC_CONSTRAINTS_INFO {
CRYPT_BIT_BLOB SubjectType;
WINBOOL fPathLenConstraint;
DWORD dwPathLenConstraint;
DWORD cSubtreesConstraint;
CERT_NAME_BLOB *rgSubtreesConstraint;
} CERT_BASIC_CONSTRAINTS_INFO, *PCERT_BASIC_CONSTRAINTS_INFO;
typedef struct _CERT_BASIC_CONSTRAINTS2_INFO {
WINBOOL fCA;
WINBOOL fPathLenConstraint;
DWORD dwPathLenConstraint;
} CERT_BASIC_CONSTRAINTS2_INFO,*PCERT_BASIC_CONSTRAINTS2_INFO;
typedef struct _CERT_POLICY_QUALIFIER_INFO {
LPSTR pszPolicyQualifierId;
CRYPT_OBJID_BLOB Qualifier;
} CERT_POLICY_QUALIFIER_INFO,*PCERT_POLICY_QUALIFIER_INFO;
typedef struct _CERT_POLICY_INFO {
LPSTR pszPolicyIdentifier;
DWORD cPolicyQualifier;
CERT_POLICY_QUALIFIER_INFO *rgPolicyQualifier;
} CERT_POLICY_INFO,*PCERT_POLICY_INFO;
typedef struct _CERT_POLICIES_INFO {
DWORD cPolicyInfo;
CERT_POLICY_INFO *rgPolicyInfo;
} CERT_POLICIES_INFO,*PCERT_POLICIES_INFO;
typedef struct _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {
LPSTR pszOrganization;
DWORD cNoticeNumbers;
int *rgNoticeNumbers;
} CERT_POLICY_QUALIFIER_NOTICE_REFERENCE,*PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE;
typedef struct _CERT_POLICY_QUALIFIER_USER_NOTICE {
CERT_POLICY_QUALIFIER_NOTICE_REFERENCE *pNoticeReference;
LPWSTR pszDisplayText;
} CERT_POLICY_QUALIFIER_USER_NOTICE,*PCERT_POLICY_QUALIFIER_USER_NOTICE;
typedef struct _CPS_URLS {
LPWSTR pszURL;
CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm;
CRYPT_DATA_BLOB *pDigest;
} CPS_URLS,*PCPS_URLS;
typedef struct _CERT_POLICY95_QUALIFIER1 {
LPWSTR pszPracticesReference;
LPSTR pszNoticeIdentifier;
LPSTR pszNSINoticeIdentifier;
DWORD cCPSURLs;
CPS_URLS *rgCPSURLs;
} CERT_POLICY95_QUALIFIER1,*PCERT_POLICY95_QUALIFIER1;
typedef struct _CERT_POLICY_MAPPING {
LPSTR pszIssuerDomainPolicy;
LPSTR pszSubjectDomainPolicy;
} CERT_POLICY_MAPPING,*PCERT_POLICY_MAPPING;
typedef struct _CERT_POLICY_MAPPINGS_INFO {
DWORD cPolicyMapping;
PCERT_POLICY_MAPPING rgPolicyMapping;
} CERT_POLICY_MAPPINGS_INFO,*PCERT_POLICY_MAPPINGS_INFO;
typedef struct _CERT_POLICY_CONSTRAINTS_INFO {
WINBOOL fRequireExplicitPolicy;
DWORD dwRequireExplicitPolicySkipCerts;
WINBOOL fInhibitPolicyMapping;
DWORD dwInhibitPolicyMappingSkipCerts;
} CERT_POLICY_CONSTRAINTS_INFO,*PCERT_POLICY_CONSTRAINTS_INFO;
typedef struct _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {
LPSTR pszObjId;
DWORD cValue;
PCRYPT_DER_BLOB rgValue;
} CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY,*PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY;
typedef struct _CRYPT_CONTENT_INFO {
LPSTR pszObjId;
CRYPT_DER_BLOB Content;
} CRYPT_CONTENT_INFO,*PCRYPT_CONTENT_INFO;
typedef struct _CRYPT_SEQUENCE_OF_ANY {
DWORD cValue;
PCRYPT_DER_BLOB rgValue;
} CRYPT_SEQUENCE_OF_ANY,*PCRYPT_SEQUENCE_OF_ANY;
typedef struct _CERT_AUTHORITY_KEY_ID2_INFO {
CRYPT_DATA_BLOB KeyId;
CERT_ALT_NAME_INFO AuthorityCertIssuer;
CRYPT_INTEGER_BLOB AuthorityCertSerialNumber;
} CERT_AUTHORITY_KEY_ID2_INFO,*PCERT_AUTHORITY_KEY_ID2_INFO;
typedef struct _CERT_ACCESS_DESCRIPTION {
LPSTR pszAccessMethod;
CERT_ALT_NAME_ENTRY AccessLocation;
} CERT_ACCESS_DESCRIPTION,*PCERT_ACCESS_DESCRIPTION;
typedef struct _CERT_AUTHORITY_INFO_ACCESS {
DWORD cAccDescr;
PCERT_ACCESS_DESCRIPTION rgAccDescr;
} CERT_AUTHORITY_INFO_ACCESS,*PCERT_AUTHORITY_INFO_ACCESS;
typedef CERT_AUTHORITY_INFO_ACCESS CERT_SUBJECT_INFO_ACCESS,*PCERT_SUBJECT_INFO_ACCESS;
typedef struct _CRL_DIST_POINT_NAME {
DWORD dwDistPointNameChoice;
__extension__ union {
CERT_ALT_NAME_INFO FullName;
};
} CRL_DIST_POINT_NAME,*PCRL_DIST_POINT_NAME;
typedef struct _CRL_DIST_POINT {
CRL_DIST_POINT_NAME DistPointName;
CRYPT_BIT_BLOB ReasonFlags;
CERT_ALT_NAME_INFO CRLIssuer;
} CRL_DIST_POINT,*PCRL_DIST_POINT;
typedef struct _CRL_DIST_POINTS_INFO {
DWORD cDistPoint;
PCRL_DIST_POINT rgDistPoint;
} CRL_DIST_POINTS_INFO,*PCRL_DIST_POINTS_INFO;
typedef struct _CROSS_CERT_DIST_POINTS_INFO {
DWORD dwSyncDeltaTime;
DWORD cDistPoint;
PCERT_ALT_NAME_INFO rgDistPoint;
} CROSS_CERT_DIST_POINTS_INFO,*PCROSS_CERT_DIST_POINTS_INFO;
typedef struct _CERT_PAIR {
CERT_BLOB Forward;
CERT_BLOB Reverse;
} CERT_PAIR,*PCERT_PAIR;
typedef struct _CRL_ISSUING_DIST_POINT {
CRL_DIST_POINT_NAME DistPointName;
WINBOOL fOnlyContainsUserCerts;
WINBOOL fOnlyContainsCACerts;
CRYPT_BIT_BLOB OnlySomeReasonFlags;
WINBOOL fIndirectCRL;
} CRL_ISSUING_DIST_POINT,*PCRL_ISSUING_DIST_POINT;
typedef struct _CERT_GENERAL_SUBTREE {
CERT_ALT_NAME_ENTRY Base;
DWORD dwMinimum;
WINBOOL fMaximum;
DWORD dwMaximum;
} CERT_GENERAL_SUBTREE,*PCERT_GENERAL_SUBTREE;
typedef struct _CERT_NAME_CONSTRAINTS_INFO {
DWORD cPermittedSubtree;
PCERT_GENERAL_SUBTREE rgPermittedSubtree;
DWORD cExcludedSubtree;
PCERT_GENERAL_SUBTREE rgExcludedSubtree;
} CERT_NAME_CONSTRAINTS_INFO,*PCERT_NAME_CONSTRAINTS_INFO;
typedef struct _CERT_DSS_PARAMETERS {
CRYPT_UINT_BLOB p;
CRYPT_UINT_BLOB q;
CRYPT_UINT_BLOB g;
} CERT_DSS_PARAMETERS,*PCERT_DSS_PARAMETERS;
typedef struct _CERT_DH_PARAMETERS {
CRYPT_UINT_BLOB p;
CRYPT_UINT_BLOB g;
} CERT_DH_PARAMETERS,*PCERT_DH_PARAMETERS;
typedef struct _CERT_ECC_SIGNATURE {
CRYPT_UINT_BLOB r;
CRYPT_UINT_BLOB s;
} CERT_ECC_SIGNATURE,*PCERT_ECC_SIGNATURE;
typedef struct _CERT_X942_DH_VALIDATION_PARAMS {
CRYPT_BIT_BLOB seed;
DWORD pgenCounter;
} CERT_X942_DH_VALIDATION_PARAMS,*PCERT_X942_DH_VALIDATION_PARAMS;
typedef struct _CERT_X942_DH_PARAMETERS {
CRYPT_UINT_BLOB p;
CRYPT_UINT_BLOB g;
CRYPT_UINT_BLOB q;
CRYPT_UINT_BLOB j;
PCERT_X942_DH_VALIDATION_PARAMS pValidationParams;
} CERT_X942_DH_PARAMETERS,*PCERT_X942_DH_PARAMETERS;
typedef struct _CRYPT_X942_OTHER_INFO {
LPSTR pszContentEncryptionObjId;
BYTE rgbCounter[4];
BYTE rgbKeyLength[4];
CRYPT_DATA_BLOB PubInfo;
} CRYPT_X942_OTHER_INFO,*PCRYPT_X942_OTHER_INFO;
typedef struct _CRYPT_ECC_CMS_SHARED_INFO {
CRYPT_ALGORITHM_IDENTIFIER Algorithm;
CRYPT_DATA_BLOB EntityUInfo;
BYTE rgbSuppPubInfo[4];
} CRYPT_ECC_CMS_SHARED_INFO,*PCRYPT_ECC_CMS_SHARED_INFO;
typedef struct _CRYPT_RC2_CBC_PARAMETERS {
DWORD dwVersion;
WINBOOL fIV;
BYTE rgbIV[8];
} CRYPT_RC2_CBC_PARAMETERS,*PCRYPT_RC2_CBC_PARAMETERS;
typedef struct _CRYPT_SMIME_CAPABILITY {
LPSTR pszObjId;
CRYPT_OBJID_BLOB Parameters;
} CRYPT_SMIME_CAPABILITY,*PCRYPT_SMIME_CAPABILITY;
typedef struct _CRYPT_SMIME_CAPABILITIES {
DWORD cCapability;
PCRYPT_SMIME_CAPABILITY rgCapability;
} CRYPT_SMIME_CAPABILITIES,*PCRYPT_SMIME_CAPABILITIES;
typedef struct _CERT_QC_STATEMENT {
LPSTR pszStatementId;
CRYPT_OBJID_BLOB StatementInfo;
} CERT_QC_STATEMENT,*PCERT_QC_STATEMENT;
typedef struct _CERT_QC_STATEMENTS_EXT_INFO {
DWORD cStatement;
PCERT_QC_STATEMENT rgStatement;
} CERT_QC_STATEMENTS_EXT_INFO,*PCERT_QC_STATEMENTS_EXT_INFO;
typedef struct _CRYPT_MASK_GEN_ALGORITHM {
LPSTR pszObjId;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
} CRYPT_MASK_GEN_ALGORITHM,*PCRYPT_MASK_GEN_ALGORITHM;
typedef struct _CRYPT_RSA_SSA_PSS_PARAMETERS {
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_MASK_GEN_ALGORITHM MaskGenAlgorithm;
DWORD dwSaltLength;
DWORD dwTrailerField;
} CRYPT_RSA_SSA_PSS_PARAMETERS,*PCRYPT_RSA_SSA_PSS_PARAMETERS;
typedef struct _CRYPT_PSOURCE_ALGORITHM {
LPSTR pszObjId;
CRYPT_DATA_BLOB EncodingParameters;
} CRYPT_PSOURCE_ALGORITHM,*PCRYPT_PSOURCE_ALGORITHM;
typedef struct _CRYPT_RSAES_OAEP_PARAMETERS {
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_MASK_GEN_ALGORITHM MaskGenAlgorithm;
CRYPT_PSOURCE_ALGORITHM PSourceAlgorithm;
} CRYPT_RSAES_OAEP_PARAMETERS,*PCRYPT_RSAES_OAEP_PARAMETERS;
typedef struct _CMC_TAGGED_ATTRIBUTE {
DWORD dwBodyPartID;
CRYPT_ATTRIBUTE Attribute;
} CMC_TAGGED_ATTRIBUTE,*PCMC_TAGGED_ATTRIBUTE;
typedef struct _CMC_TAGGED_CERT_REQUEST {
DWORD dwBodyPartID;
CRYPT_DER_BLOB SignedCertRequest;
} CMC_TAGGED_CERT_REQUEST,*PCMC_TAGGED_CERT_REQUEST;
typedef struct _CMC_TAGGED_REQUEST {
DWORD dwTaggedRequestChoice;
__extension__ union {
PCMC_TAGGED_CERT_REQUEST pTaggedCertRequest;
};
} CMC_TAGGED_REQUEST,*PCMC_TAGGED_REQUEST;
typedef struct _CMC_TAGGED_CONTENT_INFO {
DWORD dwBodyPartID;
CRYPT_DER_BLOB EncodedContentInfo;
} CMC_TAGGED_CONTENT_INFO,*PCMC_TAGGED_CONTENT_INFO;
typedef struct _CMC_TAGGED_OTHER_MSG {
DWORD dwBodyPartID;
LPSTR pszObjId;
CRYPT_OBJID_BLOB Value;
} CMC_TAGGED_OTHER_MSG,*PCMC_TAGGED_OTHER_MSG;
typedef struct _CMC_DATA_INFO {
DWORD cTaggedAttribute;
PCMC_TAGGED_ATTRIBUTE rgTaggedAttribute;
DWORD cTaggedRequest;
PCMC_TAGGED_REQUEST rgTaggedRequest;
DWORD cTaggedContentInfo;
PCMC_TAGGED_CONTENT_INFO rgTaggedContentInfo;
DWORD cTaggedOtherMsg;
PCMC_TAGGED_OTHER_MSG rgTaggedOtherMsg;
} CMC_DATA_INFO,*PCMC_DATA_INFO;
typedef struct _CMC_RESPONSE_INFO {
DWORD cTaggedAttribute;
PCMC_TAGGED_ATTRIBUTE rgTaggedAttribute;
DWORD cTaggedContentInfo;
PCMC_TAGGED_CONTENT_INFO rgTaggedContentInfo;
DWORD cTaggedOtherMsg;
PCMC_TAGGED_OTHER_MSG rgTaggedOtherMsg;
} CMC_RESPONSE_INFO,*PCMC_RESPONSE_INFO;
typedef struct _CMC_PEND_INFO {
CRYPT_DATA_BLOB PendToken;
FILETIME PendTime;
} CMC_PEND_INFO,*PCMC_PEND_INFO;
typedef struct _CMC_STATUS_INFO {
DWORD dwStatus;
DWORD cBodyList;
DWORD *rgdwBodyList;
LPWSTR pwszStatusString;
DWORD dwOtherInfoChoice;
__extension__ union {
DWORD dwFailInfo;
PCMC_PEND_INFO pPendInfo;
};
} CMC_STATUS_INFO,*PCMC_STATUS_INFO;
typedef struct _CMC_ADD_EXTENSIONS_INFO {
DWORD dwCmcDataReference;
DWORD cCertReference;
DWORD *rgdwCertReference;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CMC_ADD_EXTENSIONS_INFO,*PCMC_ADD_EXTENSIONS_INFO;
typedef struct _CMC_ADD_ATTRIBUTES_INFO {
DWORD dwCmcDataReference;
DWORD cCertReference;
DWORD *rgdwCertReference;
DWORD cAttribute;
PCRYPT_ATTRIBUTE rgAttribute;
} CMC_ADD_ATTRIBUTES_INFO,*PCMC_ADD_ATTRIBUTES_INFO;
typedef struct _CERT_TEMPLATE_EXT {
LPSTR pszObjId;
DWORD dwMajorVersion;
WINBOOL fMinorVersion;
DWORD dwMinorVersion;
} CERT_TEMPLATE_EXT,*PCERT_TEMPLATE_EXT;
typedef struct _CERT_HASHED_URL {
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_HASH_BLOB Hash;
LPWSTR pwszUrl;
} CERT_HASHED_URL,*PCERT_HASHED_URL;
typedef struct _CERT_LOGOTYPE_DETAILS {
LPWSTR pwszMimeType;
DWORD cHashedUrl;
PCERT_HASHED_URL rgHashedUrl;
} CERT_LOGOTYPE_DETAILS,*PCERT_LOGOTYPE_DETAILS;
typedef struct _CERT_LOGOTYPE_REFERENCE {
DWORD cHashedUrl;
PCERT_HASHED_URL rgHashedUrl;
} CERT_LOGOTYPE_REFERENCE,*PCERT_LOGOTYPE_REFERENCE;
typedef struct _CERT_LOGOTYPE_IMAGE_INFO {
DWORD dwLogotypeImageInfoChoice;
DWORD dwFileSize;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwLogotypeImageResolutionChoice;
__extension__ union {
DWORD dwNumBits;
DWORD dwTableSize;
};
LPWSTR pwszLanguage;
} CERT_LOGOTYPE_IMAGE_INFO,*PCERT_LOGOTYPE_IMAGE_INFO;
typedef struct _CERT_LOGOTYPE_IMAGE {
CERT_LOGOTYPE_DETAILS LogotypeDetails;
PCERT_LOGOTYPE_IMAGE_INFO pLogotypeImageInfo;
} CERT_LOGOTYPE_IMAGE,*PCERT_LOGOTYPE_IMAGE;
typedef struct _CERT_LOGOTYPE_AUDIO_INFO {
DWORD dwFileSize;
DWORD dwPlayTime;
DWORD dwChannels;
DWORD dwSampleRate;
LPWSTR pwszLanguage;
} CERT_LOGOTYPE_AUDIO_INFO,*PCERT_LOGOTYPE_AUDIO_INFO;
typedef struct _CERT_LOGOTYPE_AUDIO {
CERT_LOGOTYPE_DETAILS LogotypeDetails;
PCERT_LOGOTYPE_AUDIO_INFO pLogotypeAudioInfo;
} CERT_LOGOTYPE_AUDIO,*PCERT_LOGOTYPE_AUDIO;
typedef struct _CERT_LOGOTYPE_DATA {
DWORD cLogotypeImage;
PCERT_LOGOTYPE_IMAGE rgLogotypeImage;
DWORD cLogotypeAudio;
PCERT_LOGOTYPE_AUDIO rgLogotypeAudio;
} CERT_LOGOTYPE_DATA,*PCERT_LOGOTYPE_DATA;
typedef struct _CERT_LOGOTYPE_INFO {
DWORD dwLogotypeInfoChoice;
__extension__ union {
PCERT_LOGOTYPE_DATA pLogotypeDirectInfo;
PCERT_LOGOTYPE_REFERENCE pLogotypeIndirectInfo;
};
} CERT_LOGOTYPE_INFO,*PCERT_LOGOTYPE_INFO;
typedef struct _CERT_OTHER_LOGOTYPE_INFO {
LPSTR pszObjId;
CERT_LOGOTYPE_INFO LogotypeInfo;
} CERT_OTHER_LOGOTYPE_INFO,*PCERT_OTHER_LOGOTYPE_INFO;
typedef struct _CERT_LOGOTYPE_EXT_INFO {
DWORD cCommunityLogo;
PCERT_LOGOTYPE_INFO rgCommunityLogo;
PCERT_LOGOTYPE_INFO pIssuerLogo;
PCERT_LOGOTYPE_INFO pSubjectLogo;
DWORD cOtherLogo;
PCERT_OTHER_LOGOTYPE_INFO rgOtherLogo;
} CERT_LOGOTYPE_EXT_INFO,*PCERT_LOGOTYPE_EXT_INFO;
typedef struct _CERT_BIOMETRIC_DATA {
DWORD dwTypeOfBiometricDataChoice;
__extension__ union {
DWORD dwPredefined;
LPSTR pszObjId;
};
CERT_HASHED_URL HashedUrl;
} CERT_BIOMETRIC_DATA,*PCERT_BIOMETRIC_DATA;
typedef struct _CERT_BIOMETRIC_EXT_INFO {
DWORD cBiometricData;
PCERT_BIOMETRIC_DATA rgBiometricData;
} CERT_BIOMETRIC_EXT_INFO,*PCERT_BIOMETRIC_EXT_INFO;
typedef struct _OCSP_SIGNATURE_INFO {
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
CRYPT_BIT_BLOB Signature;
DWORD cCertEncoded;
PCERT_BLOB rgCertEncoded;
} OCSP_SIGNATURE_INFO,*POCSP_SIGNATURE_INFO;
typedef struct _OCSP_SIGNED_REQUEST_INFO {
CRYPT_DER_BLOB ToBeSigned;
POCSP_SIGNATURE_INFO pOptionalSignatureInfo;
} OCSP_SIGNED_REQUEST_INFO,*POCSP_SIGNED_REQUEST_INFO;
typedef struct _OCSP_CERT_ID {
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_HASH_BLOB IssuerNameHash;
CRYPT_HASH_BLOB IssuerKeyHash;
CRYPT_INTEGER_BLOB SerialNumber;
} OCSP_CERT_ID,*POCSP_CERT_ID;
typedef struct _OCSP_REQUEST_ENTRY {
OCSP_CERT_ID CertId;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} OCSP_REQUEST_ENTRY,*POCSP_REQUEST_ENTRY;
typedef struct _OCSP_REQUEST_INFO {
DWORD dwVersion;
PCERT_ALT_NAME_ENTRY pRequestorName;
DWORD cRequestEntry;
POCSP_REQUEST_ENTRY rgRequestEntry;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} OCSP_REQUEST_INFO,*POCSP_REQUEST_INFO;
typedef struct _OCSP_RESPONSE_INFO {
DWORD dwStatus;
LPSTR pszObjId;
CRYPT_OBJID_BLOB Value;
} OCSP_RESPONSE_INFO,*POCSP_RESPONSE_INFO;
typedef struct _OCSP_BASIC_SIGNED_RESPONSE_INFO {
CRYPT_DER_BLOB ToBeSigned;
OCSP_SIGNATURE_INFO SignatureInfo;
} OCSP_BASIC_SIGNED_RESPONSE_INFO,*POCSP_BASIC_SIGNED_RESPONSE_INFO;
typedef struct _OCSP_BASIC_REVOKED_INFO {
FILETIME RevocationDate;
DWORD dwCrlReasonCode;
} OCSP_BASIC_REVOKED_INFO,*POCSP_BASIC_REVOKED_INFO;
typedef struct _OCSP_BASIC_RESPONSE_ENTRY {
OCSP_CERT_ID CertId;
DWORD dwCertStatus;
__extension__ union {
POCSP_BASIC_REVOKED_INFO pRevokedInfo;
};
FILETIME ThisUpdate;
FILETIME NextUpdate;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} OCSP_BASIC_RESPONSE_ENTRY,*POCSP_BASIC_RESPONSE_ENTRY;
typedef struct _OCSP_BASIC_RESPONSE_INFO {
DWORD dwVersion;
DWORD dwResponderIdChoice;
__extension__ union {
CERT_NAME_BLOB ByNameResponderId;
CRYPT_HASH_BLOB ByKeyResponderId;
};
FILETIME ProducedAt;
DWORD cResponseEntry;
POCSP_BASIC_RESPONSE_ENTRY rgResponseEntry;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} OCSP_BASIC_RESPONSE_INFO,*POCSP_BASIC_RESPONSE_INFO;
typedef struct _CERT_SUPPORTED_ALGORITHM_INFO {
CRYPT_ALGORITHM_IDENTIFIER Algorithm;
CRYPT_BIT_BLOB IntendedKeyUsage;
CERT_POLICIES_INFO IntendedCertPolicies;
} CERT_SUPPORTED_ALGORITHM_INFO, *PCERT_SUPPORTED_ALGORITHM_INFO;
typedef struct _CERT_TPM_SPECIFICATION_INFO {
LPWSTR pwszFamily;
DWORD dwLevel;
DWORD dwRevision;
} CERT_TPM_SPECIFICATION_INFO, *PCERT_TPM_SPECIFICATION_INFO;
typedef void *HCRYPTOIDFUNCSET;
typedef void *HCRYPTOIDFUNCADDR;
typedef struct _CRYPT_OID_FUNC_ENTRY {
LPCSTR pszOID;
void *pvFuncAddr;
} CRYPT_OID_FUNC_ENTRY,*PCRYPT_OID_FUNC_ENTRY;
__attribute__((dllimport)) WINBOOL CryptInstallOIDFunctionAddress (HMODULE hModule, DWORD dwEncodingType, LPCSTR pszFuncName, DWORD cFuncEntry, const CRYPT_OID_FUNC_ENTRY rgFuncEntry[], DWORD dwFlags);
__attribute__((dllimport)) HCRYPTOIDFUNCSET CryptInitOIDFunctionSet (LPCSTR pszFuncName, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptGetOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr);
__attribute__((dllimport)) WINBOOL CryptGetDefaultOIDDllList (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, WCHAR *pwszDllList, DWORD *pcchDllList);
__attribute__((dllimport)) WINBOOL CryptGetDefaultOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCWSTR pwszDll, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr);
__attribute__((dllimport)) WINBOOL CryptFreeOIDFunctionAddress (HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptRegisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszDll, LPCSTR pszOverrideFuncName);
__attribute__((dllimport)) WINBOOL CryptUnregisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID);
__attribute__((dllimport)) WINBOOL CryptRegisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, DWORD dwIndex, LPCWSTR pwszDll);
__attribute__((dllimport)) WINBOOL CryptUnregisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCWSTR pwszDll);
__attribute__((dllimport)) WINBOOL CryptSetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD dwValueType, const BYTE *pbValueData, DWORD cbValueData);
__attribute__((dllimport)) WINBOOL CryptGetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD *pdwValueType, BYTE *pbValueData, DWORD *pcbValueData);
typedef WINBOOL ( *PFN_CRYPT_ENUM_OID_FUNC) (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD cValue, const DWORD rgdwValueType[], LPCWSTR const rgpwszValueName[], const BYTE *const rgpbValueData[], const DWORD rgcbValueData[], void *pvArg);
__attribute__((dllimport)) WINBOOL CryptEnumOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc);
typedef struct _CRYPT_OID_INFO {
DWORD cbSize;
LPCSTR pszOID;
LPCWSTR pwszName;
DWORD dwGroupId;
__extension__ union {
DWORD dwValue;
ALG_ID Algid;
DWORD dwLength;
};
CRYPT_DATA_BLOB ExtraInfo;
} CRYPT_OID_INFO,*PCRYPT_OID_INFO;
typedef const CRYPT_OID_INFO CCRYPT_OID_INFO,*PCCRYPT_OID_INFO;
__attribute__((dllimport)) PCCRYPT_OID_INFO CryptFindOIDInfo (DWORD dwKeyType, void *pvKey, DWORD dwGroupId);
typedef WINBOOL ( *PFN_CRYPT_ENUM_OID_INFO) (PCCRYPT_OID_INFO pInfo, void *pvArg);
__attribute__((dllimport)) WINBOOL CryptRegisterOIDInfo (PCCRYPT_OID_INFO pInfo, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptUnregisterOIDInfo (PCCRYPT_OID_INFO pInfo);
__attribute__((dllimport)) WINBOOL CryptEnumOIDInfo (DWORD dwGroupId, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo);
__attribute__((dllimport)) LPCWSTR CryptFindLocalizedName (LPCWSTR pwszCryptName);
typedef struct _CERT_STRONG_SIGN_SERIALIZED_INFO {
DWORD dwFlags;
LPWSTR pwszCNGSignHashAlgids;
LPWSTR pwszCNGPubKeyMinBitLengths;
} CERT_STRONG_SIGN_SERIALIZED_INFO,*PCERT_STRONG_SIGN_SERIALIZED_INFO;
typedef struct _CERT_STRONG_SIGN_PARA {
DWORD cbSize;
DWORD dwInfoChoice;
__extension__ union {
void *pvInfo;
PCERT_STRONG_SIGN_SERIALIZED_INFO pSerializedInfo;
LPSTR pszOID;
};
} CERT_STRONG_SIGN_PARA,*PCERT_STRONG_SIGN_PARA;
typedef const CERT_STRONG_SIGN_PARA *PCCERT_STRONG_SIGN_PARA;
typedef void *HCRYPTMSG;
typedef struct _CERT_ISSUER_SERIAL_NUMBER {
CERT_NAME_BLOB Issuer;
CRYPT_INTEGER_BLOB SerialNumber;
} CERT_ISSUER_SERIAL_NUMBER,*PCERT_ISSUER_SERIAL_NUMBER;
typedef struct _CERT_ID {
DWORD dwIdChoice;
__extension__ union {
CERT_ISSUER_SERIAL_NUMBER IssuerSerialNumber;
CRYPT_HASH_BLOB KeyId;
CRYPT_HASH_BLOB HashId;
};
} CERT_ID,*PCERT_ID;
typedef struct _CMSG_SIGNER_ENCODE_INFO {
DWORD cbSize;
PCERT_INFO pCertInfo;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void *pvHashAuxInfo;
DWORD cAuthAttr;
PCRYPT_ATTRIBUTE rgAuthAttr;
DWORD cUnauthAttr;
PCRYPT_ATTRIBUTE rgUnauthAttr;
} CMSG_SIGNER_ENCODE_INFO,*PCMSG_SIGNER_ENCODE_INFO;
typedef struct _CMSG_SIGNED_ENCODE_INFO {
DWORD cbSize;
DWORD cSigners;
PCMSG_SIGNER_ENCODE_INFO rgSigners;
DWORD cCertEncoded;
PCERT_BLOB rgCertEncoded;
DWORD cCrlEncoded;
PCRL_BLOB rgCrlEncoded;
} CMSG_SIGNED_ENCODE_INFO,*PCMSG_SIGNED_ENCODE_INFO;
typedef struct _CMSG_RECIPIENT_ENCODE_INFO CMSG_RECIPIENT_ENCODE_INFO,*PCMSG_RECIPIENT_ENCODE_INFO;
typedef struct _CMSG_ENVELOPED_ENCODE_INFO {
DWORD cbSize;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
void *pvEncryptionAuxInfo;
DWORD cRecipients;
PCERT_INFO *rgpRecipients;
} CMSG_ENVELOPED_ENCODE_INFO,*PCMSG_ENVELOPED_ENCODE_INFO;
typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_BIT_BLOB RecipientPublicKey;
CERT_ID RecipientId;
} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO,*PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
DWORD cbSize;
CRYPT_BIT_BLOB RecipientPublicKey;
CERT_ID RecipientId;
FILETIME Date;
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
} CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO,*PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm;
void *pvKeyWrapAuxInfo;
HCRYPTPROV_LEGACY hCryptProv;
DWORD dwKeySpec;
DWORD dwKeyChoice;
__extension__ union {
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
PCERT_ID pSenderId;
};
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD cRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO,*PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
typedef struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
void *pvKeyEncryptionAuxInfo;
HCRYPTPROV hCryptProv;
DWORD dwKeyChoice;
__extension__ union {
HCRYPTKEY hKeyEncryptionKey;
void *pvKeyEncryptionKey;
};
CRYPT_DATA_BLOB KeyId;
FILETIME Date;
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
} CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO,*PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
struct _CMSG_RECIPIENT_ENCODE_INFO {
DWORD dwRecipientChoice;
__extension__ union {
PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTrans;
PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgree;
PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailList;
};
};
typedef struct _CMSG_RC2_AUX_INFO {
DWORD cbSize;
DWORD dwBitLen;
} CMSG_RC2_AUX_INFO,*PCMSG_RC2_AUX_INFO;
typedef struct _CMSG_SP3_COMPATIBLE_AUX_INFO {
DWORD cbSize;
DWORD dwFlags;
} CMSG_SP3_COMPATIBLE_AUX_INFO,*PCMSG_SP3_COMPATIBLE_AUX_INFO;
typedef struct _CMSG_RC4_AUX_INFO {
DWORD cbSize;
DWORD dwBitLen;
} CMSG_RC4_AUX_INFO,*PCMSG_RC4_AUX_INFO;
typedef struct _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {
DWORD cbSize;
CMSG_SIGNED_ENCODE_INFO SignedInfo;
CMSG_ENVELOPED_ENCODE_INFO EnvelopedInfo;
} CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO,*PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO;
typedef struct _CMSG_HASHED_ENCODE_INFO {
DWORD cbSize;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void *pvHashAuxInfo;
} CMSG_HASHED_ENCODE_INFO,*PCMSG_HASHED_ENCODE_INFO;
typedef struct _CMSG_ENCRYPTED_ENCODE_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
void *pvEncryptionAuxInfo;
} CMSG_ENCRYPTED_ENCODE_INFO,*PCMSG_ENCRYPTED_ENCODE_INFO;
typedef WINBOOL ( *PFN_CMSG_STREAM_OUTPUT) (const void *pvArg, BYTE *pbData, DWORD cbData, WINBOOL fFinal);
typedef struct _CMSG_STREAM_INFO {
DWORD cbContent;
PFN_CMSG_STREAM_OUTPUT pfnStreamOutput;
void *pvArg;
} CMSG_STREAM_INFO,*PCMSG_STREAM_INFO;
__attribute__((dllimport)) HCRYPTMSG CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo);
__attribute__((dllimport)) DWORD CryptMsgCalculateEncodedLength (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, DWORD cbData);
__attribute__((dllimport)) HCRYPTMSG CryptMsgOpenToDecode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, HCRYPTPROV_LEGACY hCryptProv, PCERT_INFO pRecipientInfo, PCMSG_STREAM_INFO pStreamInfo);
__attribute__((dllimport)) HCRYPTMSG CryptMsgDuplicate (HCRYPTMSG hCryptMsg);
__attribute__((dllimport)) WINBOOL CryptMsgClose (HCRYPTMSG hCryptMsg);
__attribute__((dllimport)) WINBOOL CryptMsgUpdate (HCRYPTMSG hCryptMsg, const BYTE *pbData, DWORD cbData, WINBOOL fFinal);
__attribute__((dllimport)) WINBOOL CryptMsgGetParam (HCRYPTMSG hCryptMsg, DWORD dwParamType, DWORD dwIndex, void *pvData, DWORD *pcbData);
typedef struct _CMSG_SIGNER_INFO {
DWORD dwVersion;
CERT_NAME_BLOB Issuer;
CRYPT_INTEGER_BLOB SerialNumber;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedHash;
CRYPT_ATTRIBUTES AuthAttrs;
CRYPT_ATTRIBUTES UnauthAttrs;
} CMSG_SIGNER_INFO,*PCMSG_SIGNER_INFO;
typedef struct _CMSG_CMS_SIGNER_INFO {
DWORD dwVersion;
CERT_ID SignerId;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedHash;
CRYPT_ATTRIBUTES AuthAttrs;
CRYPT_ATTRIBUTES UnauthAttrs;
} CMSG_CMS_SIGNER_INFO,*PCMSG_CMS_SIGNER_INFO;
typedef CRYPT_ATTRIBUTES CMSG_ATTR;
typedef CRYPT_ATTRIBUTES *PCMSG_ATTR;
typedef struct _CMSG_KEY_TRANS_RECIPIENT_INFO {
DWORD dwVersion;
CERT_ID RecipientId;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedKey;
} CMSG_KEY_TRANS_RECIPIENT_INFO,*PCMSG_KEY_TRANS_RECIPIENT_INFO;
typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {
CERT_ID RecipientId;
CRYPT_DATA_BLOB EncryptedKey;
FILETIME Date;
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
} CMSG_RECIPIENT_ENCRYPTED_KEY_INFO,*PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO;
typedef struct _CMSG_KEY_AGREE_RECIPIENT_INFO {
DWORD dwVersion;
DWORD dwOriginatorChoice;
__extension__ union {
CERT_ID OriginatorCertId;
CERT_PUBLIC_KEY_INFO OriginatorPublicKeyInfo;
};
CRYPT_DATA_BLOB UserKeyingMaterial;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
DWORD cRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO *rgpRecipientEncryptedKeys;
} CMSG_KEY_AGREE_RECIPIENT_INFO,*PCMSG_KEY_AGREE_RECIPIENT_INFO;
typedef struct _CMSG_MAIL_LIST_RECIPIENT_INFO {
DWORD dwVersion;
CRYPT_DATA_BLOB KeyId;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedKey;
FILETIME Date;
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
} CMSG_MAIL_LIST_RECIPIENT_INFO,*PCMSG_MAIL_LIST_RECIPIENT_INFO;
typedef struct _CMSG_CMS_RECIPIENT_INFO {
DWORD dwRecipientChoice;
__extension__ union {
PCMSG_KEY_TRANS_RECIPIENT_INFO pKeyTrans;
PCMSG_KEY_AGREE_RECIPIENT_INFO pKeyAgree;
PCMSG_MAIL_LIST_RECIPIENT_INFO pMailList;
};
} CMSG_CMS_RECIPIENT_INFO,*PCMSG_CMS_RECIPIENT_INFO;
__attribute__((dllimport)) WINBOOL CryptMsgControl (HCRYPTMSG hCryptMsg, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
typedef struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
DWORD cbSize;
HCRYPTPROV_LEGACY hCryptProv;
DWORD dwSignerIndex;
DWORD dwSignerType;
void *pvSigner;
} CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA,*PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA;
typedef struct _CMSG_CTRL_DECRYPT_PARA {
DWORD cbSize;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
DWORD dwRecipientIndex;
} CMSG_CTRL_DECRYPT_PARA,*PCMSG_CTRL_DECRYPT_PARA;
typedef struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
DWORD cbSize;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
PCMSG_KEY_TRANS_RECIPIENT_INFO pKeyTrans;
DWORD dwRecipientIndex;
} CMSG_CTRL_KEY_TRANS_DECRYPT_PARA,*PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
typedef struct _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {
DWORD cbSize;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
PCMSG_KEY_AGREE_RECIPIENT_INFO pKeyAgree;
DWORD dwRecipientIndex;
DWORD dwRecipientEncryptedKeyIndex;
CRYPT_BIT_BLOB OriginatorPublicKey;
} CMSG_CTRL_KEY_AGREE_DECRYPT_PARA,*PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA;
typedef struct _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {
DWORD cbSize;
HCRYPTPROV hCryptProv;
PCMSG_MAIL_LIST_RECIPIENT_INFO pMailList;
DWORD dwRecipientIndex;
DWORD dwKeyChoice;
__extension__ union {
HCRYPTKEY hKeyEncryptionKey;
void *pvKeyEncryptionKey;
};
} CMSG_CTRL_MAIL_LIST_DECRYPT_PARA,*PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA;
typedef struct _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {
DWORD cbSize;
DWORD dwSignerIndex;
CRYPT_DATA_BLOB blob;
} CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA,*PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA;
typedef struct _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {
DWORD cbSize;
DWORD dwSignerIndex;
DWORD dwUnauthAttrIndex;
} CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA,*PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA;
WINBOOL CryptMsgVerifyCountersignatureEncoded (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, PCERT_INFO pciCountersigner);
WINBOOL CryptMsgVerifyCountersignatureEncodedEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, DWORD dwSignerType, void *pvSigner, DWORD dwFlags, void *pvExtra);
WINBOOL CryptMsgCountersign (HCRYPTMSG hCryptMsg, DWORD dwIndex, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners);
WINBOOL CryptMsgCountersignEncoded (DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners, PBYTE pbCountersignature, PDWORD pcbCountersignature);
typedef void *( *PFN_CMSG_ALLOC) (size_t cb);
typedef void ( *PFN_CMSG_FREE) (void *pv);
typedef WINBOOL ( *PFN_CMSG_GEN_ENCRYPT_KEY) (HCRYPTPROV *phCryptProv, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PVOID pvEncryptAuxInfo, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PFN_CMSG_ALLOC pfnAlloc, HCRYPTKEY *phEncryptKey, PBYTE *ppbEncryptParameters, PDWORD pcbEncryptParameters);
typedef WINBOOL ( *PFN_CMSG_EXPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, HCRYPTKEY hEncryptKey, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PBYTE pbData, PDWORD pcbData);
typedef WINBOOL ( *PFN_CMSG_IMPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PCRYPT_ALGORITHM_IDENTIFIER paiPubKey, PBYTE pbEncodedKey, DWORD cbEncodedKey, HCRYPTKEY *phEncryptKey);
typedef struct _CMSG_CONTENT_ENCRYPT_INFO {
DWORD cbSize;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
void *pvEncryptionAuxInfo;
DWORD cRecipients;
PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
PFN_CMSG_ALLOC pfnAlloc;
PFN_CMSG_FREE pfnFree;
DWORD dwEncryptFlags;
__extension__ union {
HCRYPTKEY hContentEncryptKey;
BCRYPT_KEY_HANDLE hCNGContentEncryptKey;
};
DWORD dwFlags;
WINBOOL fCNG;
BYTE *pbCNGContentEncryptKeyObject;
BYTE *pbContentEncryptKey;
DWORD cbContentEncryptKey;
} CMSG_CONTENT_ENCRYPT_INFO,*PCMSG_CONTENT_ENCRYPT_INFO;
typedef WINBOOL ( *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, DWORD dwFlags, void *pvReserved);
typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
DWORD cbSize;
DWORD dwRecipientIndex;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedKey;
DWORD dwFlags;
} CMSG_KEY_TRANS_ENCRYPT_INFO,*PCMSG_KEY_TRANS_ENCRYPT_INFO;
typedef WINBOOL ( *PFN_CMSG_EXPORT_KEY_TRANS) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo, PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo, DWORD dwFlags, void *pvReserved);
typedef struct _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {
DWORD cbSize;
CRYPT_DATA_BLOB EncryptedKey;
} CMSG_KEY_AGREE_KEY_ENCRYPT_INFO,*PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO;
typedef struct _CMSG_KEY_AGREE_ENCRYPT_INFO {
DWORD cbSize;
DWORD dwRecipientIndex;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB UserKeyingMaterial;
DWORD dwOriginatorChoice;
__extension__ union {
CERT_ID OriginatorCertId;
CERT_PUBLIC_KEY_INFO OriginatorPublicKeyInfo;
};
DWORD cKeyAgreeKeyEncryptInfo;
PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO *rgpKeyAgreeKeyEncryptInfo;
DWORD dwFlags;
} CMSG_KEY_AGREE_ENCRYPT_INFO,*PCMSG_KEY_AGREE_ENCRYPT_INFO;
typedef WINBOOL ( *PFN_CMSG_EXPORT_KEY_AGREE) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgreeEncodeInfo, PCMSG_KEY_AGREE_ENCRYPT_INFO pKeyAgreeEncryptInfo, DWORD dwFlags, void *pvReserved);
typedef struct _CMSG_MAIL_LIST_ENCRYPT_INFO {
DWORD cbSize;
DWORD dwRecipientIndex;
CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm;
CRYPT_DATA_BLOB EncryptedKey;
DWORD dwFlags;
} CMSG_MAIL_LIST_ENCRYPT_INFO,*PCMSG_MAIL_LIST_ENCRYPT_INFO;
typedef WINBOOL ( *PFN_CMSG_EXPORT_MAIL_LIST) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailListEncodeInfo, PCMSG_MAIL_LIST_ENCRYPT_INFO pMailListEncryptInfo, DWORD dwFlags, void *pvReserved);
typedef WINBOOL ( *PFN_CMSG_IMPORT_KEY_TRANS) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
typedef WINBOOL ( *PFN_CMSG_IMPORT_KEY_AGREE) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
typedef WINBOOL ( *PFN_CMSG_IMPORT_MAIL_LIST) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA pMailListDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey);
typedef struct _CMSG_CNG_CONTENT_DECRYPT_INFO {
DWORD cbSize;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
PFN_CMSG_ALLOC pfnAlloc;
PFN_CMSG_FREE pfnFree;
NCRYPT_KEY_HANDLE hNCryptKey;
BYTE *pbContentEncryptKey;
DWORD cbContentEncryptKey;
BCRYPT_KEY_HANDLE hCNGContentEncryptKey;
BYTE *pbCNGContentEncryptKeyObject;
} CMSG_CNG_CONTENT_DECRYPT_INFO,*PCMSG_CNG_CONTENT_DECRYPT_INFO;
typedef WINBOOL ( *PFN_CMSG_CNG_IMPORT_KEY_TRANS) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved);
typedef WINBOOL ( *PFN_CMSG_CNG_IMPORT_KEY_AGREE) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved);
typedef WINBOOL ( *PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, DWORD dwFlags, void *pvReserved);
typedef void *HCERTSTORE;
typedef struct _CERT_CONTEXT {
DWORD dwCertEncodingType;
BYTE *pbCertEncoded;
DWORD cbCertEncoded;
PCERT_INFO pCertInfo;
HCERTSTORE hCertStore;
} CERT_CONTEXT,*PCERT_CONTEXT;
typedef const CERT_CONTEXT *PCCERT_CONTEXT;
typedef struct _CRL_CONTEXT {
DWORD dwCertEncodingType;
BYTE *pbCrlEncoded;
DWORD cbCrlEncoded;
PCRL_INFO pCrlInfo;
HCERTSTORE hCertStore;
} CRL_CONTEXT,*PCRL_CONTEXT;
typedef const CRL_CONTEXT *PCCRL_CONTEXT;
typedef struct _CTL_CONTEXT {
DWORD dwMsgAndCertEncodingType;
BYTE *pbCtlEncoded;
DWORD cbCtlEncoded;
PCTL_INFO pCtlInfo;
HCERTSTORE hCertStore;
HCRYPTMSG hCryptMsg;
BYTE *pbCtlContent;
DWORD cbCtlContent;
} CTL_CONTEXT,*PCTL_CONTEXT;
typedef const CTL_CONTEXT *PCCTL_CONTEXT;
typedef enum CertKeyType {
KeyTypeOther = 0,
KeyTypeVirtualSmartCard = 1,
KeyTypePhysicalSmartCard = 2,
KeyTypePassport = 3,
KeyTypePassportRemote = 4,
KeyTypePassportSmartCard = 5,
KeyTypeHardware = 6,
KeyTypeSoftware = 7,
KeyTypeSelfSigned = 8
} CertKeyType;
typedef struct _CRYPT_KEY_PROV_PARAM {
DWORD dwParam;
BYTE *pbData;
DWORD cbData;
DWORD dwFlags;
} CRYPT_KEY_PROV_PARAM,*PCRYPT_KEY_PROV_PARAM;
typedef struct _CRYPT_KEY_PROV_INFO {
LPWSTR pwszContainerName;
LPWSTR pwszProvName;
DWORD dwProvType;
DWORD dwFlags;
DWORD cProvParam;
PCRYPT_KEY_PROV_PARAM rgProvParam;
DWORD dwKeySpec;
} CRYPT_KEY_PROV_INFO,*PCRYPT_KEY_PROV_INFO;
typedef struct _CERT_KEY_CONTEXT {
DWORD cbSize;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
} CERT_KEY_CONTEXT,*PCERT_KEY_CONTEXT;
typedef struct _ROOT_INFO_LUID {
DWORD LowPart;
LONG HighPart;
} ROOT_INFO_LUID,*PROOT_INFO_LUID;
typedef struct _CRYPT_SMART_CARD_ROOT_INFO {
BYTE rgbCardID [16];
ROOT_INFO_LUID luid;
} CRYPT_SMART_CARD_ROOT_INFO,*PCRYPT_SMART_CARD_ROOT_INFO;
typedef struct _CERT_SYSTEM_STORE_RELOCATE_PARA {
__extension__ union {
HKEY hKeyBase;
void *pvBase;
};
__extension__ union {
void *pvSystemStore;
LPCSTR pszSystemStore;
LPCWSTR pwszSystemStore;
};
} CERT_SYSTEM_STORE_RELOCATE_PARA,*PCERT_SYSTEM_STORE_RELOCATE_PARA;
typedef struct _CERT_REGISTRY_STORE_CLIENT_GPT_PARA {
HKEY hKeyBase;
LPWSTR pwszRegPath;
} CERT_REGISTRY_STORE_CLIENT_GPT_PARA,*PCERT_REGISTRY_STORE_CLIENT_GPT_PARA;
typedef struct _CERT_REGISTRY_STORE_ROAMING_PARA {
HKEY hKey;
LPWSTR pwszStoreDirectory;
} CERT_REGISTRY_STORE_ROAMING_PARA,*PCERT_REGISTRY_STORE_ROAMING_PARA;
typedef struct _CERT_LDAP_STORE_OPENED_PARA {
void *pvLdapSessionHandle;
LPCWSTR pwszLdapUrl;
} CERT_LDAP_STORE_OPENED_PARA,*PCERT_LDAP_STORE_OPENED_PARA;
__attribute__((dllimport)) HCERTSTORE CertOpenStore (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara);
typedef void *HCERTSTOREPROV;
typedef struct _CERT_STORE_PROV_INFO {
DWORD cbSize;
DWORD cStoreProvFunc;
void **rgpvStoreProvFunc;
HCERTSTOREPROV hStoreProv;
DWORD dwStoreProvFlags;
HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO,*PCERT_STORE_PROV_INFO;
typedef WINBOOL ( *PFN_CERT_DLL_OPEN_STORE_PROV_FUNC) (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara, HCERTSTORE hCertStore, PCERT_STORE_PROV_INFO pStoreProvInfo);
typedef void ( *PFN_CERT_STORE_PROV_CLOSE) (HCERTSTOREPROV hStoreProv, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_READ_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pStoreCertContext, DWORD dwFlags, PCCERT_CONTEXT *ppProvCertContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_WRITE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_DELETE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_SET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_READ_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pStoreCrlContext, DWORD dwFlags, PCCRL_CONTEXT *ppProvCrlContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_WRITE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_DELETE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_SET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_READ_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pStoreCtlContext, DWORD dwFlags, PCCTL_CONTEXT *ppProvCtlContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_WRITE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_DELETE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_SET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_CONTROL) (HCERTSTOREPROV hStoreProv, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
typedef struct _CERT_STORE_PROV_FIND_INFO {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
DWORD dwFindFlags;
DWORD dwFindType;
const void *pvFindPara;
} CERT_STORE_PROV_FIND_INFO,*PCERT_STORE_PROV_FIND_INFO;
typedef const CERT_STORE_PROV_FIND_INFO CCERT_STORE_PROV_FIND_INFO,*PCCERT_STORE_PROV_FIND_INFO;
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCERT_CONTEXT pPrevCertContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCERT_CONTEXT *ppProvCertContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FREE_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, void *pvStoreProvFindInfo, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_GET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCRL_CONTEXT pPrevCrlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCRL_CONTEXT *ppProvCrlContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FREE_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, void *pvStoreProvFindInfo, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_GET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCTL_CONTEXT pPrevCtlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCTL_CONTEXT *ppProvCtlContext);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_FREE_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, void *pvStoreProvFindInfo, DWORD dwFlags);
typedef WINBOOL ( *PFN_CERT_STORE_PROV_GET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) HCERTSTORE CertDuplicateStore (HCERTSTORE hCertStore);
__attribute__((dllimport)) WINBOOL CertSaveStore (HCERTSTORE hCertStore, DWORD dwEncodingType, DWORD dwSaveAs, DWORD dwSaveTo, void *pvSaveToPara, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CertCloseStore (HCERTSTORE hCertStore, DWORD dwFlags);
__attribute__((dllimport)) PCCERT_CONTEXT CertGetSubjectCertificateFromStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, PCERT_INFO pCertId);
__attribute__((dllimport)) PCCERT_CONTEXT CertEnumCertificatesInStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pPrevCertContext);
__attribute__((dllimport)) PCCERT_CONTEXT CertFindCertificateInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CONTEXT pPrevCertContext);
__attribute__((dllimport)) PCCERT_CONTEXT CertGetIssuerCertificateFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pSubjectContext, PCCERT_CONTEXT pPrevIssuerContext, DWORD *pdwFlags);
__attribute__((dllimport)) WINBOOL CertVerifySubjectCertificateContext (PCCERT_CONTEXT pSubject, PCCERT_CONTEXT pIssuer, DWORD *pdwFlags);
__attribute__((dllimport)) PCCERT_CONTEXT CertDuplicateCertificateContext (PCCERT_CONTEXT pCertContext);
__attribute__((dllimport)) PCCERT_CONTEXT CertCreateCertificateContext (DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
__attribute__((dllimport)) WINBOOL CertFreeCertificateContext (PCCERT_CONTEXT pCertContext);
__attribute__((dllimport)) WINBOOL CertSetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
typedef struct _CRL_FIND_ISSUED_FOR_PARA {
PCCERT_CONTEXT pSubjectCert;
PCCERT_CONTEXT pIssuerCert;
} CRL_FIND_ISSUED_FOR_PARA,*PCRL_FIND_ISSUED_FOR_PARA;
typedef struct _CTL_ANY_SUBJECT_INFO {
CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm;
CRYPT_DATA_BLOB SubjectIdentifier;
} CTL_ANY_SUBJECT_INFO,*PCTL_ANY_SUBJECT_INFO;
__attribute__((dllimport)) PCCRL_CONTEXT CertEnumCRLsInStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pPrevCrlContext);
__attribute__((dllimport)) WINBOOL CertDeleteCRLFromStore (PCCRL_CONTEXT pCrlContext);
__attribute__((dllimport)) PCCRL_CONTEXT CertDuplicateCRLContext (PCCRL_CONTEXT pCrlContext);
__attribute__((dllimport)) PCCRL_CONTEXT CertFindCRLInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCRL_CONTEXT pPrevCrlContext);
__attribute__((dllimport)) WINBOOL CertFreeCRLContext (PCCRL_CONTEXT pCrlContext);
__attribute__((dllimport)) WINBOOL CertGetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) DWORD CertEnumCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD dwPropId);
__attribute__((dllimport)) WINBOOL CertDeleteCertificateFromStore (PCCERT_CONTEXT pCertContext);
__attribute__((dllimport)) WINBOOL CertCreateCTLEntryFromCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD cOptAttr, PCRYPT_ATTRIBUTE rgOptAttr, DWORD dwFlags, void *pvReserved, PCTL_ENTRY pCtlEntry, DWORD *pcbCtlEntry);
__attribute__((dllimport)) WINBOOL CertSetCertificateContextPropertiesFromCTLEntry (PCCERT_CONTEXT pCertContext, PCTL_ENTRY pCtlEntry, DWORD dwFlags);
__attribute__((dllimport)) PCCRL_CONTEXT CertGetCRLFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pIssuerContext, PCCRL_CONTEXT pPrevCrlContext, DWORD *pdwFlags);
__attribute__((dllimport)) PCCRL_CONTEXT CertCreateCRLContext (DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded);
__attribute__((dllimport)) WINBOOL CertSetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
__attribute__((dllimport)) WINBOOL CertGetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) DWORD CertEnumCRLContextProperties (PCCRL_CONTEXT pCrlContext, DWORD dwPropId);
__attribute__((dllimport)) WINBOOL CertFindCertificateInCRL (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrlContext, DWORD dwFlags, void *pvReserved, PCRL_ENTRY *ppCrlEntry);
__attribute__((dllimport)) WINBOOL CertIsValidCRLForCertificate (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrl, DWORD dwFlags, void *pvReserved);
__attribute__((dllimport)) WINBOOL CertAddEncodedCertificateToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext);
__attribute__((dllimport)) WINBOOL CertAddCertificateContextToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertAddSerializedElementToStore (HCERTSTORE hCertStore, const BYTE *pbElement, DWORD cbElement, DWORD dwAddDisposition, DWORD dwFlags, DWORD dwContextTypeFlags, DWORD *pdwContextType, const void **ppvContext);
__attribute__((dllimport)) WINBOOL CertAddEncodedCRLToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded, DWORD dwAddDisposition, PCCRL_CONTEXT *ppCrlContext);
__attribute__((dllimport)) WINBOOL CertAddCRLContextToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertSerializeCertificateStoreElement (PCCERT_CONTEXT pCertContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
__attribute__((dllimport)) WINBOOL CertSerializeCRLStoreElement (PCCRL_CONTEXT pCrlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
__attribute__((dllimport)) PCCTL_CONTEXT CertDuplicateCTLContext (PCCTL_CONTEXT pCtlContext);
__attribute__((dllimport)) PCCTL_CONTEXT CertCreateCTLContext (DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded);
__attribute__((dllimport)) WINBOOL CertFreeCTLContext (PCCTL_CONTEXT pCtlContext);
__attribute__((dllimport)) WINBOOL CertSetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData);
__attribute__((dllimport)) WINBOOL CertGetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) DWORD CertEnumCTLContextProperties (PCCTL_CONTEXT pCtlContext, DWORD dwPropId);
__attribute__((dllimport)) PCCTL_CONTEXT CertEnumCTLsInStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pPrevCtlContext);
__attribute__((dllimport)) PCTL_ENTRY CertFindSubjectInCTL (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCCTL_CONTEXT pCtlContext, DWORD dwFlags);
__attribute__((dllimport)) PCCTL_CONTEXT CertFindCTLInStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCTL_CONTEXT pPrevCtlContext);
typedef struct _CTL_FIND_USAGE_PARA {
DWORD cbSize;
CTL_USAGE SubjectUsage;
CRYPT_DATA_BLOB ListIdentifier;
PCERT_INFO pSigner;
} CTL_FIND_USAGE_PARA,*PCTL_FIND_USAGE_PARA;
typedef struct _CTL_FIND_SUBJECT_PARA {
DWORD cbSize;
PCTL_FIND_USAGE_PARA pUsagePara;
DWORD dwSubjectType;
void *pvSubject;
} CTL_FIND_SUBJECT_PARA,*PCTL_FIND_SUBJECT_PARA;
typedef WINBOOL ( *PFN_CERT_CREATE_CONTEXT_SORT_FUNC) (DWORD cbTotalEncoded, DWORD cbRemainEncoded, DWORD cEntry, void *pvSort);
typedef struct _CERT_CREATE_CONTEXT_PARA {
DWORD cbSize;
PFN_CRYPT_FREE pfnFree;
void *pvFree;
PFN_CERT_CREATE_CONTEXT_SORT_FUNC pfnSort;
void *pvSort;
} CERT_CREATE_CONTEXT_PARA,*PCERT_CREATE_CONTEXT_PARA;
typedef struct _CERT_SYSTEM_STORE_INFO {
DWORD cbSize;
} CERT_SYSTEM_STORE_INFO,*PCERT_SYSTEM_STORE_INFO;
typedef struct _CERT_PHYSICAL_STORE_INFO {
DWORD cbSize;
LPSTR pszOpenStoreProvider;
DWORD dwOpenEncodingType;
DWORD dwOpenFlags;
CRYPT_DATA_BLOB OpenParameters;
DWORD dwFlags;
DWORD dwPriority;
} CERT_PHYSICAL_STORE_INFO,*PCERT_PHYSICAL_STORE_INFO;
__attribute__((dllimport)) WINBOOL CertAddEncodedCTLToStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded, DWORD dwAddDisposition, PCCTL_CONTEXT *ppCtlContext);
__attribute__((dllimport)) WINBOOL CertAddCTLContextToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertSerializeCTLStoreElement (PCCTL_CONTEXT pCtlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement);
__attribute__((dllimport)) WINBOOL CertDeleteCTLFromStore (PCCTL_CONTEXT pCtlContext);
__attribute__((dllimport)) WINBOOL CertAddCertificateLinkToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertAddCRLLinkToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertAddCTLLinkToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext);
__attribute__((dllimport)) WINBOOL CertAddStoreToCollection (HCERTSTORE hCollectionStore, HCERTSTORE hSiblingStore, DWORD dwUpdateFlags, DWORD dwPriority);
__attribute__((dllimport)) void CertRemoveStoreFromCollection (HCERTSTORE hCollectionStore, HCERTSTORE hSiblingStore);
__attribute__((dllimport)) WINBOOL CertControlStore (HCERTSTORE hCertStore, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara);
__attribute__((dllimport)) WINBOOL CertSetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, DWORD dwFlags, const void *pvData);
__attribute__((dllimport)) WINBOOL CertGetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) const void * CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara);
__attribute__((dllimport)) WINBOOL CertRegisterSystemStore (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved);
__attribute__((dllimport)) WINBOOL CertRegisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved);
__attribute__((dllimport)) WINBOOL CertUnregisterSystemStore (const void *pvSystemStore, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CertUnregisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName);
typedef WINBOOL ( *PFN_CERT_ENUM_SYSTEM_STORE_LOCATION) (LPCWSTR pwszStoreLocation, DWORD dwFlags, void *pvReserved, void *pvArg);
typedef WINBOOL ( *PFN_CERT_ENUM_SYSTEM_STORE) (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg);
typedef WINBOOL ( *PFN_CERT_ENUM_PHYSICAL_STORE) (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg);
__attribute__((dllimport)) WINBOOL CertEnumSystemStoreLocation (DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum);
__attribute__((dllimport)) WINBOOL CertEnumSystemStore (DWORD dwFlags, void *pvSystemStoreLocationPara, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE pfnEnum);
__attribute__((dllimport)) WINBOOL CertEnumPhysicalStore (const void *pvSystemStore, DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum);
__attribute__((dllimport)) WINBOOL CertGetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, DWORD dwFlags, PCERT_ENHKEY_USAGE pUsage, DWORD *pcbUsage);
__attribute__((dllimport)) WINBOOL CertSetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, PCERT_ENHKEY_USAGE pUsage);
__attribute__((dllimport)) WINBOOL CertAddEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier);
__attribute__((dllimport)) WINBOOL CertRemoveEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier);
__attribute__((dllimport)) WINBOOL CertGetValidUsages (DWORD cCerts, PCCERT_CONTEXT *rghCerts, int *cNumOIDs, LPSTR *rghOIDs, DWORD *pcbOIDs);
__attribute__((dllimport)) WINBOOL CryptMsgGetAndVerifySigner (HCRYPTMSG hCryptMsg, DWORD cSignerStore, HCERTSTORE *rghSignerStore, DWORD dwFlags, PCCERT_CONTEXT *ppSigner, DWORD *pdwSignerIndex);
__attribute__((dllimport)) WINBOOL CryptMsgSignCTL (DWORD dwMsgEncodingType, BYTE *pbCtlContent, DWORD cbCtlContent, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded);
__attribute__((dllimport)) WINBOOL CryptMsgEncodeAndSignCTL (DWORD dwMsgEncodingType, PCTL_INFO pCtlInfo, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded);
__attribute__((dllimport)) WINBOOL CertFindSubjectInSortedCTL (PCRYPT_DATA_BLOB pSubjectIdentifier, PCCTL_CONTEXT pCtlContext, DWORD dwFlags, void *pvReserved, PCRYPT_DER_BLOB pEncodedAttributes);
__attribute__((dllimport)) WINBOOL CertEnumSubjectInSortedCTL (PCCTL_CONTEXT pCtlContext, void **ppvNextSubject, PCRYPT_DER_BLOB pSubjectIdentifier, PCRYPT_DER_BLOB pEncodedAttributes);
typedef struct _CTL_VERIFY_USAGE_PARA {
DWORD cbSize;
CRYPT_DATA_BLOB ListIdentifier;
DWORD cCtlStore;
HCERTSTORE *rghCtlStore;
DWORD cSignerStore;
HCERTSTORE *rghSignerStore;
} CTL_VERIFY_USAGE_PARA,*PCTL_VERIFY_USAGE_PARA;
typedef struct _CTL_VERIFY_USAGE_STATUS {
DWORD cbSize;
DWORD dwError;
DWORD dwFlags;
PCCTL_CONTEXT *ppCtl;
DWORD dwCtlEntryIndex;
PCCERT_CONTEXT *ppSigner;
DWORD dwSignerIndex;
} CTL_VERIFY_USAGE_STATUS,*PCTL_VERIFY_USAGE_STATUS;
__attribute__((dllimport)) WINBOOL CertVerifyCTLUsage (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCTL_USAGE pSubjectUsage, DWORD dwFlags, PCTL_VERIFY_USAGE_PARA pVerifyUsagePara, PCTL_VERIFY_USAGE_STATUS pVerifyUsageStatus);
typedef struct _CERT_REVOCATION_CRL_INFO {
DWORD cbSize;
PCCRL_CONTEXT pBaseCrlContext;
PCCRL_CONTEXT pDeltaCrlContext;
PCRL_ENTRY pCrlEntry;
WINBOOL fDeltaCrlEntry;
} CERT_REVOCATION_CRL_INFO,*PCERT_REVOCATION_CRL_INFO;
typedef struct _CERT_REVOCATION_CHAIN_PARA CERT_REVOCATION_CHAIN_PARA,*PCERT_REVOCATION_CHAIN_PARA;
typedef struct _CERT_REVOCATION_PARA {
DWORD cbSize;
PCCERT_CONTEXT pIssuerCert;
DWORD cCertStore;
HCERTSTORE *rgCertStore;
HCERTSTORE hCrlStore;
LPFILETIME pftTimeToUse;
} CERT_REVOCATION_PARA,*PCERT_REVOCATION_PARA;
typedef struct _CERT_REVOCATION_STATUS {
DWORD cbSize;
DWORD dwIndex;
DWORD dwError;
DWORD dwReason;
WINBOOL fHasFreshnessTime;
DWORD dwFreshnessTime;
} CERT_REVOCATION_STATUS,*PCERT_REVOCATION_STATUS;
typedef struct _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO {
CRYPT_DATA_BLOB CertSignHashCNGAlgPropData;
CRYPT_DATA_BLOB CertIssuerPubKeyBitLengthPropData;
} CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO, *PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO;
typedef WINBOOL ( *PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC) (DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void **ppvDecodedSignPara, LPWSTR *ppwszCNGHashAlgid);
typedef WINBOOL ( *PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC) (NCRYPT_KEY_HANDLE hKey, DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD *pcbSignature);
typedef WINBOOL ( *PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC) (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPubKeyInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD cbSignature);
typedef void *HCRYPTDEFAULTCONTEXT;
typedef struct _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {
DWORD cOID;
LPSTR *rgpszOID;
} CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA,*PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA;
__attribute__((dllimport)) WINBOOL CertVerifyRevocation (DWORD dwEncodingType, DWORD dwRevType, DWORD cContext, PVOID rgpvContext[], DWORD dwFlags, PCERT_REVOCATION_PARA pRevPara, PCERT_REVOCATION_STATUS pRevStatus);
WINBOOL CertCompareIntegerBlob (PCRYPT_INTEGER_BLOB pInt1, PCRYPT_INTEGER_BLOB pInt2);
__attribute__((dllimport)) WINBOOL CertCompareCertificate (DWORD dwCertEncodingType, PCERT_INFO pCertId1, PCERT_INFO pCertId2);
__attribute__((dllimport)) WINBOOL CertCompareCertificateName (DWORD dwCertEncodingType, PCERT_NAME_BLOB pCertName1, PCERT_NAME_BLOB pCertName2);
__attribute__((dllimport)) WINBOOL CertIsRDNAttrsInCertificateName (DWORD dwCertEncodingType, DWORD dwFlags, PCERT_NAME_BLOB pCertName, PCERT_RDN pRDN);
__attribute__((dllimport)) WINBOOL CertComparePublicKeyInfo (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey1, PCERT_PUBLIC_KEY_INFO pPublicKey2);
__attribute__((dllimport)) DWORD CertGetPublicKeyLength (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey);
__attribute__((dllimport)) WINBOOL CryptVerifyCertificateSignature (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, PCERT_PUBLIC_KEY_INFO pPublicKey);
__attribute__((dllimport)) WINBOOL CryptVerifyCertificateSignatureEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, DWORD dwSubjectType, void *pvSubject, DWORD dwIssuerType, void *pvIssuer, DWORD dwFlags, void *pvExtra);
__attribute__((dllimport)) WINBOOL CertIsStrongHashToSign (PCCERT_STRONG_SIGN_PARA pStrongSignPara, LPCWSTR pwszCNGHashAlgid, PCCERT_CONTEXT pSigningCert);
__attribute__((dllimport)) WINBOOL CryptHashToBeSigned (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) WINBOOL CryptHashCertificate (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) WINBOOL CryptSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, const BYTE *pbEncodedToBeSigned, DWORD cbEncodedToBeSigned, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbSignature, DWORD *pcbSignature);
__attribute__((dllimport)) WINBOOL CryptSignAndEncodeCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbEncoded, DWORD *pcbEncoded);
__attribute__((dllimport)) LONG CertVerifyTimeValidity (LPFILETIME pTimeToVerify, PCERT_INFO pCertInfo);
__attribute__((dllimport)) LONG CertVerifyCRLTimeValidity (LPFILETIME pTimeToVerify, PCRL_INFO pCrlInfo);
__attribute__((dllimport)) WINBOOL CertVerifyValidityNesting (PCERT_INFO pSubjectInfo, PCERT_INFO pIssuerInfo);
__attribute__((dllimport)) WINBOOL CertVerifyCRLRevocation (DWORD dwCertEncodingType, PCERT_INFO pCertId, DWORD cCrlInfo, PCRL_INFO rgpCrlInfo[]);
__attribute__((dllimport)) LPCSTR CertAlgIdToOID (DWORD dwAlgId);
__attribute__((dllimport)) DWORD CertOIDToAlgId (LPCSTR pszObjId);
__attribute__((dllimport)) PCERT_EXTENSION CertFindExtension (LPCSTR pszObjId, DWORD cExtensions, CERT_EXTENSION rgExtensions[]);
__attribute__((dllimport)) PCRYPT_ATTRIBUTE CertFindAttribute (LPCSTR pszObjId, DWORD cAttr, CRYPT_ATTRIBUTE rgAttr[]);
__attribute__((dllimport)) PCERT_RDN_ATTR CertFindRDNAttr (LPCSTR pszObjId, PCERT_NAME_INFO pName);
__attribute__((dllimport)) WINBOOL CertGetIntendedKeyUsage (DWORD dwCertEncodingType, PCERT_INFO pCertInfo, BYTE *pbKeyUsage, DWORD cbKeyUsage);
__attribute__((dllimport)) WINBOOL CryptInstallDefaultContext (HCRYPTPROV hCryptProv, DWORD dwDefaultType, const void *pvDefaultPara, DWORD dwFlags, void *pvReserved, HCRYPTDEFAULTCONTEXT *phDefaultContext);
__attribute__((dllimport)) WINBOOL CryptUninstallDefaultContext (HCRYPTDEFAULTCONTEXT hDefaultContext, DWORD dwFlags, void *pvReserved);
__attribute__((dllimport)) WINBOOL CryptExportPublicKeyInfo (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
__attribute__((dllimport)) WINBOOL CryptExportPublicKeyInfoEx (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
typedef WINBOOL ( *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC) (NCRYPT_KEY_HANDLE hNCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo);
typedef WINBOOL ( *PFN_IMPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD dwFlags, void *pvAuxInfo);
typedef WINBOOL ( *PFN_EXPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD *pcbPrivateKeyInfo);
__attribute__((dllimport)) WINBOOL CryptImportPublicKeyInfo (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptImportPublicKeyInfoEx (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, ALG_ID aiKeyAlg, DWORD dwFlags, void *pvAuxInfo, HCRYPTKEY *phKey);
__attribute__((dllimport)) WINBOOL CryptAcquireCertificatePrivateKey (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvParameters, HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *phCryptProvOrNCryptKey, DWORD *pdwKeySpec, WINBOOL *pfCallerFreeProvOrNCryptKey);
__attribute__((dllimport)) WINBOOL CryptFindCertificateKeyProvInfo (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvReserved);
__attribute__((dllimport)) WINBOOL CryptImportPKCS8 (CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams, DWORD dwFlags, HCRYPTPROV *phCryptProv, void *pvAuxInfo);
__attribute__((dllimport)) WINBOOL CryptExportPKCS8 (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob);
__attribute__((dllimport)) WINBOOL CryptExportPKCS8Ex (CRYPT_PKCS8_EXPORT_PARAMS *psExportParams, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob);
__attribute__((dllimport)) WINBOOL CryptHashPublicKeyInfo (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) DWORD CertRDNValueToStrA (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPSTR psz, DWORD csz);
__attribute__((dllimport)) DWORD CertRDNValueToStrW (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPWSTR psz, DWORD csz);
__attribute__((dllimport)) DWORD CertNameToStrA (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPSTR psz, DWORD csz);
__attribute__((dllimport)) DWORD CertNameToStrW (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPWSTR psz, DWORD csz);
__attribute__((dllimport)) WINBOOL CertStrToNameA (DWORD dwCertEncodingType, LPCSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCSTR *ppszError);
__attribute__((dllimport)) WINBOOL CertStrToNameW (DWORD dwCertEncodingType, LPCWSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCWSTR *ppszError);
__attribute__((dllimport)) DWORD CertGetNameStringA (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPSTR pszNameString, DWORD cchNameString);
__attribute__((dllimport)) DWORD CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString);
typedef PCCERT_CONTEXT ( *PFN_CRYPT_GET_SIGNER_CERTIFICATE) (void *pvGetArg, DWORD dwCertEncodingType, PCERT_INFO pSignerId, HCERTSTORE hMsgCertStore);
typedef struct _CRYPT_SIGN_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgEncodingType;
PCCERT_CONTEXT pSigningCert;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void *pvHashAuxInfo;
DWORD cMsgCert;
PCCERT_CONTEXT *rgpMsgCert;
DWORD cMsgCrl;
PCCRL_CONTEXT *rgpMsgCrl;
DWORD cAuthAttr;
PCRYPT_ATTRIBUTE rgAuthAttr;
DWORD cUnauthAttr;
PCRYPT_ATTRIBUTE rgUnauthAttr;
DWORD dwFlags;
DWORD dwInnerContentType;
} CRYPT_SIGN_MESSAGE_PARA,*PCRYPT_SIGN_MESSAGE_PARA;
typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
void *pvGetArg;
} CRYPT_VERIFY_MESSAGE_PARA,*PCRYPT_VERIFY_MESSAGE_PARA;
typedef struct _CRYPT_ENCRYPT_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm;
void *pvEncryptionAuxInfo;
DWORD dwFlags;
DWORD dwInnerContentType;
} CRYPT_ENCRYPT_MESSAGE_PARA,*PCRYPT_ENCRYPT_MESSAGE_PARA;
typedef struct _CRYPT_DECRYPT_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
DWORD cCertStore;
HCERTSTORE *rghCertStore;
} CRYPT_DECRYPT_MESSAGE_PARA,*PCRYPT_DECRYPT_MESSAGE_PARA;
typedef struct _CRYPT_HASH_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void *pvHashAuxInfo;
} CRYPT_HASH_MESSAGE_PARA,*PCRYPT_HASH_MESSAGE_PARA;
typedef struct _CRYPT_KEY_SIGN_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgAndCertEncodingType;
__extension__ union {
HCRYPTPROV hCryptProv;
NCRYPT_KEY_HANDLE hNCryptKey;
};
DWORD dwKeySpec;
CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
void *pvHashAuxInfo;
CRYPT_ALGORITHM_IDENTIFIER PubKeyAlgorithm;
} CRYPT_KEY_SIGN_MESSAGE_PARA,*PCRYPT_KEY_SIGN_MESSAGE_PARA;
typedef struct _CRYPT_KEY_VERIFY_MESSAGE_PARA {
DWORD cbSize;
DWORD dwMsgEncodingType;
HCRYPTPROV_LEGACY hCryptProv;
} CRYPT_KEY_VERIFY_MESSAGE_PARA,*PCRYPT_KEY_VERIFY_MESSAGE_PARA;
typedef struct _CERT_CHAIN {
DWORD cCerts;
PCERT_BLOB certs;
CRYPT_KEY_PROV_INFO keyLocatorInfo;
} CERT_CHAIN,*PCERT_CHAIN;
__attribute__((dllimport)) WINBOOL CryptSignMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, WINBOOL fDetachedSignature, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], BYTE *pbSignedBlob, DWORD *pcbSignedBlob);
__attribute__((dllimport)) WINBOOL CryptVerifyMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppSignerCert);
__attribute__((dllimport)) LONG CryptGetMessageSignerCount (DWORD dwMsgEncodingType, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
__attribute__((dllimport)) HCERTSTORE CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob);
__attribute__((dllimport)) WINBOOL CryptVerifyDetachedMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbDetachedSignBlob, DWORD cbDetachedSignBlob, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], PCCERT_CONTEXT *ppSignerCert);
__attribute__((dllimport)) WINBOOL CryptEncryptMessage (PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeEncrypted, DWORD cbToBeEncrypted, BYTE *pbEncryptedBlob, DWORD *pcbEncryptedBlob);
__attribute__((dllimport)) WINBOOL CryptDecryptMessage (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert);
__attribute__((dllimport)) WINBOOL CryptSignAndEncryptMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeSignedAndEncrypted, DWORD cbToBeSignedAndEncrypted, BYTE *pbSignedAndEncryptedBlob, DWORD *pcbSignedAndEncryptedBlob);
__attribute__((dllimport)) WINBOOL CryptDecryptAndVerifyMessageSignature (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert);
__attribute__((dllimport)) WINBOOL CryptDecodeMessage (DWORD dwMsgTypeFlags, PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncodedBlob, DWORD cbEncodedBlob, DWORD dwPrevInnerContentType, DWORD *pdwMsgType, DWORD *pdwInnerContentType, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert);
__attribute__((dllimport)) WINBOOL CryptHashMessage (PCRYPT_HASH_MESSAGE_PARA pHashPara, WINBOOL fDetachedHash, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbHashedBlob, DWORD *pcbHashedBlob, BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) WINBOOL CryptVerifyMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbHashedBlob, DWORD cbHashedBlob, BYTE *pbToBeHashed, DWORD *pcbToBeHashed, BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) WINBOOL CryptVerifyDetachedMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbDetachedHashBlob, DWORD cbDetachedHashBlob, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbComputedHash, DWORD *pcbComputedHash);
__attribute__((dllimport)) WINBOOL CryptSignMessageWithKey (PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara, const BYTE *pbToBeSigned, DWORD cbToBeSigned, BYTE *pbSignedBlob, DWORD *pcbSignedBlob);
__attribute__((dllimport)) WINBOOL CryptVerifyMessageSignatureWithKey (PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded);
__attribute__((dllimport)) HCERTSTORE CertOpenSystemStoreA (HCRYPTPROV_LEGACY hProv, LPCSTR szSubsystemProtocol);
__attribute__((dllimport)) HCERTSTORE CertOpenSystemStoreW (HCRYPTPROV_LEGACY hProv, LPCWSTR szSubsystemProtocol);
__attribute__((dllimport)) WINBOOL CertAddEncodedCertificateToSystemStoreA (LPCSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
__attribute__((dllimport)) WINBOOL CertAddEncodedCertificateToSystemStoreW (LPCWSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded);
HRESULT FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec);
__attribute__((dllimport)) WINBOOL CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags, DWORD *pdwMsgAndCertEncodingType, DWORD *pdwContentType, DWORD *pdwFormatType, HCERTSTORE *phCertStore, HCRYPTMSG *phMsg, const void **ppvContext);
typedef HANDLE HCRYPTASYNC,*PHCRYPTASYNC;
typedef void ( *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC) (LPSTR pszParamOid, LPVOID pvParam);
__attribute__((dllimport)) LPVOID CryptMemAlloc (ULONG cbSize);
__attribute__((dllimport)) LPVOID CryptMemRealloc (LPVOID pv, ULONG cbSize);
__attribute__((dllimport)) void CryptMemFree (LPVOID pv);
__attribute__((dllimport)) WINBOOL CryptCreateAsyncHandle (DWORD dwFlags, PHCRYPTASYNC phAsync);
__attribute__((dllimport)) WINBOOL CryptSetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID pvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree);
__attribute__((dllimport)) WINBOOL CryptGetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID *ppvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC *ppfnFree);
__attribute__((dllimport)) WINBOOL CryptCloseAsyncHandle (HCRYPTASYNC hAsync);
typedef struct _CRYPT_BLOB_ARRAY {
DWORD cBlob;
PCRYPT_DATA_BLOB rgBlob;
} CRYPT_BLOB_ARRAY,*PCRYPT_BLOB_ARRAY;
typedef struct _CRYPT_CREDENTIALS {
DWORD cbSize;
LPCSTR pszCredentialsOid;
LPVOID pvCredentials;
} CRYPT_CREDENTIALS,*PCRYPT_CREDENTIALS;
typedef struct _CRYPT_PASSWORD_CREDENTIALSA {
DWORD cbSize;
LPSTR pszUsername;
LPSTR pszPassword;
} CRYPT_PASSWORD_CREDENTIALSA,*PCRYPT_PASSWORD_CREDENTIALSA;
typedef struct _CRYPT_PASSWORD_CREDENTIALSW {
DWORD cbSize;
LPWSTR pszUsername;
LPWSTR pszPassword;
} CRYPT_PASSWORD_CREDENTIALSW,*PCRYPT_PASSWORD_CREDENTIALSW;
typedef CRYPT_PASSWORD_CREDENTIALSA CRYPT_PASSWORD_CREDENTIALS;
typedef PCRYPT_PASSWORD_CREDENTIALSA PCRYPT_PASSWORD_CREDENTIALS;
typedef void ( *PFN_FREE_ENCODED_OBJECT_FUNC) (LPCSTR pszObjectOid, PCRYPT_BLOB_ARRAY pObject, LPVOID pvFreeContext);
typedef struct _CRYPTNET_URL_CACHE_PRE_FETCH_INFO {
DWORD cbSize;
DWORD dwObjectType;
DWORD dwError;
DWORD dwReserved;
FILETIME ThisUpdateTime;
FILETIME NextUpdateTime;
FILETIME PublishTime;
} CRYPTNET_URL_CACHE_PRE_FETCH_INFO,*PCRYPTNET_URL_CACHE_PRE_FETCH_INFO;
typedef struct _CRYPTNET_URL_CACHE_FLUSH_INFO {
DWORD cbSize;
DWORD dwExemptSeconds;
FILETIME ExpireTime;
} CRYPTNET_URL_CACHE_FLUSH_INFO,*PCRYPTNET_URL_CACHE_FLUSH_INFO;
typedef struct _CRYPTNET_URL_CACHE_RESPONSE_INFO {
DWORD cbSize;
WORD wResponseType;
WORD wResponseFlags;
FILETIME LastModifiedTime;
DWORD dwMaxAge;
LPCWSTR pwszETag;
DWORD dwProxyId;
} CRYPTNET_URL_CACHE_RESPONSE_INFO,*PCRYPTNET_URL_CACHE_RESPONSE_INFO;
typedef struct _CRYPT_RETRIEVE_AUX_INFO {
DWORD cbSize;
FILETIME *pLastSyncTime;
DWORD dwMaxUrlRetrievalByteCount;
PCRYPTNET_URL_CACHE_PRE_FETCH_INFO pPreFetchInfo;
PCRYPTNET_URL_CACHE_FLUSH_INFO pFlushInfo;
PCRYPTNET_URL_CACHE_RESPONSE_INFO *ppResponseInfo;
LPWSTR pwszCacheFileNamePrefix;
LPFILETIME pftCacheResync;
WINBOOL fProxyCacheRetrieval;
DWORD dwHttpStatusCode;
} CRYPT_RETRIEVE_AUX_INFO,*PCRYPT_RETRIEVE_AUX_INFO;
__attribute__((dllimport)) WINBOOL CryptRetrieveObjectByUrlA (LPCSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
__attribute__((dllimport)) WINBOOL CryptRetrieveObjectByUrlW (LPCWSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo);
typedef WINBOOL ( *PFN_CRYPT_CANCEL_RETRIEVAL) (DWORD dwFlags, void *pvArg);
__attribute__((dllimport)) WINBOOL CryptInstallCancelRetrieval (PFN_CRYPT_CANCEL_RETRIEVAL pfnCancel, const void *pvArg, DWORD dwFlags, void *pvReserved);
__attribute__((dllimport)) WINBOOL CryptUninstallCancelRetrieval (DWORD dwFlags, void *pvReserved);
__attribute__((dllimport)) WINBOOL CryptCancelAsyncRetrieval (HCRYPTASYNC hAsyncRetrieval);
typedef void ( *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC) (LPVOID pvCompletion, DWORD dwCompletionCode, LPCSTR pszUrl, LPSTR pszObjectOid, LPVOID pvObject);
typedef struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION {
PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion;
LPVOID pvCompletion;
} CRYPT_ASYNC_RETRIEVAL_COMPLETION,*PCRYPT_ASYNC_RETRIEVAL_COMPLETION;
typedef WINBOOL ( *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC) (HCRYPTASYNC hAsyncRetrieve);
typedef struct _CRYPT_URL_ARRAY {
DWORD cUrl;
LPWSTR *rgwszUrl;
} CRYPT_URL_ARRAY,*PCRYPT_URL_ARRAY;
typedef struct _CRYPT_URL_INFO {
DWORD cbSize;
DWORD dwSyncDeltaTime;
DWORD cGroup;
DWORD *rgcGroupEntry;
} CRYPT_URL_INFO,*PCRYPT_URL_INFO;
__attribute__((dllimport)) WINBOOL CryptGetObjectUrl (LPCSTR pszUrlOid, LPVOID pvPara, DWORD dwFlags, PCRYPT_URL_ARRAY pUrlArray, DWORD *pcbUrlArray, PCRYPT_URL_INFO pUrlInfo, DWORD *pcbUrlInfo, LPVOID pvReserved);
typedef struct _CERT_CRL_CONTEXT_PAIR {
PCCERT_CONTEXT pCertContext;
PCCRL_CONTEXT pCrlContext;
} CERT_CRL_CONTEXT_PAIR,*PCERT_CRL_CONTEXT_PAIR;
typedef const CERT_CRL_CONTEXT_PAIR *PCCERT_CRL_CONTEXT_PAIR;
typedef struct _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO {
DWORD cbSize;
int iDeltaCrlIndicator;
LPFILETIME pftCacheResync;
LPFILETIME pLastSyncTime;
LPFILETIME pMaxAgeTime;
PCERT_REVOCATION_CHAIN_PARA pChainPara;
PCRYPT_INTEGER_BLOB pDeltaCrlIndicator;
} CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO, *PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO;
typedef WINBOOL ( *PFN_CRYPT_ENUM_KEYID_PROP) (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwFlags, void *pvReserved, void *pvArg, DWORD cProp, DWORD *rgdwPropId, void **rgpvData, DWORD *rgcbData);
__attribute__((dllimport)) WINBOOL CryptGetTimeValidObject (LPCSTR pszTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, LPFILETIME pftValidFor, DWORD dwFlags, DWORD dwTimeout, LPVOID *ppvObject, PCRYPT_CREDENTIALS pCredentials, PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo);
__attribute__((dllimport)) WINBOOL CryptFlushTimeValidObject (LPCSTR pszFlushTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, DWORD dwFlags, LPVOID pvReserved);
__attribute__((dllimport)) PCCERT_CONTEXT CertCreateSelfSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob, DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXTENSIONS pExtensions);
__attribute__((dllimport)) WINBOOL CryptGetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvData, DWORD *pcbData);
__attribute__((dllimport)) WINBOOL CryptSetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, const void *pvData);
__attribute__((dllimport)) WINBOOL CryptEnumKeyIdentifierProperties (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvArg, PFN_CRYPT_ENUM_KEYID_PROP pfnEnum);
__attribute__((dllimport)) WINBOOL CryptCreateKeyIdentifierFromCSP (DWORD dwCertEncodingType, LPCSTR pszPubKeyOID, const PUBLICKEYSTRUC *pPubKeyStruc, DWORD cbPubKeyStruc, DWORD dwFlags, void *pvReserved, BYTE *pbHash, DWORD *pcbHash);
typedef HANDLE HCERTCHAINENGINE;
typedef struct _CERT_CHAIN_ENGINE_CONFIG {
DWORD cbSize;
HCERTSTORE hRestrictedRoot;
HCERTSTORE hRestrictedTrust;
HCERTSTORE hRestrictedOther;
DWORD cAdditionalStore;
HCERTSTORE *rghAdditionalStore;
DWORD dwFlags;
DWORD dwUrlRetrievalTimeout;
DWORD MaximumCachedCertificates;
DWORD CycleDetectionModulus;
} CERT_CHAIN_ENGINE_CONFIG,*PCERT_CHAIN_ENGINE_CONFIG;
__attribute__((dllimport)) WINBOOL CertCreateCertificateChainEngine (PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine);
__attribute__((dllimport)) void CertFreeCertificateChainEngine (HCERTCHAINENGINE hChainEngine);
__attribute__((dllimport)) WINBOOL CertResyncCertificateChainEngine (HCERTCHAINENGINE hChainEngine);
typedef struct _CERT_TRUST_STATUS {
DWORD dwErrorStatus;
DWORD dwInfoStatus;
} CERT_TRUST_STATUS,*PCERT_TRUST_STATUS;
typedef struct _CERT_REVOCATION_INFO {
DWORD cbSize;
DWORD dwRevocationResult;
LPCSTR pszRevocationOid;
LPVOID pvOidSpecificInfo;
WINBOOL fHasFreshnessTime;
DWORD dwFreshnessTime;
PCERT_REVOCATION_CRL_INFO pCrlInfo;
} CERT_REVOCATION_INFO,*PCERT_REVOCATION_INFO;
typedef struct _CERT_TRUST_LIST_INFO {
DWORD cbSize;
PCTL_ENTRY pCtlEntry;
PCCTL_CONTEXT pCtlContext;
} CERT_TRUST_LIST_INFO,*PCERT_TRUST_LIST_INFO;
typedef struct _CERT_CHAIN_ELEMENT {
DWORD cbSize;
PCCERT_CONTEXT pCertContext;
CERT_TRUST_STATUS TrustStatus;
PCERT_REVOCATION_INFO pRevocationInfo;
PCERT_ENHKEY_USAGE pIssuanceUsage;
PCERT_ENHKEY_USAGE pApplicationUsage;
LPCWSTR pwszExtendedErrorInfo;
} CERT_CHAIN_ELEMENT,*PCERT_CHAIN_ELEMENT;
typedef const CERT_CHAIN_ELEMENT *PCCERT_CHAIN_ELEMENT;
typedef struct _CERT_SIMPLE_CHAIN {
DWORD cbSize;
CERT_TRUST_STATUS TrustStatus;
DWORD cElement;
PCERT_CHAIN_ELEMENT *rgpElement;
PCERT_TRUST_LIST_INFO pTrustListInfo;
WINBOOL fHasRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
} CERT_SIMPLE_CHAIN,*PCERT_SIMPLE_CHAIN;
typedef const CERT_SIMPLE_CHAIN *PCCERT_SIMPLE_CHAIN;
typedef struct _CERT_CHAIN_CONTEXT CERT_CHAIN_CONTEXT,*PCERT_CHAIN_CONTEXT;
typedef const CERT_CHAIN_CONTEXT *PCCERT_CHAIN_CONTEXT;
struct _CERT_CHAIN_CONTEXT {
DWORD cbSize;
CERT_TRUST_STATUS TrustStatus;
DWORD cChain;
PCERT_SIMPLE_CHAIN *rgpChain;
DWORD cLowerQualityChainContext;
PCCERT_CHAIN_CONTEXT *rgpLowerQualityChainContext;
WINBOOL fHasRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
DWORD dwCreateFlags;
GUID ChainId;
};
typedef struct _CERT_USAGE_MATCH {
DWORD dwType;
CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH,*PCERT_USAGE_MATCH;
typedef struct _CTL_USAGE_MATCH {
DWORD dwType;
CTL_USAGE Usage;
} CTL_USAGE_MATCH,*PCTL_USAGE_MATCH;
typedef struct _CERT_CHAIN_PARA {
DWORD cbSize;
CERT_USAGE_MATCH RequestedUsage;
} CERT_CHAIN_PARA,*PCERT_CHAIN_PARA;
__attribute__((dllimport)) WINBOOL CertGetCertificateChain (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, PCCERT_CHAIN_CONTEXT *ppChainContext);
__attribute__((dllimport)) void CertFreeCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext);
__attribute__((dllimport)) PCCERT_CHAIN_CONTEXT CertDuplicateCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext);
struct _CERT_REVOCATION_CHAIN_PARA {
DWORD cbSize;
HCERTCHAINENGINE hChainEngine;
HCERTSTORE hAdditionalStore;
DWORD dwChainFlags;
DWORD dwUrlRetrievalTimeout;
LPFILETIME pftCurrentTime;
LPFILETIME pftCacheResync;
DWORD cbMaxUrlRetrievalByteCount;
};
typedef struct _CRL_REVOCATION_INFO {
PCRL_ENTRY pCrlEntry;
PCCRL_CONTEXT pCrlContext;
PCCERT_CHAIN_CONTEXT pCrlIssuerChain;
} CRL_REVOCATION_INFO,*PCRL_REVOCATION_INFO;
__attribute__((dllimport)) PCCERT_CHAIN_CONTEXT CertFindChainInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CHAIN_CONTEXT pPrevChainContext);
typedef WINBOOL ( *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK) (PCCERT_CONTEXT pCert, void *pvFindArg);
typedef struct _CERT_CHAIN_FIND_BY_ISSUER_PARA {
DWORD cbSize;
LPCSTR pszUsageIdentifier;
DWORD dwKeySpec;
DWORD dwAcquirePrivateKeyFlags;
DWORD cIssuer;
CERT_NAME_BLOB *rgIssuer;
PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFindCallback;
void *pvFindArg;
} CERT_CHAIN_FIND_ISSUER_PARA,*PCERT_CHAIN_FIND_ISSUER_PARA,CERT_CHAIN_FIND_BY_ISSUER_PARA,*PCERT_CHAIN_FIND_BY_ISSUER_PARA;
typedef struct _CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwFlags;
void *pvExtraPolicyPara;
} CERT_CHAIN_POLICY_PARA,*PCERT_CHAIN_POLICY_PARA;
typedef struct _CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
DWORD dwError;
LONG lChainIndex;
LONG lElementIndex;
void *pvExtraPolicyStatus;
} CERT_CHAIN_POLICY_STATUS,*PCERT_CHAIN_POLICY_STATUS;
__attribute__((dllimport)) WINBOOL CertVerifyCertificateChainPolicy (LPCSTR pszPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus);
typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwRegPolicySettings;
PCMSG_SIGNER_INFO pSignerInfo;
} AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA, *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
WINBOOL fCommercial;
} AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS, *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS;
typedef struct _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwRegPolicySettings;
WINBOOL fCommercial;
} AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA,*PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _HTTPSPolicyCallbackData {
__extension__ union {
DWORD cbStruct;
DWORD cbSize;
};
DWORD dwAuthType;
DWORD fdwChecks;
WCHAR *pwszServerName;
} HTTPSPolicyCallbackData,*PHTTPSPolicyCallbackData,SSL_EXTRA_CERT_CHAIN_POLICY_PARA,*PSSL_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _EV_EXTRA_CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwRootProgramQualifierFlags;
} EV_EXTRA_CERT_CHAIN_POLICY_PARA,*PEV_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _EV_EXTRA_CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
DWORD dwQualifiers;
DWORD dwIssuanceUsageIndex;
} EV_EXTRA_CERT_CHAIN_POLICY_STATUS,*PEV_EXTRA_CERT_CHAIN_POLICY_STATUS;
typedef struct _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
DWORD dwErrorLevel;
DWORD dwErrorCategory;
DWORD dwReserved;
WCHAR wszErrorText[256];
} SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS, *PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS;
typedef struct _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwReserved;
LPWSTR pwszServerName;
LPSTR rgpszHpkpValue[2];
} SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA {
DWORD cbSize;
DWORD dwReserved;
PCWSTR pwszServerName;
} SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA;
typedef struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS {
DWORD cbSize;
LONG lError;
WCHAR wszErrorText[512];
} SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS, *PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS;
__attribute__((dllimport)) WINBOOL CryptStringToBinaryA (LPCSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags);
__attribute__((dllimport)) WINBOOL CryptStringToBinaryW (LPCWSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags);
__attribute__((dllimport)) WINBOOL CryptBinaryToStringA (const BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPSTR pszString, DWORD *pcchString);
__attribute__((dllimport)) WINBOOL CryptBinaryToStringW (const BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString);
typedef struct _CRYPT_PKCS12_PBE_PARAMS {
int iIterations;
ULONG cbSalt;
} CRYPT_PKCS12_PBE_PARAMS;
__attribute__((dllimport)) HCERTSTORE PFXImportCertStore (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL PFXIsPFXBlob (CRYPT_DATA_BLOB *pPFX);
__attribute__((dllimport)) WINBOOL PFXVerifyPassword (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL PFXExportCertStoreEx (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, void *pvPara, DWORD dwFlags);
typedef struct _PKCS12_PBES2_EXPORT_PARAMS {
DWORD dwSize;
PVOID hNcryptDescriptor;
LPWSTR pwszPbes2Alg;
} PKCS12_PBES2_EXPORT_PARAMS, *PPKCS12_PBES2_EXPORT_PARAMS;
__attribute__((dllimport)) WINBOOL PFXExportCertStore (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CertRetrieveLogoOrBiometricInfo (PCCERT_CONTEXT pCertContext, LPCSTR lpszLogoOrBiometricType, DWORD dwRetrievalFlags, DWORD dwTimeout, DWORD dwFlags, void *pvReserved, BYTE **ppbData, DWORD *pcbData, LPWSTR *ppwszMimeType);
typedef struct _CRYPTPROTECT_PROMPTSTRUCT {
DWORD cbSize;
DWORD dwPromptFlags;
HWND hwndApp;
LPCWSTR szPrompt;
} CRYPTPROTECT_PROMPTSTRUCT,*PCRYPTPROTECT_PROMPTSTRUCT;
__attribute__((dllimport)) WINBOOL CryptProtectData (DATA_BLOB *pDataIn, LPCWSTR szDataDescr, DATA_BLOB *pOptionalEntropy, PVOID pvReserved, CRYPTPROTECT_PROMPTSTRUCT *pPromptStruct, DWORD dwFlags, DATA_BLOB *pDataOut);
__attribute__((dllimport)) WINBOOL CryptUnprotectData (DATA_BLOB *pDataIn, LPWSTR *ppszDataDescr, DATA_BLOB *pOptionalEntropy, PVOID pvReserved, CRYPTPROTECT_PROMPTSTRUCT *pPromptStruct, DWORD dwFlags, DATA_BLOB *pDataOut);
__attribute__((dllimport)) WINBOOL CryptProtectMemory (LPVOID pDataIn, DWORD cbDataIn, DWORD dwFlags);
__attribute__((dllimport)) WINBOOL CryptUnprotectMemory (LPVOID pDataIn, DWORD cbDataIn, DWORD dwFlags);
typedef struct _CERTIFICATE_BLOB {
DWORD dwCertEncodingType;
DWORD cbData;
PBYTE pbData;
} EFS_CERTIFICATE_BLOB,*PEFS_CERTIFICATE_BLOB;
typedef struct _EFS_HASH_BLOB {
DWORD cbData;
PBYTE pbData;
} EFS_HASH_BLOB,*PEFS_HASH_BLOB;
typedef struct _EFS_RPC_BLOB {
DWORD cbData;
PBYTE pbData;
} EFS_RPC_BLOB,*PEFS_RPC_BLOB;
typedef struct _EFS_KEY_INFO {
DWORD dwVersion;
ULONG Entropy;
ALG_ID Algorithm;
ULONG KeyLength;
} EFS_KEY_INFO,*PEFS_KEY_INFO;
typedef struct _ENCRYPTION_CERTIFICATE {
DWORD cbTotalLength;
SID *pUserSid;
PEFS_CERTIFICATE_BLOB pCertBlob;
} ENCRYPTION_CERTIFICATE,*PENCRYPTION_CERTIFICATE;
typedef struct _ENCRYPTION_CERTIFICATE_HASH {
DWORD cbTotalLength;
SID *pUserSid;
PEFS_HASH_BLOB pHash;
LPWSTR lpDisplayInformation;
} ENCRYPTION_CERTIFICATE_HASH,*PENCRYPTION_CERTIFICATE_HASH;
typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
DWORD nCert_Hash;
PENCRYPTION_CERTIFICATE_HASH *pUsers;
} ENCRYPTION_CERTIFICATE_HASH_LIST,*PENCRYPTION_CERTIFICATE_HASH_LIST;
typedef struct _ENCRYPTION_CERTIFICATE_LIST {
DWORD nUsers;
PENCRYPTION_CERTIFICATE *pUsers;
} ENCRYPTION_CERTIFICATE_LIST,*PENCRYPTION_CERTIFICATE_LIST;
__attribute__((dllimport)) DWORD QueryUsersOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pUsers);
__attribute__((dllimport)) DWORD QueryRecoveryAgentsOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pRecoveryAgents);
__attribute__((dllimport)) DWORD RemoveUsersFromEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST pHashes);
__attribute__((dllimport)) DWORD AddUsersToEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_LIST pUsers);
__attribute__((dllimport)) DWORD SetUserFileEncryptionKey(PENCRYPTION_CERTIFICATE pEncryptionCertificate);
__attribute__((dllimport)) void FreeEncryptionCertificateHashList(PENCRYPTION_CERTIFICATE_HASH_LIST pHashes);
__attribute__((dllimport)) WINBOOL EncryptionDisable(LPCWSTR DirPath,WINBOOL Disable);
__attribute__((dllimport)) DWORD DuplicateEncryptionInfoFile(LPCWSTR SrcFileName,LPCWSTR DstFileName,DWORD dwCreationDistribution,DWORD dwAttributes,const LPSECURITY_ATTRIBUTES lpSecurityAttributes);
#pragma pack(push,8)
typedef struct {
RPC_NS_HANDLE LookupContext;
RPC_BINDING_HANDLE ProposedHandle;
RPC_BINDING_VECTOR *Bindings;
} RPC_IMPORT_CONTEXT_P,*PRPC_IMPORT_CONTEXT_P;
__attribute__((dllimport)) RPC_STATUS I_RpcNsGetBuffer(PRPC_MESSAGE Message);
__attribute__((dllimport)) RPC_STATUS I_RpcNsSendReceive(PRPC_MESSAGE Message,RPC_BINDING_HANDLE *Handle);
__attribute__((dllimport)) void I_RpcNsRaiseException(PRPC_MESSAGE Message,RPC_STATUS Status);
__attribute__((dllimport)) RPC_STATUS I_RpcReBindBuffer(PRPC_MESSAGE Message);
__attribute__((dllimport)) RPC_STATUS I_NsServerBindSearch(void);
__attribute__((dllimport)) RPC_STATUS I_NsClientBindSearch(void);
__attribute__((dllimport)) void I_NsClientBindDone(void);
typedef unsigned char byte;
typedef byte cs_byte;
typedef unsigned char boolean;
void * MIDL_user_allocate(size_t);
void MIDL_user_free(void *);
typedef void *NDR_CCONTEXT;
typedef struct _NDR_SCONTEXT {
void *pad[2];
void *userContext;
} *NDR_SCONTEXT;
typedef void ( *NDR_RUNDOWN)(void *context);
typedef void ( *NDR_NOTIFY_ROUTINE)(void);
typedef void ( *NDR_NOTIFY2_ROUTINE)(boolean flag);
typedef struct _SCONTEXT_QUEUE {
unsigned long NumberOfObjects;
NDR_SCONTEXT *ArrayOfObjects;
} SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
__attribute__((dllimport)) RPC_BINDING_HANDLE NDRCContextBinding(NDR_CCONTEXT CContext);
__attribute__((dllimport)) void NDRCContextMarshall(NDR_CCONTEXT CContext,void *pBuff);
__attribute__((dllimport)) void NDRCContextUnmarshall(NDR_CCONTEXT *pCContext,RPC_BINDING_HANDLE hBinding,void *pBuff,unsigned long DataRepresentation);
__attribute__((dllimport)) void NDRSContextMarshall(NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn);
__attribute__((dllimport)) NDR_SCONTEXT NDRSContextUnmarshall(void *pBuff,unsigned long DataRepresentation);
__attribute__((dllimport)) void NDRSContextMarshallEx(RPC_BINDING_HANDLE BindingHandle,NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn);
__attribute__((dllimport)) void NDRSContextMarshall2(RPC_BINDING_HANDLE BindingHandle,NDR_SCONTEXT CContext,void *pBuff,NDR_RUNDOWN userRunDownIn,void *CtxGuard,unsigned long Flags);
__attribute__((dllimport)) NDR_SCONTEXT NDRSContextUnmarshallEx(RPC_BINDING_HANDLE BindingHandle,void *pBuff,unsigned long DataRepresentation);
__attribute__((dllimport)) NDR_SCONTEXT NDRSContextUnmarshall2(RPC_BINDING_HANDLE BindingHandle,void *pBuff,unsigned long DataRepresentation,void *CtxGuard,unsigned long Flags);
__attribute__((dllimport)) void RpcSsDestroyClientContext(void **ContextHandle);
typedef unsigned long error_status_t;
struct _MIDL_STUB_MESSAGE;
struct _MIDL_STUB_DESC;
struct _FULL_PTR_XLAT_TABLES;
typedef unsigned char *RPC_BUFPTR;
typedef unsigned long RPC_LENGTH;
typedef void ( *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE *);
typedef const unsigned char *PFORMAT_STRING;
typedef struct {
long Dimension;
unsigned long *BufferConformanceMark;
unsigned long *BufferVarianceMark;
unsigned long *MaxCountArray;
unsigned long *OffsetArray;
unsigned long *ActualCountArray;
} ARRAY_INFO,*PARRAY_INFO;
typedef struct _NDR_ASYNC_MESSAGE *PNDR_ASYNC_MESSAGE;
typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
typedef struct {
unsigned long WireCodeset;
unsigned long DesiredReceivingCodeset;
void *CSArrayInfo;
} CS_STUB_INFO;
struct _MIDL_SYNTAX_INFO;
typedef struct _MIDL_SYNTAX_INFO MIDL_SYNTAX_INFO,*PMIDL_SYNTAX_INFO;
struct NDR_ALLOC_ALL_NODES_CONTEXT;
struct NDR_POINTER_QUEUE_STATE;
struct _NDR_PROC_CONTEXT;
typedef struct _MIDL_STUB_MESSAGE {
PRPC_MESSAGE RpcMsg;
unsigned char *Buffer;
unsigned char *BufferStart;
unsigned char *BufferEnd;
unsigned char *BufferMark;
unsigned long BufferLength;
unsigned long MemorySize;
unsigned char *Memory;
unsigned char IsClient;
unsigned char Pad;
unsigned short uFlags2;
int ReuseBuffer;
struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
struct NDR_POINTER_QUEUE_STATE *pPointerQueueState;
int IgnoreEmbeddedPointers;
unsigned char *PointerBufferMark;
unsigned char fBufferValid;
unsigned char uFlags;
unsigned short UniquePtrCount;
ULONG_PTR MaxCount;
unsigned long Offset;
unsigned long ActualCount;
void *( *pfnAllocate)(size_t);
void ( *pfnFree)(void *);
unsigned char *StackTop;
unsigned char *pPresentedType;
unsigned char *pTransmitType;
handle_t SavedHandle;
const struct _MIDL_STUB_DESC *StubDesc;
struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
unsigned long FullPtrRefId;
unsigned long PointerLength;
int fInDontFree : 1;
int fDontCallFreeInst : 1;
int fInOnlyParam : 1;
int fHasReturn : 1;
int fHasExtensions : 1;
int fHasNewCorrDesc : 1;
int fIsOicfServer : 1;
int fHasMemoryValidateCallback : 1;
int fUnused : 8;
int fUnused2 : 16;
unsigned long dwDestContext;
void *pvDestContext;
NDR_SCONTEXT *SavedContextHandles;
long ParamNumber;
struct IRpcChannelBuffer *pRpcChannelBuffer;
PARRAY_INFO pArrayInfo;
unsigned long *SizePtrCountArray;
unsigned long *SizePtrOffsetArray;
unsigned long *SizePtrLengthArray;
void *pArgQueue;
unsigned long dwStubPhase;
void *LowStackMark;
PNDR_ASYNC_MESSAGE pAsyncMsg;
PNDR_CORRELATION_INFO pCorrInfo;
unsigned char *pCorrMemory;
void *pMemoryList;
CS_STUB_INFO *pCSInfo;
unsigned char *ConformanceMark;
unsigned char *VarianceMark;
INT_PTR Unused;
struct _NDR_PROC_CONTEXT *pContext;
void *pUserMarshalList;
INT_PTR Reserved51_2;
INT_PTR Reserved51_3;
INT_PTR Reserved51_4;
INT_PTR Reserved51_5;
} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
typedef void *( *GENERIC_BINDING_ROUTINE)(void *);
typedef void ( *GENERIC_UNBIND_ROUTINE)(void *,unsigned char *);
typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
GENERIC_BINDING_ROUTINE pfnBind;
GENERIC_UNBIND_ROUTINE pfnUnbind;
} GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
typedef struct __GENERIC_BINDING_INFO {
void *pObj;
unsigned int Size;
GENERIC_BINDING_ROUTINE pfnBind;
GENERIC_UNBIND_ROUTINE pfnUnbind;
} GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
typedef void ( *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
typedef struct _XMIT_ROUTINE_QUINTUPLE {
XMIT_HELPER_ROUTINE pfnTranslateToXmit;
XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
XMIT_HELPER_ROUTINE pfnFreeXmit;
XMIT_HELPER_ROUTINE pfnFreeInst;
} XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
typedef ULONG ( *USER_MARSHAL_SIZING_ROUTINE)(ULONG *,ULONG,void *);
typedef unsigned char *( *USER_MARSHAL_MARSHALLING_ROUTINE)(ULONG *,unsigned char *,void *);
typedef unsigned char *( *USER_MARSHAL_UNMARSHALLING_ROUTINE)(ULONG *,unsigned char *,void *);
typedef void ( *USER_MARSHAL_FREEING_ROUTINE)(ULONG *,void *);
typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
USER_MARSHAL_FREEING_ROUTINE pfnFree;
} USER_MARSHAL_ROUTINE_QUADRUPLE;
typedef enum _USER_MARSHAL_CB_TYPE {
USER_MARSHAL_CB_BUFFER_SIZE,USER_MARSHAL_CB_MARSHALL,USER_MARSHAL_CB_UNMARSHALL,USER_MARSHAL_CB_FREE
} USER_MARSHAL_CB_TYPE;
typedef struct _USER_MARSHAL_CB {
unsigned long Flags;
PMIDL_STUB_MESSAGE pStubMsg;
PFORMAT_STRING pReserve;
unsigned long Signature;
USER_MARSHAL_CB_TYPE CBType;
PFORMAT_STRING pFormat;
PFORMAT_STRING pTypeFormat;
} USER_MARSHAL_CB;
typedef struct _MALLOC_FREE_STRUCT {
void *( *pfnAllocate)(size_t);
void ( *pfnFree)(void *);
} MALLOC_FREE_STRUCT;
typedef struct _COMM_FAULT_OFFSETS {
short CommOffset;
short FaultOffset;
} COMM_FAULT_OFFSETS;
typedef enum _IDL_CS_CONVERT {
IDL_CS_NO_CONVERT,IDL_CS_IN_PLACE_CONVERT,IDL_CS_NEW_BUFFER_CONVERT
} IDL_CS_CONVERT;
typedef void ( *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned long ulNetworkCodeSet,unsigned long ulLocalBufferSize,IDL_CS_CONVERT *conversionType,unsigned long *pulNetworkBufferSize,error_status_t *pStatus);
typedef void ( *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned long ulNetworkCodeSet,unsigned long ulNetworkBufferSize,IDL_CS_CONVERT *conversionType,unsigned long *pulLocalBufferSize,error_status_t *pStatus);
typedef void ( *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned long ulNetworkCodeSet,void *pLocalData,unsigned long ulLocalDataLength,byte *pNetworkData,unsigned long *pulNetworkDataLength,error_status_t *pStatus);
typedef void ( *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE hBinding,unsigned long ulNetworkCodeSet,byte *pNetworkData,unsigned long ulNetworkDataLength,unsigned long ulLocalBufferSize,void *pLocalData,unsigned long *pulLocalDataLength,error_status_t *pStatus);
typedef void ( *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE hBinding,int fServerSide,unsigned long *pulSendingTag,unsigned long *pulDesiredReceivingTag,unsigned long *pulReceivingTag,error_status_t *pStatus);
void RpcCsGetTags(RPC_BINDING_HANDLE hBinding,int fServerSide,unsigned long *pulSendingTag,unsigned long *pulDesiredReceivingTag,unsigned long *pulReceivingTag,error_status_t *pStatus);
typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
} NDR_CS_SIZE_CONVERT_ROUTINES;
typedef struct _NDR_CS_ROUTINES {
NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
} NDR_CS_ROUTINES;
typedef struct _MIDL_STUB_DESC {
void *RpcInterfaceInformation;
void *( *pfnAllocate)(size_t);
void ( *pfnFree)(void *);
union {
handle_t *pAutoHandle;
handle_t *pPrimitiveHandle;
PGENERIC_BINDING_INFO pGenericBindingInfo;
} IMPLICIT_HANDLE_INFO;
const NDR_RUNDOWN *apfnNdrRundownRoutines;
const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
const EXPR_EVAL *apfnExprEval;
const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
const unsigned char *pFormatTypes;
int fCheckBounds;
unsigned long Version;
MALLOC_FREE_STRUCT *pMallocFreeStruct;
long MIDLVersion;
const COMM_FAULT_OFFSETS *CommFaultOffsets;
const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
ULONG_PTR mFlags;
const NDR_CS_ROUTINES *CsRoutineTables;
void *Reserved4;
ULONG_PTR Reserved5;
} MIDL_STUB_DESC;
typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
typedef void *PMIDL_XMIT_TYPE;
typedef struct _MIDL_FORMAT_STRING {
short Pad;
unsigned char Format[];
} MIDL_FORMAT_STRING;
typedef void ( *STUB_THUNK)(PMIDL_STUB_MESSAGE);
typedef long ( *SERVER_ROUTINE)();
typedef struct _MIDL_SERVER_INFO_ {
PMIDL_STUB_DESC pStubDesc;
const SERVER_ROUTINE *DispatchTable;
PFORMAT_STRING ProcString;
const unsigned short *FmtStringOffset;
const STUB_THUNK *ThunkTable;
PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
ULONG_PTR nCount;
PMIDL_SYNTAX_INFO pSyntaxInfo;
} MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
typedef struct _MIDL_STUBLESS_PROXY_INFO {
PMIDL_STUB_DESC pStubDesc;
PFORMAT_STRING ProcFormatString;
const unsigned short *FormatStringOffset;
PRPC_SYNTAX_IDENTIFIER pTransferSyntax;
ULONG_PTR nCount;
PMIDL_SYNTAX_INFO pSyntaxInfo;
} MIDL_STUBLESS_PROXY_INFO;
typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
struct _MIDL_SYNTAX_INFO {
RPC_SYNTAX_IDENTIFIER TransferSyntax;
RPC_DISPATCH_TABLE *DispatchTable;
PFORMAT_STRING ProcString;
const unsigned short *FmtStringOffset;
PFORMAT_STRING TypeString;
const void *aUserMarshalQuadruple;
ULONG_PTR pReserved1;
ULONG_PTR pReserved2;
};
typedef unsigned short *PARAM_OFFSETTABLE,*PPARAM_OFFSETTABLE;
typedef union _CLIENT_CALL_RETURN {
void *Pointer;
LONG_PTR Simple;
} CLIENT_CALL_RETURN;
typedef enum {
XLAT_SERVER = 1,XLAT_CLIENT
} XLAT_SIDE;
typedef struct _FULL_PTR_TO_REFID_ELEMENT {
struct _FULL_PTR_TO_REFID_ELEMENT *Next;
void *Pointer;
unsigned long RefId;
unsigned char State;
} FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
typedef struct _FULL_PTR_XLAT_TABLES {
struct {
void **XlatTable;
unsigned char *StateTable;
unsigned long NumberOfEntries;
} RefIdToPointer;
struct {
PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
unsigned long NumberOfBuckets;
unsigned long HashMask;
} PointerToRefId;
unsigned long NextRefId;
XLAT_SIDE XlatSide;
} FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
RPC_STATUS NdrClientGetSupportedSyntaxes(RPC_CLIENT_INTERFACE *pInf,unsigned long *pCount,MIDL_SYNTAX_INFO **pArr);
RPC_STATUS NdrServerGetSupportedSyntaxes(RPC_SERVER_INTERFACE *pInf,unsigned long *pCount,MIDL_SYNTAX_INFO **pArr,unsigned long *pPreferSyntaxIndex);
__attribute__((dllimport)) void NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,unsigned char FormatChar);
__attribute__((dllimport)) unsigned char * NdrPointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrCsArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrCsTagMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrConformantStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrComplexStructMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrConformantStringMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrClientContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_CCONTEXT ContextHandle,int fCheck);
__attribute__((dllimport)) void NdrServerContextMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_SCONTEXT ContextHandle,NDR_RUNDOWN RundownRoutine);
__attribute__((dllimport)) void NdrServerContextNewMarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_SCONTEXT ContextHandle,NDR_RUNDOWN RundownRoutine,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,unsigned char FormatChar);
__attribute__((dllimport)) unsigned char * NdrCsArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrCsTagUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrRangeUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) void NdrCorrelationInitialize(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory,unsigned long CacheSize,unsigned long flags);
__attribute__((dllimport)) void NdrCorrelationPass(PMIDL_STUB_MESSAGE pStubMsg);
__attribute__((dllimport)) void NdrCorrelationFree(PMIDL_STUB_MESSAGE pStubMsg);
__attribute__((dllimport)) unsigned char * NdrPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) unsigned char * NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **ppMemory,PFORMAT_STRING pFormat,unsigned char fMustAlloc);
__attribute__((dllimport)) void NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,NDR_CCONTEXT *pContextHandle,RPC_BINDING_HANDLE BindHandle);
__attribute__((dllimport)) NDR_SCONTEXT NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE pStubMsg);
__attribute__((dllimport)) NDR_SCONTEXT NdrContextHandleInitialize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) NDR_SCONTEXT NdrServerContextNewUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrPointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrCsArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrCsTagBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrContextHandleSize(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrPointerMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrCsArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrCsTagMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned long NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrPointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrCsArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrSimpleStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrComplexStructFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrFixedArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrVaryingArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrComplexArrayFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrByteCountPointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrUserMarshalFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrInterfacePointerFree(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pMemory,PFORMAT_STRING pFormat);
__attribute__((dllimport)) void NdrConvert2(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat,long NumberParams);
__attribute__((dllimport)) void NdrConvert(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) unsigned char * NdrUserMarshalSimpleTypeConvert(unsigned long *pFlags,unsigned char *pBuffer,unsigned char FormatChar);
__attribute__((dllimport)) void NdrClientInitializeNew(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned int ProcNum);
__attribute__((dllimport)) unsigned char * NdrServerInitializeNew(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor);
__attribute__((dllimport)) void NdrServerInitializePartial(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned long RequestedBufferSize);
__attribute__((dllimport)) void NdrClientInitialize(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,unsigned int ProcNum);
__attribute__((dllimport)) unsigned char * NdrServerInitialize(PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor);
__attribute__((dllimport)) unsigned char * NdrServerInitializeUnmarshall (PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void NdrServerInitializeMarshall (PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg);
__attribute__((dllimport)) unsigned char * NdrGetBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned long BufferLength,RPC_BINDING_HANDLE Handle);
__attribute__((dllimport)) unsigned char * NdrNsGetBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned long BufferLength,RPC_BINDING_HANDLE Handle);
__attribute__((dllimport)) unsigned char * NdrSendReceive(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pBufferEnd);
__attribute__((dllimport)) unsigned char * NdrNsSendReceive(PMIDL_STUB_MESSAGE pStubMsg,unsigned char *pBufferEnd,RPC_BINDING_HANDLE *pAutoHandle);
__attribute__((dllimport)) void NdrFreeBuffer(PMIDL_STUB_MESSAGE pStubMsg);
__attribute__((dllimport)) RPC_STATUS NdrGetDcomProtocolVersion(PMIDL_STUB_MESSAGE pStubMsg,RPC_VERSION *pVersion);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) NdrClientCall2(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) NdrClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) NdrAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) NdrDcomAsyncClientCall(PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,...);
typedef enum {
STUB_UNMARSHAL,STUB_CALL_SERVER,STUB_MARSHAL,STUB_CALL_SERVER_NO_HRESULT
} STUB_PHASE;
typedef enum {
PROXY_CALCSIZE,PROXY_GETBUFFER,PROXY_MARSHAL,PROXY_SENDRECEIVE,PROXY_UNMARSHAL
} PROXY_PHASE;
struct IRpcStubBuffer;
__attribute__((dllimport)) void NdrAsyncServerCall(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) long NdrAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) long NdrDcomAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) long NdrStubCall2(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) void NdrServerCall2(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) long NdrStubCall (struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) void NdrServerCall(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) int NdrServerUnmarshall(struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,PMIDL_STUB_MESSAGE pStubMsg,PMIDL_STUB_DESC pStubDescriptor,PFORMAT_STRING pFormat,void *pParamList);
__attribute__((dllimport)) void NdrServerMarshall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat);
__attribute__((dllimport)) RPC_STATUS NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE pStubMsg,unsigned long *pCommStatus,unsigned long *pFaultStatus,RPC_STATUS Status);
__attribute__((dllimport)) int NdrSH_UPDecision(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,RPC_BUFPTR pBuffer);
__attribute__((dllimport)) int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem);
__attribute__((dllimport)) int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem);
__attribute__((dllimport)) int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned long Count);
__attribute__((dllimport)) int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned long Count);
__attribute__((dllimport)) int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned long Count);
__attribute__((dllimport)) RPC_BUFPTR NdrSH_IfCopy(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned long Count);
__attribute__((dllimport)) RPC_BUFPTR NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE pStubMsg,unsigned char **pPtrInMem,unsigned long Count);
__attribute__((dllimport)) unsigned long NdrSH_Copy(unsigned char *pStubMsg,unsigned char *pPtrInMem,unsigned long Count);
__attribute__((dllimport)) void NdrSH_IfFree(PMIDL_STUB_MESSAGE pMessage,unsigned char *pPtr);
__attribute__((dllimport)) RPC_BUFPTR NdrSH_StringMarshall(PMIDL_STUB_MESSAGE pMessage,unsigned char *pMemory,unsigned long Count,int Size);
__attribute__((dllimport)) RPC_BUFPTR NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE pMessage,unsigned char **pMemory,int Size);
typedef void *RPC_SS_THREAD_HANDLE;
typedef void * RPC_CLIENT_ALLOC(size_t Size);
typedef void RPC_CLIENT_FREE(void *Ptr);
__attribute__((dllimport)) void * RpcSsAllocate(size_t Size);
__attribute__((dllimport)) void RpcSsDisableAllocate(void);
__attribute__((dllimport)) void RpcSsEnableAllocate(void);
__attribute__((dllimport)) void RpcSsFree(void *NodeToFree);
__attribute__((dllimport)) RPC_SS_THREAD_HANDLE RpcSsGetThreadHandle(void);
__attribute__((dllimport)) void RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree);
__attribute__((dllimport)) void RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE Id);
__attribute__((dllimport)) void RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree,RPC_CLIENT_ALLOC **OldClientAlloc,RPC_CLIENT_FREE **OldClientFree);
__attribute__((dllimport)) void * RpcSmAllocate(size_t Size,RPC_STATUS *pStatus);
__attribute__((dllimport)) RPC_STATUS RpcSmClientFree(void *pNodeToFree);
__attribute__((dllimport)) RPC_STATUS RpcSmDestroyClientContext(void **ContextHandle);
__attribute__((dllimport)) RPC_STATUS RpcSmDisableAllocate(void);
__attribute__((dllimport)) RPC_STATUS RpcSmEnableAllocate(void);
__attribute__((dllimport)) RPC_STATUS RpcSmFree(void *NodeToFree);
__attribute__((dllimport)) RPC_SS_THREAD_HANDLE RpcSmGetThreadHandle (RPC_STATUS *pStatus);
__attribute__((dllimport)) RPC_STATUS RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree);
__attribute__((dllimport)) RPC_STATUS RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE Id);
__attribute__((dllimport)) RPC_STATUS RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC *ClientAlloc,RPC_CLIENT_FREE *ClientFree,RPC_CLIENT_ALLOC **OldClientAlloc,RPC_CLIENT_FREE **OldClientFree);
__attribute__((dllimport)) void NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE pMessage);
__attribute__((dllimport)) void NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE pMessage);
__attribute__((dllimport)) void NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE pMessage);
__attribute__((dllimport)) void * NdrRpcSmClientAllocate(size_t Size);
__attribute__((dllimport)) void NdrRpcSmClientFree(void *NodeToFree);
__attribute__((dllimport)) void * NdrRpcSsDefaultAllocate(size_t Size);
__attribute__((dllimport)) void NdrRpcSsDefaultFree(void *NodeToFree);
__attribute__((dllimport)) PFULL_PTR_XLAT_TABLES NdrFullPointerXlatInit(unsigned long NumberOfPointers,XLAT_SIDE XlatSide);
__attribute__((dllimport)) void NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES pXlatTables);
__attribute__((dllimport)) int NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES pXlatTables,void *pPointer,unsigned char QueryType,unsigned long *pRefId);
__attribute__((dllimport)) int NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES pXlatTables,unsigned long RefId,unsigned char QueryType,void **ppPointer);
__attribute__((dllimport)) void NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES pXlatTables,unsigned long RefId,void *pPointer);
__attribute__((dllimport)) int NdrFullPointerFree(PFULL_PTR_XLAT_TABLES pXlatTables,void *Pointer);
__attribute__((dllimport)) void * NdrAllocate(PMIDL_STUB_MESSAGE pStubMsg,size_t Len);
__attribute__((dllimport)) void NdrClearOutParameters(PMIDL_STUB_MESSAGE pStubMsg,PFORMAT_STRING pFormat,void *ArgAddr);
__attribute__((dllimport)) void * NdrOleAllocate(size_t Size);
__attribute__((dllimport)) void NdrOleFree(void *NodeToFree);
typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1 {
void *Buffer;
unsigned long BufferSize;
void *( *pfnAllocate)(size_t);
void ( *pfnFree)(void *);
struct IRpcChannelBuffer *pRpcChannelBuffer;
ULONG_PTR Reserved[5];
} NDR_USER_MARSHAL_INFO_LEVEL1;
typedef struct _NDR_USER_MARSHAL_INFO {
unsigned long InformationLevel;
__extension__ union {
NDR_USER_MARSHAL_INFO_LEVEL1 Level1;
};
} NDR_USER_MARSHAL_INFO;
RPC_STATUS NdrGetUserMarshalInfo(unsigned long *pFlags,unsigned long InformationLevel,NDR_USER_MARSHAL_INFO *pMarshalInfo);
RPC_STATUS NdrCreateServerInterfaceFromStub(struct IRpcStubBuffer *pStub,RPC_SERVER_INTERFACE *pServerIf);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) NdrClientCall3(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned long nProcNum,void *pReturnValue,...);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) Ndr64AsyncClientCall(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned long nProcNum,void *pReturnValue,...);
CLIENT_CALL_RETURN __attribute__((__cdecl__)) Ndr64DcomAsyncClientCall(MIDL_STUBLESS_PROXY_INFO *pProxyInfo,unsigned long nProcNum,void *pReturnValue,...);
struct IRpcStubBuffer;
__attribute__((dllimport)) void Ndr64AsyncServerCall(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void Ndr64AsyncServerCall64(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void Ndr64AsyncServerCallAll(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) long Ndr64AsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) long Ndr64DcomAsyncStubCall(struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) long NdrStubCall3 (struct IRpcStubBuffer *pThis,struct IRpcChannelBuffer *pChannel,PRPC_MESSAGE pRpcMsg,unsigned long *pdwStubPhase);
__attribute__((dllimport)) void NdrServerCallAll(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void NdrServerCallNdr64(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void NdrServerCall3(PRPC_MESSAGE pRpcMsg);
__attribute__((dllimport)) void NdrPartialIgnoreClientMarshall(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory);
__attribute__((dllimport)) void NdrPartialIgnoreServerUnmarshall(PMIDL_STUB_MESSAGE pStubMsg,void **ppMemory);
__attribute__((dllimport)) void NdrPartialIgnoreClientBufferSize(PMIDL_STUB_MESSAGE pStubMsg,void *pMemory);
__attribute__((dllimport)) void NdrPartialIgnoreServerInitialize(PMIDL_STUB_MESSAGE pStubMsg,void **ppMemory,PFORMAT_STRING pFormat);
void RpcUserFree(handle_t AsyncHandle,void *pBuffer);
#pragma pack(pop)
#pragma pack(push,8)
#pragma pack(push,8)
#pragma pack(push,8)
typedef enum tagREGCLS {
REGCLS_SINGLEUSE = 0,
REGCLS_MULTIPLEUSE = 1,
REGCLS_MULTI_SEPARATE = 2,
REGCLS_SUSPENDED = 4,
REGCLS_SURROGATE = 8
} REGCLS;
typedef struct IRpcStubBuffer IRpcStubBuffer;
typedef struct IRpcChannelBuffer IRpcChannelBuffer;
typedef enum tagCOINITBASE {
COINITBASE_MULTITHREADED = 0x0,
} COINITBASE;
extern RPC_IF_HANDLE IWinTypesBase_v0_1_c_ifspec;
extern RPC_IF_HANDLE IWinTypesBase_v0_1_s_ifspec;
typedef WCHAR OLECHAR;
typedef OLECHAR *LPOLESTR;
typedef const OLECHAR *LPCOLESTR;
typedef unsigned char UCHAR;
typedef short SHORT;
typedef unsigned short USHORT;
typedef DWORD ULONG;
typedef double DOUBLE;
typedef struct _COAUTHIDENTITY {
USHORT *User;
ULONG UserLength;
USHORT *Domain;
ULONG DomainLength;
USHORT *Password;
ULONG PasswordLength;
ULONG Flags;
} COAUTHIDENTITY;
typedef struct _COAUTHINFO {
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
LPWSTR pwszServerPrincName;
DWORD dwAuthnLevel;
DWORD dwImpersonationLevel;
COAUTHIDENTITY *pAuthIdentityData;
DWORD dwCapabilities;
} COAUTHINFO;
typedef LONG SCODE;
typedef SCODE *PSCODE;
typedef enum tagMEMCTX {
MEMCTX_TASK = 1,
MEMCTX_SHARED = 2,
MEMCTX_MACSYSTEM = 3,
MEMCTX_UNKNOWN = -1,
MEMCTX_SAME = -2
} MEMCTX;
typedef enum tagCLSCTX {
CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 0x2,
CLSCTX_LOCAL_SERVER = 0x4,
CLSCTX_INPROC_SERVER16 = 0x8,
CLSCTX_REMOTE_SERVER = 0x10,
CLSCTX_INPROC_HANDLER16 = 0x20,
CLSCTX_RESERVED1 = 0x40,
CLSCTX_RESERVED2 = 0x80,
CLSCTX_RESERVED3 = 0x100,
CLSCTX_RESERVED4 = 0x200,
CLSCTX_NO_CODE_DOWNLOAD = 0x400,
CLSCTX_RESERVED5 = 0x800,
CLSCTX_NO_CUSTOM_MARSHAL = 0x1000,
CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000,
CLSCTX_NO_FAILURE_LOG = 0x4000,
CLSCTX_DISABLE_AAA = 0x8000,
CLSCTX_ENABLE_AAA = 0x10000,
CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000,
CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000,
CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000,
CLSCTX_ENABLE_CLOAKING = 0x100000,
CLSCTX_APPCONTAINER = 0x400000,
CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000,
CLSCTX_PS_DLL = (int)0x80000000
} CLSCTX;
typedef enum tagMSHLFLAGS {
MSHLFLAGS_NORMAL = 0,
MSHLFLAGS_TABLESTRONG = 1,
MSHLFLAGS_TABLEWEAK = 2,
MSHLFLAGS_NOPING = 4,
MSHLFLAGS_RESERVED1 = 8,
MSHLFLAGS_RESERVED2 = 16,
MSHLFLAGS_RESERVED3 = 32,
MSHLFLAGS_RESERVED4 = 64
} MSHLFLAGS;
typedef enum tagMSHCTX {
MSHCTX_LOCAL = 0,
MSHCTX_NOSHAREDMEM = 1,
MSHCTX_DIFFERENTMACHINE = 2,
MSHCTX_INPROC = 3,
MSHCTX_CROSSCTX = 4
} MSHCTX;
typedef struct _BYTE_BLOB {
ULONG clSize;
byte abData[1];
} BYTE_BLOB;
typedef BYTE_BLOB *UP_BYTE_BLOB;
typedef struct _WORD_BLOB {
ULONG clSize;
unsigned short asData[1];
} WORD_BLOB;
typedef WORD_BLOB *UP_WORD_BLOB;
typedef struct _DWORD_BLOB {
ULONG clSize;
ULONG alData[1];
} DWORD_BLOB;
typedef DWORD_BLOB *UP_DWORD_BLOB;
typedef struct _FLAGGED_BYTE_BLOB {
ULONG fFlags;
ULONG clSize;
byte abData[1];
} FLAGGED_BYTE_BLOB;
typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
typedef struct _FLAGGED_WORD_BLOB {
ULONG fFlags;
ULONG clSize;
unsigned short asData[1];
} FLAGGED_WORD_BLOB;
typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
typedef struct _BYTE_SIZEDARR {
ULONG clSize;
byte *pData;
} BYTE_SIZEDARR;
typedef struct _SHORT_SIZEDARR {
ULONG clSize;
unsigned short *pData;
} WORD_SIZEDARR;
typedef struct _LONG_SIZEDARR {
ULONG clSize;
ULONG *pData;
} DWORD_SIZEDARR;
typedef struct _HYPER_SIZEDARR {
ULONG clSize;
long long *pData;
} HYPER_SIZEDARR;
typedef boolean BOOLEAN;
typedef struct tagBLOB {
ULONG cbSize;
BYTE *pBlobData;
} BLOB;
typedef struct tagBLOB *LPBLOB;
typedef struct IUnknown IUnknown;
typedef struct AsyncIUnknown AsyncIUnknown;
typedef struct IClassFactory IClassFactory;
typedef IUnknown *LPUNKNOWN;
extern const GUID IID_IUnknown;
typedef struct IUnknownVtbl {
HRESULT ( *QueryInterface)(
IUnknown *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IUnknown *This);
ULONG ( *Release)(
IUnknown *This);
} IUnknownVtbl;
struct IUnknown {
IUnknownVtbl* lpVtbl;
};
extern const GUID IID_AsyncIUnknown;
typedef struct AsyncIUnknownVtbl {
HRESULT ( *QueryInterface)(
AsyncIUnknown *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
AsyncIUnknown *This);
ULONG ( *Release)(
AsyncIUnknown *This);
HRESULT ( *Begin_QueryInterface)(
AsyncIUnknown *This,
const IID *const riid);
HRESULT ( *Finish_QueryInterface)(
AsyncIUnknown *This,
void **ppvObject);
HRESULT ( *Begin_AddRef)(
AsyncIUnknown *This);
ULONG ( *Finish_AddRef)(
AsyncIUnknown *This);
HRESULT ( *Begin_Release)(
AsyncIUnknown *This);
ULONG ( *Finish_Release)(
AsyncIUnknown *This);
} AsyncIUnknownVtbl;
struct AsyncIUnknown {
AsyncIUnknownVtbl* lpVtbl;
};
typedef IClassFactory *LPCLASSFACTORY;
extern const GUID IID_IClassFactory;
typedef struct IClassFactoryVtbl {
HRESULT ( *QueryInterface)(
IClassFactory *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IClassFactory *This);
ULONG ( *Release)(
IClassFactory *This);
HRESULT ( *CreateInstance)(
IClassFactory *This,
IUnknown *pUnkOuter,
const IID *const riid,
void **ppvObject);
HRESULT ( *LockServer)(
IClassFactory *This,
WINBOOL fLock);
} IClassFactoryVtbl;
struct IClassFactory {
IClassFactoryVtbl* lpVtbl;
};
HRESULT IClassFactory_RemoteCreateInstance_Proxy(
IClassFactory* This,
const IID *const riid,
IUnknown **ppvObject);
void IClassFactory_RemoteCreateInstance_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IClassFactory_RemoteLockServer_Proxy(
IClassFactory* This,
WINBOOL fLock);
void IClassFactory_RemoteLockServer_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IClassFactory_CreateInstance_Proxy(
IClassFactory* This,
IUnknown *pUnkOuter,
const IID *const riid,
void **ppvObject);
HRESULT IClassFactory_CreateInstance_Stub(
IClassFactory* This,
const IID *const riid,
IUnknown **ppvObject);
HRESULT IClassFactory_LockServer_Proxy(
IClassFactory* This,
WINBOOL fLock);
HRESULT IClassFactory_LockServer_Stub(
IClassFactory* This,
WINBOOL fLock);
typedef struct IMarshal IMarshal;
typedef struct INoMarshal INoMarshal;
typedef struct IAgileObject IAgileObject;
typedef struct IAgileReference IAgileReference;
typedef struct IMarshal2 IMarshal2;
typedef struct IMalloc IMalloc;
typedef struct IStdMarshalInfo IStdMarshalInfo;
typedef struct IExternalConnection IExternalConnection;
typedef struct IMultiQI IMultiQI;
typedef struct AsyncIMultiQI AsyncIMultiQI;
typedef struct IInternalUnknown IInternalUnknown;
typedef struct IEnumUnknown IEnumUnknown;
typedef struct IEnumString IEnumString;
typedef struct ISequentialStream ISequentialStream;
typedef struct IStream IStream;
typedef struct IRpcChannelBuffer IRpcChannelBuffer;
typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
typedef struct IRpcProxyBuffer IRpcProxyBuffer;
typedef struct IRpcStubBuffer IRpcStubBuffer;
typedef struct IPSFactoryBuffer IPSFactoryBuffer;
typedef struct IChannelHook IChannelHook;
typedef struct IClientSecurity IClientSecurity;
typedef struct IServerSecurity IServerSecurity;
typedef struct IRpcOptions IRpcOptions;
typedef struct IGlobalOptions IGlobalOptions;
typedef struct ISurrogate ISurrogate;
typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
typedef struct ISynchronize ISynchronize;
typedef struct ISynchronizeHandle ISynchronizeHandle;
typedef struct ISynchronizeEvent ISynchronizeEvent;
typedef struct ISynchronizeContainer ISynchronizeContainer;
typedef struct ISynchronizeMutex ISynchronizeMutex;
typedef struct ICancelMethodCalls ICancelMethodCalls;
typedef struct IAsyncManager IAsyncManager;
typedef struct ICallFactory ICallFactory;
typedef struct IRpcHelper IRpcHelper;
typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;
typedef struct IWaitMultiple IWaitMultiple;
typedef struct IAddrTrackingControl IAddrTrackingControl;
typedef struct IAddrExclusionControl IAddrExclusionControl;
typedef struct IPipeByte IPipeByte;
typedef struct IPipeLong IPipeLong;
typedef struct IPipeDouble IPipeDouble;
typedef struct IEnumContextProps IEnumContextProps;
typedef struct IContext IContext;
typedef struct IComThreadingInfo IComThreadingInfo;
typedef struct IProcessInitControl IProcessInitControl;
typedef struct IFastRundown IFastRundown;
typedef struct IMarshalingStream IMarshalingStream;
typedef struct _COSERVERINFO {
DWORD dwReserved1;
LPWSTR pwszName;
COAUTHINFO *pAuthInfo;
DWORD dwReserved2;
} COSERVERINFO;
typedef IMarshal *LPMARSHAL;
extern const GUID IID_IMarshal;
typedef struct IMarshalVtbl {
HRESULT ( *QueryInterface)(
IMarshal *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMarshal *This);
ULONG ( *Release)(
IMarshal *This);
HRESULT ( *GetUnmarshalClass)(
IMarshal *This,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags,
CLSID *pCid);
HRESULT ( *GetMarshalSizeMax)(
IMarshal *This,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags,
DWORD *pSize);
HRESULT ( *MarshalInterface)(
IMarshal *This,
IStream *pStm,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags);
HRESULT ( *UnmarshalInterface)(
IMarshal *This,
IStream *pStm,
const IID *const riid,
void **ppv);
HRESULT ( *ReleaseMarshalData)(
IMarshal *This,
IStream *pStm);
HRESULT ( *DisconnectObject)(
IMarshal *This,
DWORD dwReserved);
} IMarshalVtbl;
struct IMarshal {
IMarshalVtbl* lpVtbl;
};
extern const GUID IID_INoMarshal;
typedef struct INoMarshalVtbl {
HRESULT ( *QueryInterface)(
INoMarshal *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
INoMarshal *This);
ULONG ( *Release)(
INoMarshal *This);
} INoMarshalVtbl;
struct INoMarshal {
INoMarshalVtbl* lpVtbl;
};
extern const GUID IID_IAgileObject;
typedef struct IAgileObjectVtbl {
HRESULT ( *QueryInterface)(
IAgileObject *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAgileObject *This);
ULONG ( *Release)(
IAgileObject *This);
} IAgileObjectVtbl;
struct IAgileObject {
IAgileObjectVtbl* lpVtbl;
};
extern const GUID IID_IAgileReference;
typedef struct IAgileReferenceVtbl {
HRESULT ( *QueryInterface)(
IAgileReference *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAgileReference *This);
ULONG ( *Release)(
IAgileReference *This);
HRESULT ( *Resolve)(
IAgileReference *This,
const IID *const riid,
void **ppv);
} IAgileReferenceVtbl;
struct IAgileReference {
IAgileReferenceVtbl* lpVtbl;
};
typedef IMarshal2 *LPMARSHAL2;
extern const GUID IID_IMarshal2;
typedef struct IMarshal2Vtbl {
HRESULT ( *QueryInterface)(
IMarshal2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMarshal2 *This);
ULONG ( *Release)(
IMarshal2 *This);
HRESULT ( *GetUnmarshalClass)(
IMarshal2 *This,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags,
CLSID *pCid);
HRESULT ( *GetMarshalSizeMax)(
IMarshal2 *This,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags,
DWORD *pSize);
HRESULT ( *MarshalInterface)(
IMarshal2 *This,
IStream *pStm,
const IID *const riid,
void *pv,
DWORD dwDestContext,
void *pvDestContext,
DWORD mshlflags);
HRESULT ( *UnmarshalInterface)(
IMarshal2 *This,
IStream *pStm,
const IID *const riid,
void **ppv);
HRESULT ( *ReleaseMarshalData)(
IMarshal2 *This,
IStream *pStm);
HRESULT ( *DisconnectObject)(
IMarshal2 *This,
DWORD dwReserved);
} IMarshal2Vtbl;
struct IMarshal2 {
IMarshal2Vtbl* lpVtbl;
};
typedef IMalloc *LPMALLOC;
extern const GUID IID_IMalloc;
typedef struct IMallocVtbl {
HRESULT ( *QueryInterface)(
IMalloc *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMalloc *This);
ULONG ( *Release)(
IMalloc *This);
void * ( *Alloc)(
IMalloc *This,
SIZE_T cb);
void * ( *Realloc)(
IMalloc *This,
void *pv,
SIZE_T cb);
void ( *Free)(
IMalloc *This,
void *pv);
SIZE_T ( *GetSize)(
IMalloc *This,
void *pv);
int ( *DidAlloc)(
IMalloc *This,
void *pv);
void ( *HeapMinimize)(
IMalloc *This);
} IMallocVtbl;
struct IMalloc {
IMallocVtbl* lpVtbl;
};
typedef IStdMarshalInfo *LPSTDMARSHALINFO;
extern const GUID IID_IStdMarshalInfo;
typedef struct IStdMarshalInfoVtbl {
HRESULT ( *QueryInterface)(
IStdMarshalInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IStdMarshalInfo *This);
ULONG ( *Release)(
IStdMarshalInfo *This);
HRESULT ( *GetClassForHandler)(
IStdMarshalInfo *This,
DWORD dwDestContext,
void *pvDestContext,
CLSID *pClsid);
} IStdMarshalInfoVtbl;
struct IStdMarshalInfo {
IStdMarshalInfoVtbl* lpVtbl;
};
typedef IExternalConnection *LPEXTERNALCONNECTION;
typedef enum tagEXTCONN {
EXTCONN_STRONG = 0x1,
EXTCONN_WEAK = 0x2,
EXTCONN_CALLABLE = 0x4
} EXTCONN;
extern const GUID IID_IExternalConnection;
typedef struct IExternalConnectionVtbl {
HRESULT ( *QueryInterface)(
IExternalConnection *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IExternalConnection *This);
ULONG ( *Release)(
IExternalConnection *This);
DWORD ( *AddConnection)(
IExternalConnection *This,
DWORD extconn,
DWORD reserved);
DWORD ( *ReleaseConnection)(
IExternalConnection *This,
DWORD extconn,
DWORD reserved,
WINBOOL fLastReleaseCloses);
} IExternalConnectionVtbl;
struct IExternalConnection {
IExternalConnectionVtbl* lpVtbl;
};
typedef IMultiQI *LPMULTIQI;
typedef struct tagMULTI_QI {
const IID *pIID;
IUnknown *pItf;
HRESULT hr;
} MULTI_QI;
extern const GUID IID_IMultiQI;
typedef struct IMultiQIVtbl {
HRESULT ( *QueryInterface)(
IMultiQI *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMultiQI *This);
ULONG ( *Release)(
IMultiQI *This);
HRESULT ( *QueryMultipleInterfaces)(
IMultiQI *This,
ULONG cMQIs,
MULTI_QI *pMQIs);
} IMultiQIVtbl;
struct IMultiQI {
IMultiQIVtbl* lpVtbl;
};
extern const GUID IID_AsyncIMultiQI;
typedef struct AsyncIMultiQIVtbl {
HRESULT ( *QueryInterface)(
AsyncIMultiQI *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
AsyncIMultiQI *This);
ULONG ( *Release)(
AsyncIMultiQI *This);
HRESULT ( *Begin_QueryMultipleInterfaces)(
AsyncIMultiQI *This,
ULONG cMQIs,
MULTI_QI *pMQIs);
HRESULT ( *Finish_QueryMultipleInterfaces)(
AsyncIMultiQI *This,
MULTI_QI *pMQIs);
} AsyncIMultiQIVtbl;
struct AsyncIMultiQI {
AsyncIMultiQIVtbl* lpVtbl;
};
extern const GUID IID_IInternalUnknown;
typedef struct IInternalUnknownVtbl {
HRESULT ( *QueryInterface)(
IInternalUnknown *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternalUnknown *This);
ULONG ( *Release)(
IInternalUnknown *This);
HRESULT ( *QueryInternalInterface)(
IInternalUnknown *This,
const IID *const riid,
void **ppv);
} IInternalUnknownVtbl;
struct IInternalUnknown {
IInternalUnknownVtbl* lpVtbl;
};
typedef IEnumUnknown *LPENUMUNKNOWN;
extern const GUID IID_IEnumUnknown;
typedef struct IEnumUnknownVtbl {
HRESULT ( *QueryInterface)(
IEnumUnknown *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumUnknown *This);
ULONG ( *Release)(
IEnumUnknown *This);
HRESULT ( *Next)(
IEnumUnknown *This,
ULONG celt,
IUnknown **rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumUnknown *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumUnknown *This);
HRESULT ( *Clone)(
IEnumUnknown *This,
IEnumUnknown **ppenum);
} IEnumUnknownVtbl;
struct IEnumUnknown {
IEnumUnknownVtbl* lpVtbl;
};
HRESULT IEnumUnknown_RemoteNext_Proxy(
IEnumUnknown* This,
ULONG celt,
IUnknown **rgelt,
ULONG *pceltFetched);
void IEnumUnknown_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumUnknown_Next_Proxy(
IEnumUnknown* This,
ULONG celt,
IUnknown **rgelt,
ULONG *pceltFetched);
HRESULT IEnumUnknown_Next_Stub(
IEnumUnknown* This,
ULONG celt,
IUnknown **rgelt,
ULONG *pceltFetched);
typedef IEnumString *LPENUMSTRING;
extern const GUID IID_IEnumString;
typedef struct IEnumStringVtbl {
HRESULT ( *QueryInterface)(
IEnumString *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumString *This);
ULONG ( *Release)(
IEnumString *This);
HRESULT ( *Next)(
IEnumString *This,
ULONG celt,
LPOLESTR *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumString *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumString *This);
HRESULT ( *Clone)(
IEnumString *This,
IEnumString **ppenum);
} IEnumStringVtbl;
struct IEnumString {
IEnumStringVtbl* lpVtbl;
};
HRESULT IEnumString_RemoteNext_Proxy(
IEnumString* This,
ULONG celt,
LPOLESTR *rgelt,
ULONG *pceltFetched);
void IEnumString_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumString_Next_Proxy(
IEnumString* This,
ULONG celt,
LPOLESTR *rgelt,
ULONG *pceltFetched);
HRESULT IEnumString_Next_Stub(
IEnumString* This,
ULONG celt,
LPOLESTR *rgelt,
ULONG *pceltFetched);
extern const GUID IID_ISequentialStream;
typedef struct ISequentialStreamVtbl {
HRESULT ( *QueryInterface)(
ISequentialStream *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISequentialStream *This);
ULONG ( *Release)(
ISequentialStream *This);
HRESULT ( *Read)(
ISequentialStream *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ( *Write)(
ISequentialStream *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
} ISequentialStreamVtbl;
struct ISequentialStream {
ISequentialStreamVtbl* lpVtbl;
};
HRESULT ISequentialStream_RemoteRead_Proxy(
ISequentialStream* This,
byte *pv,
ULONG cb,
ULONG *pcbRead);
void ISequentialStream_RemoteRead_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISequentialStream_RemoteWrite_Proxy(
ISequentialStream* This,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
void ISequentialStream_RemoteWrite_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISequentialStream_Read_Proxy(
ISequentialStream* This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ISequentialStream_Read_Stub(
ISequentialStream* This,
byte *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ISequentialStream_Write_Proxy(
ISequentialStream* This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ISequentialStream_Write_Stub(
ISequentialStream* This,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
typedef IStream *LPSTREAM;
typedef struct tagSTATSTG {
LPOLESTR pwcsName;
DWORD type;
ULARGE_INTEGER cbSize;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD grfMode;
DWORD grfLocksSupported;
CLSID clsid;
DWORD grfStateBits;
DWORD reserved;
} STATSTG;
typedef enum tagSTGTY {
STGTY_STORAGE = 1,
STGTY_STREAM = 2,
STGTY_LOCKBYTES = 3,
STGTY_PROPERTY = 4
} STGTY;
typedef enum tagSTREAM_SEEK {
STREAM_SEEK_SET = 0,
STREAM_SEEK_CUR = 1,
STREAM_SEEK_END = 2
} STREAM_SEEK;
typedef enum tagLOCKTYPE {
LOCK_WRITE = 1,
LOCK_EXCLUSIVE = 2,
LOCK_ONLYONCE = 4
} LOCKTYPE;
extern const GUID IID_IStream;
typedef struct IStreamVtbl {
HRESULT ( *QueryInterface)(
IStream *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IStream *This);
ULONG ( *Release)(
IStream *This);
HRESULT ( *Read)(
IStream *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ( *Write)(
IStream *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ( *Seek)(
IStream *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT ( *SetSize)(
IStream *This,
ULARGE_INTEGER libNewSize);
HRESULT ( *CopyTo)(
IStream *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT ( *Commit)(
IStream *This,
DWORD grfCommitFlags);
HRESULT ( *Revert)(
IStream *This);
HRESULT ( *LockRegion)(
IStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *UnlockRegion)(
IStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *Stat)(
IStream *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT ( *Clone)(
IStream *This,
IStream **ppstm);
} IStreamVtbl;
struct IStream {
IStreamVtbl* lpVtbl;
};
HRESULT IStream_RemoteSeek_Proxy(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
void IStream_RemoteSeek_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStream_RemoteCopyTo_Proxy(
IStream* This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
void IStream_RemoteCopyTo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStream_Seek_Proxy(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT IStream_Seek_Stub(
IStream* This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT IStream_CopyTo_Proxy(
IStream* This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT IStream_CopyTo_Stub(
IStream* This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
typedef ULONG RPCOLEDATAREP;
typedef struct tagRPCOLEMESSAGE {
void *reserved1;
RPCOLEDATAREP dataRepresentation;
void *Buffer;
ULONG cbBuffer;
ULONG iMethod;
void * reserved2[5];
ULONG rpcFlags;
} RPCOLEMESSAGE;
typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
extern const GUID IID_IRpcChannelBuffer;
typedef struct IRpcChannelBufferVtbl {
HRESULT ( *QueryInterface)(
IRpcChannelBuffer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcChannelBuffer *This);
ULONG ( *Release)(
IRpcChannelBuffer *This);
HRESULT ( *GetBuffer)(
IRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage,
const IID *const riid);
HRESULT ( *SendReceive)(
IRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage,
ULONG *pStatus);
HRESULT ( *FreeBuffer)(
IRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage);
HRESULT ( *GetDestCtx)(
IRpcChannelBuffer *This,
DWORD *pdwDestContext,
void **ppvDestContext);
HRESULT ( *IsConnected)(
IRpcChannelBuffer *This);
} IRpcChannelBufferVtbl;
struct IRpcChannelBuffer {
IRpcChannelBufferVtbl* lpVtbl;
};
extern const GUID IID_IRpcChannelBuffer2;
typedef struct IRpcChannelBuffer2Vtbl {
HRESULT ( *QueryInterface)(
IRpcChannelBuffer2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcChannelBuffer2 *This);
ULONG ( *Release)(
IRpcChannelBuffer2 *This);
HRESULT ( *GetBuffer)(
IRpcChannelBuffer2 *This,
RPCOLEMESSAGE *pMessage,
const IID *const riid);
HRESULT ( *SendReceive)(
IRpcChannelBuffer2 *This,
RPCOLEMESSAGE *pMessage,
ULONG *pStatus);
HRESULT ( *FreeBuffer)(
IRpcChannelBuffer2 *This,
RPCOLEMESSAGE *pMessage);
HRESULT ( *GetDestCtx)(
IRpcChannelBuffer2 *This,
DWORD *pdwDestContext,
void **ppvDestContext);
HRESULT ( *IsConnected)(
IRpcChannelBuffer2 *This);
HRESULT ( *GetProtocolVersion)(
IRpcChannelBuffer2 *This,
DWORD *pdwVersion);
} IRpcChannelBuffer2Vtbl;
struct IRpcChannelBuffer2 {
IRpcChannelBuffer2Vtbl* lpVtbl;
};
extern const GUID IID_IAsyncRpcChannelBuffer;
typedef struct IAsyncRpcChannelBufferVtbl {
HRESULT ( *QueryInterface)(
IAsyncRpcChannelBuffer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAsyncRpcChannelBuffer *This);
ULONG ( *Release)(
IAsyncRpcChannelBuffer *This);
HRESULT ( *GetBuffer)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage,
const IID *const riid);
HRESULT ( *SendReceive)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage,
ULONG *pStatus);
HRESULT ( *FreeBuffer)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMessage);
HRESULT ( *GetDestCtx)(
IAsyncRpcChannelBuffer *This,
DWORD *pdwDestContext,
void **ppvDestContext);
HRESULT ( *IsConnected)(
IAsyncRpcChannelBuffer *This);
HRESULT ( *GetProtocolVersion)(
IAsyncRpcChannelBuffer *This,
DWORD *pdwVersion);
HRESULT ( *Send)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMsg,
ISynchronize *pSync,
ULONG *pulStatus);
HRESULT ( *Receive)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMsg,
ULONG *pulStatus);
HRESULT ( *GetDestCtxEx)(
IAsyncRpcChannelBuffer *This,
RPCOLEMESSAGE *pMsg,
DWORD *pdwDestContext,
void **ppvDestContext);
} IAsyncRpcChannelBufferVtbl;
struct IAsyncRpcChannelBuffer {
IAsyncRpcChannelBufferVtbl* lpVtbl;
};
extern const GUID IID_IRpcChannelBuffer3;
typedef struct IRpcChannelBuffer3Vtbl {
HRESULT ( *QueryInterface)(
IRpcChannelBuffer3 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcChannelBuffer3 *This);
ULONG ( *Release)(
IRpcChannelBuffer3 *This);
HRESULT ( *GetBuffer)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMessage,
const IID *const riid);
HRESULT ( *SendReceive)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMessage,
ULONG *pStatus);
HRESULT ( *FreeBuffer)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMessage);
HRESULT ( *GetDestCtx)(
IRpcChannelBuffer3 *This,
DWORD *pdwDestContext,
void **ppvDestContext);
HRESULT ( *IsConnected)(
IRpcChannelBuffer3 *This);
HRESULT ( *GetProtocolVersion)(
IRpcChannelBuffer3 *This,
DWORD *pdwVersion);
HRESULT ( *Send)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
ULONG *pulStatus);
HRESULT ( *Receive)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
ULONG ulSize,
ULONG *pulStatus);
HRESULT ( *Cancel)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg);
HRESULT ( *GetCallContext)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
const IID *const riid,
void **pInterface);
HRESULT ( *GetDestCtxEx)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
DWORD *pdwDestContext,
void **ppvDestContext);
HRESULT ( *GetState)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
DWORD *pState);
HRESULT ( *RegisterAsync)(
IRpcChannelBuffer3 *This,
RPCOLEMESSAGE *pMsg,
IAsyncManager *pAsyncMgr);
} IRpcChannelBuffer3Vtbl;
struct IRpcChannelBuffer3 {
IRpcChannelBuffer3Vtbl* lpVtbl;
};
extern const GUID IID_IRpcSyntaxNegotiate;
typedef struct IRpcSyntaxNegotiateVtbl {
HRESULT ( *QueryInterface)(
IRpcSyntaxNegotiate *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcSyntaxNegotiate *This);
ULONG ( *Release)(
IRpcSyntaxNegotiate *This);
HRESULT ( *NegotiateSyntax)(
IRpcSyntaxNegotiate *This,
RPCOLEMESSAGE *pMsg);
} IRpcSyntaxNegotiateVtbl;
struct IRpcSyntaxNegotiate {
IRpcSyntaxNegotiateVtbl* lpVtbl;
};
extern const GUID IID_IRpcProxyBuffer;
typedef struct IRpcProxyBufferVtbl {
HRESULT ( *QueryInterface)(
IRpcProxyBuffer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcProxyBuffer *This);
ULONG ( *Release)(
IRpcProxyBuffer *This);
HRESULT ( *Connect)(
IRpcProxyBuffer *This,
IRpcChannelBuffer *pRpcChannelBuffer);
void ( *Disconnect)(
IRpcProxyBuffer *This);
} IRpcProxyBufferVtbl;
struct IRpcProxyBuffer {
IRpcProxyBufferVtbl* lpVtbl;
};
extern const GUID IID_IRpcStubBuffer;
typedef struct IRpcStubBufferVtbl {
HRESULT ( *QueryInterface)(
IRpcStubBuffer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcStubBuffer *This);
ULONG ( *Release)(
IRpcStubBuffer *This);
HRESULT ( *Connect)(
IRpcStubBuffer *This,
IUnknown *pUnkServer);
void ( *Disconnect)(
IRpcStubBuffer *This);
HRESULT ( *Invoke)(
IRpcStubBuffer *This,
RPCOLEMESSAGE *_prpcmsg,
IRpcChannelBuffer *_pRpcChannelBuffer);
IRpcStubBuffer * ( *IsIIDSupported)(
IRpcStubBuffer *This,
const IID *const riid);
ULONG ( *CountRefs)(
IRpcStubBuffer *This);
HRESULT ( *DebugServerQueryInterface)(
IRpcStubBuffer *This,
void **ppv);
void ( *DebugServerRelease)(
IRpcStubBuffer *This,
void *pv);
} IRpcStubBufferVtbl;
struct IRpcStubBuffer {
IRpcStubBufferVtbl* lpVtbl;
};
extern const GUID IID_IPSFactoryBuffer;
typedef struct IPSFactoryBufferVtbl {
HRESULT ( *QueryInterface)(
IPSFactoryBuffer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPSFactoryBuffer *This);
ULONG ( *Release)(
IPSFactoryBuffer *This);
HRESULT ( *CreateProxy)(
IPSFactoryBuffer *This,
IUnknown *pUnkOuter,
const IID *const riid,
IRpcProxyBuffer **ppProxy,
void **ppv);
HRESULT ( *CreateStub)(
IPSFactoryBuffer *This,
const IID *const riid,
IUnknown *pUnkServer,
IRpcStubBuffer **ppStub);
} IPSFactoryBufferVtbl;
struct IPSFactoryBuffer {
IPSFactoryBufferVtbl* lpVtbl;
};
typedef struct SChannelHookCallInfo {
IID iid;
DWORD cbSize;
GUID uCausality;
DWORD dwServerPid;
DWORD iMethod;
void *pObject;
} SChannelHookCallInfo;
extern const GUID IID_IChannelHook;
typedef struct IChannelHookVtbl {
HRESULT ( *QueryInterface)(
IChannelHook *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IChannelHook *This);
ULONG ( *Release)(
IChannelHook *This);
void ( *ClientGetSize)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
ULONG *pDataSize);
void ( *ClientFillBuffer)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
ULONG *pDataSize,
void *pDataBuffer);
void ( *ClientNotify)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
ULONG cbDataSize,
void *pDataBuffer,
DWORD lDataRep,
HRESULT hrFault);
void ( *ServerNotify)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
ULONG cbDataSize,
void *pDataBuffer,
DWORD lDataRep);
void ( *ServerGetSize)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
HRESULT hrFault,
ULONG *pDataSize);
void ( *ServerFillBuffer)(
IChannelHook *This,
const GUID *const uExtent,
const IID *const riid,
ULONG *pDataSize,
void *pDataBuffer,
HRESULT hrFault);
} IChannelHookVtbl;
struct IChannelHook {
IChannelHookVtbl* lpVtbl;
};
typedef struct tagSOLE_AUTHENTICATION_SERVICE {
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
OLECHAR *pPrincipalName;
HRESULT hr;
} SOLE_AUTHENTICATION_SERVICE;
typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
EOAC_NONE = 0x0,
EOAC_MUTUAL_AUTH = 0x1,
EOAC_STATIC_CLOAKING = 0x20,
EOAC_DYNAMIC_CLOAKING = 0x40,
EOAC_ANY_AUTHORITY = 0x80,
EOAC_MAKE_FULLSIC = 0x100,
EOAC_DEFAULT = 0x800,
EOAC_SECURE_REFS = 0x2,
EOAC_ACCESS_CONTROL = 0x4,
EOAC_APPID = 0x8,
EOAC_DYNAMIC = 0x10,
EOAC_REQUIRE_FULLSIC = 0x200,
EOAC_AUTO_IMPERSONATE = 0x400,
EOAC_NO_CUSTOM_MARSHAL = 0x2000,
EOAC_DISABLE_AAA = 0x1000
} EOLE_AUTHENTICATION_CAPABILITIES;
typedef struct tagSOLE_AUTHENTICATION_INFO {
DWORD dwAuthnSvc;
DWORD dwAuthzSvc;
void *pAuthInfo;
} SOLE_AUTHENTICATION_INFO;
typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
typedef struct tagSOLE_AUTHENTICATION_LIST {
DWORD cAuthInfo;
SOLE_AUTHENTICATION_INFO *aAuthInfo;
} SOLE_AUTHENTICATION_LIST;
typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
extern const GUID IID_IClientSecurity;
typedef struct IClientSecurityVtbl {
HRESULT ( *QueryInterface)(
IClientSecurity *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IClientSecurity *This);
ULONG ( *Release)(
IClientSecurity *This);
HRESULT ( *QueryBlanket)(
IClientSecurity *This,
IUnknown *pProxy,
DWORD *pAuthnSvc,
DWORD *pAuthzSvc,
OLECHAR **pServerPrincName,
DWORD *pAuthnLevel,
DWORD *pImpLevel,
void **pAuthInfo,
DWORD *pCapabilites);
HRESULT ( *SetBlanket)(
IClientSecurity *This,
IUnknown *pProxy,
DWORD dwAuthnSvc,
DWORD dwAuthzSvc,
OLECHAR *pServerPrincName,
DWORD dwAuthnLevel,
DWORD dwImpLevel,
void *pAuthInfo,
DWORD dwCapabilities);
HRESULT ( *CopyProxy)(
IClientSecurity *This,
IUnknown *pProxy,
IUnknown **ppCopy);
} IClientSecurityVtbl;
struct IClientSecurity {
IClientSecurityVtbl* lpVtbl;
};
extern const GUID IID_IServerSecurity;
typedef struct IServerSecurityVtbl {
HRESULT ( *QueryInterface)(
IServerSecurity *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IServerSecurity *This);
ULONG ( *Release)(
IServerSecurity *This);
HRESULT ( *QueryBlanket)(
IServerSecurity *This,
DWORD *pAuthnSvc,
DWORD *pAuthzSvc,
OLECHAR **pServerPrincName,
DWORD *pAuthnLevel,
DWORD *pImpLevel,
void **pPrivs,
DWORD *pCapabilities);
HRESULT ( *ImpersonateClient)(
IServerSecurity *This);
HRESULT ( *RevertToSelf)(
IServerSecurity *This);
WINBOOL ( *IsImpersonating)(
IServerSecurity *This);
} IServerSecurityVtbl;
struct IServerSecurity {
IServerSecurityVtbl* lpVtbl;
};
typedef enum tagRPCOPT_PROPERTIES {
COMBND_RPCTIMEOUT = 0x1,
COMBND_SERVER_LOCALITY = 0x2,
COMBND_RESERVED1 = 0x4
} RPCOPT_PROPERTIES;
typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES {
SERVER_LOCALITY_PROCESS_LOCAL = 0,
SERVER_LOCALITY_MACHINE_LOCAL = 1,
SERVER_LOCALITY_REMOTE = 2
} RPCOPT_SERVER_LOCALITY_VALUES;
extern const GUID IID_IRpcOptions;
typedef struct IRpcOptionsVtbl {
HRESULT ( *QueryInterface)(
IRpcOptions *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcOptions *This);
ULONG ( *Release)(
IRpcOptions *This);
HRESULT ( *Set)(
IRpcOptions *This,
IUnknown *pPrx,
RPCOPT_PROPERTIES dwProperty,
ULONG_PTR dwValue);
HRESULT ( *Query)(
IRpcOptions *This,
IUnknown *pPrx,
RPCOPT_PROPERTIES dwProperty,
ULONG_PTR *pdwValue);
} IRpcOptionsVtbl;
struct IRpcOptions {
IRpcOptionsVtbl* lpVtbl;
};
typedef enum tagGLOBALOPT_PROPERTIES {
COMGLB_EXCEPTION_HANDLING = 1,
COMGLB_APPID = 2,
COMGLB_RPC_THREADPOOL_SETTING = 3,
COMGLB_RO_SETTINGS = 4,
COMGLB_UNMARSHALING_POLICY = 5
} GLOBALOPT_PROPERTIES;
typedef enum tagGLOBALOPT_EH_VALUES {
COMGLB_EXCEPTION_HANDLE = 0,
COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1,
COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2
} GLOBALOPT_EH_VALUES;
typedef enum tagGLOBALOPT_RPCTP_VALUES {
COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
} GLOBALOPT_RPCTP_VALUES;
typedef enum tagGLOBALOPT_RO_FLAGS {
COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1,
COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2,
COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4,
COMGLB_FAST_RUNDOWN = 0x8,
COMGLB_RESERVED1 = 0x10,
COMGLB_RESERVED2 = 0x20,
COMGLB_RESERVED3 = 0x40,
COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80
} GLOBALOPT_RO_FLAGS;
typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES {
COMGLB_UNMARSHALING_POLICY_NORMAL = 0,
COMGLB_UNMARSHALING_POLICY_STRONG = 1,
COMGLB_UNMARSHALING_POLICY_HYBRID = 2
} GLOBALOPT_UNMARSHALING_POLICY_VALUES;
extern const GUID IID_IGlobalOptions;
typedef struct IGlobalOptionsVtbl {
HRESULT ( *QueryInterface)(
IGlobalOptions *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IGlobalOptions *This);
ULONG ( *Release)(
IGlobalOptions *This);
HRESULT ( *Set)(
IGlobalOptions *This,
GLOBALOPT_PROPERTIES dwProperty,
ULONG_PTR dwValue);
HRESULT ( *Query)(
IGlobalOptions *This,
GLOBALOPT_PROPERTIES dwProperty,
ULONG_PTR *pdwValue);
} IGlobalOptionsVtbl;
struct IGlobalOptions {
IGlobalOptionsVtbl* lpVtbl;
};
typedef ISurrogate *LPSURROGATE;
extern const GUID IID_ISurrogate;
typedef struct ISurrogateVtbl {
HRESULT ( *QueryInterface)(
ISurrogate *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISurrogate *This);
ULONG ( *Release)(
ISurrogate *This);
HRESULT ( *LoadDllServer)(
ISurrogate *This,
const IID *const Clsid);
HRESULT ( *FreeSurrogate)(
ISurrogate *This);
} ISurrogateVtbl;
struct ISurrogate {
ISurrogateVtbl* lpVtbl;
};
typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
extern const GUID IID_IGlobalInterfaceTable;
typedef struct IGlobalInterfaceTableVtbl {
HRESULT ( *QueryInterface)(
IGlobalInterfaceTable *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IGlobalInterfaceTable *This);
ULONG ( *Release)(
IGlobalInterfaceTable *This);
HRESULT ( *RegisterInterfaceInGlobal)(
IGlobalInterfaceTable *This,
IUnknown *pUnk,
const IID *const riid,
DWORD *pdwCookie);
HRESULT ( *RevokeInterfaceFromGlobal)(
IGlobalInterfaceTable *This,
DWORD dwCookie);
HRESULT ( *GetInterfaceFromGlobal)(
IGlobalInterfaceTable *This,
DWORD dwCookie,
const IID *const riid,
void **ppv);
} IGlobalInterfaceTableVtbl;
struct IGlobalInterfaceTable {
IGlobalInterfaceTableVtbl* lpVtbl;
};
extern const GUID IID_ISynchronize;
typedef struct ISynchronizeVtbl {
HRESULT ( *QueryInterface)(
ISynchronize *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISynchronize *This);
ULONG ( *Release)(
ISynchronize *This);
HRESULT ( *Wait)(
ISynchronize *This,
DWORD dwFlags,
DWORD dwMilliseconds);
HRESULT ( *Signal)(
ISynchronize *This);
HRESULT ( *Reset)(
ISynchronize *This);
} ISynchronizeVtbl;
struct ISynchronize {
ISynchronizeVtbl* lpVtbl;
};
extern const GUID IID_ISynchronizeHandle;
typedef struct ISynchronizeHandleVtbl {
HRESULT ( *QueryInterface)(
ISynchronizeHandle *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISynchronizeHandle *This);
ULONG ( *Release)(
ISynchronizeHandle *This);
HRESULT ( *GetHandle)(
ISynchronizeHandle *This,
HANDLE *ph);
} ISynchronizeHandleVtbl;
struct ISynchronizeHandle {
ISynchronizeHandleVtbl* lpVtbl;
};
extern const GUID IID_ISynchronizeEvent;
typedef struct ISynchronizeEventVtbl {
HRESULT ( *QueryInterface)(
ISynchronizeEvent *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISynchronizeEvent *This);
ULONG ( *Release)(
ISynchronizeEvent *This);
HRESULT ( *GetHandle)(
ISynchronizeEvent *This,
HANDLE *ph);
HRESULT ( *SetEventHandle)(
ISynchronizeEvent *This,
HANDLE *ph);
} ISynchronizeEventVtbl;
struct ISynchronizeEvent {
ISynchronizeEventVtbl* lpVtbl;
};
extern const GUID IID_ISynchronizeContainer;
typedef struct ISynchronizeContainerVtbl {
HRESULT ( *QueryInterface)(
ISynchronizeContainer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISynchronizeContainer *This);
ULONG ( *Release)(
ISynchronizeContainer *This);
HRESULT ( *AddSynchronize)(
ISynchronizeContainer *This,
ISynchronize *pSync);
HRESULT ( *WaitMultiple)(
ISynchronizeContainer *This,
DWORD dwFlags,
DWORD dwTimeOut,
ISynchronize **ppSync);
} ISynchronizeContainerVtbl;
struct ISynchronizeContainer {
ISynchronizeContainerVtbl* lpVtbl;
};
extern const GUID IID_ISynchronizeMutex;
typedef struct ISynchronizeMutexVtbl {
HRESULT ( *QueryInterface)(
ISynchronizeMutex *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISynchronizeMutex *This);
ULONG ( *Release)(
ISynchronizeMutex *This);
HRESULT ( *Wait)(
ISynchronizeMutex *This,
DWORD dwFlags,
DWORD dwMilliseconds);
HRESULT ( *Signal)(
ISynchronizeMutex *This);
HRESULT ( *Reset)(
ISynchronizeMutex *This);
HRESULT ( *ReleaseMutex)(
ISynchronizeMutex *This);
} ISynchronizeMutexVtbl;
struct ISynchronizeMutex {
ISynchronizeMutexVtbl* lpVtbl;
};
typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
extern const GUID IID_ICancelMethodCalls;
typedef struct ICancelMethodCallsVtbl {
HRESULT ( *QueryInterface)(
ICancelMethodCalls *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICancelMethodCalls *This);
ULONG ( *Release)(
ICancelMethodCalls *This);
HRESULT ( *Cancel)(
ICancelMethodCalls *This,
ULONG ulSeconds);
HRESULT ( *TestCancel)(
ICancelMethodCalls *This);
} ICancelMethodCallsVtbl;
struct ICancelMethodCalls {
ICancelMethodCallsVtbl* lpVtbl;
};
typedef enum tagDCOM_CALL_STATE {
DCOM_NONE = 0x0,
DCOM_CALL_COMPLETE = 0x1,
DCOM_CALL_CANCELED = 0x2
} DCOM_CALL_STATE;
extern const GUID IID_IAsyncManager;
typedef struct IAsyncManagerVtbl {
HRESULT ( *QueryInterface)(
IAsyncManager *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAsyncManager *This);
ULONG ( *Release)(
IAsyncManager *This);
HRESULT ( *CompleteCall)(
IAsyncManager *This,
HRESULT Result);
HRESULT ( *GetCallContext)(
IAsyncManager *This,
const IID *const riid,
void **pInterface);
HRESULT ( *GetState)(
IAsyncManager *This,
ULONG *pulStateFlags);
} IAsyncManagerVtbl;
struct IAsyncManager {
IAsyncManagerVtbl* lpVtbl;
};
extern const GUID IID_ICallFactory;
typedef struct ICallFactoryVtbl {
HRESULT ( *QueryInterface)(
ICallFactory *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICallFactory *This);
ULONG ( *Release)(
ICallFactory *This);
HRESULT ( *CreateCall)(
ICallFactory *This,
const IID *const riid,
IUnknown *pCtrlUnk,
const IID *const riid2,
IUnknown **ppv);
} ICallFactoryVtbl;
struct ICallFactory {
ICallFactoryVtbl* lpVtbl;
};
extern const GUID IID_IRpcHelper;
typedef struct IRpcHelperVtbl {
HRESULT ( *QueryInterface)(
IRpcHelper *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRpcHelper *This);
ULONG ( *Release)(
IRpcHelper *This);
HRESULT ( *GetDCOMProtocolVersion)(
IRpcHelper *This,
DWORD *pComVersion);
HRESULT ( *GetIIDFromOBJREF)(
IRpcHelper *This,
void *pObjRef,
IID **piid);
} IRpcHelperVtbl;
struct IRpcHelper {
IRpcHelperVtbl* lpVtbl;
};
extern const GUID IID_IReleaseMarshalBuffers;
typedef struct IReleaseMarshalBuffersVtbl {
HRESULT ( *QueryInterface)(
IReleaseMarshalBuffers *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IReleaseMarshalBuffers *This);
ULONG ( *Release)(
IReleaseMarshalBuffers *This);
HRESULT ( *ReleaseMarshalBuffer)(
IReleaseMarshalBuffers *This,
RPCOLEMESSAGE *pMsg,
DWORD dwFlags,
IUnknown *pChnl);
} IReleaseMarshalBuffersVtbl;
struct IReleaseMarshalBuffers {
IReleaseMarshalBuffersVtbl* lpVtbl;
};
extern const GUID IID_IWaitMultiple;
typedef struct IWaitMultipleVtbl {
HRESULT ( *QueryInterface)(
IWaitMultiple *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWaitMultiple *This);
ULONG ( *Release)(
IWaitMultiple *This);
HRESULT ( *WaitMultiple)(
IWaitMultiple *This,
DWORD timeout,
ISynchronize **pSync);
HRESULT ( *AddSynchronize)(
IWaitMultiple *This,
ISynchronize *pSync);
} IWaitMultipleVtbl;
struct IWaitMultiple {
IWaitMultipleVtbl* lpVtbl;
};
typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
extern const GUID IID_IAddrTrackingControl;
typedef struct IAddrTrackingControlVtbl {
HRESULT ( *QueryInterface)(
IAddrTrackingControl *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAddrTrackingControl *This);
ULONG ( *Release)(
IAddrTrackingControl *This);
HRESULT ( *EnableCOMDynamicAddrTracking)(
IAddrTrackingControl *This);
HRESULT ( *DisableCOMDynamicAddrTracking)(
IAddrTrackingControl *This);
} IAddrTrackingControlVtbl;
struct IAddrTrackingControl {
IAddrTrackingControlVtbl* lpVtbl;
};
typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
extern const GUID IID_IAddrExclusionControl;
typedef struct IAddrExclusionControlVtbl {
HRESULT ( *QueryInterface)(
IAddrExclusionControl *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAddrExclusionControl *This);
ULONG ( *Release)(
IAddrExclusionControl *This);
HRESULT ( *GetCurrentAddrExclusionList)(
IAddrExclusionControl *This,
const IID *const riid,
void **ppEnumerator);
HRESULT ( *UpdateAddrExclusionList)(
IAddrExclusionControl *This,
IUnknown *pEnumerator);
} IAddrExclusionControlVtbl;
struct IAddrExclusionControl {
IAddrExclusionControlVtbl* lpVtbl;
};
extern const GUID IID_IPipeByte;
typedef struct IPipeByteVtbl {
HRESULT ( *QueryInterface)(
IPipeByte *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPipeByte *This);
ULONG ( *Release)(
IPipeByte *This);
HRESULT ( *Pull)(
IPipeByte *This,
BYTE *buf,
ULONG cRequest,
ULONG *pcReturned);
HRESULT ( *Push)(
IPipeByte *This,
BYTE *buf,
ULONG cSent);
} IPipeByteVtbl;
struct IPipeByte {
IPipeByteVtbl* lpVtbl;
};
extern const GUID IID_IPipeLong;
typedef struct IPipeLongVtbl {
HRESULT ( *QueryInterface)(
IPipeLong *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPipeLong *This);
ULONG ( *Release)(
IPipeLong *This);
HRESULT ( *Pull)(
IPipeLong *This,
LONG *buf,
ULONG cRequest,
ULONG *pcReturned);
HRESULT ( *Push)(
IPipeLong *This,
LONG *buf,
ULONG cSent);
} IPipeLongVtbl;
struct IPipeLong {
IPipeLongVtbl* lpVtbl;
};
extern const GUID IID_IPipeDouble;
typedef struct IPipeDoubleVtbl {
HRESULT ( *QueryInterface)(
IPipeDouble *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPipeDouble *This);
ULONG ( *Release)(
IPipeDouble *This);
HRESULT ( *Pull)(
IPipeDouble *This,
DOUBLE *buf,
ULONG cRequest,
ULONG *pcReturned);
HRESULT ( *Push)(
IPipeDouble *This,
DOUBLE *buf,
ULONG cSent);
} IPipeDoubleVtbl;
struct IPipeDouble {
IPipeDoubleVtbl* lpVtbl;
};
typedef enum _APTTYPEQUALIFIER {
APTTYPEQUALIFIER_NONE = 0,
APTTYPEQUALIFIER_IMPLICIT_MTA = 1,
APTTYPEQUALIFIER_NA_ON_MTA = 2,
APTTYPEQUALIFIER_NA_ON_STA = 3,
APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4,
APTTYPEQUALIFIER_NA_ON_MAINSTA = 5,
APTTYPEQUALIFIER_APPLICATION_STA = 6
} APTTYPEQUALIFIER;
typedef enum _APTTYPE {
APTTYPE_CURRENT = -1,
APTTYPE_STA = 0,
APTTYPE_MTA = 1,
APTTYPE_NA = 2,
APTTYPE_MAINSTA = 3
} APTTYPE;
typedef enum _THDTYPE {
THDTYPE_BLOCKMESSAGES = 0,
THDTYPE_PROCESSMESSAGES = 1
} THDTYPE;
typedef DWORD APARTMENTID;
extern const GUID IID_IComThreadingInfo;
typedef struct IComThreadingInfoVtbl {
HRESULT ( *QueryInterface)(
IComThreadingInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IComThreadingInfo *This);
ULONG ( *Release)(
IComThreadingInfo *This);
HRESULT ( *GetCurrentApartmentType)(
IComThreadingInfo *This,
APTTYPE *pAptType);
HRESULT ( *GetCurrentThreadType)(
IComThreadingInfo *This,
THDTYPE *pThreadType);
HRESULT ( *GetCurrentLogicalThreadId)(
IComThreadingInfo *This,
GUID *pguidLogicalThreadId);
HRESULT ( *SetCurrentLogicalThreadId)(
IComThreadingInfo *This,
const GUID *const rguid);
} IComThreadingInfoVtbl;
struct IComThreadingInfo {
IComThreadingInfoVtbl* lpVtbl;
};
extern const GUID IID_IProcessInitControl;
typedef struct IProcessInitControlVtbl {
HRESULT ( *QueryInterface)(
IProcessInitControl *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProcessInitControl *This);
ULONG ( *Release)(
IProcessInitControl *This);
HRESULT ( *ResetInitializerTimeout)(
IProcessInitControl *This,
DWORD dwSecondsRemaining);
} IProcessInitControlVtbl;
struct IProcessInitControl {
IProcessInitControlVtbl* lpVtbl;
};
extern const GUID IID_IFastRundown;
typedef struct IFastRundownVtbl {
HRESULT ( *QueryInterface)(
IFastRundown *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IFastRundown *This);
ULONG ( *Release)(
IFastRundown *This);
} IFastRundownVtbl;
struct IFastRundown {
IFastRundownVtbl* lpVtbl;
};
typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES {
CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
} CO_MARSHALING_CONTEXT_ATTRIBUTES;
extern const GUID IID_IMarshalingStream;
typedef struct IMarshalingStreamVtbl {
HRESULT ( *QueryInterface)(
IMarshalingStream *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMarshalingStream *This);
ULONG ( *Release)(
IMarshalingStream *This);
HRESULT ( *Read)(
IMarshalingStream *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ( *Write)(
IMarshalingStream *This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ( *Seek)(
IMarshalingStream *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT ( *SetSize)(
IMarshalingStream *This,
ULARGE_INTEGER libNewSize);
HRESULT ( *CopyTo)(
IMarshalingStream *This,
IStream *pstm,
ULARGE_INTEGER cb,
ULARGE_INTEGER *pcbRead,
ULARGE_INTEGER *pcbWritten);
HRESULT ( *Commit)(
IMarshalingStream *This,
DWORD grfCommitFlags);
HRESULT ( *Revert)(
IMarshalingStream *This);
HRESULT ( *LockRegion)(
IMarshalingStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *UnlockRegion)(
IMarshalingStream *This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *Stat)(
IMarshalingStream *This,
STATSTG *pstatstg,
DWORD grfStatFlag);
HRESULT ( *Clone)(
IMarshalingStream *This,
IStream **ppstm);
HRESULT ( *GetMarshalingContextAttribute)(
IMarshalingStream *This,
CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,
ULONG_PTR *pAttributeValue);
} IMarshalingStreamVtbl;
struct IMarshalingStream {
IMarshalingStreamVtbl* lpVtbl;
};
extern const GUID IID_ICallbackWithNoReentrancyToApplicationSTA;
extern const IID GUID_NULL;
extern const IID CATID_MARSHALER;
extern const IID IID_IRpcChannel;
extern const IID IID_IRpcStub;
extern const IID IID_IStubManager;
extern const IID IID_IRpcProxy;
extern const IID IID_IProxyManager;
extern const IID IID_IPSFactory;
extern const IID IID_IInternalMoniker;
extern const IID IID_IDfReserved1;
extern const IID IID_IDfReserved2;
extern const IID IID_IDfReserved3;
extern const CLSID CLSID_StdMarshal;
extern const CLSID CLSID_AggStdMarshal;
extern const CLSID CLSID_StdAsyncActManager;
extern const IID IID_IStub;
extern const IID IID_IProxy;
extern const IID IID_IEnumGeneric;
extern const IID IID_IEnumHolder;
extern const IID IID_IEnumCallback;
extern const IID IID_IOleManager;
extern const IID IID_IOlePresObj;
extern const IID IID_IDebug;
extern const IID IID_IDebugStream;
extern const CLSID CLSID_PSGenObject;
extern const CLSID CLSID_PSClientSite;
extern const CLSID CLSID_PSClassObject;
extern const CLSID CLSID_PSInPlaceActive;
extern const CLSID CLSID_PSInPlaceFrame;
extern const CLSID CLSID_PSDragDrop;
extern const CLSID CLSID_PSBindCtx;
extern const CLSID CLSID_PSEnumerators;
extern const CLSID CLSID_StaticMetafile;
extern const CLSID CLSID_StaticDib;
extern const CLSID CID_CDfsVolume;
extern const CLSID CLSID_DCOMAccessControl;
extern const CLSID CLSID_GlobalOptions;
extern const CLSID CLSID_StdGlobalInterfaceTable;
extern const CLSID CLSID_ComBinding;
extern const CLSID CLSID_StdEvent;
extern const CLSID CLSID_ManualResetEvent;
extern const CLSID CLSID_SynchronizeContainer;
extern const CLSID CLSID_AddrControl;
extern const CLSID CLSID_CCDFormKrnl;
extern const CLSID CLSID_CCDPropertyPage;
extern const CLSID CLSID_CCDFormDialog;
extern const CLSID CLSID_CCDCommandButton;
extern const CLSID CLSID_CCDComboBox;
extern const CLSID CLSID_CCDTextBox;
extern const CLSID CLSID_CCDCheckBox;
extern const CLSID CLSID_CCDLabel;
extern const CLSID CLSID_CCDOptionButton;
extern const CLSID CLSID_CCDListBox;
extern const CLSID CLSID_CCDScrollBar;
extern const CLSID CLSID_CCDGroupBox;
extern const CLSID CLSID_CCDGeneralPropertyPage;
extern const CLSID CLSID_CCDGenericPropertyPage;
extern const CLSID CLSID_CCDFontPropertyPage;
extern const CLSID CLSID_CCDColorPropertyPage;
extern const CLSID CLSID_CCDLabelPropertyPage;
extern const CLSID CLSID_CCDCheckBoxPropertyPage;
extern const CLSID CLSID_CCDTextBoxPropertyPage;
extern const CLSID CLSID_CCDOptionButtonPropertyPage;
extern const CLSID CLSID_CCDListBoxPropertyPage;
extern const CLSID CLSID_CCDCommandButtonPropertyPage;
extern const CLSID CLSID_CCDComboBoxPropertyPage;
extern const CLSID CLSID_CCDScrollBarPropertyPage;
extern const CLSID CLSID_CCDGroupBoxPropertyPage;
extern const CLSID CLSID_CCDXObjectPropertyPage;
extern const CLSID CLSID_CStdPropertyFrame;
extern const CLSID CLSID_CFormPropertyPage;
extern const CLSID CLSID_CGridPropertyPage;
extern const CLSID CLSID_CWSJArticlePage;
extern const CLSID CLSID_CSystemPage;
extern const CLSID CLSID_IdentityUnmarshal;
extern const CLSID CLSID_InProcFreeMarshaler;
extern const CLSID CLSID_Picture_Metafile;
extern const CLSID CLSID_Picture_EnhMetafile;
extern const CLSID CLSID_Picture_Dib;
extern const GUID GUID_TRISTATE;
extern __attribute__((dllimport)) HRESULT CreateStreamOnHGlobal (HGLOBAL hGlobal, WINBOOL fDeleteOnRelease, LPSTREAM *ppstm);
extern __attribute__((dllimport)) HRESULT GetHGlobalFromStream (LPSTREAM pstm, HGLOBAL *phglobal);
extern __attribute__((dllimport)) void CoUninitialize (void);
extern __attribute__((dllimport)) HRESULT CoInitializeEx (LPVOID pvReserved, DWORD dwCoInit);
extern __attribute__((dllimport)) HRESULT CoGetCurrentLogicalThreadId (GUID *pguid);
extern __attribute__((dllimport)) HRESULT CoGetContextToken (ULONG_PTR *pToken);
extern __attribute__((dllimport)) HRESULT CoGetObjectContext (const IID *const riid, LPVOID *ppv);
extern __attribute__((dllimport)) HRESULT CoRegisterClassObject (const IID *const rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister);
extern __attribute__((dllimport)) HRESULT CoRevokeClassObject (DWORD dwRegister);
extern __attribute__((dllimport)) HRESULT CoResumeClassObjects (void);
extern __attribute__((dllimport)) HRESULT CoSuspendClassObjects (void);
extern __attribute__((dllimport)) HRESULT CoGetMalloc (DWORD dwMemContext, LPMALLOC *ppMalloc);
extern __attribute__((dllimport)) DWORD CoGetCurrentProcess (void);
extern __attribute__((dllimport)) HRESULT CoGetCallerTID (LPDWORD lpdwTID);
extern __attribute__((dllimport)) HRESULT CoGetDefaultContext (APTTYPE aptType, const IID *const riid, void **ppv);
extern __attribute__((dllimport)) HRESULT CoGetClassObject (const IID *const rclsid, DWORD dwClsContext, LPVOID pvReserved, const IID *const riid, LPVOID *ppv);
extern __attribute__((dllimport)) ULONG CoAddRefServerProcess (void);
extern __attribute__((dllimport)) ULONG CoReleaseServerProcess (void);
extern __attribute__((dllimport)) HRESULT CoGetPSClsid (const IID *const riid, CLSID *pClsid);
extern __attribute__((dllimport)) HRESULT CoRegisterPSClsid (const IID *const riid, const IID *const rclsid);
extern __attribute__((dllimport)) HRESULT CoRegisterSurrogate (LPSURROGATE pSurrogate);
extern __attribute__((dllimport)) HRESULT CoMarshalHresult (LPSTREAM pstm, HRESULT hresult);
extern __attribute__((dllimport)) HRESULT CoUnmarshalHresult (LPSTREAM pstm, HRESULT *phresult);
extern __attribute__((dllimport)) HRESULT CoLockObjectExternal (LPUNKNOWN pUnk, WINBOOL fLock, WINBOOL fLastUnlockReleases);
extern __attribute__((dllimport)) HRESULT CoGetStdMarshalEx (LPUNKNOWN pUnkOuter, DWORD smexflags, LPUNKNOWN *ppUnkInner);
typedef enum tagSTDMSHLFLAGS {
SMEXF_SERVER = 0x01,
SMEXF_HANDLER = 0x02
} STDMSHLFLAGS;
extern __attribute__((dllimport)) HRESULT CoGetMarshalSizeMax (ULONG *pulSize, const IID *const riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags);
extern __attribute__((dllimport)) HRESULT CoMarshalInterface (LPSTREAM pStm, const IID *const riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags);
extern __attribute__((dllimport)) HRESULT CoUnmarshalInterface (LPSTREAM pStm, const IID *const riid, LPVOID *ppv);
extern __attribute__((dllimport)) HRESULT CoReleaseMarshalData (LPSTREAM pStm);
extern __attribute__((dllimport)) HRESULT CoDisconnectObject (LPUNKNOWN pUnk, DWORD dwReserved);
extern __attribute__((dllimport)) HRESULT CoGetStandardMarshal (const IID *const riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags, LPMARSHAL *ppMarshal);
extern __attribute__((dllimport)) HRESULT CoMarshalInterThreadInterfaceInStream (const IID *const riid, LPUNKNOWN pUnk, LPSTREAM *ppStm);
extern __attribute__((dllimport)) HRESULT CoGetInterfaceAndReleaseStream (LPSTREAM pStm, const IID *const iid, LPVOID *ppv);
extern __attribute__((dllimport)) HRESULT CoCreateFreeThreadedMarshaler (LPUNKNOWN punkOuter, LPUNKNOWN *ppunkMarshal);
extern __attribute__((dllimport)) void CoFreeUnusedLibraries (void);
extern __attribute__((dllimport)) void CoFreeUnusedLibrariesEx (DWORD dwUnloadDelay, DWORD dwReserved);
extern __attribute__((dllimport)) HRESULT CoInitializeSecurity (PSECURITY_DESCRIPTOR pSecDesc, LONG cAuthSvc, SOLE_AUTHENTICATION_SERVICE *asAuthSvc, void *pReserved1, DWORD dwAuthnLevel, DWORD dwImpLevel, void *pAuthList, DWORD dwCapabilities, void *pReserved3);
extern __attribute__((dllimport)) HRESULT CoSwitchCallContext (IUnknown *pNewObject, IUnknown **ppOldObject);
extern __attribute__((dllimport)) HRESULT CoCreateInstanceFromApp (const IID *const Clsid, IUnknown *punkOuter, DWORD dwClsCtx, PVOID reserved, DWORD dwCount, MULTI_QI *pResults);
extern __attribute__((dllimport)) WINBOOL CoIsHandlerConnected (LPUNKNOWN pUnk);
extern __attribute__((dllimport)) HRESULT CoGetCallContext (const IID *const riid, void **ppInterface);
extern __attribute__((dllimport)) HRESULT CoQueryProxyBlanket (IUnknown *pProxy, DWORD *pwAuthnSvc, DWORD *pAuthzSvc, LPOLESTR *pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, RPC_AUTH_IDENTITY_HANDLE *pAuthInfo, DWORD *pCapabilites);
extern __attribute__((dllimport)) HRESULT CoSetProxyBlanket (IUnknown *pProxy, DWORD dwAuthnSvc, DWORD dwAuthzSvc, OLECHAR *pServerPrincName, DWORD dwAuthnLevel, DWORD dwImpLevel, RPC_AUTH_IDENTITY_HANDLE pAuthInfo, DWORD dwCapabilities);
extern __attribute__((dllimport)) HRESULT CoCopyProxy (IUnknown *pProxy, IUnknown **ppCopy);
extern __attribute__((dllimport)) HRESULT CoQueryClientBlanket (DWORD *pAuthnSvc, DWORD *pAuthzSvc, LPOLESTR *pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, RPC_AUTHZ_HANDLE *pPrivs, DWORD *pCapabilities);
extern __attribute__((dllimport)) HRESULT CoImpersonateClient (void);
extern __attribute__((dllimport)) HRESULT CoRevertToSelf (void);
extern __attribute__((dllimport)) HRESULT CoQueryAuthenticationServices (DWORD *pcAuthSvc, SOLE_AUTHENTICATION_SERVICE **asAuthSvc);
extern __attribute__((dllimport)) HRESULT CoCreateInstance (const IID *const rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, const IID *const riid, LPVOID *ppv);
extern __attribute__((dllimport)) HRESULT CoCreateInstanceEx (const IID *const Clsid, IUnknown *punkOuter, DWORD dwClsCtx, COSERVERINFO *pServerInfo, DWORD dwCount, MULTI_QI *pResults);
extern __attribute__((dllimport)) HRESULT CoGetCancelObject (DWORD dwThreadId, const IID *const iid, void **ppUnk);
extern __attribute__((dllimport)) HRESULT CoSetCancelObject (IUnknown *pUnk);
extern __attribute__((dllimport)) HRESULT CoCancelCall (DWORD dwThreadId, ULONG ulTimeout);
extern __attribute__((dllimport)) HRESULT CoTestCancel (void);
extern __attribute__((dllimport)) HRESULT CoEnableCallCancellation (LPVOID pReserved);
extern __attribute__((dllimport)) HRESULT CoDisableCallCancellation (LPVOID pReserved);
extern __attribute__((dllimport)) HRESULT StringFromCLSID (const IID *const rclsid, LPOLESTR *lplpsz);
extern __attribute__((dllimport)) HRESULT CLSIDFromString (LPCOLESTR lpsz, LPCLSID pclsid);
extern __attribute__((dllimport)) HRESULT StringFromIID (const IID *const rclsid, LPOLESTR *lplpsz);
extern __attribute__((dllimport)) HRESULT IIDFromString (LPCOLESTR lpsz, LPIID lpiid);
extern __attribute__((dllimport)) HRESULT ProgIDFromCLSID (const IID *const clsid, LPOLESTR *lplpszProgID);
extern __attribute__((dllimport)) HRESULT CLSIDFromProgID (LPCOLESTR lpszProgID, LPCLSID lpclsid);
extern __attribute__((dllimport)) int StringFromGUID2 (const GUID *const rguid, LPOLESTR lpsz, int cchMax);
extern __attribute__((dllimport)) HRESULT CoCreateGuid (GUID *pguid);
typedef struct tagPROPVARIANT PROPVARIANT;
extern __attribute__((dllimport)) HRESULT PropVariantCopy (PROPVARIANT *pvarDest, const PROPVARIANT *pvarSrc);
extern __attribute__((dllimport)) HRESULT PropVariantClear (PROPVARIANT *pvar);
extern __attribute__((dllimport)) HRESULT FreePropVariantArray (ULONG cVariants, PROPVARIANT *rgvars);
extern __attribute__((dllimport)) HRESULT CoWaitForMultipleHandles (DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, LPHANDLE pHandles, LPDWORD lpdwindex);
typedef enum tagCOWAIT_FLAGS {
COWAIT_DEFAULT = 0,
COWAIT_WAITALL = 1,
COWAIT_ALERTABLE = 2,
COWAIT_INPUTAVAILABLE = 4
, COWAIT_DISPATCH_CALLS = 8,
COWAIT_DISPATCH_WINDOW_MESSAGES = 0x10
} COWAIT_FLAGS;
extern __attribute__((dllimport)) HRESULT CoGetTreatAsClass (const IID *const clsidOld, LPCLSID pClsidNew);
extern __attribute__((dllimport)) HRESULT CoInvalidateRemoteMachineBindings (LPOLESTR pszMachineName);
typedef HRESULT ( *LPFNGETCLASSOBJECT) (const IID *const, const IID *const, LPVOID *);
typedef HRESULT ( *LPFNCANUNLOADNOW) (void);
extern HRESULT DllGetClassObject (const IID *const rclsid, const IID *const riid, LPVOID *ppv);
extern HRESULT DllCanUnloadNow (void);
extern __attribute__((dllimport)) LPVOID CoTaskMemAlloc (SIZE_T cb);
extern __attribute__((dllimport)) LPVOID CoTaskMemRealloc (LPVOID pv, SIZE_T cb);
extern __attribute__((dllimport)) void CoTaskMemFree (LPVOID pv);
#pragma pack(pop)
typedef enum tagCOINIT {
COINIT_APARTMENTTHREADED = 0x2,
COINIT_MULTITHREADED = COINITBASE_MULTITHREADED,
COINIT_DISABLE_OLE1DDE = 0x4,
COINIT_SPEED_OVER_MEMORY = 0x8
} COINIT;
typedef DWORD STGFMT;
typedef struct IMallocSpy IMallocSpy;
typedef struct IBindCtx IBindCtx;
typedef struct IEnumMoniker IEnumMoniker;
typedef struct IRunnableObject IRunnableObject;
typedef struct IRunningObjectTable IRunningObjectTable;
typedef struct IPersist IPersist;
typedef struct IPersistStream IPersistStream;
typedef struct IMoniker IMoniker;
typedef struct IROTData IROTData;
typedef struct IEnumSTATSTG IEnumSTATSTG;
typedef struct IStorage IStorage;
typedef struct IPersistFile IPersistFile;
typedef struct IPersistStorage IPersistStorage;
typedef struct ILockBytes ILockBytes;
typedef struct IEnumFORMATETC IEnumFORMATETC;
typedef struct IEnumSTATDATA IEnumSTATDATA;
typedef struct IRootStorage IRootStorage;
typedef struct IAdviseSink IAdviseSink;
typedef struct AsyncIAdviseSink AsyncIAdviseSink;
typedef struct IAdviseSink2 IAdviseSink2;
typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;
typedef struct IDataObject IDataObject;
typedef struct IDataAdviseHolder IDataAdviseHolder;
typedef struct IMessageFilter IMessageFilter;
typedef struct IClassActivator IClassActivator;
typedef struct IFillLockBytes IFillLockBytes;
typedef struct IProgressNotify IProgressNotify;
typedef struct ILayoutStorage ILayoutStorage;
typedef struct IBlockingLock IBlockingLock;
typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;
typedef struct IOplockStorage IOplockStorage;
typedef struct IDirectWriterLock IDirectWriterLock;
typedef struct IUrlMon IUrlMon;
typedef struct IForegroundTransfer IForegroundTransfer;
typedef struct IThumbnailExtractor IThumbnailExtractor;
typedef struct IDummyHICONIncluder IDummyHICONIncluder;
typedef struct IProcessLock IProcessLock;
typedef struct ISurrogateService ISurrogateService;
typedef struct IInitializeSpy IInitializeSpy;
typedef struct IApartmentShutdown IApartmentShutdown;
extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
typedef struct tagRemHGLOBAL {
LONG fNullHGlobal;
ULONG cbData;
byte data[1];
} RemHGLOBAL;
typedef struct tagRemHMETAFILEPICT {
LONG mm;
LONG xExt;
LONG yExt;
ULONG cbData;
byte data[1];
} RemHMETAFILEPICT;
typedef struct tagRemHENHMETAFILE {
ULONG cbData;
byte data[1];
} RemHENHMETAFILE;
typedef struct tagRemHBITMAP {
ULONG cbData;
byte data[1];
} RemHBITMAP;
typedef struct tagRemHPALETTE {
ULONG cbData;
byte data[1];
} RemHPALETTE;
typedef struct tagRemBRUSH {
ULONG cbData;
byte data[1];
} RemHBRUSH;
typedef enum tagDVASPECT {
DVASPECT_CONTENT = 1,
DVASPECT_THUMBNAIL = 2,
DVASPECT_ICON = 4,
DVASPECT_DOCPRINT = 8
} DVASPECT;
typedef enum tagSTGC {
STGC_DEFAULT = 0,
STGC_OVERWRITE = 1,
STGC_ONLYIFCURRENT = 2,
STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
STGC_CONSOLIDATE = 8
} STGC;
typedef enum tagSTGMOVE {
STGMOVE_MOVE = 0,
STGMOVE_COPY = 1,
STGMOVE_SHALLOWCOPY = 2
} STGMOVE;
typedef enum tagSTATFLAG {
STATFLAG_DEFAULT = 0,
STATFLAG_NONAME = 1,
STATFLAG_NOOPEN = 2
} STATFLAG;
typedef void *HCONTEXT;
typedef struct _userCLIPFORMAT {
LONG fContext;
union {
DWORD dwValue;
wchar_t *pwszName;
} u;
} userCLIPFORMAT;
typedef userCLIPFORMAT *wireCLIPFORMAT;
typedef WORD CLIPFORMAT;
typedef struct _GDI_NONREMOTE {
LONG fContext;
union {
LONG hInproc;
DWORD_BLOB *hRemote;
} u;
} GDI_NONREMOTE;
typedef struct _userHGLOBAL {
LONG fContext;
union {
LONG hInproc;
FLAGGED_BYTE_BLOB *hRemote;
INT64 hInproc64;
} u;
} userHGLOBAL;
typedef userHGLOBAL *wireHGLOBAL;
typedef struct _userHMETAFILE {
LONG fContext;
union {
LONG hInproc;
BYTE_BLOB *hRemote;
INT64 hInproc64;
} u;
} userHMETAFILE;
typedef struct _remoteMETAFILEPICT {
LONG mm;
LONG xExt;
LONG yExt;
userHMETAFILE *hMF;
} remoteMETAFILEPICT;
typedef struct _userHMETAFILEPICT {
LONG fContext;
union {
LONG hInproc;
remoteMETAFILEPICT *hRemote;
INT64 hInproc64;
} u;
} userHMETAFILEPICT;
typedef struct _userHENHMETAFILE {
LONG fContext;
union {
LONG hInproc;
BYTE_BLOB *hRemote;
INT64 hInproc64;
} u;
} userHENHMETAFILE;
typedef struct _userBITMAP {
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
ULONG cbSize;
byte pBuffer[1];
} userBITMAP;
typedef struct _userHBITMAP {
LONG fContext;
union {
LONG hInproc;
userBITMAP *hRemote;
INT64 hInproc64;
} u;
} userHBITMAP;
typedef struct _userHPALETTE {
LONG fContext;
union {
LONG hInproc;
LOGPALETTE *hRemote;
INT64 hInproc64;
} u;
} userHPALETTE;
typedef struct _RemotableHandle {
LONG fContext;
union {
LONG hInproc;
LONG hRemote;
} u;
} RemotableHandle;
typedef RemotableHandle *wireHWND;
typedef RemotableHandle *wireHMENU;
typedef RemotableHandle *wireHACCEL;
typedef RemotableHandle *wireHBRUSH;
typedef RemotableHandle *wireHFONT;
typedef RemotableHandle *wireHDC;
typedef RemotableHandle *wireHICON;
typedef RemotableHandle *wireHRGN;
typedef RemotableHandle *wireHMONITOR;
typedef userHBITMAP *wireHBITMAP;
typedef userHPALETTE *wireHPALETTE;
typedef userHENHMETAFILE *wireHENHMETAFILE;
typedef userHMETAFILE *wireHMETAFILE;
typedef userHMETAFILEPICT *wireHMETAFILEPICT;
typedef void *HMETAFILEPICT;
typedef double DATE;
typedef union tagCY {
__extension__ struct {
unsigned long Lo;
long Hi;
} ;
LONGLONG int64;
} CY;
typedef CY *LPCY;
typedef struct tagDEC {
USHORT wReserved;
__extension__ union {
__extension__ struct {
BYTE scale;
BYTE sign;
} ;
USHORT signscale;
} ;
ULONG Hi32;
__extension__ union {
__extension__ struct {
ULONG Lo32;
ULONG Mid32;
} ;
ULONGLONG Lo64;
} ;
} DECIMAL;
typedef DECIMAL *LPDECIMAL;
typedef FLAGGED_WORD_BLOB *wireBSTR;
typedef OLECHAR *BSTR;
typedef BSTR *LPBSTR;
typedef short VARIANT_BOOL;
typedef struct tagBSTRBLOB {
ULONG cbSize;
BYTE *pData;
} BSTRBLOB;
typedef struct tagBSTRBLOB *LPBSTRBLOB;
typedef struct tagCLIPDATA {
ULONG cbSize;
LONG ulClipFmt;
BYTE *pClipData;
} CLIPDATA;
typedef unsigned short VARTYPE;
enum VARENUM {
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_INT_PTR = 37,
VT_UINT_PTR = 38,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_VERSIONED_STREAM = 73,
VT_BSTR_BLOB = 0xfff,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000,
VT_RESERVED = 0x8000,
VT_ILLEGAL = 0xffff,
VT_ILLEGALMASKED = 0xfff,
VT_TYPEMASK = 0xfff
};
typedef ULONG PROPID;
typedef struct _tagpropertykey {
GUID fmtid;
DWORD pid;
} PROPERTYKEY;
typedef struct tagCSPLATFORM {
DWORD dwPlatformId;
DWORD dwVersionHi;
DWORD dwVersionLo;
DWORD dwProcessorArch;
} CSPLATFORM;
typedef struct tagQUERYCONTEXT {
DWORD dwContext;
CSPLATFORM Platform;
LCID Locale;
DWORD dwVersionHi;
DWORD dwVersionLo;
} QUERYCONTEXT;
typedef enum tagTYSPEC {
TYSPEC_CLSID = 0,
TYSPEC_FILEEXT = 1,
TYSPEC_MIMETYPE = 2,
TYSPEC_FILENAME = 3,
TYSPEC_PROGID = 4,
TYSPEC_PACKAGENAME = 5,
TYSPEC_OBJECTID = 6
} TYSPEC;
typedef struct __WIDL_wtypes_generated_name_00000001 {
DWORD tyspec;
union {
CLSID clsid;
LPOLESTR pFileExt;
LPOLESTR pMimeType;
LPOLESTR pProgId;
LPOLESTR pFileName;
struct {
LPOLESTR pPackageName;
GUID PolicyId;
} ByName;
struct {
GUID ObjectId;
GUID PolicyId;
} ByObjectId;
} tagged_union;
} uCLSSPEC;
typedef IMallocSpy *LPMALLOCSPY;
extern const GUID IID_IMallocSpy;
typedef struct IMallocSpyVtbl {
HRESULT ( *QueryInterface)(
IMallocSpy* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMallocSpy* This);
ULONG ( *Release)(
IMallocSpy* This);
SIZE_T ( *PreAlloc)(
IMallocSpy* This,
SIZE_T cbRequest);
void * ( *PostAlloc)(
IMallocSpy* This,
void *pActual);
void * ( *PreFree)(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
void ( *PostFree)(
IMallocSpy* This,
WINBOOL fSpyed);
SIZE_T ( *PreRealloc)(
IMallocSpy* This,
void *pRequest,
SIZE_T cbRequest,
void **ppNewRequest,
WINBOOL fSpyed);
void * ( *PostRealloc)(
IMallocSpy* This,
void *pActual,
WINBOOL fSpyed);
void * ( *PreGetSize)(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
SIZE_T ( *PostGetSize)(
IMallocSpy* This,
SIZE_T cbActual,
WINBOOL fSpyed);
void * ( *PreDidAlloc)(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
int ( *PostDidAlloc)(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed,
int fActual);
void ( *PreHeapMinimize)(
IMallocSpy* This);
void ( *PostHeapMinimize)(
IMallocSpy* This);
} IMallocSpyVtbl;
struct IMallocSpy {
IMallocSpyVtbl* lpVtbl;
};
SIZE_T IMallocSpy_PreAlloc_Proxy(
IMallocSpy* This,
SIZE_T cbRequest);
void IMallocSpy_PreAlloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void * IMallocSpy_PostAlloc_Proxy(
IMallocSpy* This,
void *pActual);
void IMallocSpy_PostAlloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void * IMallocSpy_PreFree_Proxy(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
void IMallocSpy_PreFree_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IMallocSpy_PostFree_Proxy(
IMallocSpy* This,
WINBOOL fSpyed);
void IMallocSpy_PostFree_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
SIZE_T IMallocSpy_PreRealloc_Proxy(
IMallocSpy* This,
void *pRequest,
SIZE_T cbRequest,
void **ppNewRequest,
WINBOOL fSpyed);
void IMallocSpy_PreRealloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void * IMallocSpy_PostRealloc_Proxy(
IMallocSpy* This,
void *pActual,
WINBOOL fSpyed);
void IMallocSpy_PostRealloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void * IMallocSpy_PreGetSize_Proxy(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
void IMallocSpy_PreGetSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
SIZE_T IMallocSpy_PostGetSize_Proxy(
IMallocSpy* This,
SIZE_T cbActual,
WINBOOL fSpyed);
void IMallocSpy_PostGetSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void * IMallocSpy_PreDidAlloc_Proxy(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed);
void IMallocSpy_PreDidAlloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
int IMallocSpy_PostDidAlloc_Proxy(
IMallocSpy* This,
void *pRequest,
WINBOOL fSpyed,
int fActual);
void IMallocSpy_PostDidAlloc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IMallocSpy_PreHeapMinimize_Proxy(
IMallocSpy* This);
void IMallocSpy_PreHeapMinimize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IMallocSpy_PostHeapMinimize_Proxy(
IMallocSpy* This);
void IMallocSpy_PostHeapMinimize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IBindCtx *LPBC;
typedef IBindCtx *LPBINDCTX;
typedef struct tagBIND_OPTS {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
} BIND_OPTS;
typedef struct tagBIND_OPTS *LPBIND_OPTS;
typedef struct tagBIND_OPTS2 {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
DWORD dwTrackFlags;
DWORD dwClassContext;
LCID locale;
COSERVERINFO *pServerInfo;
} BIND_OPTS2;
typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
typedef struct tagBIND_OPTS3 {
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
DWORD dwTrackFlags;
DWORD dwClassContext;
LCID locale;
COSERVERINFO *pServerInfo;
HWND hwnd;
} BIND_OPTS3;
typedef struct tagBIND_OPTS3 *LPBIND_OPTS3;
typedef enum tagBIND_FLAGS {
BIND_MAYBOTHERUSER = 1,
BIND_JUSTTESTEXISTENCE = 2
} BIND_FLAGS;
extern const GUID IID_IBindCtx;
typedef struct IBindCtxVtbl {
HRESULT ( *QueryInterface)(
IBindCtx* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindCtx* This);
ULONG ( *Release)(
IBindCtx* This);
HRESULT ( *RegisterObjectBound)(
IBindCtx* This,
IUnknown *punk);
HRESULT ( *RevokeObjectBound)(
IBindCtx* This,
IUnknown *punk);
HRESULT ( *ReleaseBoundObjects)(
IBindCtx* This);
HRESULT ( *SetBindOptions)(
IBindCtx* This,
BIND_OPTS *pbindopts);
HRESULT ( *GetBindOptions)(
IBindCtx* This,
BIND_OPTS *pbindopts);
HRESULT ( *GetRunningObjectTable)(
IBindCtx* This,
IRunningObjectTable **pprot);
HRESULT ( *RegisterObjectParam)(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown *punk);
HRESULT ( *GetObjectParam)(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown **ppunk);
HRESULT ( *EnumObjectParam)(
IBindCtx* This,
IEnumString **ppenum);
HRESULT ( *RevokeObjectParam)(
IBindCtx* This,
LPOLESTR pszKey);
} IBindCtxVtbl;
struct IBindCtx {
IBindCtxVtbl* lpVtbl;
};
HRESULT IBindCtx_RegisterObjectBound_Proxy(
IBindCtx* This,
IUnknown *punk);
void IBindCtx_RegisterObjectBound_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_RevokeObjectBound_Proxy(
IBindCtx* This,
IUnknown *punk);
void IBindCtx_RevokeObjectBound_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_ReleaseBoundObjects_Proxy(
IBindCtx* This);
void IBindCtx_ReleaseBoundObjects_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_RemoteSetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS2 *pbindopts);
void IBindCtx_RemoteSetBindOptions_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_RemoteGetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS2 *pbindopts);
void IBindCtx_RemoteGetBindOptions_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_GetRunningObjectTable_Proxy(
IBindCtx* This,
IRunningObjectTable **pprot);
void IBindCtx_GetRunningObjectTable_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_RegisterObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown *punk);
void IBindCtx_RegisterObjectParam_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_GetObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey,
IUnknown **ppunk);
void IBindCtx_GetObjectParam_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_EnumObjectParam_Proxy(
IBindCtx* This,
IEnumString **ppenum);
void IBindCtx_EnumObjectParam_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_RevokeObjectParam_Proxy(
IBindCtx* This,
LPOLESTR pszKey);
void IBindCtx_RevokeObjectParam_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindCtx_SetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS *pbindopts);
HRESULT IBindCtx_SetBindOptions_Stub(
IBindCtx* This,
BIND_OPTS2 *pbindopts);
HRESULT IBindCtx_GetBindOptions_Proxy(
IBindCtx* This,
BIND_OPTS *pbindopts);
HRESULT IBindCtx_GetBindOptions_Stub(
IBindCtx* This,
BIND_OPTS2 *pbindopts);
typedef IEnumMoniker *LPENUMMONIKER;
extern const GUID IID_IEnumMoniker;
typedef struct IEnumMonikerVtbl {
HRESULT ( *QueryInterface)(
IEnumMoniker* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumMoniker* This);
ULONG ( *Release)(
IEnumMoniker* This);
HRESULT ( *Next)(
IEnumMoniker* This,
ULONG celt,
IMoniker **rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumMoniker* This,
ULONG celt);
HRESULT ( *Reset)(
IEnumMoniker* This);
HRESULT ( *Clone)(
IEnumMoniker* This,
IEnumMoniker **ppenum);
} IEnumMonikerVtbl;
struct IEnumMoniker {
IEnumMonikerVtbl* lpVtbl;
};
HRESULT IEnumMoniker_RemoteNext_Proxy(
IEnumMoniker* This,
ULONG celt,
IMoniker **rgelt,
ULONG *pceltFetched);
void IEnumMoniker_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumMoniker_Skip_Proxy(
IEnumMoniker* This,
ULONG celt);
void IEnumMoniker_Skip_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumMoniker_Reset_Proxy(
IEnumMoniker* This);
void IEnumMoniker_Reset_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumMoniker_Clone_Proxy(
IEnumMoniker* This,
IEnumMoniker **ppenum);
void IEnumMoniker_Clone_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumMoniker_Next_Proxy(
IEnumMoniker* This,
ULONG celt,
IMoniker **rgelt,
ULONG *pceltFetched);
HRESULT IEnumMoniker_Next_Stub(
IEnumMoniker* This,
ULONG celt,
IMoniker **rgelt,
ULONG *pceltFetched);
typedef IRunnableObject *LPRUNNABLEOBJECT;
extern const GUID IID_IRunnableObject;
typedef struct IRunnableObjectVtbl {
HRESULT ( *QueryInterface)(
IRunnableObject* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRunnableObject* This);
ULONG ( *Release)(
IRunnableObject* This);
HRESULT ( *GetRunningClass)(
IRunnableObject* This,
LPCLSID lpClsid);
HRESULT ( *Run)(
IRunnableObject* This,
LPBINDCTX pbc);
WINBOOL ( *IsRunning)(
IRunnableObject* This);
HRESULT ( *LockRunning)(
IRunnableObject* This,
WINBOOL fLock,
WINBOOL fLastUnlockCloses);
HRESULT ( *SetContainedObject)(
IRunnableObject* This,
WINBOOL fContained);
} IRunnableObjectVtbl;
struct IRunnableObject {
IRunnableObjectVtbl* lpVtbl;
};
HRESULT IRunnableObject_GetRunningClass_Proxy(
IRunnableObject* This,
LPCLSID lpClsid);
void IRunnableObject_GetRunningClass_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunnableObject_Run_Proxy(
IRunnableObject* This,
LPBINDCTX pbc);
void IRunnableObject_Run_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunnableObject_RemoteIsRunning_Proxy(
IRunnableObject* This);
void IRunnableObject_RemoteIsRunning_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunnableObject_LockRunning_Proxy(
IRunnableObject* This,
WINBOOL fLock,
WINBOOL fLastUnlockCloses);
void IRunnableObject_LockRunning_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunnableObject_SetContainedObject_Proxy(
IRunnableObject* This,
WINBOOL fContained);
void IRunnableObject_SetContainedObject_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
WINBOOL IRunnableObject_IsRunning_Proxy(
IRunnableObject* This);
HRESULT IRunnableObject_IsRunning_Stub(
IRunnableObject* This);
typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
extern const GUID IID_IRunningObjectTable;
typedef struct IRunningObjectTableVtbl {
HRESULT ( *QueryInterface)(
IRunningObjectTable* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRunningObjectTable* This);
ULONG ( *Release)(
IRunningObjectTable* This);
HRESULT ( *Register)(
IRunningObjectTable* This,
DWORD grfFlags,
IUnknown *punkObject,
IMoniker *pmkObjectName,
DWORD *pdwRegister);
HRESULT ( *Revoke)(
IRunningObjectTable* This,
DWORD dwRegister);
HRESULT ( *IsRunning)(
IRunningObjectTable* This,
IMoniker *pmkObjectName);
HRESULT ( *GetObjectA)(
IRunningObjectTable* This,
IMoniker *pmkObjectName,
IUnknown **ppunkObject);
HRESULT ( *NoteChangeTime)(
IRunningObjectTable* This,
DWORD dwRegister,
FILETIME *pfiletime);
HRESULT ( *GetTimeOfLastChange)(
IRunningObjectTable* This,
IMoniker *pmkObjectName,
FILETIME *pfiletime);
HRESULT ( *EnumRunning)(
IRunningObjectTable* This,
IEnumMoniker **ppenumMoniker);
} IRunningObjectTableVtbl;
struct IRunningObjectTable {
IRunningObjectTableVtbl* lpVtbl;
};
HRESULT IRunningObjectTable_Register_Proxy(
IRunningObjectTable* This,
DWORD grfFlags,
IUnknown *punkObject,
IMoniker *pmkObjectName,
DWORD *pdwRegister);
void IRunningObjectTable_Register_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_Revoke_Proxy(
IRunningObjectTable* This,
DWORD dwRegister);
void IRunningObjectTable_Revoke_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_IsRunning_Proxy(
IRunningObjectTable* This,
IMoniker *pmkObjectName);
void IRunningObjectTable_IsRunning_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_GetObject_Proxy(
IRunningObjectTable* This,
IMoniker *pmkObjectName,
IUnknown **ppunkObject);
void IRunningObjectTable_GetObject_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_NoteChangeTime_Proxy(
IRunningObjectTable* This,
DWORD dwRegister,
FILETIME *pfiletime);
void IRunningObjectTable_NoteChangeTime_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_GetTimeOfLastChange_Proxy(
IRunningObjectTable* This,
IMoniker *pmkObjectName,
FILETIME *pfiletime);
void IRunningObjectTable_GetTimeOfLastChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IRunningObjectTable_EnumRunning_Proxy(
IRunningObjectTable* This,
IEnumMoniker **ppenumMoniker);
void IRunningObjectTable_EnumRunning_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IPersist *LPPERSIST;
extern const GUID IID_IPersist;
typedef struct IPersistVtbl {
HRESULT ( *QueryInterface)(
IPersist* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersist* This);
ULONG ( *Release)(
IPersist* This);
HRESULT ( *GetClassID)(
IPersist* This,
CLSID *pClassID);
} IPersistVtbl;
struct IPersist {
IPersistVtbl* lpVtbl;
};
HRESULT IPersist_GetClassID_Proxy(
IPersist* This,
CLSID *pClassID);
void IPersist_GetClassID_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IPersistStream *LPPERSISTSTREAM;
extern const GUID IID_IPersistStream;
typedef struct IPersistStreamVtbl {
HRESULT ( *QueryInterface)(
IPersistStream* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistStream* This);
ULONG ( *Release)(
IPersistStream* This);
HRESULT ( *GetClassID)(
IPersistStream* This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistStream* This);
HRESULT ( *Load)(
IPersistStream* This,
IStream *pStm);
HRESULT ( *Save)(
IPersistStream* This,
IStream *pStm,
WINBOOL fClearDirty);
HRESULT ( *GetSizeMax)(
IPersistStream* This,
ULARGE_INTEGER *pcbSize);
} IPersistStreamVtbl;
struct IPersistStream {
IPersistStreamVtbl* lpVtbl;
};
HRESULT IPersistStream_IsDirty_Proxy(
IPersistStream* This);
void IPersistStream_IsDirty_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStream_Load_Proxy(
IPersistStream* This,
IStream *pStm);
void IPersistStream_Load_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStream_Save_Proxy(
IPersistStream* This,
IStream *pStm,
WINBOOL fClearDirty);
void IPersistStream_Save_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStream_GetSizeMax_Proxy(
IPersistStream* This,
ULARGE_INTEGER *pcbSize);
void IPersistStream_GetSizeMax_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IMoniker *LPMONIKER;
typedef enum tagMKSYS {
MKSYS_NONE = 0,
MKSYS_GENERICCOMPOSITE = 1,
MKSYS_FILEMONIKER = 2,
MKSYS_ANTIMONIKER = 3,
MKSYS_ITEMMONIKER = 4,
MKSYS_POINTERMONIKER = 5,
MKSYS_CLASSMONIKER = 7,
MKSYS_OBJREFMONIKER = 8,
MKSYS_SESSIONMONIKER = 9,
MKSYS_LUAMONIKER = 10
} MKSYS;
typedef enum tagMKREDUCE {
MKRREDUCE_ONE = 3 << 16,
MKRREDUCE_TOUSER = 2 << 16,
MKRREDUCE_THROUGHUSER = 1 << 16,
MKRREDUCE_ALL = 0
} MKRREDUCE;
extern const GUID IID_IMoniker;
typedef struct IMonikerVtbl {
HRESULT ( *QueryInterface)(
IMoniker* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMoniker* This);
ULONG ( *Release)(
IMoniker* This);
HRESULT ( *GetClassID)(
IMoniker* This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IMoniker* This);
HRESULT ( *Load)(
IMoniker* This,
IStream *pStm);
HRESULT ( *Save)(
IMoniker* This,
IStream *pStm,
WINBOOL fClearDirty);
HRESULT ( *GetSizeMax)(
IMoniker* This,
ULARGE_INTEGER *pcbSize);
HRESULT ( *BindToObject)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riidResult,
void **ppvResult);
HRESULT ( *BindToStorage)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riid,
void **ppvObj);
HRESULT ( *Reduce)(
IMoniker* This,
IBindCtx *pbc,
DWORD dwReduceHowFar,
IMoniker **ppmkToLeft,
IMoniker **ppmkReduced);
HRESULT ( *ComposeWith)(
IMoniker* This,
IMoniker *pmkRight,
WINBOOL fOnlyIfNotGeneric,
IMoniker **ppmkComposite);
HRESULT ( *Enum)(
IMoniker* This,
WINBOOL fForward,
IEnumMoniker **ppenumMoniker);
HRESULT ( *IsEqual)(
IMoniker* This,
IMoniker *pmkOtherMoniker);
HRESULT ( *Hash)(
IMoniker* This,
DWORD *pdwHash);
HRESULT ( *IsRunning)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
IMoniker *pmkNewlyRunning);
HRESULT ( *GetTimeOfLastChange)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
FILETIME *pFileTime);
HRESULT ( *Inverse)(
IMoniker* This,
IMoniker **ppmk);
HRESULT ( *CommonPrefixWith)(
IMoniker* This,
IMoniker *pmkOther,
IMoniker **ppmkPrefix);
HRESULT ( *RelativePathTo)(
IMoniker* This,
IMoniker *pmkOther,
IMoniker **ppmkRelPath);
HRESULT ( *GetDisplayName)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
LPOLESTR *ppszDisplayName);
HRESULT ( *ParseDisplayName)(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
IMoniker **ppmkOut);
HRESULT ( *IsSystemMoniker)(
IMoniker* This,
DWORD *pdwMksys);
} IMonikerVtbl;
struct IMoniker {
IMonikerVtbl* lpVtbl;
};
HRESULT IMoniker_RemoteBindToObject_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riidResult,
IUnknown **ppvResult);
void IMoniker_RemoteBindToObject_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_RemoteBindToStorage_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riid,
IUnknown **ppvObj);
void IMoniker_RemoteBindToStorage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_Reduce_Proxy(
IMoniker* This,
IBindCtx *pbc,
DWORD dwReduceHowFar,
IMoniker **ppmkToLeft,
IMoniker **ppmkReduced);
void IMoniker_Reduce_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_ComposeWith_Proxy(
IMoniker* This,
IMoniker *pmkRight,
WINBOOL fOnlyIfNotGeneric,
IMoniker **ppmkComposite);
void IMoniker_ComposeWith_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_Enum_Proxy(
IMoniker* This,
WINBOOL fForward,
IEnumMoniker **ppenumMoniker);
void IMoniker_Enum_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_IsEqual_Proxy(
IMoniker* This,
IMoniker *pmkOtherMoniker);
void IMoniker_IsEqual_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_Hash_Proxy(
IMoniker* This,
DWORD *pdwHash);
void IMoniker_Hash_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_IsRunning_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
IMoniker *pmkNewlyRunning);
void IMoniker_IsRunning_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_GetTimeOfLastChange_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
FILETIME *pFileTime);
void IMoniker_GetTimeOfLastChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_Inverse_Proxy(
IMoniker* This,
IMoniker **ppmk);
void IMoniker_Inverse_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_CommonPrefixWith_Proxy(
IMoniker* This,
IMoniker *pmkOther,
IMoniker **ppmkPrefix);
void IMoniker_CommonPrefixWith_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_RelativePathTo_Proxy(
IMoniker* This,
IMoniker *pmkOther,
IMoniker **ppmkRelPath);
void IMoniker_RelativePathTo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_GetDisplayName_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
LPOLESTR *ppszDisplayName);
void IMoniker_GetDisplayName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_ParseDisplayName_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
IMoniker **ppmkOut);
void IMoniker_ParseDisplayName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_IsSystemMoniker_Proxy(
IMoniker* This,
DWORD *pdwMksys);
void IMoniker_IsSystemMoniker_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IMoniker_BindToObject_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riidResult,
void **ppvResult);
HRESULT IMoniker_BindToObject_Stub(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riidResult,
IUnknown **ppvResult);
HRESULT IMoniker_BindToStorage_Proxy(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riid,
void **ppvObj);
HRESULT IMoniker_BindToStorage_Stub(
IMoniker* This,
IBindCtx *pbc,
IMoniker *pmkToLeft,
const IID *const riid,
IUnknown **ppvObj);
extern const GUID IID_IROTData;
typedef struct IROTDataVtbl {
HRESULT ( *QueryInterface)(
IROTData* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IROTData* This);
ULONG ( *Release)(
IROTData* This);
HRESULT ( *GetComparisonData)(
IROTData* This,
byte *pbData,
ULONG cbMax,
ULONG *pcbData);
} IROTDataVtbl;
struct IROTData {
IROTDataVtbl* lpVtbl;
};
HRESULT IROTData_GetComparisonData_Proxy(
IROTData* This,
byte *pbData,
ULONG cbMax,
ULONG *pcbData);
void IROTData_GetComparisonData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IEnumSTATSTG *LPENUMSTATSTG;
extern const GUID IID_IEnumSTATSTG;
typedef struct IEnumSTATSTGVtbl {
HRESULT ( *QueryInterface)(
IEnumSTATSTG* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumSTATSTG* This);
ULONG ( *Release)(
IEnumSTATSTG* This);
HRESULT ( *Next)(
IEnumSTATSTG* This,
ULONG celt,
STATSTG *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumSTATSTG* This,
ULONG celt);
HRESULT ( *Reset)(
IEnumSTATSTG* This);
HRESULT ( *Clone)(
IEnumSTATSTG* This,
IEnumSTATSTG **ppenum);
} IEnumSTATSTGVtbl;
struct IEnumSTATSTG {
IEnumSTATSTGVtbl* lpVtbl;
};
HRESULT IEnumSTATSTG_RemoteNext_Proxy(
IEnumSTATSTG* This,
ULONG celt,
STATSTG *rgelt,
ULONG *pceltFetched);
void IEnumSTATSTG_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATSTG_Skip_Proxy(
IEnumSTATSTG* This,
ULONG celt);
void IEnumSTATSTG_Skip_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATSTG_Reset_Proxy(
IEnumSTATSTG* This);
void IEnumSTATSTG_Reset_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATSTG_Clone_Proxy(
IEnumSTATSTG* This,
IEnumSTATSTG **ppenum);
void IEnumSTATSTG_Clone_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATSTG_Next_Proxy(
IEnumSTATSTG* This,
ULONG celt,
STATSTG *rgelt,
ULONG *pceltFetched);
HRESULT IEnumSTATSTG_Next_Stub(
IEnumSTATSTG* This,
ULONG celt,
STATSTG *rgelt,
ULONG *pceltFetched);
typedef IStorage *LPSTORAGE;
typedef struct tagRemSNB {
ULONG ulCntStr;
ULONG ulCntChar;
OLECHAR rgString[1];
} RemSNB;
typedef RemSNB *wireSNB;
typedef LPOLESTR *SNB;
extern const GUID IID_IStorage;
typedef struct IStorageVtbl {
HRESULT ( *QueryInterface)(
IStorage* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IStorage* This);
ULONG ( *Release)(
IStorage* This);
HRESULT ( *CreateStream)(
IStorage* This,
const OLECHAR *pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream **ppstm);
HRESULT ( *OpenStream)(
IStorage* This,
const OLECHAR *pwcsName,
void *reserved1,
DWORD grfMode,
DWORD reserved2,
IStream **ppstm);
HRESULT ( *CreateStorage)(
IStorage* This,
const OLECHAR *pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStorage **ppstg);
HRESULT ( *OpenStorage)(
IStorage* This,
const OLECHAR *pwcsName,
IStorage *pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage **ppstg);
HRESULT ( *CopyTo)(
IStorage* This,
DWORD ciidExclude,
const IID *rgiidExclude,
SNB snbExclude,
IStorage *pstgDest);
HRESULT ( *MoveElementTo)(
IStorage* This,
const OLECHAR *pwcsName,
IStorage *pstgDest,
const OLECHAR *pwcsNewName,
DWORD grfFlags);
HRESULT ( *Commit)(
IStorage* This,
DWORD grfCommitFlags);
HRESULT ( *Revert)(
IStorage* This);
HRESULT ( *EnumElements)(
IStorage* This,
DWORD reserved1,
void *reserved2,
DWORD reserved3,
IEnumSTATSTG **ppenum);
HRESULT ( *DestroyElement)(
IStorage* This,
const OLECHAR *pwcsName);
HRESULT ( *RenameElement)(
IStorage* This,
const OLECHAR *pwcsOldName,
const OLECHAR *pwcsNewName);
HRESULT ( *SetElementTimes)(
IStorage* This,
const OLECHAR *pwcsName,
const FILETIME *pctime,
const FILETIME *patime,
const FILETIME *pmtime);
HRESULT ( *SetClass)(
IStorage* This,
const IID *const clsid);
HRESULT ( *SetStateBits)(
IStorage* This,
DWORD grfStateBits,
DWORD grfMask);
HRESULT ( *Stat)(
IStorage* This,
STATSTG *pstatstg,
DWORD grfStatFlag);
} IStorageVtbl;
struct IStorage {
IStorageVtbl* lpVtbl;
};
HRESULT IStorage_CreateStream_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStream **ppstm);
void IStorage_CreateStream_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_RemoteOpenStream_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
ULONG cbReserved1,
byte *reserved1,
DWORD grfMode,
DWORD reserved2,
IStream **ppstm);
void IStorage_RemoteOpenStream_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_CreateStorage_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
DWORD grfMode,
DWORD reserved1,
DWORD reserved2,
IStorage **ppstg);
void IStorage_CreateStorage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_OpenStorage_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
IStorage *pstgPriority,
DWORD grfMode,
SNB snbExclude,
DWORD reserved,
IStorage **ppstg);
void IStorage_OpenStorage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_RemoteCopyTo_Proxy(
IStorage* This,
DWORD ciidExclude,
const IID *rgiidExclude,
SNB snbExclude,
IStorage *pstgDest);
void IStorage_RemoteCopyTo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_MoveElementTo_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
IStorage *pstgDest,
const OLECHAR *pwcsNewName,
DWORD grfFlags);
void IStorage_MoveElementTo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_Commit_Proxy(
IStorage* This,
DWORD grfCommitFlags);
void IStorage_Commit_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_Revert_Proxy(
IStorage* This);
void IStorage_Revert_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_RemoteEnumElements_Proxy(
IStorage* This,
DWORD reserved1,
ULONG cbReserved2,
byte *reserved2,
DWORD reserved3,
IEnumSTATSTG **ppenum);
void IStorage_RemoteEnumElements_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_DestroyElement_Proxy(
IStorage* This,
const OLECHAR *pwcsName);
void IStorage_DestroyElement_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_RenameElement_Proxy(
IStorage* This,
const OLECHAR *pwcsOldName,
const OLECHAR *pwcsNewName);
void IStorage_RenameElement_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_SetElementTimes_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
const FILETIME *pctime,
const FILETIME *patime,
const FILETIME *pmtime);
void IStorage_SetElementTimes_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_SetClass_Proxy(
IStorage* This,
const IID *const clsid);
void IStorage_SetClass_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_SetStateBits_Proxy(
IStorage* This,
DWORD grfStateBits,
DWORD grfMask);
void IStorage_SetStateBits_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_Stat_Proxy(
IStorage* This,
STATSTG *pstatstg,
DWORD grfStatFlag);
void IStorage_Stat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IStorage_OpenStream_Proxy(
IStorage* This,
const OLECHAR *pwcsName,
void *reserved1,
DWORD grfMode,
DWORD reserved2,
IStream **ppstm);
HRESULT IStorage_OpenStream_Stub(
IStorage* This,
const OLECHAR *pwcsName,
ULONG cbReserved1,
byte *reserved1,
DWORD grfMode,
DWORD reserved2,
IStream **ppstm);
HRESULT IStorage_CopyTo_Proxy(
IStorage* This,
DWORD ciidExclude,
const IID *rgiidExclude,
SNB snbExclude,
IStorage *pstgDest);
HRESULT IStorage_CopyTo_Stub(
IStorage* This,
DWORD ciidExclude,
const IID *rgiidExclude,
SNB snbExclude,
IStorage *pstgDest);
HRESULT IStorage_EnumElements_Proxy(
IStorage* This,
DWORD reserved1,
void *reserved2,
DWORD reserved3,
IEnumSTATSTG **ppenum);
HRESULT IStorage_EnumElements_Stub(
IStorage* This,
DWORD reserved1,
ULONG cbReserved2,
byte *reserved2,
DWORD reserved3,
IEnumSTATSTG **ppenum);
typedef IPersistFile *LPPERSISTFILE;
extern const GUID IID_IPersistFile;
typedef struct IPersistFileVtbl {
HRESULT ( *QueryInterface)(
IPersistFile* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistFile* This);
ULONG ( *Release)(
IPersistFile* This);
HRESULT ( *GetClassID)(
IPersistFile* This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistFile* This);
HRESULT ( *Load)(
IPersistFile* This,
LPCOLESTR pszFileName,
DWORD dwMode);
HRESULT ( *Save)(
IPersistFile* This,
LPCOLESTR pszFileName,
WINBOOL fRemember);
HRESULT ( *SaveCompleted)(
IPersistFile* This,
LPCOLESTR pszFileName);
HRESULT ( *GetCurFile)(
IPersistFile* This,
LPOLESTR *ppszFileName);
} IPersistFileVtbl;
struct IPersistFile {
IPersistFileVtbl* lpVtbl;
};
HRESULT IPersistFile_IsDirty_Proxy(
IPersistFile* This);
void IPersistFile_IsDirty_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistFile_Load_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName,
DWORD dwMode);
void IPersistFile_Load_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistFile_Save_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName,
WINBOOL fRemember);
void IPersistFile_Save_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistFile_SaveCompleted_Proxy(
IPersistFile* This,
LPCOLESTR pszFileName);
void IPersistFile_SaveCompleted_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistFile_GetCurFile_Proxy(
IPersistFile* This,
LPOLESTR *ppszFileName);
void IPersistFile_GetCurFile_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IPersistStorage *LPPERSISTSTORAGE;
extern const GUID IID_IPersistStorage;
typedef struct IPersistStorageVtbl {
HRESULT ( *QueryInterface)(
IPersistStorage* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistStorage* This);
ULONG ( *Release)(
IPersistStorage* This);
HRESULT ( *GetClassID)(
IPersistStorage* This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistStorage* This);
HRESULT ( *InitNew)(
IPersistStorage* This,
IStorage *pStg);
HRESULT ( *Load)(
IPersistStorage* This,
IStorage *pStg);
HRESULT ( *Save)(
IPersistStorage* This,
IStorage *pStgSave,
WINBOOL fSameAsLoad);
HRESULT ( *SaveCompleted)(
IPersistStorage* This,
IStorage *pStgNew);
HRESULT ( *HandsOffStorage)(
IPersistStorage* This);
} IPersistStorageVtbl;
struct IPersistStorage {
IPersistStorageVtbl* lpVtbl;
};
HRESULT IPersistStorage_IsDirty_Proxy(
IPersistStorage* This);
void IPersistStorage_IsDirty_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStorage_InitNew_Proxy(
IPersistStorage* This,
IStorage *pStg);
void IPersistStorage_InitNew_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStorage_Load_Proxy(
IPersistStorage* This,
IStorage *pStg);
void IPersistStorage_Load_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStorage_Save_Proxy(
IPersistStorage* This,
IStorage *pStgSave,
WINBOOL fSameAsLoad);
void IPersistStorage_Save_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStorage_SaveCompleted_Proxy(
IPersistStorage* This,
IStorage *pStgNew);
void IPersistStorage_SaveCompleted_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistStorage_HandsOffStorage_Proxy(
IPersistStorage* This);
void IPersistStorage_HandsOffStorage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef ILockBytes *LPLOCKBYTES;
extern const GUID IID_ILockBytes;
typedef struct ILockBytesVtbl {
HRESULT ( *QueryInterface)(
ILockBytes* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ILockBytes* This);
ULONG ( *Release)(
ILockBytes* This);
HRESULT ( *ReadAt)(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ( *WriteAt)(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ( *Flush)(
ILockBytes* This);
HRESULT ( *SetSize)(
ILockBytes* This,
ULARGE_INTEGER cb);
HRESULT ( *LockRegion)(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *UnlockRegion)(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
HRESULT ( *Stat)(
ILockBytes* This,
STATSTG *pstatstg,
DWORD grfStatFlag);
} ILockBytesVtbl;
struct ILockBytes {
ILockBytesVtbl* lpVtbl;
};
HRESULT ILockBytes_RemoteReadAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
byte *pv,
ULONG cb,
ULONG *pcbRead);
void ILockBytes_RemoteReadAt_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_RemoteWriteAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
void ILockBytes_RemoteWriteAt_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_Flush_Proxy(
ILockBytes* This);
void ILockBytes_Flush_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_SetSize_Proxy(
ILockBytes* This,
ULARGE_INTEGER cb);
void ILockBytes_SetSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_LockRegion_Proxy(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void ILockBytes_LockRegion_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_UnlockRegion_Proxy(
ILockBytes* This,
ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb,
DWORD dwLockType);
void ILockBytes_UnlockRegion_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_Stat_Proxy(
ILockBytes* This,
STATSTG *pstatstg,
DWORD grfStatFlag);
void ILockBytes_Stat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILockBytes_ReadAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ILockBytes_ReadAt_Stub(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
byte *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ILockBytes_WriteAt_Proxy(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ILockBytes_WriteAt_Stub(
ILockBytes* This,
ULARGE_INTEGER ulOffset,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
typedef IEnumFORMATETC *LPENUMFORMATETC;
typedef struct tagDVTARGETDEVICE {
DWORD tdSize;
WORD tdDriverNameOffset;
WORD tdDeviceNameOffset;
WORD tdPortNameOffset;
WORD tdExtDevmodeOffset;
BYTE tdData[1];
} DVTARGETDEVICE;
typedef CLIPFORMAT *LPCLIPFORMAT;
typedef struct tagFORMATETC {
CLIPFORMAT cfFormat;
DVTARGETDEVICE *ptd;
DWORD dwAspect;
LONG lindex;
DWORD tymed;
} FORMATETC;
typedef struct tagFORMATETC *LPFORMATETC;
extern const GUID IID_IEnumFORMATETC;
typedef struct IEnumFORMATETCVtbl {
HRESULT ( *QueryInterface)(
IEnumFORMATETC* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumFORMATETC* This);
ULONG ( *Release)(
IEnumFORMATETC* This);
HRESULT ( *Next)(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumFORMATETC* This,
ULONG celt);
HRESULT ( *Reset)(
IEnumFORMATETC* This);
HRESULT ( *Clone)(
IEnumFORMATETC* This,
IEnumFORMATETC **ppenum);
} IEnumFORMATETCVtbl;
struct IEnumFORMATETC {
IEnumFORMATETCVtbl* lpVtbl;
};
HRESULT IEnumFORMATETC_RemoteNext_Proxy(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC *rgelt,
ULONG *pceltFetched);
void IEnumFORMATETC_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumFORMATETC_Skip_Proxy(
IEnumFORMATETC* This,
ULONG celt);
void IEnumFORMATETC_Skip_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumFORMATETC_Reset_Proxy(
IEnumFORMATETC* This);
void IEnumFORMATETC_Reset_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumFORMATETC_Clone_Proxy(
IEnumFORMATETC* This,
IEnumFORMATETC **ppenum);
void IEnumFORMATETC_Clone_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumFORMATETC_Next_Proxy(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC *rgelt,
ULONG *pceltFetched);
HRESULT IEnumFORMATETC_Next_Stub(
IEnumFORMATETC* This,
ULONG celt,
FORMATETC *rgelt,
ULONG *pceltFetched);
typedef IEnumSTATDATA *LPENUMSTATDATA;
typedef enum tagADVF {
ADVF_NODATA = 1,
ADVF_PRIMEFIRST = 2,
ADVF_ONLYONCE = 4,
ADVF_DATAONSTOP = 64,
ADVFCACHE_NOHANDLER = 8,
ADVFCACHE_FORCEBUILTIN = 16,
ADVFCACHE_ONSAVE = 32
} ADVF;
typedef struct tagSTATDATA {
FORMATETC formatetc;
DWORD advf;
IAdviseSink *pAdvSink;
DWORD dwConnection;
} STATDATA;
typedef STATDATA *LPSTATDATA;
extern const GUID IID_IEnumSTATDATA;
typedef struct IEnumSTATDATAVtbl {
HRESULT ( *QueryInterface)(
IEnumSTATDATA* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumSTATDATA* This);
ULONG ( *Release)(
IEnumSTATDATA* This);
HRESULT ( *Next)(
IEnumSTATDATA* This,
ULONG celt,
STATDATA *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumSTATDATA* This,
ULONG celt);
HRESULT ( *Reset)(
IEnumSTATDATA* This);
HRESULT ( *Clone)(
IEnumSTATDATA* This,
IEnumSTATDATA **ppenum);
} IEnumSTATDATAVtbl;
struct IEnumSTATDATA {
IEnumSTATDATAVtbl* lpVtbl;
};
HRESULT IEnumSTATDATA_RemoteNext_Proxy(
IEnumSTATDATA* This,
ULONG celt,
STATDATA *rgelt,
ULONG *pceltFetched);
void IEnumSTATDATA_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATDATA_Skip_Proxy(
IEnumSTATDATA* This,
ULONG celt);
void IEnumSTATDATA_Skip_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATDATA_Reset_Proxy(
IEnumSTATDATA* This);
void IEnumSTATDATA_Reset_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATDATA_Clone_Proxy(
IEnumSTATDATA* This,
IEnumSTATDATA **ppenum);
void IEnumSTATDATA_Clone_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATDATA_Next_Proxy(
IEnumSTATDATA* This,
ULONG celt,
STATDATA *rgelt,
ULONG *pceltFetched);
HRESULT IEnumSTATDATA_Next_Stub(
IEnumSTATDATA* This,
ULONG celt,
STATDATA *rgelt,
ULONG *pceltFetched);
typedef IRootStorage *LPROOTSTORAGE;
extern const GUID IID_IRootStorage;
typedef struct IRootStorageVtbl {
HRESULT ( *QueryInterface)(
IRootStorage* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRootStorage* This);
ULONG ( *Release)(
IRootStorage* This);
HRESULT ( *SwitchToFile)(
IRootStorage* This,
LPOLESTR pszFile);
} IRootStorageVtbl;
struct IRootStorage {
IRootStorageVtbl* lpVtbl;
};
HRESULT IRootStorage_SwitchToFile_Proxy(
IRootStorage* This,
LPOLESTR pszFile);
void IRootStorage_SwitchToFile_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IAdviseSink *LPADVISESINK;
typedef enum tagTYMED {
TYMED_HGLOBAL = 1,
TYMED_FILE = 2,
TYMED_ISTREAM = 4,
TYMED_ISTORAGE = 8,
TYMED_GDI = 16,
TYMED_MFPICT = 32,
TYMED_ENHMF = 64,
TYMED_NULL = 0
} TYMED;
typedef struct tagRemSTGMEDIUM {
DWORD tymed;
DWORD dwHandleType;
ULONG pData;
ULONG pUnkForRelease;
ULONG cbData;
byte data[1];
} RemSTGMEDIUM;
typedef struct tagSTGMEDIUM {
DWORD tymed;
__extension__ union {
HBITMAP hBitmap;
HMETAFILEPICT hMetaFilePict;
HENHMETAFILE hEnhMetaFile;
HGLOBAL hGlobal;
LPOLESTR lpszFileName;
IStream *pstm;
IStorage *pstg;
} ;
IUnknown *pUnkForRelease;
} uSTGMEDIUM;
typedef struct _GDI_OBJECT {
DWORD ObjectType;
union {
wireHBITMAP hBitmap;
wireHPALETTE hPalette;
wireHGLOBAL hGeneric;
} u;
} GDI_OBJECT;
typedef struct _userSTGMEDIUM {
__extension__ struct _STGMEDIUM_UNION {
DWORD tymed;
union {
wireHMETAFILEPICT hMetaFilePict;
wireHENHMETAFILE hHEnhMetaFile;
GDI_OBJECT *hGdiHandle;
wireHGLOBAL hGlobal;
LPOLESTR lpszFileName;
BYTE_BLOB *pstm;
BYTE_BLOB *pstg;
} u;
} ;
IUnknown *pUnkForRelease;
} userSTGMEDIUM;
typedef userSTGMEDIUM *wireSTGMEDIUM;
typedef uSTGMEDIUM STGMEDIUM;
typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
typedef STGMEDIUM ASYNC_STGMEDIUM;
typedef STGMEDIUM *LPSTGMEDIUM;
typedef struct _userFLAG_STGMEDIUM {
LONG ContextFlags;
LONG fPassOwnership;
userSTGMEDIUM Stgmed;
} userFLAG_STGMEDIUM;
typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
typedef struct _FLAG_STGMEDIUM {
LONG ContextFlags;
LONG fPassOwnership;
STGMEDIUM Stgmed;
} FLAG_STGMEDIUM;
extern const GUID IID_IAdviseSink;
typedef struct IAdviseSinkVtbl {
HRESULT ( *QueryInterface)(
IAdviseSink* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAdviseSink* This);
ULONG ( *Release)(
IAdviseSink* This);
void ( *OnDataChange)(
IAdviseSink* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
void ( *OnViewChange)(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void ( *OnRename)(
IAdviseSink* This,
IMoniker *pmk);
void ( *OnSave)(
IAdviseSink* This);
void ( *OnClose)(
IAdviseSink* This);
} IAdviseSinkVtbl;
struct IAdviseSink {
IAdviseSinkVtbl* lpVtbl;
};
HRESULT IAdviseSink_RemoteOnDataChange_Proxy(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void IAdviseSink_RemoteOnDataChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IAdviseSink_RemoteOnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void IAdviseSink_RemoteOnViewChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IAdviseSink_RemoteOnRename_Proxy(
IAdviseSink* This,
IMoniker *pmk);
void IAdviseSink_RemoteOnRename_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IAdviseSink_RemoteOnSave_Proxy(
IAdviseSink* This);
void IAdviseSink_RemoteOnSave_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IAdviseSink_RemoteOnClose_Proxy(
IAdviseSink* This);
void IAdviseSink_RemoteOnClose_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IAdviseSink_OnDataChange_Proxy(
IAdviseSink* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
HRESULT IAdviseSink_OnDataChange_Stub(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void IAdviseSink_OnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
HRESULT IAdviseSink_OnViewChange_Stub(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void IAdviseSink_OnRename_Proxy(
IAdviseSink* This,
IMoniker *pmk);
HRESULT IAdviseSink_OnRename_Stub(
IAdviseSink* This,
IMoniker *pmk);
void IAdviseSink_OnSave_Proxy(
IAdviseSink* This);
HRESULT IAdviseSink_OnSave_Stub(
IAdviseSink* This);
void IAdviseSink_OnClose_Proxy(
IAdviseSink* This);
HRESULT IAdviseSink_OnClose_Stub(
IAdviseSink* This);
extern const GUID IID_AsyncIAdviseSink;
typedef struct AsyncIAdviseSinkVtbl {
HRESULT ( *QueryInterface)(
AsyncIAdviseSink* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
AsyncIAdviseSink* This);
ULONG ( *Release)(
AsyncIAdviseSink* This);
void ( *Begin_OnDataChange)(
AsyncIAdviseSink* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
void ( *Finish_OnDataChange)(
AsyncIAdviseSink* This);
void ( *Begin_OnViewChange)(
AsyncIAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void ( *Finish_OnViewChange)(
AsyncIAdviseSink* This);
void ( *Begin_OnRename)(
AsyncIAdviseSink* This,
IMoniker *pmk);
void ( *Finish_OnRename)(
AsyncIAdviseSink* This);
void ( *Begin_OnSave)(
AsyncIAdviseSink* This);
void ( *Finish_OnSave)(
AsyncIAdviseSink* This);
void ( *Begin_OnClose)(
AsyncIAdviseSink* This);
void ( *Finish_OnClose)(
AsyncIAdviseSink* This);
} AsyncIAdviseSinkVtbl;
struct AsyncIAdviseSink {
AsyncIAdviseSinkVtbl* lpVtbl;
};
HRESULT AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Begin_RemoteOnRename_Proxy(
IAdviseSink* This,
IMoniker *pmk);
void AsyncIAdviseSink_Begin_RemoteOnRename_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(
IAdviseSink* This,
IMoniker *pmk);
void AsyncIAdviseSink_Finish_RemoteOnRename_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(
IAdviseSink* This);
void AsyncIAdviseSink_Begin_RemoteOnSave_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(
IAdviseSink* This);
void AsyncIAdviseSink_Finish_RemoteOnSave_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(
IAdviseSink* This);
void AsyncIAdviseSink_Begin_RemoteOnClose_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(
IAdviseSink* This);
void AsyncIAdviseSink_Finish_RemoteOnClose_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void AsyncIAdviseSink_Begin_OnDataChange_Proxy(
IAdviseSink* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
HRESULT AsyncIAdviseSink_Begin_OnDataChange_Stub(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void AsyncIAdviseSink_Finish_OnDataChange_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Finish_OnDataChange_Stub(
IAdviseSink* This,
FORMATETC *pFormatetc,
ASYNC_STGMEDIUM *pStgmed);
void AsyncIAdviseSink_Begin_OnViewChange_Proxy(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
HRESULT AsyncIAdviseSink_Begin_OnViewChange_Stub(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void AsyncIAdviseSink_Finish_OnViewChange_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Finish_OnViewChange_Stub(
IAdviseSink* This,
DWORD dwAspect,
LONG lindex);
void AsyncIAdviseSink_Begin_OnRename_Proxy(
IAdviseSink* This,
IMoniker *pmk);
HRESULT AsyncIAdviseSink_Begin_OnRename_Stub(
IAdviseSink* This,
IMoniker *pmk);
void AsyncIAdviseSink_Finish_OnRename_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Finish_OnRename_Stub(
IAdviseSink* This,
IMoniker *pmk);
void AsyncIAdviseSink_Begin_OnSave_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Begin_OnSave_Stub(
IAdviseSink* This);
void AsyncIAdviseSink_Finish_OnSave_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Finish_OnSave_Stub(
IAdviseSink* This);
void AsyncIAdviseSink_Begin_OnClose_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Begin_OnClose_Stub(
IAdviseSink* This);
void AsyncIAdviseSink_Finish_OnClose_Proxy(
IAdviseSink* This);
HRESULT AsyncIAdviseSink_Finish_OnClose_Stub(
IAdviseSink* This);
typedef IAdviseSink2 *LPADVISESINK2;
extern const GUID IID_IAdviseSink2;
typedef struct IAdviseSink2Vtbl {
HRESULT ( *QueryInterface)(
IAdviseSink2* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAdviseSink2* This);
ULONG ( *Release)(
IAdviseSink2* This);
void ( *OnDataChange)(
IAdviseSink2* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
void ( *OnViewChange)(
IAdviseSink2* This,
DWORD dwAspect,
LONG lindex);
void ( *OnRename)(
IAdviseSink2* This,
IMoniker *pmk);
void ( *OnSave)(
IAdviseSink2* This);
void ( *OnClose)(
IAdviseSink2* This);
void ( *OnLinkSrcChange)(
IAdviseSink2* This,
IMoniker *pmk);
} IAdviseSink2Vtbl;
struct IAdviseSink2 {
IAdviseSink2Vtbl* lpVtbl;
};
HRESULT IAdviseSink2_RemoteOnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker *pmk);
void IAdviseSink2_RemoteOnLinkSrcChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IAdviseSink2_OnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker *pmk);
HRESULT IAdviseSink2_OnLinkSrcChange_Stub(
IAdviseSink2* This,
IMoniker *pmk);
extern const GUID IID_AsyncIAdviseSink2;
typedef struct AsyncIAdviseSink2Vtbl {
HRESULT ( *QueryInterface)(
AsyncIAdviseSink2* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
AsyncIAdviseSink2* This);
ULONG ( *Release)(
AsyncIAdviseSink2* This);
void ( *Begin_OnDataChange)(
AsyncIAdviseSink2* This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
void ( *Finish_OnDataChange)(
AsyncIAdviseSink2* This);
void ( *Begin_OnViewChange)(
AsyncIAdviseSink2* This,
DWORD dwAspect,
LONG lindex);
void ( *Finish_OnViewChange)(
AsyncIAdviseSink2* This);
void ( *Begin_OnRename)(
AsyncIAdviseSink2* This,
IMoniker *pmk);
void ( *Finish_OnRename)(
AsyncIAdviseSink2* This);
void ( *Begin_OnSave)(
AsyncIAdviseSink2* This);
void ( *Finish_OnSave)(
AsyncIAdviseSink2* This);
void ( *Begin_OnClose)(
AsyncIAdviseSink2* This);
void ( *Finish_OnClose)(
AsyncIAdviseSink2* This);
void ( *Begin_OnLinkSrcChange)(
AsyncIAdviseSink2* This,
IMoniker *pmk);
void ( *Finish_OnLinkSrcChange)(
AsyncIAdviseSink2* This);
} AsyncIAdviseSink2Vtbl;
struct AsyncIAdviseSink2 {
AsyncIAdviseSink2Vtbl* lpVtbl;
};
HRESULT AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker *pmk);
void AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker *pmk);
void AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy(
IAdviseSink2* This,
IMoniker *pmk);
HRESULT AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub(
IAdviseSink2* This,
IMoniker *pmk);
void AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(
IAdviseSink2* This);
HRESULT AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(
IAdviseSink2* This,
IMoniker *pmk);
typedef IDataObject *LPDATAOBJECT;
typedef enum tagDATADIR {
DATADIR_GET = 1,
DATADIR_SET = 2
} DATADIR;
extern const GUID IID_IDataObject;
typedef struct IDataObjectVtbl {
HRESULT ( *QueryInterface)(
IDataObject* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDataObject* This);
ULONG ( *Release)(
IDataObject* This);
HRESULT ( *GetData)(
IDataObject* This,
FORMATETC *pformatetcIn,
STGMEDIUM *pmedium);
HRESULT ( *GetDataHere)(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium);
HRESULT ( *QueryGetData)(
IDataObject* This,
FORMATETC *pformatetc);
HRESULT ( *GetCanonicalFormatEtc)(
IDataObject* This,
FORMATETC *pformatectIn,
FORMATETC *pformatetcOut);
HRESULT ( *SetData)(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium,
WINBOOL fRelease);
HRESULT ( *EnumFormatEtc)(
IDataObject* This,
DWORD dwDirection,
IEnumFORMATETC **ppenumFormatEtc);
HRESULT ( *DAdvise)(
IDataObject* This,
FORMATETC *pformatetc,
DWORD advf,
IAdviseSink *pAdvSink,
DWORD *pdwConnection);
HRESULT ( *DUnadvise)(
IDataObject* This,
DWORD dwConnection);
HRESULT ( *EnumDAdvise)(
IDataObject* This,
IEnumSTATDATA **ppenumAdvise);
} IDataObjectVtbl;
struct IDataObject {
IDataObjectVtbl* lpVtbl;
};
HRESULT IDataObject_RemoteGetData_Proxy(
IDataObject* This,
FORMATETC *pformatetcIn,
STGMEDIUM *pRemoteMedium);
void IDataObject_RemoteGetData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_RemoteGetDataHere_Proxy(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pRemoteMedium);
void IDataObject_RemoteGetDataHere_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_QueryGetData_Proxy(
IDataObject* This,
FORMATETC *pformatetc);
void IDataObject_QueryGetData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_GetCanonicalFormatEtc_Proxy(
IDataObject* This,
FORMATETC *pformatectIn,
FORMATETC *pformatetcOut);
void IDataObject_GetCanonicalFormatEtc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_RemoteSetData_Proxy(
IDataObject* This,
FORMATETC *pformatetc,
FLAG_STGMEDIUM *pmedium,
WINBOOL fRelease);
void IDataObject_RemoteSetData_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_EnumFormatEtc_Proxy(
IDataObject* This,
DWORD dwDirection,
IEnumFORMATETC **ppenumFormatEtc);
void IDataObject_EnumFormatEtc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_DAdvise_Proxy(
IDataObject* This,
FORMATETC *pformatetc,
DWORD advf,
IAdviseSink *pAdvSink,
DWORD *pdwConnection);
void IDataObject_DAdvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_DUnadvise_Proxy(
IDataObject* This,
DWORD dwConnection);
void IDataObject_DUnadvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_EnumDAdvise_Proxy(
IDataObject* This,
IEnumSTATDATA **ppenumAdvise);
void IDataObject_EnumDAdvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataObject_GetData_Proxy(
IDataObject* This,
FORMATETC *pformatetcIn,
STGMEDIUM *pmedium);
HRESULT IDataObject_GetData_Stub(
IDataObject* This,
FORMATETC *pformatetcIn,
STGMEDIUM *pRemoteMedium);
HRESULT IDataObject_GetDataHere_Proxy(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium);
HRESULT IDataObject_GetDataHere_Stub(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pRemoteMedium);
HRESULT IDataObject_SetData_Proxy(
IDataObject* This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium,
WINBOOL fRelease);
HRESULT IDataObject_SetData_Stub(
IDataObject* This,
FORMATETC *pformatetc,
FLAG_STGMEDIUM *pmedium,
WINBOOL fRelease);
typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
extern const GUID IID_IDataAdviseHolder;
typedef struct IDataAdviseHolderVtbl {
HRESULT ( *QueryInterface)(
IDataAdviseHolder* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDataAdviseHolder* This);
ULONG ( *Release)(
IDataAdviseHolder* This);
HRESULT ( *Advise)(
IDataAdviseHolder* This,
IDataObject *pDataObject,
FORMATETC *pFetc,
DWORD advf,
IAdviseSink *pAdvise,
DWORD *pdwConnection);
HRESULT ( *Unadvise)(
IDataAdviseHolder* This,
DWORD dwConnection);
HRESULT ( *EnumAdvise)(
IDataAdviseHolder* This,
IEnumSTATDATA **ppenumAdvise);
HRESULT ( *SendOnDataChange)(
IDataAdviseHolder* This,
IDataObject *pDataObject,
DWORD dwReserved,
DWORD advf);
} IDataAdviseHolderVtbl;
struct IDataAdviseHolder {
IDataAdviseHolderVtbl* lpVtbl;
};
HRESULT IDataAdviseHolder_Advise_Proxy(
IDataAdviseHolder* This,
IDataObject *pDataObject,
FORMATETC *pFetc,
DWORD advf,
IAdviseSink *pAdvise,
DWORD *pdwConnection);
void IDataAdviseHolder_Advise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataAdviseHolder_Unadvise_Proxy(
IDataAdviseHolder* This,
DWORD dwConnection);
void IDataAdviseHolder_Unadvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataAdviseHolder_EnumAdvise_Proxy(
IDataAdviseHolder* This,
IEnumSTATDATA **ppenumAdvise);
void IDataAdviseHolder_EnumAdvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDataAdviseHolder_SendOnDataChange_Proxy(
IDataAdviseHolder* This,
IDataObject *pDataObject,
DWORD dwReserved,
DWORD advf);
void IDataAdviseHolder_SendOnDataChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IMessageFilter *LPMESSAGEFILTER;
typedef enum tagCALLTYPE {
CALLTYPE_TOPLEVEL = 1,
CALLTYPE_NESTED = 2,
CALLTYPE_ASYNC = 3,
CALLTYPE_TOPLEVEL_CALLPENDING = 4,
CALLTYPE_ASYNC_CALLPENDING = 5
} CALLTYPE;
typedef enum tagSERVERCALL {
SERVERCALL_ISHANDLED = 0,
SERVERCALL_REJECTED = 1,
SERVERCALL_RETRYLATER = 2
} SERVERCALL;
typedef enum tagPENDINGTYPE {
PENDINGTYPE_TOPLEVEL = 1,
PENDINGTYPE_NESTED = 2
} PENDINGTYPE;
typedef enum tagPENDINGMSG {
PENDINGMSG_CANCELCALL = 0,
PENDINGMSG_WAITNOPROCESS = 1,
PENDINGMSG_WAITDEFPROCESS = 2
} PENDINGMSG;
typedef struct tagINTERFACEINFO {
IUnknown *pUnk;
IID iid;
WORD wMethod;
} INTERFACEINFO;
typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
extern const GUID IID_IMessageFilter;
typedef struct IMessageFilterVtbl {
HRESULT ( *QueryInterface)(
IMessageFilter* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMessageFilter* This);
ULONG ( *Release)(
IMessageFilter* This);
DWORD ( *HandleInComingCall)(
IMessageFilter* This,
DWORD dwCallType,
HTASK htaskCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo);
DWORD ( *RetryRejectedCall)(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwRejectType);
DWORD ( *MessagePending)(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwPendingType);
} IMessageFilterVtbl;
struct IMessageFilter {
IMessageFilterVtbl* lpVtbl;
};
DWORD IMessageFilter_HandleInComingCall_Proxy(
IMessageFilter* This,
DWORD dwCallType,
HTASK htaskCaller,
DWORD dwTickCount,
LPINTERFACEINFO lpInterfaceInfo);
void IMessageFilter_HandleInComingCall_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
DWORD IMessageFilter_RetryRejectedCall_Proxy(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwRejectType);
void IMessageFilter_RetryRejectedCall_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
DWORD IMessageFilter_MessagePending_Proxy(
IMessageFilter* This,
HTASK htaskCallee,
DWORD dwTickCount,
DWORD dwPendingType);
void IMessageFilter_MessagePending_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const FMTID FMTID_SummaryInformation;
extern const FMTID FMTID_DocSummaryInformation;
extern const FMTID FMTID_UserDefinedProperties;
extern const FMTID FMTID_DiscardableInformation;
extern const FMTID FMTID_ImageSummaryInformation;
extern const FMTID FMTID_AudioSummaryInformation;
extern const FMTID FMTID_VideoSummaryInformation;
extern const FMTID FMTID_MediaFileSummaryInformation;
extern const GUID IID_IClassActivator;
typedef struct IClassActivatorVtbl {
HRESULT ( *QueryInterface)(
IClassActivator* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IClassActivator* This);
ULONG ( *Release)(
IClassActivator* This);
HRESULT ( *GetClassObject)(
IClassActivator* This,
const IID *const rclsid,
DWORD dwClassContext,
LCID locale,
const IID *const riid,
void **ppv);
} IClassActivatorVtbl;
struct IClassActivator {
IClassActivatorVtbl* lpVtbl;
};
HRESULT IClassActivator_GetClassObject_Proxy(
IClassActivator* This,
const IID *const rclsid,
DWORD dwClassContext,
LCID locale,
const IID *const riid,
void **ppv);
void IClassActivator_GetClassObject_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IFillLockBytes;
typedef struct IFillLockBytesVtbl {
HRESULT ( *QueryInterface)(
IFillLockBytes* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IFillLockBytes* This);
ULONG ( *Release)(
IFillLockBytes* This);
HRESULT ( *FillAppend)(
IFillLockBytes* This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ( *FillAt)(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT ( *SetFillSize)(
IFillLockBytes* This,
ULARGE_INTEGER ulSize);
HRESULT ( *Terminate)(
IFillLockBytes* This,
WINBOOL bCanceled);
} IFillLockBytesVtbl;
struct IFillLockBytes {
IFillLockBytesVtbl* lpVtbl;
};
HRESULT IFillLockBytes_RemoteFillAppend_Proxy(
IFillLockBytes* This,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
void IFillLockBytes_RemoteFillAppend_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IFillLockBytes_RemoteFillAt_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
void IFillLockBytes_RemoteFillAt_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IFillLockBytes_SetFillSize_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulSize);
void IFillLockBytes_SetFillSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IFillLockBytes_Terminate_Proxy(
IFillLockBytes* This,
WINBOOL bCanceled);
void IFillLockBytes_Terminate_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IFillLockBytes_FillAppend_Proxy(
IFillLockBytes* This,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT IFillLockBytes_FillAppend_Stub(
IFillLockBytes* This,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT IFillLockBytes_FillAt_Proxy(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const void *pv,
ULONG cb,
ULONG *pcbWritten);
HRESULT IFillLockBytes_FillAt_Stub(
IFillLockBytes* This,
ULARGE_INTEGER ulOffset,
const byte *pv,
ULONG cb,
ULONG *pcbWritten);
extern const GUID IID_IProgressNotify;
typedef struct IProgressNotifyVtbl {
HRESULT ( *QueryInterface)(
IProgressNotify* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProgressNotify* This);
ULONG ( *Release)(
IProgressNotify* This);
HRESULT ( *OnProgress)(
IProgressNotify* This,
DWORD dwProgressCurrent,
DWORD dwProgressMaximum,
WINBOOL fAccurate,
WINBOOL fOwner);
} IProgressNotifyVtbl;
struct IProgressNotify {
IProgressNotifyVtbl* lpVtbl;
};
HRESULT IProgressNotify_OnProgress_Proxy(
IProgressNotify* This,
DWORD dwProgressCurrent,
DWORD dwProgressMaximum,
WINBOOL fAccurate,
WINBOOL fOwner);
void IProgressNotify_OnProgress_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef struct tagStorageLayout {
DWORD LayoutType;
OLECHAR *pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
extern const GUID IID_ILayoutStorage;
typedef struct ILayoutStorageVtbl {
HRESULT ( *QueryInterface)(
ILayoutStorage* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ILayoutStorage* This);
ULONG ( *Release)(
ILayoutStorage* This);
HRESULT ( *LayoutScript)(
ILayoutStorage* This,
StorageLayout *pStorageLayout,
DWORD nEntries,
DWORD glfInterleavedFlag);
HRESULT ( *BeginMonitor)(
ILayoutStorage* This);
HRESULT ( *EndMonitor)(
ILayoutStorage* This);
HRESULT ( *ReLayoutDocfile)(
ILayoutStorage* This,
OLECHAR *pwcsNewDfName);
HRESULT ( *ReLayoutDocfileOnILockBytes)(
ILayoutStorage* This,
ILockBytes *pILockBytes);
} ILayoutStorageVtbl;
struct ILayoutStorage {
ILayoutStorageVtbl* lpVtbl;
};
HRESULT ILayoutStorage_LayoutScript_Proxy(
ILayoutStorage* This,
StorageLayout *pStorageLayout,
DWORD nEntries,
DWORD glfInterleavedFlag);
void ILayoutStorage_LayoutScript_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILayoutStorage_BeginMonitor_Proxy(
ILayoutStorage* This);
void ILayoutStorage_BeginMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILayoutStorage_EndMonitor_Proxy(
ILayoutStorage* This);
void ILayoutStorage_EndMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILayoutStorage_ReLayoutDocfile_Proxy(
ILayoutStorage* This,
OLECHAR *pwcsNewDfName);
void ILayoutStorage_ReLayoutDocfile_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(
ILayoutStorage* This,
ILockBytes *pILockBytes);
void ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IBlockingLock;
typedef struct IBlockingLockVtbl {
HRESULT ( *QueryInterface)(
IBlockingLock* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBlockingLock* This);
ULONG ( *Release)(
IBlockingLock* This);
HRESULT ( *Lock)(
IBlockingLock* This,
DWORD dwTimeout);
HRESULT ( *Unlock)(
IBlockingLock* This);
} IBlockingLockVtbl;
struct IBlockingLock {
IBlockingLockVtbl* lpVtbl;
};
HRESULT IBlockingLock_Lock_Proxy(
IBlockingLock* This,
DWORD dwTimeout);
void IBlockingLock_Lock_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBlockingLock_Unlock_Proxy(
IBlockingLock* This);
void IBlockingLock_Unlock_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_ITimeAndNoticeControl;
typedef struct ITimeAndNoticeControlVtbl {
HRESULT ( *QueryInterface)(
ITimeAndNoticeControl* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITimeAndNoticeControl* This);
ULONG ( *Release)(
ITimeAndNoticeControl* This);
HRESULT ( *SuppressChanges)(
ITimeAndNoticeControl* This,
DWORD res1,
DWORD res2);
} ITimeAndNoticeControlVtbl;
struct ITimeAndNoticeControl {
ITimeAndNoticeControlVtbl* lpVtbl;
};
HRESULT ITimeAndNoticeControl_SuppressChanges_Proxy(
ITimeAndNoticeControl* This,
DWORD res1,
DWORD res2);
void ITimeAndNoticeControl_SuppressChanges_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IOplockStorage;
typedef struct IOplockStorageVtbl {
HRESULT ( *QueryInterface)(
IOplockStorage* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOplockStorage* This);
ULONG ( *Release)(
IOplockStorage* This);
HRESULT ( *CreateStorageEx)(
IOplockStorage* This,
LPCWSTR pwcsName,
DWORD grfMode,
DWORD stgfmt,
DWORD grfAttrs,
const IID *const riid,
void **ppstgOpen);
HRESULT ( *OpenStorageEx)(
IOplockStorage* This,
LPCWSTR pwcsName,
DWORD grfMode,
DWORD stgfmt,
DWORD grfAttrs,
const IID *const riid,
void **ppstgOpen);
} IOplockStorageVtbl;
struct IOplockStorage {
IOplockStorageVtbl* lpVtbl;
};
HRESULT IOplockStorage_CreateStorageEx_Proxy(
IOplockStorage* This,
LPCWSTR pwcsName,
DWORD grfMode,
DWORD stgfmt,
DWORD grfAttrs,
const IID *const riid,
void **ppstgOpen);
void IOplockStorage_CreateStorageEx_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IOplockStorage_OpenStorageEx_Proxy(
IOplockStorage* This,
LPCWSTR pwcsName,
DWORD grfMode,
DWORD stgfmt,
DWORD grfAttrs,
const IID *const riid,
void **ppstgOpen);
void IOplockStorage_OpenStorageEx_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IDirectWriterLock;
typedef struct IDirectWriterLockVtbl {
HRESULT ( *QueryInterface)(
IDirectWriterLock* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDirectWriterLock* This);
ULONG ( *Release)(
IDirectWriterLock* This);
HRESULT ( *WaitForWriteAccess)(
IDirectWriterLock* This,
DWORD dwTimeout);
HRESULT ( *ReleaseWriteAccess)(
IDirectWriterLock* This);
HRESULT ( *HaveWriteAccess)(
IDirectWriterLock* This);
} IDirectWriterLockVtbl;
struct IDirectWriterLock {
IDirectWriterLockVtbl* lpVtbl;
};
HRESULT IDirectWriterLock_WaitForWriteAccess_Proxy(
IDirectWriterLock* This,
DWORD dwTimeout);
void IDirectWriterLock_WaitForWriteAccess_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDirectWriterLock_ReleaseWriteAccess_Proxy(
IDirectWriterLock* This);
void IDirectWriterLock_ReleaseWriteAccess_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDirectWriterLock_HaveWriteAccess_Proxy(
IDirectWriterLock* This);
void IDirectWriterLock_HaveWriteAccess_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IUrlMon;
typedef struct IUrlMonVtbl {
HRESULT ( *QueryInterface)(
IUrlMon* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IUrlMon* This);
ULONG ( *Release)(
IUrlMon* This);
HRESULT ( *AsyncGetClassBits)(
IUrlMon* This,
const IID *const rclsid,
LPCWSTR pszTYPE,
LPCWSTR pszExt,
DWORD dwFileVersionMS,
DWORD dwFileVersionLS,
LPCWSTR pszCodeBase,
IBindCtx *pbc,
DWORD dwClassContext,
const IID *const riid,
DWORD flags);
} IUrlMonVtbl;
struct IUrlMon {
IUrlMonVtbl* lpVtbl;
};
HRESULT IUrlMon_AsyncGetClassBits_Proxy(
IUrlMon* This,
const IID *const rclsid,
LPCWSTR pszTYPE,
LPCWSTR pszExt,
DWORD dwFileVersionMS,
DWORD dwFileVersionLS,
LPCWSTR pszCodeBase,
IBindCtx *pbc,
DWORD dwClassContext,
const IID *const riid,
DWORD flags);
void IUrlMon_AsyncGetClassBits_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IForegroundTransfer;
typedef struct IForegroundTransferVtbl {
HRESULT ( *QueryInterface)(
IForegroundTransfer* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IForegroundTransfer* This);
ULONG ( *Release)(
IForegroundTransfer* This);
HRESULT ( *AllowForegroundTransfer)(
IForegroundTransfer* This,
void *lpvReserved);
} IForegroundTransferVtbl;
struct IForegroundTransfer {
IForegroundTransferVtbl* lpVtbl;
};
HRESULT IForegroundTransfer_AllowForegroundTransfer_Proxy(
IForegroundTransfer* This,
void *lpvReserved);
void IForegroundTransfer_AllowForegroundTransfer_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IThumbnailExtractor;
typedef struct IThumbnailExtractorVtbl {
HRESULT ( *QueryInterface)(
IThumbnailExtractor* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IThumbnailExtractor* This);
ULONG ( *Release)(
IThumbnailExtractor* This);
HRESULT ( *ExtractThumbnail)(
IThumbnailExtractor* This,
IStorage *pStg,
ULONG ulLength,
ULONG ulHeight,
ULONG *pulOutputLength,
ULONG *pulOutputHeight,
HBITMAP *phOutputBitmap);
HRESULT ( *OnFileUpdated)(
IThumbnailExtractor* This,
IStorage *pStg);
} IThumbnailExtractorVtbl;
struct IThumbnailExtractor {
IThumbnailExtractorVtbl* lpVtbl;
};
HRESULT IThumbnailExtractor_ExtractThumbnail_Proxy(
IThumbnailExtractor* This,
IStorage *pStg,
ULONG ulLength,
ULONG ulHeight,
ULONG *pulOutputLength,
ULONG *pulOutputHeight,
HBITMAP *phOutputBitmap);
void IThumbnailExtractor_ExtractThumbnail_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IThumbnailExtractor_OnFileUpdated_Proxy(
IThumbnailExtractor* This,
IStorage *pStg);
void IThumbnailExtractor_OnFileUpdated_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IDummyHICONIncluder;
typedef struct IDummyHICONIncluderVtbl {
HRESULT ( *QueryInterface)(
IDummyHICONIncluder* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDummyHICONIncluder* This);
ULONG ( *Release)(
IDummyHICONIncluder* This);
HRESULT ( *Dummy)(
IDummyHICONIncluder* This,
HICON h1,
HDC h2);
} IDummyHICONIncluderVtbl;
struct IDummyHICONIncluder {
IDummyHICONIncluderVtbl* lpVtbl;
};
HRESULT IDummyHICONIncluder_Dummy_Proxy(
IDummyHICONIncluder* This,
HICON h1,
HDC h2);
void IDummyHICONIncluder_Dummy_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef enum tagApplicationType {
ServerApplication = 0,
LibraryApplication = 1
} ApplicationType;
typedef enum tagShutdownType {
IdleShutdown = 0,
ForcedShutdown = 1
} ShutdownType;
extern const GUID IID_IProcessLock;
typedef struct IProcessLockVtbl {
HRESULT ( *QueryInterface)(
IProcessLock* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProcessLock* This);
ULONG ( *Release)(
IProcessLock* This);
ULONG ( *AddRefOnProcess)(
IProcessLock* This);
ULONG ( *ReleaseRefOnProcess)(
IProcessLock* This);
} IProcessLockVtbl;
struct IProcessLock {
IProcessLockVtbl* lpVtbl;
};
ULONG IProcessLock_AddRefOnProcess_Proxy(
IProcessLock* This);
void IProcessLock_AddRefOnProcess_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG IProcessLock_ReleaseRefOnProcess_Proxy(
IProcessLock* This);
void IProcessLock_ReleaseRefOnProcess_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_ISurrogateService;
typedef struct ISurrogateServiceVtbl {
HRESULT ( *QueryInterface)(
ISurrogateService* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISurrogateService* This);
ULONG ( *Release)(
ISurrogateService* This);
HRESULT ( *Init)(
ISurrogateService* This,
const GUID *const rguidProcessID,
IProcessLock *pProcessLock,
WINBOOL *pfApplicationAware);
HRESULT ( *ApplicationLaunch)(
ISurrogateService* This,
const GUID *const rguidApplID,
ApplicationType appType);
HRESULT ( *ApplicationFree)(
ISurrogateService* This,
const GUID *const rguidApplID);
HRESULT ( *CatalogRefresh)(
ISurrogateService* This,
ULONG ulReserved);
HRESULT ( *ProcessShutdown)(
ISurrogateService* This,
ShutdownType shutdownType);
} ISurrogateServiceVtbl;
struct ISurrogateService {
ISurrogateServiceVtbl* lpVtbl;
};
HRESULT ISurrogateService_Init_Proxy(
ISurrogateService* This,
const GUID *const rguidProcessID,
IProcessLock *pProcessLock,
WINBOOL *pfApplicationAware);
void ISurrogateService_Init_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISurrogateService_ApplicationLaunch_Proxy(
ISurrogateService* This,
const GUID *const rguidApplID,
ApplicationType appType);
void ISurrogateService_ApplicationLaunch_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISurrogateService_ApplicationFree_Proxy(
ISurrogateService* This,
const GUID *const rguidApplID);
void ISurrogateService_ApplicationFree_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISurrogateService_CatalogRefresh_Proxy(
ISurrogateService* This,
ULONG ulReserved);
void ISurrogateService_CatalogRefresh_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ISurrogateService_ProcessShutdown_Proxy(
ISurrogateService* This,
ShutdownType shutdownType);
void ISurrogateService_ProcessShutdown_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
typedef IInitializeSpy *LPINITIALIZESPY;
extern const GUID IID_IInitializeSpy;
typedef struct IInitializeSpyVtbl {
HRESULT ( *QueryInterface)(
IInitializeSpy* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInitializeSpy* This);
ULONG ( *Release)(
IInitializeSpy* This);
HRESULT ( *PreInitialize)(
IInitializeSpy* This,
DWORD dwCoInit,
DWORD dwCurThreadAptRefs);
HRESULT ( *PostInitialize)(
IInitializeSpy* This,
HRESULT hrCoInit,
DWORD dwCoInit,
DWORD dwNewThreadAptRefs);
HRESULT ( *PreUninitialize)(
IInitializeSpy* This,
DWORD dwCurThreadAptRefs);
HRESULT ( *PostUninitialize)(
IInitializeSpy* This,
DWORD dwNewThreadAptRefs);
} IInitializeSpyVtbl;
struct IInitializeSpy {
IInitializeSpyVtbl* lpVtbl;
};
HRESULT IInitializeSpy_PreInitialize_Proxy(
IInitializeSpy* This,
DWORD dwCoInit,
DWORD dwCurThreadAptRefs);
void IInitializeSpy_PreInitialize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IInitializeSpy_PostInitialize_Proxy(
IInitializeSpy* This,
HRESULT hrCoInit,
DWORD dwCoInit,
DWORD dwNewThreadAptRefs);
void IInitializeSpy_PostInitialize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IInitializeSpy_PreUninitialize_Proxy(
IInitializeSpy* This,
DWORD dwCurThreadAptRefs);
void IInitializeSpy_PreUninitialize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IInitializeSpy_PostUninitialize_Proxy(
IInitializeSpy* This,
DWORD dwNewThreadAptRefs);
void IInitializeSpy_PostUninitialize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
extern const GUID IID_IApartmentShutdown;
typedef struct IApartmentShutdownVtbl {
HRESULT ( *QueryInterface)(
IApartmentShutdown* This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IApartmentShutdown* This);
ULONG ( *Release)(
IApartmentShutdown* This);
void ( *OnUninitialize)(
IApartmentShutdown* This,
UINT64 ui64ApartmentIdentifier);
} IApartmentShutdownVtbl;
struct IApartmentShutdown {
IApartmentShutdownVtbl* lpVtbl;
};
void IApartmentShutdown_OnUninitialize_Proxy(
IApartmentShutdown* This,
UINT64 ui64ApartmentIdentifier);
void IApartmentShutdown_OnUninitialize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
ULONG SNB_UserSize (ULONG *, ULONG, SNB *);
unsigned char * SNB_UserMarshal (ULONG *, unsigned char *, SNB *);
unsigned char * SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
void SNB_UserFree (ULONG *, SNB *);
ULONG CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
void CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
ULONG STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
unsigned char * STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
unsigned char * STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
void STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
ULONG ASYNC_STGMEDIUM_UserSize (ULONG *, ULONG, ASYNC_STGMEDIUM *);
unsigned char * ASYNC_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
unsigned char * ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
void ASYNC_STGMEDIUM_UserFree (ULONG *, ASYNC_STGMEDIUM *);
ULONG FLAG_STGMEDIUM_UserSize (ULONG *, ULONG, FLAG_STGMEDIUM *);
unsigned char * FLAG_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, FLAG_STGMEDIUM *);
unsigned char * FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *);
void FLAG_STGMEDIUM_UserFree (ULONG *, FLAG_STGMEDIUM *);
ULONG HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *);
unsigned char * HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *);
unsigned char * HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
void HBITMAP_UserFree (ULONG *, HBITMAP *);
ULONG HICON_UserSize (ULONG *, ULONG, HICON *);
unsigned char * HICON_UserMarshal (ULONG *, unsigned char *, HICON *);
unsigned char * HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
void HICON_UserFree (ULONG *, HICON *);
ULONG HDC_UserSize (ULONG *, ULONG, HDC *);
unsigned char * HDC_UserMarshal (ULONG *, unsigned char *, HDC *);
unsigned char * HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
void HDC_UserFree (ULONG *, HDC *);
extern __attribute__((dllimport)) DWORD CoBuildVersion (void);
extern __attribute__((dllimport)) HRESULT CoInitialize (LPVOID pvReserved);
extern __attribute__((dllimport)) HRESULT CoRegisterMallocSpy (LPMALLOCSPY pMallocSpy);
extern __attribute__((dllimport)) HRESULT CoRevokeMallocSpy (void);
extern __attribute__((dllimport)) HRESULT CoCreateStandardMalloc (DWORD memctx, IMalloc **ppMalloc);
extern __attribute__((dllimport)) HRESULT CoRegisterInitializeSpy (LPINITIALIZESPY pSpy, ULARGE_INTEGER *puliCookie);
extern __attribute__((dllimport)) HRESULT CoRevokeInitializeSpy (ULARGE_INTEGER uliCookie);
typedef enum tagCOMSD {
SD_LAUNCHPERMISSIONS = 0,
SD_ACCESSPERMISSIONS = 1,
SD_LAUNCHRESTRICTIONS = 2,
SD_ACCESSRESTRICTIONS = 3
} COMSD;
extern __attribute__((dllimport)) HRESULT CoGetSystemSecurityPermissions (COMSD comSDType, PSECURITY_DESCRIPTOR *ppSD);
extern __attribute__((dllimport)) HINSTANCE CoLoadLibrary (LPOLESTR lpszLibName, WINBOOL bAutoFree);
extern __attribute__((dllimport)) void CoFreeLibrary (HINSTANCE hInst);
extern __attribute__((dllimport)) void CoFreeAllLibraries (void);
extern __attribute__((dllimport)) HRESULT CoGetInstanceFromFile (COSERVERINFO *pServerInfo, CLSID *pClsid, IUnknown *punkOuter, DWORD dwClsCtx, DWORD grfMode, OLECHAR *pwszName, DWORD dwCount, MULTI_QI *pResults);
extern __attribute__((dllimport)) HRESULT CoGetInstanceFromIStorage (COSERVERINFO *pServerInfo, CLSID *pClsid, IUnknown *punkOuter, DWORD dwClsCtx, struct IStorage *pstg, DWORD dwCount, MULTI_QI *pResults);
extern __attribute__((dllimport)) HRESULT CoAllowSetForegroundWindow (IUnknown *pUnk, LPVOID lpvReserved);
extern __attribute__((dllimport)) HRESULT DcomChannelSetHResult (LPVOID pvReserved, ULONG *pulReserved, HRESULT appsHR);
extern __attribute__((dllimport)) WINBOOL CoIsOle1Class (const IID *const rclsid);
extern __attribute__((dllimport)) HRESULT CLSIDFromProgIDEx (LPCOLESTR lpszProgID, LPCLSID lpclsid);
extern __attribute__((dllimport)) WINBOOL CoFileTimeToDosDateTime (FILETIME *lpFileTime, LPWORD lpDosDate, LPWORD lpDosTime);
extern __attribute__((dllimport)) WINBOOL CoDosDateTimeToFileTime (WORD nDosDate, WORD nDosTime, FILETIME *lpFileTime);
extern __attribute__((dllimport)) HRESULT CoFileTimeNow (FILETIME *lpFileTime);
extern __attribute__((dllimport)) HRESULT CoRegisterMessageFilter (LPMESSAGEFILTER lpMessageFilter, LPMESSAGEFILTER *lplpMessageFilter);
extern __attribute__((dllimport)) HRESULT CoRegisterChannelHook (const GUID *const ExtensionUuid, IChannelHook *pChannelHook);
extern __attribute__((dllimport)) HRESULT CoTreatAsClass (const IID *const clsidOld, const IID *const clsidNew);
extern __attribute__((dllimport)) HRESULT CreateDataAdviseHolder (LPDATAADVISEHOLDER *ppDAHolder);
extern __attribute__((dllimport)) HRESULT CreateDataCache (LPUNKNOWN pUnkOuter, const IID *const rclsid, const IID *const iid, LPVOID *ppv);
extern __attribute__((dllimport)) HRESULT StgOpenLayoutDocfile (OLECHAR const *pwcsDfName, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgCreateDocfile (const WCHAR *pwcsName, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgCreateDocfileOnILockBytes (ILockBytes *plkbyt, DWORD grfMode, DWORD reserved, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgOpenStorage (const WCHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgOpenStorageOnILockBytes (ILockBytes *plkbyt, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgIsStorageFile (const WCHAR *pwcsName);
extern __attribute__((dllimport)) HRESULT StgIsStorageILockBytes (ILockBytes *plkbyt);
extern __attribute__((dllimport)) HRESULT StgSetTimes (const WCHAR *lpszName, const FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime);
extern __attribute__((dllimport)) HRESULT StgOpenAsyncDocfileOnIFillLockBytes (IFillLockBytes *pflb, DWORD grfMode, DWORD asyncFlags, IStorage **ppstgOpen);
extern __attribute__((dllimport)) HRESULT StgGetIFillLockBytesOnILockBytes (ILockBytes *pilb, IFillLockBytes **ppflb);
extern __attribute__((dllimport)) HRESULT StgGetIFillLockBytesOnFile (OLECHAR const *pwcsName, IFillLockBytes **ppflb);
typedef struct tagSTGOPTIONS {
USHORT usVersion;
USHORT reserved;
ULONG ulSectorSize;
const WCHAR *pwcsTemplateFile;
} STGOPTIONS;
extern __attribute__((dllimport)) HRESULT StgCreateStorageEx (const WCHAR *pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS *pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, const IID *const riid, void **ppObjectOpen);
extern __attribute__((dllimport)) HRESULT StgOpenStorageEx (const WCHAR *pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS *pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, const IID *const riid, void **ppObjectOpen);
extern __attribute__((dllimport)) HRESULT BindMoniker (LPMONIKER pmk, DWORD grfOpt, const IID *const iidResult, LPVOID *ppvResult);
extern __attribute__((dllimport)) HRESULT CoGetObject (LPCWSTR pszName, BIND_OPTS *pBindOptions, const IID *const riid, void **ppv);
extern __attribute__((dllimport)) HRESULT MkParseDisplayName (LPBC pbc, LPCOLESTR szUserName, ULONG *pchEaten, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT MonikerRelativePathTo (LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER *ppmkRelPath, WINBOOL dwReserved);
extern __attribute__((dllimport)) HRESULT MonikerCommonPrefixWith (LPMONIKER pmkThis, LPMONIKER pmkOther, LPMONIKER *ppmkCommon);
extern __attribute__((dllimport)) HRESULT CreateBindCtx (DWORD reserved, LPBC *ppbc);
extern __attribute__((dllimport)) HRESULT CreateGenericComposite (LPMONIKER pmkFirst, LPMONIKER pmkRest, LPMONIKER *ppmkComposite);
extern __attribute__((dllimport)) HRESULT GetClassFile (LPCOLESTR szFilename, CLSID *pclsid);
extern __attribute__((dllimport)) HRESULT CreateClassMoniker (const IID *const rclsid, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CreateFileMoniker (LPCOLESTR lpszPathName, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CreateItemMoniker (LPCOLESTR lpszDelim, LPCOLESTR lpszItem, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CreateAntiMoniker (LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CreatePointerMoniker (LPUNKNOWN punk, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CreateObjrefMoniker (LPUNKNOWN punk, LPMONIKER *ppmk);
extern __attribute__((dllimport)) HRESULT CoInstall (IBindCtx *pbc, DWORD dwFlags, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, LPWSTR pszCodeBase);
extern __attribute__((dllimport)) HRESULT GetRunningObjectTable (DWORD reserved, LPRUNNINGOBJECTTABLE *pprot);
typedef struct IPersistMoniker IPersistMoniker;
typedef struct IMonikerProp IMonikerProp;
typedef struct IBindProtocol IBindProtocol;
typedef struct IBinding IBinding;
typedef struct IBindStatusCallback IBindStatusCallback;
typedef struct IBindStatusCallbackEx IBindStatusCallbackEx;
typedef struct IAuthenticate IAuthenticate;
typedef struct IAuthenticateEx IAuthenticateEx;
typedef struct IHttpNegotiate IHttpNegotiate;
typedef struct IHttpNegotiate2 IHttpNegotiate2;
typedef struct IHttpNegotiate3 IHttpNegotiate3;
typedef struct IWinInetFileStream IWinInetFileStream;
typedef struct IWindowForBindingUI IWindowForBindingUI;
typedef struct ICodeInstall ICodeInstall;
typedef struct IUri IUri;
typedef struct IUriContainer IUriContainer;
typedef struct IUriBuilder IUriBuilder;
typedef struct IUriBuilderFactory IUriBuilderFactory;
typedef struct IWinInetInfo IWinInetInfo;
typedef struct IHttpSecurity IHttpSecurity;
typedef struct IWinInetHttpInfo IWinInetHttpInfo;
typedef struct IWinInetHttpTimeouts IWinInetHttpTimeouts;
typedef struct IWinInetCacheHints IWinInetCacheHints;
typedef struct IWinInetCacheHints2 IWinInetCacheHints2;
typedef struct IBindHost IBindHost;
typedef struct IInternet IInternet;
typedef struct IInternetBindInfo IInternetBindInfo;
typedef struct IInternetBindInfoEx IInternetBindInfoEx;
typedef struct IInternetProtocolRoot IInternetProtocolRoot;
typedef struct IInternetProtocol IInternetProtocol;
typedef struct IInternetProtocolEx IInternetProtocolEx;
typedef struct IInternetProtocolSink IInternetProtocolSink;
typedef struct IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
typedef struct IInternetSession IInternetSession;
typedef struct IInternetThreadSwitch IInternetThreadSwitch;
typedef struct IInternetPriority IInternetPriority;
typedef struct IInternetProtocolInfo IInternetProtocolInfo;
typedef struct IInternetSecurityMgrSite IInternetSecurityMgrSite;
typedef struct IInternetSecurityManager IInternetSecurityManager;
typedef struct IInternetSecurityManagerEx IInternetSecurityManagerEx;
typedef struct IInternetSecurityManagerEx2 IInternetSecurityManagerEx2;
typedef struct IZoneIdentifier IZoneIdentifier;
typedef struct IInternetHostSecurityManager IInternetHostSecurityManager;
typedef struct IInternetZoneManager IInternetZoneManager;
typedef struct IInternetZoneManagerEx IInternetZoneManagerEx;
typedef struct IInternetZoneManagerEx2 IInternetZoneManagerEx2;
typedef struct ISoftDistExt ISoftDistExt;
typedef struct ICatalogFileInfo ICatalogFileInfo;
typedef struct IDataFilter IDataFilter;
typedef struct IEncodingFilterFactory IEncodingFilterFactory;
typedef struct IWrappedProtocol IWrappedProtocol;
typedef struct IGetBindHandle IGetBindHandle;
typedef struct IBindCallbackRedirect IBindCallbackRedirect;
typedef struct IOleAdviseHolder IOleAdviseHolder;
typedef struct IOleCache IOleCache;
typedef struct IOleCache2 IOleCache2;
typedef struct IOleCacheControl IOleCacheControl;
typedef struct IParseDisplayName IParseDisplayName;
typedef struct IOleContainer IOleContainer;
typedef struct IOleClientSite IOleClientSite;
typedef struct IOleObject IOleObject;
typedef struct IOleWindow IOleWindow;
typedef struct IOleLink IOleLink;
typedef struct IOleItemContainer IOleItemContainer;
typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
typedef struct IOleInPlaceFrame IOleInPlaceFrame;
typedef struct IOleInPlaceObject IOleInPlaceObject;
typedef struct IOleInPlaceSite IOleInPlaceSite;
typedef struct IContinue IContinue;
typedef struct IViewObject IViewObject;
typedef struct IViewObject2 IViewObject2;
typedef struct IDropSource IDropSource;
typedef struct IDropTarget IDropTarget;
typedef struct IDropSourceNotify IDropSourceNotify;
typedef struct IEnumOLEVERB IEnumOLEVERB;
typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
extern const GUID IID_IOleAdviseHolder;
typedef struct IOleAdviseHolderVtbl {
HRESULT ( *QueryInterface)(
IOleAdviseHolder *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleAdviseHolder *This);
ULONG ( *Release)(
IOleAdviseHolder *This);
HRESULT ( *Advise)(
IOleAdviseHolder *This,
IAdviseSink *pAdvise,
DWORD *pdwConnection);
HRESULT ( *Unadvise)(
IOleAdviseHolder *This,
DWORD dwConnection);
HRESULT ( *EnumAdvise)(
IOleAdviseHolder *This,
IEnumSTATDATA **ppenumAdvise);
HRESULT ( *SendOnRename)(
IOleAdviseHolder *This,
IMoniker *pmk);
HRESULT ( *SendOnSave)(
IOleAdviseHolder *This);
HRESULT ( *SendOnClose)(
IOleAdviseHolder *This);
} IOleAdviseHolderVtbl;
struct IOleAdviseHolder {
IOleAdviseHolderVtbl* lpVtbl;
};
typedef IOleCache *LPOLECACHE;
extern const GUID IID_IOleCache;
typedef struct IOleCacheVtbl {
HRESULT ( *QueryInterface)(
IOleCache *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleCache *This);
ULONG ( *Release)(
IOleCache *This);
HRESULT ( *Cache)(
IOleCache *This,
FORMATETC *pformatetc,
DWORD advf,
DWORD *pdwConnection);
HRESULT ( *Uncache)(
IOleCache *This,
DWORD dwConnection);
HRESULT ( *EnumCache)(
IOleCache *This,
IEnumSTATDATA **ppenumSTATDATA);
HRESULT ( *InitCache)(
IOleCache *This,
IDataObject *pDataObject);
HRESULT ( *SetData)(
IOleCache *This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium,
WINBOOL fRelease);
} IOleCacheVtbl;
struct IOleCache {
IOleCacheVtbl* lpVtbl;
};
typedef IOleCache2 *LPOLECACHE2;
typedef enum tagDISCARDCACHE {
DISCARDCACHE_SAVEIFDIRTY = 0,
DISCARDCACHE_NOSAVE = 1
} DISCARDCACHE;
extern const GUID IID_IOleCache2;
typedef struct IOleCache2Vtbl {
HRESULT ( *QueryInterface)(
IOleCache2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleCache2 *This);
ULONG ( *Release)(
IOleCache2 *This);
HRESULT ( *Cache)(
IOleCache2 *This,
FORMATETC *pformatetc,
DWORD advf,
DWORD *pdwConnection);
HRESULT ( *Uncache)(
IOleCache2 *This,
DWORD dwConnection);
HRESULT ( *EnumCache)(
IOleCache2 *This,
IEnumSTATDATA **ppenumSTATDATA);
HRESULT ( *InitCache)(
IOleCache2 *This,
IDataObject *pDataObject);
HRESULT ( *SetData)(
IOleCache2 *This,
FORMATETC *pformatetc,
STGMEDIUM *pmedium,
WINBOOL fRelease);
HRESULT ( *UpdateCache)(
IOleCache2 *This,
LPDATAOBJECT pDataObject,
DWORD grfUpdf,
LPVOID pReserved);
HRESULT ( *DiscardCache)(
IOleCache2 *This,
DWORD dwDiscardOptions);
} IOleCache2Vtbl;
struct IOleCache2 {
IOleCache2Vtbl* lpVtbl;
};
HRESULT IOleCache2_RemoteUpdateCache_Proxy(
IOleCache2* This,
LPDATAOBJECT pDataObject,
DWORD grfUpdf,
LONG_PTR pReserved);
void IOleCache2_RemoteUpdateCache_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IOleCache2_UpdateCache_Proxy(
IOleCache2* This,
LPDATAOBJECT pDataObject,
DWORD grfUpdf,
LPVOID pReserved);
HRESULT IOleCache2_UpdateCache_Stub(
IOleCache2* This,
LPDATAOBJECT pDataObject,
DWORD grfUpdf,
LONG_PTR pReserved);
typedef IOleCacheControl *LPOLECACHECONTROL;
extern const GUID IID_IOleCacheControl;
typedef struct IOleCacheControlVtbl {
HRESULT ( *QueryInterface)(
IOleCacheControl *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleCacheControl *This);
ULONG ( *Release)(
IOleCacheControl *This);
HRESULT ( *OnRun)(
IOleCacheControl *This,
LPDATAOBJECT pDataObject);
HRESULT ( *OnStop)(
IOleCacheControl *This);
} IOleCacheControlVtbl;
struct IOleCacheControl {
IOleCacheControlVtbl* lpVtbl;
};
typedef IParseDisplayName *LPPARSEDISPLAYNAME;
extern const GUID IID_IParseDisplayName;
typedef struct IParseDisplayNameVtbl {
HRESULT ( *QueryInterface)(
IParseDisplayName *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IParseDisplayName *This);
ULONG ( *Release)(
IParseDisplayName *This);
HRESULT ( *ParseDisplayName)(
IParseDisplayName *This,
IBindCtx *pbc,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
IMoniker **ppmkOut);
} IParseDisplayNameVtbl;
struct IParseDisplayName {
IParseDisplayNameVtbl* lpVtbl;
};
typedef IOleContainer *LPOLECONTAINER;
extern const GUID IID_IOleContainer;
typedef struct IOleContainerVtbl {
HRESULT ( *QueryInterface)(
IOleContainer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleContainer *This);
ULONG ( *Release)(
IOleContainer *This);
HRESULT ( *ParseDisplayName)(
IOleContainer *This,
IBindCtx *pbc,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
IMoniker **ppmkOut);
HRESULT ( *EnumObjects)(
IOleContainer *This,
DWORD grfFlags,
IEnumUnknown **ppenum);
HRESULT ( *LockContainer)(
IOleContainer *This,
WINBOOL fLock);
} IOleContainerVtbl;
struct IOleContainer {
IOleContainerVtbl* lpVtbl;
};
typedef IOleClientSite *LPOLECLIENTSITE;
extern const GUID IID_IOleClientSite;
typedef struct IOleClientSiteVtbl {
HRESULT ( *QueryInterface)(
IOleClientSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleClientSite *This);
ULONG ( *Release)(
IOleClientSite *This);
HRESULT ( *SaveObject)(
IOleClientSite *This);
HRESULT ( *GetMoniker)(
IOleClientSite *This,
DWORD dwAssign,
DWORD dwWhichMoniker,
IMoniker **ppmk);
HRESULT ( *GetContainer)(
IOleClientSite *This,
IOleContainer **ppContainer);
HRESULT ( *ShowObject)(
IOleClientSite *This);
HRESULT ( *OnShowWindow)(
IOleClientSite *This,
WINBOOL fShow);
HRESULT ( *RequestNewObjectLayout)(
IOleClientSite *This);
} IOleClientSiteVtbl;
struct IOleClientSite {
IOleClientSiteVtbl* lpVtbl;
};
typedef IOleObject *LPOLEOBJECT;
typedef enum tagOLEGETMONIKER {
OLEGETMONIKER_ONLYIFTHERE = 1,
OLEGETMONIKER_FORCEASSIGN = 2,
OLEGETMONIKER_UNASSIGN = 3,
OLEGETMONIKER_TEMPFORUSER = 4
} OLEGETMONIKER;
typedef enum tagOLEWHICHMK {
OLEWHICHMK_CONTAINER = 1,
OLEWHICHMK_OBJREL = 2,
OLEWHICHMK_OBJFULL = 3
} OLEWHICHMK;
typedef enum tagUSERCLASSTYPE {
USERCLASSTYPE_FULL = 1,
USERCLASSTYPE_SHORT = 2,
USERCLASSTYPE_APPNAME = 3
} USERCLASSTYPE;
typedef enum tagOLEMISC {
OLEMISC_RECOMPOSEONRESIZE = 0x1,
OLEMISC_ONLYICONIC = 0x2,
OLEMISC_INSERTNOTREPLACE = 0x4,
OLEMISC_STATIC = 0x8,
OLEMISC_CANTLINKINSIDE = 0x10,
OLEMISC_CANLINKBYOLE1 = 0x20,
OLEMISC_ISLINKOBJECT = 0x40,
OLEMISC_INSIDEOUT = 0x80,
OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,
OLEMISC_INVISIBLEATRUNTIME = 0x400,
OLEMISC_ALWAYSRUN = 0x800,
OLEMISC_ACTSLIKEBUTTON = 0x1000,
OLEMISC_ACTSLIKELABEL = 0x2000,
OLEMISC_NOUIACTIVATE = 0x4000,
OLEMISC_ALIGNABLE = 0x8000,
OLEMISC_SIMPLEFRAME = 0x10000,
OLEMISC_SETCLIENTSITEFIRST = 0x20000,
OLEMISC_IMEMODE = 0x40000,
OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,
OLEMISC_WANTSTOMENUMERGE = 0x100000,
OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
} OLEMISC;
typedef enum tagOLECLOSE {
OLECLOSE_SAVEIFDIRTY = 0,
OLECLOSE_NOSAVE = 1,
OLECLOSE_PROMPTSAVE = 2
} OLECLOSE;
extern const GUID IID_IOleObject;
typedef struct IOleObjectVtbl {
HRESULT ( *QueryInterface)(
IOleObject *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleObject *This);
ULONG ( *Release)(
IOleObject *This);
HRESULT ( *SetClientSite)(
IOleObject *This,
IOleClientSite *pClientSite);
HRESULT ( *GetClientSite)(
IOleObject *This,
IOleClientSite **ppClientSite);
HRESULT ( *SetHostNames)(
IOleObject *This,
LPCOLESTR szContainerApp,
LPCOLESTR szContainerObj);
HRESULT ( *Close)(
IOleObject *This,
DWORD dwSaveOption);
HRESULT ( *SetMoniker)(
IOleObject *This,
DWORD dwWhichMoniker,
IMoniker *pmk);
HRESULT ( *GetMoniker)(
IOleObject *This,
DWORD dwAssign,
DWORD dwWhichMoniker,
IMoniker **ppmk);
HRESULT ( *InitFromData)(
IOleObject *This,
IDataObject *pDataObject,
WINBOOL fCreation,
DWORD dwReserved);
HRESULT ( *GetClipboardData)(
IOleObject *This,
DWORD dwReserved,
IDataObject **ppDataObject);
HRESULT ( *DoVerb)(
IOleObject *This,
LONG iVerb,
LPMSG lpmsg,
IOleClientSite *pActiveSite,
LONG lindex,
HWND hwndParent,
LPCRECT lprcPosRect);
HRESULT ( *EnumVerbs)(
IOleObject *This,
IEnumOLEVERB **ppEnumOleVerb);
HRESULT ( *Update)(
IOleObject *This);
HRESULT ( *IsUpToDate)(
IOleObject *This);
HRESULT ( *GetUserClassID)(
IOleObject *This,
CLSID *pClsid);
HRESULT ( *GetUserType)(
IOleObject *This,
DWORD dwFormOfType,
LPOLESTR *pszUserType);
HRESULT ( *SetExtent)(
IOleObject *This,
DWORD dwDrawAspect,
SIZEL *psizel);
HRESULT ( *GetExtent)(
IOleObject *This,
DWORD dwDrawAspect,
SIZEL *psizel);
HRESULT ( *Advise)(
IOleObject *This,
IAdviseSink *pAdvSink,
DWORD *pdwConnection);
HRESULT ( *Unadvise)(
IOleObject *This,
DWORD dwConnection);
HRESULT ( *EnumAdvise)(
IOleObject *This,
IEnumSTATDATA **ppenumAdvise);
HRESULT ( *GetMiscStatus)(
IOleObject *This,
DWORD dwAspect,
DWORD *pdwStatus);
HRESULT ( *SetColorScheme)(
IOleObject *This,
LOGPALETTE *pLogpal);
} IOleObjectVtbl;
struct IOleObject {
IOleObjectVtbl* lpVtbl;
};
extern RPC_IF_HANDLE IOLETypes_v0_0_c_ifspec;
extern RPC_IF_HANDLE IOLETypes_v0_0_s_ifspec;
typedef enum tagOLERENDER {
OLERENDER_NONE = 0,
OLERENDER_DRAW = 1,
OLERENDER_FORMAT = 2,
OLERENDER_ASIS = 3
} OLERENDER;
typedef OLERENDER *LPOLERENDER;
typedef struct tagOBJECTDESCRIPTOR {
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR;
typedef struct tagOBJECTDESCRIPTOR *POBJECTDESCRIPTOR;
typedef struct tagOBJECTDESCRIPTOR *LPOBJECTDESCRIPTOR;
typedef struct tagOBJECTDESCRIPTOR LINKSRCDESCRIPTOR;
typedef struct tagOBJECTDESCRIPTOR *PLINKSRCDESCRIPTOR;
typedef struct tagOBJECTDESCRIPTOR *LPLINKSRCDESCRIPTOR;
typedef IOleWindow *LPOLEWINDOW;
extern const GUID IID_IOleWindow;
typedef struct IOleWindowVtbl {
HRESULT ( *QueryInterface)(
IOleWindow *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleWindow *This);
ULONG ( *Release)(
IOleWindow *This);
HRESULT ( *GetWindow)(
IOleWindow *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleWindow *This,
WINBOOL fEnterMode);
} IOleWindowVtbl;
struct IOleWindow {
IOleWindowVtbl* lpVtbl;
};
typedef IOleLink *LPOLELINK;
typedef enum tagOLEUPDATE {
OLEUPDATE_ALWAYS = 1,
OLEUPDATE_ONCALL = 3
} OLEUPDATE;
typedef OLEUPDATE *LPOLEUPDATE;
typedef OLEUPDATE *POLEUPDATE;
typedef enum tagOLELINKBIND {
OLELINKBIND_EVENIFCLASSDIFF = 1
} OLELINKBIND;
extern const GUID IID_IOleLink;
typedef struct IOleLinkVtbl {
HRESULT ( *QueryInterface)(
IOleLink *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleLink *This);
ULONG ( *Release)(
IOleLink *This);
HRESULT ( *SetUpdateOptions)(
IOleLink *This,
DWORD dwUpdateOpt);
HRESULT ( *GetUpdateOptions)(
IOleLink *This,
DWORD *pdwUpdateOpt);
HRESULT ( *SetSourceMoniker)(
IOleLink *This,
IMoniker *pmk,
const IID *const rclsid);
HRESULT ( *GetSourceMoniker)(
IOleLink *This,
IMoniker **ppmk);
HRESULT ( *SetSourceDisplayName)(
IOleLink *This,
LPCOLESTR pszStatusText);
HRESULT ( *GetSourceDisplayName)(
IOleLink *This,
LPOLESTR *ppszDisplayName);
HRESULT ( *BindToSource)(
IOleLink *This,
DWORD bindflags,
IBindCtx *pbc);
HRESULT ( *BindIfRunning)(
IOleLink *This);
HRESULT ( *GetBoundSource)(
IOleLink *This,
IUnknown **ppunk);
HRESULT ( *UnbindSource)(
IOleLink *This);
HRESULT ( *Update)(
IOleLink *This,
IBindCtx *pbc);
} IOleLinkVtbl;
struct IOleLink {
IOleLinkVtbl* lpVtbl;
};
typedef IOleItemContainer *LPOLEITEMCONTAINER;
typedef enum tagBINDSPEED {
BINDSPEED_INDEFINITE = 1,
BINDSPEED_MODERATE = 2,
BINDSPEED_IMMEDIATE = 3
} BINDSPEED;
typedef enum tagOLECONTF {
OLECONTF_EMBEDDINGS = 1,
OLECONTF_LINKS = 2,
OLECONTF_OTHERS = 4,
OLECONTF_ONLYUSER = 8,
OLECONTF_ONLYIFRUNNING = 16
} OLECONTF;
extern const GUID IID_IOleItemContainer;
typedef struct IOleItemContainerVtbl {
HRESULT ( *QueryInterface)(
IOleItemContainer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleItemContainer *This);
ULONG ( *Release)(
IOleItemContainer *This);
HRESULT ( *ParseDisplayName)(
IOleItemContainer *This,
IBindCtx *pbc,
LPOLESTR pszDisplayName,
ULONG *pchEaten,
IMoniker **ppmkOut);
HRESULT ( *EnumObjects)(
IOleItemContainer *This,
DWORD grfFlags,
IEnumUnknown **ppenum);
HRESULT ( *LockContainer)(
IOleItemContainer *This,
WINBOOL fLock);
HRESULT ( *GetObjectA)(
IOleItemContainer *This,
LPOLESTR pszItem,
DWORD dwSpeedNeeded,
IBindCtx *pbc,
const IID *const riid,
void **ppvObject);
HRESULT ( *GetObjectStorage)(
IOleItemContainer *This,
LPOLESTR pszItem,
IBindCtx *pbc,
const IID *const riid,
void **ppvStorage);
HRESULT ( *IsRunning)(
IOleItemContainer *This,
LPOLESTR pszItem);
} IOleItemContainerVtbl;
struct IOleItemContainer {
IOleItemContainerVtbl* lpVtbl;
};
typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
typedef RECT BORDERWIDTHS;
typedef LPRECT LPBORDERWIDTHS;
typedef LPCRECT LPCBORDERWIDTHS;
extern const GUID IID_IOleInPlaceUIWindow;
typedef struct IOleInPlaceUIWindowVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceUIWindow *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceUIWindow *This);
ULONG ( *Release)(
IOleInPlaceUIWindow *This);
HRESULT ( *GetWindow)(
IOleInPlaceUIWindow *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceUIWindow *This,
WINBOOL fEnterMode);
HRESULT ( *GetBorder)(
IOleInPlaceUIWindow *This,
LPRECT lprectBorder);
HRESULT ( *RequestBorderSpace)(
IOleInPlaceUIWindow *This,
LPCBORDERWIDTHS pborderwidths);
HRESULT ( *SetBorderSpace)(
IOleInPlaceUIWindow *This,
LPCBORDERWIDTHS pborderwidths);
HRESULT ( *SetActiveObject)(
IOleInPlaceUIWindow *This,
IOleInPlaceActiveObject *pActiveObject,
LPCOLESTR pszObjName);
} IOleInPlaceUIWindowVtbl;
struct IOleInPlaceUIWindow {
IOleInPlaceUIWindowVtbl* lpVtbl;
};
typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
extern const GUID IID_IOleInPlaceActiveObject;
typedef struct IOleInPlaceActiveObjectVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceActiveObject *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceActiveObject *This);
ULONG ( *Release)(
IOleInPlaceActiveObject *This);
HRESULT ( *GetWindow)(
IOleInPlaceActiveObject *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceActiveObject *This,
WINBOOL fEnterMode);
HRESULT ( *TranslateAcceleratorA)(
IOleInPlaceActiveObject *This,
LPMSG lpmsg);
HRESULT ( *OnFrameWindowActivate)(
IOleInPlaceActiveObject *This,
WINBOOL fActivate);
HRESULT ( *OnDocWindowActivate)(
IOleInPlaceActiveObject *This,
WINBOOL fActivate);
HRESULT ( *ResizeBorder)(
IOleInPlaceActiveObject *This,
LPCRECT prcBorder,
IOleInPlaceUIWindow *pUIWindow,
WINBOOL fFrameWindow);
HRESULT ( *EnableModeless)(
IOleInPlaceActiveObject *This,
WINBOOL fEnable);
} IOleInPlaceActiveObjectVtbl;
struct IOleInPlaceActiveObject {
IOleInPlaceActiveObjectVtbl* lpVtbl;
};
HRESULT IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(
IOleInPlaceActiveObject* This);
void IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(
IOleInPlaceActiveObject* This,
LPCRECT prcBorder,
const IID *const riid,
IOleInPlaceUIWindow *pUIWindow,
WINBOOL fFrameWindow);
void IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
IOleInPlaceActiveObject* This,
LPMSG lpmsg);
HRESULT IOleInPlaceActiveObject_TranslateAccelerator_Stub(
IOleInPlaceActiveObject* This);
HRESULT IOleInPlaceActiveObject_ResizeBorder_Proxy(
IOleInPlaceActiveObject* This,
LPCRECT prcBorder,
IOleInPlaceUIWindow *pUIWindow,
WINBOOL fFrameWindow);
HRESULT IOleInPlaceActiveObject_ResizeBorder_Stub(
IOleInPlaceActiveObject* This,
LPCRECT prcBorder,
const IID *const riid,
IOleInPlaceUIWindow *pUIWindow,
WINBOOL fFrameWindow);
typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;
typedef struct tagOIFI {
UINT cb;
WINBOOL fMDIApp;
HWND hwndFrame;
HACCEL haccel;
UINT cAccelEntries;
} OLEINPLACEFRAMEINFO;
typedef struct tagOIFI *LPOLEINPLACEFRAMEINFO;
typedef struct tagOleMenuGroupWidths {
LONG width[6];
} OLEMENUGROUPWIDTHS;
typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS;
typedef HGLOBAL HOLEMENU;
extern const GUID IID_IOleInPlaceFrame;
typedef struct IOleInPlaceFrameVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceFrame *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceFrame *This);
ULONG ( *Release)(
IOleInPlaceFrame *This);
HRESULT ( *GetWindow)(
IOleInPlaceFrame *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceFrame *This,
WINBOOL fEnterMode);
HRESULT ( *GetBorder)(
IOleInPlaceFrame *This,
LPRECT lprectBorder);
HRESULT ( *RequestBorderSpace)(
IOleInPlaceFrame *This,
LPCBORDERWIDTHS pborderwidths);
HRESULT ( *SetBorderSpace)(
IOleInPlaceFrame *This,
LPCBORDERWIDTHS pborderwidths);
HRESULT ( *SetActiveObject)(
IOleInPlaceFrame *This,
IOleInPlaceActiveObject *pActiveObject,
LPCOLESTR pszObjName);
HRESULT ( *InsertMenus)(
IOleInPlaceFrame *This,
HMENU hmenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
HRESULT ( *SetMenu)(
IOleInPlaceFrame *This,
HMENU hmenuShared,
HOLEMENU holemenu,
HWND hwndActiveObject);
HRESULT ( *RemoveMenus)(
IOleInPlaceFrame *This,
HMENU hmenuShared);
HRESULT ( *SetStatusText)(
IOleInPlaceFrame *This,
LPCOLESTR pszStatusText);
HRESULT ( *EnableModeless)(
IOleInPlaceFrame *This,
WINBOOL fEnable);
HRESULT ( *TranslateAcceleratorA)(
IOleInPlaceFrame *This,
LPMSG lpmsg,
WORD wID);
} IOleInPlaceFrameVtbl;
struct IOleInPlaceFrame {
IOleInPlaceFrameVtbl* lpVtbl;
};
typedef IOleInPlaceObject *LPOLEINPLACEOBJECT;
extern const GUID IID_IOleInPlaceObject;
typedef struct IOleInPlaceObjectVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceObject *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceObject *This);
ULONG ( *Release)(
IOleInPlaceObject *This);
HRESULT ( *GetWindow)(
IOleInPlaceObject *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceObject *This,
WINBOOL fEnterMode);
HRESULT ( *InPlaceDeactivate)(
IOleInPlaceObject *This);
HRESULT ( *UIDeactivate)(
IOleInPlaceObject *This);
HRESULT ( *SetObjectRects)(
IOleInPlaceObject *This,
LPCRECT lprcPosRect,
LPCRECT lprcClipRect);
HRESULT ( *ReactivateAndUndo)(
IOleInPlaceObject *This);
} IOleInPlaceObjectVtbl;
struct IOleInPlaceObject {
IOleInPlaceObjectVtbl* lpVtbl;
};
typedef IOleInPlaceSite *LPOLEINPLACESITE;
extern const GUID IID_IOleInPlaceSite;
typedef struct IOleInPlaceSiteVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceSite *This);
ULONG ( *Release)(
IOleInPlaceSite *This);
HRESULT ( *GetWindow)(
IOleInPlaceSite *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceSite *This,
WINBOOL fEnterMode);
HRESULT ( *CanInPlaceActivate)(
IOleInPlaceSite *This);
HRESULT ( *OnInPlaceActivate)(
IOleInPlaceSite *This);
HRESULT ( *OnUIActivate)(
IOleInPlaceSite *This);
HRESULT ( *GetWindowContext)(
IOleInPlaceSite *This,
IOleInPlaceFrame **ppFrame,
IOleInPlaceUIWindow **ppDoc,
LPRECT lprcPosRect,
LPRECT lprcClipRect,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
HRESULT ( *Scroll)(
IOleInPlaceSite *This,
SIZE scrollExtant);
HRESULT ( *OnUIDeactivate)(
IOleInPlaceSite *This,
WINBOOL fUndoable);
HRESULT ( *OnInPlaceDeactivate)(
IOleInPlaceSite *This);
HRESULT ( *DiscardUndoState)(
IOleInPlaceSite *This);
HRESULT ( *DeactivateAndUndo)(
IOleInPlaceSite *This);
HRESULT ( *OnPosRectChange)(
IOleInPlaceSite *This,
LPCRECT lprcPosRect);
} IOleInPlaceSiteVtbl;
struct IOleInPlaceSite {
IOleInPlaceSiteVtbl* lpVtbl;
};
extern const GUID IID_IContinue;
typedef struct IContinueVtbl {
HRESULT ( *QueryInterface)(
IContinue *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IContinue *This);
ULONG ( *Release)(
IContinue *This);
HRESULT ( *FContinue)(
IContinue *This);
} IContinueVtbl;
struct IContinue {
IContinueVtbl* lpVtbl;
};
typedef IViewObject *LPVIEWOBJECT;
extern const GUID IID_IViewObject;
typedef struct IViewObjectVtbl {
HRESULT ( *QueryInterface)(
IViewObject *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IViewObject *This);
ULONG ( *Release)(
IViewObject *This);
HRESULT ( *Draw)(
IViewObject *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
WINBOOL ( *pfnContinue)(ULONG_PTR dwContinue),
ULONG_PTR dwContinue);
HRESULT ( *GetColorSet)(
IViewObject *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet);
HRESULT ( *Freeze)(
IViewObject *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DWORD *pdwFreeze);
HRESULT ( *Unfreeze)(
IViewObject *This,
DWORD dwFreeze);
HRESULT ( *SetAdvise)(
IViewObject *This,
DWORD aspects,
DWORD advf,
IAdviseSink *pAdvSink);
HRESULT ( *GetAdvise)(
IViewObject *This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
} IViewObjectVtbl;
struct IViewObject {
IViewObjectVtbl* lpVtbl;
};
HRESULT IViewObject_RemoteDraw_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
IContinue *pContinue);
void IViewObject_RemoteDraw_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IViewObject_RemoteGetColorSet_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DVTARGETDEVICE *ptd,
ULONG_PTR hicTargetDev,
LOGPALETTE **ppColorSet);
void IViewObject_RemoteGetColorSet_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IViewObject_RemoteFreeze_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DWORD *pdwFreeze);
void IViewObject_RemoteFreeze_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IViewObject_RemoteGetAdvise_Proxy(
IViewObject* This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
void IViewObject_RemoteGetAdvise_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IViewObject_Draw_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
WINBOOL ( *pfnContinue)(ULONG_PTR dwContinue),
ULONG_PTR dwContinue);
HRESULT IViewObject_Draw_Stub(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
IContinue *pContinue);
HRESULT IViewObject_GetColorSet_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet);
HRESULT IViewObject_GetColorSet_Stub(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DVTARGETDEVICE *ptd,
ULONG_PTR hicTargetDev,
LOGPALETTE **ppColorSet);
HRESULT IViewObject_Freeze_Proxy(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DWORD *pdwFreeze);
HRESULT IViewObject_Freeze_Stub(
IViewObject* This,
DWORD dwDrawAspect,
LONG lindex,
ULONG_PTR pvAspect,
DWORD *pdwFreeze);
HRESULT IViewObject_GetAdvise_Proxy(
IViewObject* This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
HRESULT IViewObject_GetAdvise_Stub(
IViewObject* This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
typedef IViewObject2 *LPVIEWOBJECT2;
extern const GUID IID_IViewObject2;
typedef struct IViewObject2Vtbl {
HRESULT ( *QueryInterface)(
IViewObject2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IViewObject2 *This);
ULONG ( *Release)(
IViewObject2 *This);
HRESULT ( *Draw)(
IViewObject2 *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
WINBOOL ( *pfnContinue)(ULONG_PTR dwContinue),
ULONG_PTR dwContinue);
HRESULT ( *GetColorSet)(
IViewObject2 *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet);
HRESULT ( *Freeze)(
IViewObject2 *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DWORD *pdwFreeze);
HRESULT ( *Unfreeze)(
IViewObject2 *This,
DWORD dwFreeze);
HRESULT ( *SetAdvise)(
IViewObject2 *This,
DWORD aspects,
DWORD advf,
IAdviseSink *pAdvSink);
HRESULT ( *GetAdvise)(
IViewObject2 *This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
HRESULT ( *GetExtent)(
IViewObject2 *This,
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE *ptd,
LPSIZEL lpsizel);
} IViewObject2Vtbl;
struct IViewObject2 {
IViewObject2Vtbl* lpVtbl;
};
typedef IDropSource *LPDROPSOURCE;
extern const GUID IID_IDropSource;
typedef struct IDropSourceVtbl {
HRESULT ( *QueryInterface)(
IDropSource *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDropSource *This);
ULONG ( *Release)(
IDropSource *This);
HRESULT ( *QueryContinueDrag)(
IDropSource *This,
WINBOOL fEscapePressed,
DWORD grfKeyState);
HRESULT ( *GiveFeedback)(
IDropSource *This,
DWORD dwEffect);
} IDropSourceVtbl;
struct IDropSource {
IDropSourceVtbl* lpVtbl;
};
typedef IDropTarget *LPDROPTARGET;
extern const GUID IID_IDropTarget;
typedef struct IDropTargetVtbl {
HRESULT ( *QueryInterface)(
IDropTarget *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDropTarget *This);
ULONG ( *Release)(
IDropTarget *This);
HRESULT ( *DragEnter)(
IDropTarget *This,
IDataObject *pDataObj,
DWORD grfKeyState,
POINTL pt,
DWORD *pdwEffect);
HRESULT ( *DragOver)(
IDropTarget *This,
DWORD grfKeyState,
POINTL pt,
DWORD *pdwEffect);
HRESULT ( *DragLeave)(
IDropTarget *This);
HRESULT ( *Drop)(
IDropTarget *This,
IDataObject *pDataObj,
DWORD grfKeyState,
POINTL pt,
DWORD *pdwEffect);
} IDropTargetVtbl;
struct IDropTarget {
IDropTargetVtbl* lpVtbl;
};
extern const GUID IID_IDropSourceNotify;
typedef struct IDropSourceNotifyVtbl {
HRESULT ( *QueryInterface)(
IDropSourceNotify *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDropSourceNotify *This);
ULONG ( *Release)(
IDropSourceNotify *This);
HRESULT ( *DragEnterTarget)(
IDropSourceNotify *This,
HWND hwndTarget);
HRESULT ( *DragLeaveTarget)(
IDropSourceNotify *This);
} IDropSourceNotifyVtbl;
struct IDropSourceNotify {
IDropSourceNotifyVtbl* lpVtbl;
};
typedef IEnumOLEVERB *LPENUMOLEVERB;
typedef struct tagOLEVERB {
LONG lVerb;
LPOLESTR lpszVerbName;
DWORD fuFlags;
DWORD grfAttribs;
} OLEVERB;
typedef struct tagOLEVERB *LPOLEVERB;
typedef enum tagOLEVERBATTRIB {
OLEVERBATTRIB_NEVERDIRTIES = 1,
OLEVERBATTRIB_ONCONTAINERMENU = 2
} OLEVERBATTRIB;
extern const GUID IID_IEnumOLEVERB;
typedef struct IEnumOLEVERBVtbl {
HRESULT ( *QueryInterface)(
IEnumOLEVERB *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumOLEVERB *This);
ULONG ( *Release)(
IEnumOLEVERB *This);
HRESULT ( *Next)(
IEnumOLEVERB *This,
ULONG celt,
LPOLEVERB rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumOLEVERB *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumOLEVERB *This);
HRESULT ( *Clone)(
IEnumOLEVERB *This,
IEnumOLEVERB **ppenum);
} IEnumOLEVERBVtbl;
struct IEnumOLEVERB {
IEnumOLEVERBVtbl* lpVtbl;
};
HRESULT IEnumOLEVERB_RemoteNext_Proxy(
IEnumOLEVERB* This,
ULONG celt,
LPOLEVERB rgelt,
ULONG *pceltFetched);
void IEnumOLEVERB_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumOLEVERB_Next_Proxy(
IEnumOLEVERB* This,
ULONG celt,
LPOLEVERB rgelt,
ULONG *pceltFetched);
HRESULT IEnumOLEVERB_Next_Stub(
IEnumOLEVERB* This,
ULONG celt,
LPOLEVERB rgelt,
ULONG *pceltFetched);
ULONG CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
void CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
ULONG STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
unsigned char * STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
unsigned char * STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
void STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
ULONG HWND_UserSize (ULONG *, ULONG, HWND *);
unsigned char * HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
unsigned char * HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void HWND_UserFree (ULONG *, HWND *);
ULONG HMENU_UserSize (ULONG *, ULONG, HMENU *);
unsigned char * HMENU_UserMarshal (ULONG *, unsigned char *, HMENU *);
unsigned char * HMENU_UserUnmarshal(ULONG *, unsigned char *, HMENU *);
void HMENU_UserFree (ULONG *, HMENU *);
ULONG HGLOBAL_UserSize (ULONG *, ULONG, HGLOBAL *);
unsigned char * HGLOBAL_UserMarshal (ULONG *, unsigned char *, HGLOBAL *);
unsigned char * HGLOBAL_UserUnmarshal(ULONG *, unsigned char *, HGLOBAL *);
void HGLOBAL_UserFree (ULONG *, HGLOBAL *);
ULONG HACCEL_UserSize (ULONG *, ULONG, HACCEL *);
unsigned char * HACCEL_UserMarshal (ULONG *, unsigned char *, HACCEL *);
unsigned char * HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
void HACCEL_UserFree (ULONG *, HACCEL *);
ULONG HDC_UserSize (ULONG *, ULONG, HDC *);
unsigned char * HDC_UserMarshal (ULONG *, unsigned char *, HDC *);
unsigned char * HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
void HDC_UserFree (ULONG *, HDC *);
typedef struct IServiceProvider IServiceProvider;
typedef IServiceProvider *LPSERVICEPROVIDER;
extern const GUID IID_IServiceProvider;
typedef struct IServiceProviderVtbl {
HRESULT ( *QueryInterface)(
IServiceProvider *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IServiceProvider *This);
ULONG ( *Release)(
IServiceProvider *This);
HRESULT ( *QueryService)(
IServiceProvider *This,
const GUID *const guidService,
const IID *const riid,
void **ppvObject);
} IServiceProviderVtbl;
struct IServiceProvider {
IServiceProviderVtbl* lpVtbl;
};
HRESULT IServiceProvider_RemoteQueryService_Proxy(
IServiceProvider* This,
const GUID *const guidService,
const IID *const riid,
IUnknown **ppvObject);
void IServiceProvider_RemoteQueryService_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IServiceProvider_QueryService_Proxy(
IServiceProvider* This,
const GUID *const guidService,
const IID *const riid,
void **ppvObject);
HRESULT IServiceProvider_QueryService_Stub(
IServiceProvider* This,
const GUID *const guidService,
const IID *const riid,
IUnknown **ppvObject);
typedef struct ICreateTypeInfo ICreateTypeInfo;
typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
typedef struct ICreateTypeLib ICreateTypeLib;
typedef struct ICreateTypeLib2 ICreateTypeLib2;
typedef struct IDispatch IDispatch;
typedef struct IEnumVARIANT IEnumVARIANT;
typedef struct ITypeComp ITypeComp;
typedef struct ITypeInfo ITypeInfo;
typedef struct ITypeInfo2 ITypeInfo2;
typedef struct ITypeLib ITypeLib;
typedef struct ITypeLib2 ITypeLib2;
typedef struct ITypeChangeEvents ITypeChangeEvents;
typedef struct IErrorInfo IErrorInfo;
typedef struct ICreateErrorInfo ICreateErrorInfo;
typedef struct ISupportErrorInfo ISupportErrorInfo;
typedef struct ITypeFactory ITypeFactory;
typedef struct ITypeMarshal ITypeMarshal;
typedef struct IRecordInfo IRecordInfo;
typedef struct IErrorLog IErrorLog;
typedef struct IPropertyBag IPropertyBag;
extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec;
extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec;
typedef CY CURRENCY;
typedef struct tagSAFEARRAYBOUND {
ULONG cElements;
LONG lLbound;
} SAFEARRAYBOUND;
typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND;
typedef struct _wireVARIANT *wireVARIANT;
typedef struct _wireBRECORD *wireBRECORD;
typedef struct _wireSAFEARR_BSTR {
ULONG Size;
wireBSTR *aBstr;
} SAFEARR_BSTR;
typedef struct _wireSAFEARR_UNKNOWN {
ULONG Size;
IUnknown **apUnknown;
} SAFEARR_UNKNOWN;
typedef struct _wireSAFEARR_DISPATCH {
ULONG Size;
IDispatch **apDispatch;
} SAFEARR_DISPATCH;
typedef struct _wireSAFEARR_VARIANT {
ULONG Size;
wireVARIANT *aVariant;
} SAFEARR_VARIANT;
typedef struct _wireSAFEARR_BRECORD {
ULONG Size;
wireBRECORD *aRecord;
} SAFEARR_BRECORD;
typedef struct _wireSAFEARR_HAVEIID {
ULONG Size;
IUnknown **apUnknown;
IID iid;
} SAFEARR_HAVEIID;
typedef enum tagSF_TYPE {
SF_ERROR = VT_ERROR,
SF_I1 = VT_I1,
SF_I2 = VT_I2,
SF_I4 = VT_I4,
SF_I8 = VT_I8,
SF_BSTR = VT_BSTR,
SF_UNKNOWN = VT_UNKNOWN,
SF_DISPATCH = VT_DISPATCH,
SF_VARIANT = VT_VARIANT,
SF_RECORD = VT_RECORD,
SF_HAVEIID = VT_UNKNOWN | VT_RESERVED
} SF_TYPE;
typedef struct _wireSAFEARRAY_UNION {
ULONG sfType;
union {
SAFEARR_BSTR BstrStr;
SAFEARR_UNKNOWN UnknownStr;
SAFEARR_DISPATCH DispatchStr;
SAFEARR_VARIANT VariantStr;
SAFEARR_BRECORD RecordStr;
SAFEARR_HAVEIID HaveIidStr;
BYTE_SIZEDARR ByteStr;
WORD_SIZEDARR WordStr;
DWORD_SIZEDARR LongStr;
HYPER_SIZEDARR HyperStr;
} u;
} SAFEARRAYUNION;
typedef struct _wireSAFEARRAY {
USHORT cDims;
USHORT fFeatures;
ULONG cbElements;
ULONG cLocks;
SAFEARRAYUNION uArrayStructs;
SAFEARRAYBOUND rgsabound[1];
} *wireSAFEARRAY;
typedef wireSAFEARRAY *wirePSAFEARRAY;
typedef struct tagSAFEARRAY {
USHORT cDims;
USHORT fFeatures;
ULONG cbElements;
ULONG cLocks;
PVOID pvData;
SAFEARRAYBOUND rgsabound[1];
} SAFEARRAY;
typedef SAFEARRAY *LPSAFEARRAY;
typedef struct tagVARIANT VARIANT;
struct tagVARIANT {
union {
struct {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
union {
LONGLONG llVal;
LONG lVal;
BYTE bVal;
SHORT iVal;
FLOAT fltVal;
DOUBLE dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
CY cyVal;
DATE date;
BSTR bstrVal;
IUnknown *punkVal;
IDispatch *pdispVal;
SAFEARRAY *parray;
BYTE *pbVal;
SHORT *piVal;
LONG *plVal;
LONGLONG *pllVal;
FLOAT *pfltVal;
DOUBLE *pdblVal;
VARIANT_BOOL *pboolVal;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
BSTR *pbstrVal;
IUnknown **ppunkVal;
IDispatch **ppdispVal;
SAFEARRAY **pparray;
VARIANT *pvarVal;
PVOID byref;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
ULONGLONG ullVal;
INT intVal;
UINT uintVal;
DECIMAL *pdecVal;
CHAR *pcVal;
USHORT *puiVal;
ULONG *pulVal;
ULONGLONG *pullVal;
INT *pintVal;
UINT *puintVal;
struct {
PVOID pvRecord;
IRecordInfo *pRecInfo;
} ;
} ;
} ;
DECIMAL decVal;
} ;
};
typedef VARIANT *LPVARIANT;
typedef VARIANT VARIANTARG;
typedef VARIANT *LPVARIANTARG;
struct _wireBRECORD {
ULONG fFlags;
ULONG clSize;
IRecordInfo *pRecInfo;
byte *pRecord;
};
struct _wireVARIANT {
DWORD clSize;
DWORD rpcReserved;
USHORT vt;
USHORT wReserved1;
USHORT wReserved2;
USHORT wReserved3;
__extension__ union {
LONGLONG llVal;
LONG lVal;
BYTE bVal;
SHORT iVal;
FLOAT fltVal;
DOUBLE dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
CY cyVal;
DATE date;
wireBSTR bstrVal;
IUnknown *punkVal;
IDispatch *pdispVal;
wirePSAFEARRAY parray;
wireBRECORD brecVal;
BYTE *pbVal;
SHORT *piVal;
LONG *plVal;
LONGLONG *pllVal;
FLOAT *pfltVal;
DOUBLE *pdblVal;
VARIANT_BOOL *pboolVal;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
wireBSTR *pbstrVal;
IUnknown **ppunkVal;
IDispatch **ppdispVal;
wirePSAFEARRAY *pparray;
wireVARIANT *pvarVal;
CHAR cVal;
USHORT uiVal;
ULONG ulVal;
ULONGLONG ullVal;
INT intVal;
UINT uintVal;
DECIMAL decVal;
DECIMAL *pdecVal;
CHAR *pcVal;
USHORT *puiVal;
ULONG *pulVal;
ULONGLONG *pullVal;
INT *pintVal;
UINT *puintVal;
} ;
};
typedef LONG DISPID;
typedef DISPID MEMBERID;
typedef DWORD HREFTYPE;
typedef enum tagTYPEKIND {
TKIND_ENUM = 0,
TKIND_RECORD = 1,
TKIND_MODULE = 2,
TKIND_INTERFACE = 3,
TKIND_DISPATCH = 4,
TKIND_COCLASS = 5,
TKIND_ALIAS = 6,
TKIND_UNION = 7,
TKIND_MAX = 8
} TYPEKIND;
typedef struct tagTYPEDESC {
__extension__ union {
struct tagTYPEDESC *lptdesc;
struct tagARRAYDESC *lpadesc;
HREFTYPE hreftype;
} ;
VARTYPE vt;
} TYPEDESC;
typedef struct tagARRAYDESC {
TYPEDESC tdescElem;
USHORT cDims;
SAFEARRAYBOUND rgbounds[1];
} ARRAYDESC;
typedef struct tagPARAMDESCEX {
ULONG cBytes;
VARIANTARG varDefaultValue;
} PARAMDESCEX;
typedef struct tagPARAMDESCEX *LPPARAMDESCEX;
typedef struct tagPARAMDESC {
LPPARAMDESCEX pparamdescex;
USHORT wParamFlags;
} PARAMDESC;
typedef struct tagPARAMDESC *LPPARAMDESC;
typedef struct tagIDLDESC {
ULONG_PTR dwReserved;
USHORT wIDLFlags;
} IDLDESC;
typedef struct tagIDLDESC *LPIDLDESC;
typedef struct tagELEMDESC {
TYPEDESC tdesc;
__extension__ union {
IDLDESC idldesc;
PARAMDESC paramdesc;
} ;
} ELEMDESC,*LPELEMDESC;
typedef struct tagTYPEATTR {
GUID guid;
LCID lcid;
DWORD dwReserved;
MEMBERID memidConstructor;
MEMBERID memidDestructor;
LPOLESTR lpstrSchema;
ULONG cbSizeInstance;
TYPEKIND typekind;
WORD cFuncs;
WORD cVars;
WORD cImplTypes;
WORD cbSizeVft;
WORD cbAlignment;
WORD wTypeFlags;
WORD wMajorVerNum;
WORD wMinorVerNum;
TYPEDESC tdescAlias;
IDLDESC idldescType;
} TYPEATTR;
typedef struct tagTYPEATTR *LPTYPEATTR;
typedef struct tagDISPPARAMS {
VARIANTARG *rgvarg;
DISPID *rgdispidNamedArgs;
UINT cArgs;
UINT cNamedArgs;
} DISPPARAMS;
typedef struct tagEXCEPINFO {
WORD wCode;
WORD wReserved;
BSTR bstrSource;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
PVOID pvReserved;
HRESULT ( *pfnDeferredFillIn)(struct tagEXCEPINFO *);
SCODE scode;
} EXCEPINFO, *LPEXCEPINFO;
typedef enum tagCALLCONV {
CC_FASTCALL = 0,
CC_CDECL = 1,
CC_MSCPASCAL = 2,
CC_PASCAL = CC_MSCPASCAL,
CC_MACPASCAL = 3,
CC_STDCALL = 4,
CC_FPFASTCALL = 5,
CC_SYSCALL = 6,
CC_MPWCDECL = 7,
CC_MPWPASCAL = 8,
CC_MAX = 9
} CALLCONV;
typedef enum tagFUNCKIND {
FUNC_VIRTUAL = 0,
FUNC_PUREVIRTUAL = 1,
FUNC_NONVIRTUAL = 2,
FUNC_STATIC = 3,
FUNC_DISPATCH = 4
} FUNCKIND;
typedef enum tagINVOKEKIND {
INVOKE_FUNC = 1,
INVOKE_PROPERTYGET = 2,
INVOKE_PROPERTYPUT = 4,
INVOKE_PROPERTYPUTREF = 8
} INVOKEKIND;
typedef struct tagFUNCDESC {
MEMBERID memid;
SCODE *lprgscode;
ELEMDESC *lprgelemdescParam;
FUNCKIND funckind;
INVOKEKIND invkind;
CALLCONV callconv;
SHORT cParams;
SHORT cParamsOpt;
SHORT oVft;
SHORT cScodes;
ELEMDESC elemdescFunc;
WORD wFuncFlags;
} FUNCDESC;
typedef struct tagFUNCDESC *LPFUNCDESC;
typedef enum tagVARKIND {
VAR_PERINSTANCE = 0,
VAR_STATIC = 1,
VAR_CONST = 2,
VAR_DISPATCH = 3
} VARKIND;
typedef struct tagVARDESC {
MEMBERID memid;
LPOLESTR lpstrSchema;
__extension__ union {
ULONG oInst;
VARIANT *lpvarValue;
} ;
ELEMDESC elemdescVar;
WORD wVarFlags;
VARKIND varkind;
} VARDESC;
typedef struct tagVARDESC *LPVARDESC;
typedef enum tagTYPEFLAGS {
TYPEFLAG_FAPPOBJECT = 0x1,
TYPEFLAG_FCANCREATE = 0x2,
TYPEFLAG_FLICENSED = 0x4,
TYPEFLAG_FPREDECLID = 0x8,
TYPEFLAG_FHIDDEN = 0x10,
TYPEFLAG_FCONTROL = 0x20,
TYPEFLAG_FDUAL = 0x40,
TYPEFLAG_FNONEXTENSIBLE = 0x80,
TYPEFLAG_FOLEAUTOMATION = 0x100,
TYPEFLAG_FRESTRICTED = 0x200,
TYPEFLAG_FAGGREGATABLE = 0x400,
TYPEFLAG_FREPLACEABLE = 0x800,
TYPEFLAG_FDISPATCHABLE = 0x1000,
TYPEFLAG_FREVERSEBIND = 0x2000,
TYPEFLAG_FPROXY = 0x4000
} TYPEFLAGS;
typedef enum tagFUNCFLAGS {
FUNCFLAG_FRESTRICTED = 0x1,
FUNCFLAG_FSOURCE = 0x2,
FUNCFLAG_FBINDABLE = 0x4,
FUNCFLAG_FREQUESTEDIT = 0x8,
FUNCFLAG_FDISPLAYBIND = 0x10,
FUNCFLAG_FDEFAULTBIND = 0x20,
FUNCFLAG_FHIDDEN = 0x40,
FUNCFLAG_FUSESGETLASTERROR = 0x80,
FUNCFLAG_FDEFAULTCOLLELEM = 0x100,
FUNCFLAG_FUIDEFAULT = 0x200,
FUNCFLAG_FNONBROWSABLE = 0x400,
FUNCFLAG_FREPLACEABLE = 0x800,
FUNCFLAG_FIMMEDIATEBIND = 0x1000
} FUNCFLAGS;
typedef enum tagVARFLAGS {
VARFLAG_FREADONLY = 0x1,
VARFLAG_FSOURCE = 0x2,
VARFLAG_FBINDABLE = 0x4,
VARFLAG_FREQUESTEDIT = 0x8,
VARFLAG_FDISPLAYBIND = 0x10,
VARFLAG_FDEFAULTBIND = 0x20,
VARFLAG_FHIDDEN = 0x40,
VARFLAG_FRESTRICTED = 0x80,
VARFLAG_FDEFAULTCOLLELEM = 0x100,
VARFLAG_FUIDEFAULT = 0x200,
VARFLAG_FNONBROWSABLE = 0x400,
VARFLAG_FREPLACEABLE = 0x800,
VARFLAG_FIMMEDIATEBIND = 0x1000
} VARFLAGS;
typedef struct tagCLEANLOCALSTORAGE {
IUnknown *pInterface;
PVOID pStorage;
DWORD flags;
} CLEANLOCALSTORAGE;
typedef struct tagCUSTDATAITEM {
GUID guid;
VARIANTARG varValue;
} CUSTDATAITEM;
typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM;
typedef struct tagCUSTDATA {
DWORD cCustData;
LPCUSTDATAITEM prgCustData;
} CUSTDATA;
typedef struct tagCUSTDATA *LPCUSTDATA;
typedef ICreateTypeInfo *LPCREATETYPEINFO;
extern const GUID IID_ICreateTypeInfo;
typedef struct ICreateTypeInfoVtbl {
HRESULT ( *QueryInterface)(
ICreateTypeInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICreateTypeInfo *This);
ULONG ( *Release)(
ICreateTypeInfo *This);
HRESULT ( *SetGuid)(
ICreateTypeInfo *This,
const GUID *const guid);
HRESULT ( *SetTypeFlags)(
ICreateTypeInfo *This,
UINT uTypeFlags);
HRESULT ( *SetDocString)(
ICreateTypeInfo *This,
LPOLESTR pStrDoc);
HRESULT ( *SetHelpContext)(
ICreateTypeInfo *This,
DWORD dwHelpContext);
HRESULT ( *SetVersion)(
ICreateTypeInfo *This,
WORD wMajorVerNum,
WORD wMinorVerNum);
HRESULT ( *AddRefTypeInfo)(
ICreateTypeInfo *This,
ITypeInfo *pTInfo,
HREFTYPE *phRefType);
HRESULT ( *AddFuncDesc)(
ICreateTypeInfo *This,
UINT index,
FUNCDESC *pFuncDesc);
HRESULT ( *AddImplType)(
ICreateTypeInfo *This,
UINT index,
HREFTYPE hRefType);
HRESULT ( *SetImplTypeFlags)(
ICreateTypeInfo *This,
UINT index,
INT implTypeFlags);
HRESULT ( *SetAlignment)(
ICreateTypeInfo *This,
WORD cbAlignment);
HRESULT ( *SetSchema)(
ICreateTypeInfo *This,
LPOLESTR pStrSchema);
HRESULT ( *AddVarDesc)(
ICreateTypeInfo *This,
UINT index,
VARDESC *pVarDesc);
HRESULT ( *SetFuncAndParamNames)(
ICreateTypeInfo *This,
UINT index,
LPOLESTR *rgszNames,
UINT cNames);
HRESULT ( *SetVarName)(
ICreateTypeInfo *This,
UINT index,
LPOLESTR szName);
HRESULT ( *SetTypeDescAlias)(
ICreateTypeInfo *This,
TYPEDESC *pTDescAlias);
HRESULT ( *DefineFuncAsDllEntry)(
ICreateTypeInfo *This,
UINT index,
LPOLESTR szDllName,
LPOLESTR szProcName);
HRESULT ( *SetFuncDocString)(
ICreateTypeInfo *This,
UINT index,
LPOLESTR szDocString);
HRESULT ( *SetVarDocString)(
ICreateTypeInfo *This,
UINT index,
LPOLESTR szDocString);
HRESULT ( *SetFuncHelpContext)(
ICreateTypeInfo *This,
UINT index,
DWORD dwHelpContext);
HRESULT ( *SetVarHelpContext)(
ICreateTypeInfo *This,
UINT index,
DWORD dwHelpContext);
HRESULT ( *SetMops)(
ICreateTypeInfo *This,
UINT index,
BSTR bstrMops);
HRESULT ( *SetTypeIdldesc)(
ICreateTypeInfo *This,
IDLDESC *pIdlDesc);
HRESULT ( *LayOut)(
ICreateTypeInfo *This);
} ICreateTypeInfoVtbl;
struct ICreateTypeInfo {
ICreateTypeInfoVtbl* lpVtbl;
};
typedef ICreateTypeInfo2 *LPCREATETYPEINFO2;
extern const GUID IID_ICreateTypeInfo2;
typedef struct ICreateTypeInfo2Vtbl {
HRESULT ( *QueryInterface)(
ICreateTypeInfo2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICreateTypeInfo2 *This);
ULONG ( *Release)(
ICreateTypeInfo2 *This);
HRESULT ( *SetGuid)(
ICreateTypeInfo2 *This,
const GUID *const guid);
HRESULT ( *SetTypeFlags)(
ICreateTypeInfo2 *This,
UINT uTypeFlags);
HRESULT ( *SetDocString)(
ICreateTypeInfo2 *This,
LPOLESTR pStrDoc);
HRESULT ( *SetHelpContext)(
ICreateTypeInfo2 *This,
DWORD dwHelpContext);
HRESULT ( *SetVersion)(
ICreateTypeInfo2 *This,
WORD wMajorVerNum,
WORD wMinorVerNum);
HRESULT ( *AddRefTypeInfo)(
ICreateTypeInfo2 *This,
ITypeInfo *pTInfo,
HREFTYPE *phRefType);
HRESULT ( *AddFuncDesc)(
ICreateTypeInfo2 *This,
UINT index,
FUNCDESC *pFuncDesc);
HRESULT ( *AddImplType)(
ICreateTypeInfo2 *This,
UINT index,
HREFTYPE hRefType);
HRESULT ( *SetImplTypeFlags)(
ICreateTypeInfo2 *This,
UINT index,
INT implTypeFlags);
HRESULT ( *SetAlignment)(
ICreateTypeInfo2 *This,
WORD cbAlignment);
HRESULT ( *SetSchema)(
ICreateTypeInfo2 *This,
LPOLESTR pStrSchema);
HRESULT ( *AddVarDesc)(
ICreateTypeInfo2 *This,
UINT index,
VARDESC *pVarDesc);
HRESULT ( *SetFuncAndParamNames)(
ICreateTypeInfo2 *This,
UINT index,
LPOLESTR *rgszNames,
UINT cNames);
HRESULT ( *SetVarName)(
ICreateTypeInfo2 *This,
UINT index,
LPOLESTR szName);
HRESULT ( *SetTypeDescAlias)(
ICreateTypeInfo2 *This,
TYPEDESC *pTDescAlias);
HRESULT ( *DefineFuncAsDllEntry)(
ICreateTypeInfo2 *This,
UINT index,
LPOLESTR szDllName,
LPOLESTR szProcName);
HRESULT ( *SetFuncDocString)(
ICreateTypeInfo2 *This,
UINT index,
LPOLESTR szDocString);
HRESULT ( *SetVarDocString)(
ICreateTypeInfo2 *This,
UINT index,
LPOLESTR szDocString);
HRESULT ( *SetFuncHelpContext)(
ICreateTypeInfo2 *This,
UINT index,
DWORD dwHelpContext);
HRESULT ( *SetVarHelpContext)(
ICreateTypeInfo2 *This,
UINT index,
DWORD dwHelpContext);
HRESULT ( *SetMops)(
ICreateTypeInfo2 *This,
UINT index,
BSTR bstrMops);
HRESULT ( *SetTypeIdldesc)(
ICreateTypeInfo2 *This,
IDLDESC *pIdlDesc);
HRESULT ( *LayOut)(
ICreateTypeInfo2 *This);
HRESULT ( *DeleteFuncDesc)(
ICreateTypeInfo2 *This,
UINT index);
HRESULT ( *DeleteFuncDescByMemId)(
ICreateTypeInfo2 *This,
MEMBERID memid,
INVOKEKIND invKind);
HRESULT ( *DeleteVarDesc)(
ICreateTypeInfo2 *This,
UINT index);
HRESULT ( *DeleteVarDescByMemId)(
ICreateTypeInfo2 *This,
MEMBERID memid);
HRESULT ( *DeleteImplType)(
ICreateTypeInfo2 *This,
UINT index);
HRESULT ( *SetCustData)(
ICreateTypeInfo2 *This,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetFuncCustData)(
ICreateTypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetParamCustData)(
ICreateTypeInfo2 *This,
UINT indexFunc,
UINT indexParam,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetVarCustData)(
ICreateTypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetImplTypeCustData)(
ICreateTypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetHelpStringContext)(
ICreateTypeInfo2 *This,
ULONG dwHelpStringContext);
HRESULT ( *SetFuncHelpStringContext)(
ICreateTypeInfo2 *This,
UINT index,
ULONG dwHelpStringContext);
HRESULT ( *SetVarHelpStringContext)(
ICreateTypeInfo2 *This,
UINT index,
ULONG dwHelpStringContext);
HRESULT ( *Invalidate)(
ICreateTypeInfo2 *This);
HRESULT ( *SetName)(
ICreateTypeInfo2 *This,
LPOLESTR szName);
} ICreateTypeInfo2Vtbl;
struct ICreateTypeInfo2 {
ICreateTypeInfo2Vtbl* lpVtbl;
};
typedef ICreateTypeLib *LPCREATETYPELIB;
extern const GUID IID_ICreateTypeLib;
typedef struct ICreateTypeLibVtbl {
HRESULT ( *QueryInterface)(
ICreateTypeLib *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICreateTypeLib *This);
ULONG ( *Release)(
ICreateTypeLib *This);
HRESULT ( *CreateTypeInfo)(
ICreateTypeLib *This,
LPOLESTR szName,
TYPEKIND tkind,
ICreateTypeInfo **ppCTInfo);
HRESULT ( *SetName)(
ICreateTypeLib *This,
LPOLESTR szName);
HRESULT ( *SetVersion)(
ICreateTypeLib *This,
WORD wMajorVerNum,
WORD wMinorVerNum);
HRESULT ( *SetGuid)(
ICreateTypeLib *This,
const GUID *const guid);
HRESULT ( *SetDocString)(
ICreateTypeLib *This,
LPOLESTR szDoc);
HRESULT ( *SetHelpFileName)(
ICreateTypeLib *This,
LPOLESTR szHelpFileName);
HRESULT ( *SetHelpContext)(
ICreateTypeLib *This,
DWORD dwHelpContext);
HRESULT ( *SetLcid)(
ICreateTypeLib *This,
LCID lcid);
HRESULT ( *SetLibFlags)(
ICreateTypeLib *This,
UINT uLibFlags);
HRESULT ( *SaveAllChanges)(
ICreateTypeLib *This);
} ICreateTypeLibVtbl;
struct ICreateTypeLib {
ICreateTypeLibVtbl* lpVtbl;
};
typedef ICreateTypeLib2 *LPCREATETYPELIB2;
extern const GUID IID_ICreateTypeLib2;
typedef struct ICreateTypeLib2Vtbl {
HRESULT ( *QueryInterface)(
ICreateTypeLib2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICreateTypeLib2 *This);
ULONG ( *Release)(
ICreateTypeLib2 *This);
HRESULT ( *CreateTypeInfo)(
ICreateTypeLib2 *This,
LPOLESTR szName,
TYPEKIND tkind,
ICreateTypeInfo **ppCTInfo);
HRESULT ( *SetName)(
ICreateTypeLib2 *This,
LPOLESTR szName);
HRESULT ( *SetVersion)(
ICreateTypeLib2 *This,
WORD wMajorVerNum,
WORD wMinorVerNum);
HRESULT ( *SetGuid)(
ICreateTypeLib2 *This,
const GUID *const guid);
HRESULT ( *SetDocString)(
ICreateTypeLib2 *This,
LPOLESTR szDoc);
HRESULT ( *SetHelpFileName)(
ICreateTypeLib2 *This,
LPOLESTR szHelpFileName);
HRESULT ( *SetHelpContext)(
ICreateTypeLib2 *This,
DWORD dwHelpContext);
HRESULT ( *SetLcid)(
ICreateTypeLib2 *This,
LCID lcid);
HRESULT ( *SetLibFlags)(
ICreateTypeLib2 *This,
UINT uLibFlags);
HRESULT ( *SaveAllChanges)(
ICreateTypeLib2 *This);
HRESULT ( *DeleteTypeInfo)(
ICreateTypeLib2 *This,
LPOLESTR szName);
HRESULT ( *SetCustData)(
ICreateTypeLib2 *This,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *SetHelpStringContext)(
ICreateTypeLib2 *This,
ULONG dwHelpStringContext);
HRESULT ( *SetHelpStringDll)(
ICreateTypeLib2 *This,
LPOLESTR szFileName);
} ICreateTypeLib2Vtbl;
struct ICreateTypeLib2 {
ICreateTypeLib2Vtbl* lpVtbl;
};
typedef IDispatch *LPDISPATCH;
extern const GUID IID_IDispatch;
typedef struct IDispatchVtbl {
HRESULT ( *QueryInterface)(
IDispatch *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDispatch *This);
ULONG ( *Release)(
IDispatch *This);
HRESULT ( *GetTypeInfoCount)(
IDispatch *This,
UINT *pctinfo);
HRESULT ( *GetTypeInfo)(
IDispatch *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(
IDispatch *This,
const IID *const riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT ( *Invoke)(
IDispatch *This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
} IDispatchVtbl;
struct IDispatch {
IDispatchVtbl* lpVtbl;
};
HRESULT IDispatch_RemoteInvoke_Proxy(
IDispatch* This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
DWORD dwFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *pArgErr,
UINT cVarRef,
UINT *rgVarRefIdx,
VARIANTARG *rgVarRef);
void IDispatch_RemoteInvoke_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IDispatch_Invoke_Proxy(
IDispatch* This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
HRESULT IDispatch_Invoke_Stub(
IDispatch* This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
DWORD dwFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *pArgErr,
UINT cVarRef,
UINT *rgVarRefIdx,
VARIANTARG *rgVarRef);
typedef IEnumVARIANT *LPENUMVARIANT;
extern const GUID IID_IEnumVARIANT;
typedef struct IEnumVARIANTVtbl {
HRESULT ( *QueryInterface)(
IEnumVARIANT *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumVARIANT *This);
ULONG ( *Release)(
IEnumVARIANT *This);
HRESULT ( *Next)(
IEnumVARIANT *This,
ULONG celt,
VARIANT *rgVar,
ULONG *pCeltFetched);
HRESULT ( *Skip)(
IEnumVARIANT *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumVARIANT *This);
HRESULT ( *Clone)(
IEnumVARIANT *This,
IEnumVARIANT **ppEnum);
} IEnumVARIANTVtbl;
struct IEnumVARIANT {
IEnumVARIANTVtbl* lpVtbl;
};
HRESULT IEnumVARIANT_RemoteNext_Proxy(
IEnumVARIANT* This,
ULONG celt,
VARIANT *rgVar,
ULONG *pCeltFetched);
void IEnumVARIANT_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumVARIANT_Next_Proxy(
IEnumVARIANT* This,
ULONG celt,
VARIANT *rgVar,
ULONG *pCeltFetched);
HRESULT IEnumVARIANT_Next_Stub(
IEnumVARIANT* This,
ULONG celt,
VARIANT *rgVar,
ULONG *pCeltFetched);
typedef ITypeComp *LPTYPECOMP;
typedef enum tagDESCKIND {
DESCKIND_NONE = 0,
DESCKIND_FUNCDESC = 1,
DESCKIND_VARDESC = 2,
DESCKIND_TYPECOMP = 3,
DESCKIND_IMPLICITAPPOBJ = 4,
DESCKIND_MAX = 5
} DESCKIND;
typedef union tagBINDPTR {
FUNCDESC *lpfuncdesc;
VARDESC *lpvardesc;
ITypeComp *lptcomp;
} BINDPTR;
typedef union tagBINDPTR *LPBINDPTR;
extern const GUID IID_ITypeComp;
typedef struct ITypeCompVtbl {
HRESULT ( *QueryInterface)(
ITypeComp *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeComp *This);
ULONG ( *Release)(
ITypeComp *This);
HRESULT ( *Bind)(
ITypeComp *This,
LPOLESTR szName,
ULONG lHashVal,
WORD wFlags,
ITypeInfo **ppTInfo,
DESCKIND *pDescKind,
BINDPTR *pBindPtr);
HRESULT ( *BindType)(
ITypeComp *This,
LPOLESTR szName,
ULONG lHashVal,
ITypeInfo **ppTInfo,
ITypeComp **ppTComp);
} ITypeCompVtbl;
struct ITypeComp {
ITypeCompVtbl* lpVtbl;
};
HRESULT ITypeComp_RemoteBind_Proxy(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
WORD wFlags,
ITypeInfo **ppTInfo,
DESCKIND *pDescKind,
LPFUNCDESC *ppFuncDesc,
LPVARDESC *ppVarDesc,
ITypeComp **ppTypeComp,
CLEANLOCALSTORAGE *pDummy);
void ITypeComp_RemoteBind_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeComp_RemoteBindType_Proxy(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
ITypeInfo **ppTInfo);
void ITypeComp_RemoteBindType_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeComp_Bind_Proxy(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
WORD wFlags,
ITypeInfo **ppTInfo,
DESCKIND *pDescKind,
BINDPTR *pBindPtr);
HRESULT ITypeComp_Bind_Stub(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
WORD wFlags,
ITypeInfo **ppTInfo,
DESCKIND *pDescKind,
LPFUNCDESC *ppFuncDesc,
LPVARDESC *ppVarDesc,
ITypeComp **ppTypeComp,
CLEANLOCALSTORAGE *pDummy);
HRESULT ITypeComp_BindType_Proxy(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
ITypeInfo **ppTInfo,
ITypeComp **ppTComp);
HRESULT ITypeComp_BindType_Stub(
ITypeComp* This,
LPOLESTR szName,
ULONG lHashVal,
ITypeInfo **ppTInfo);
typedef ITypeInfo *LPTYPEINFO;
extern const GUID IID_ITypeInfo;
typedef struct ITypeInfoVtbl {
HRESULT ( *QueryInterface)(
ITypeInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeInfo *This);
ULONG ( *Release)(
ITypeInfo *This);
HRESULT ( *GetTypeAttr)(
ITypeInfo *This,
TYPEATTR **ppTypeAttr);
HRESULT ( *GetTypeComp)(
ITypeInfo *This,
ITypeComp **ppTComp);
HRESULT ( *GetFuncDesc)(
ITypeInfo *This,
UINT index,
FUNCDESC **ppFuncDesc);
HRESULT ( *GetVarDesc)(
ITypeInfo *This,
UINT index,
VARDESC **ppVarDesc);
HRESULT ( *GetNames)(
ITypeInfo *This,
MEMBERID memid,
BSTR *rgBstrNames,
UINT cMaxNames,
UINT *pcNames);
HRESULT ( *GetRefTypeOfImplType)(
ITypeInfo *This,
UINT index,
HREFTYPE *pRefType);
HRESULT ( *GetImplTypeFlags)(
ITypeInfo *This,
UINT index,
INT *pImplTypeFlags);
HRESULT ( *GetIDsOfNames)(
ITypeInfo *This,
LPOLESTR *rgszNames,
UINT cNames,
MEMBERID *pMemId);
HRESULT ( *Invoke)(
ITypeInfo *This,
PVOID pvInstance,
MEMBERID memid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
HRESULT ( *GetDocumentation)(
ITypeInfo *This,
MEMBERID memid,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ( *GetDllEntry)(
ITypeInfo *This,
MEMBERID memid,
INVOKEKIND invKind,
BSTR *pBstrDllName,
BSTR *pBstrName,
WORD *pwOrdinal);
HRESULT ( *GetRefTypeInfo)(
ITypeInfo *This,
HREFTYPE hRefType,
ITypeInfo **ppTInfo);
HRESULT ( *AddressOfMember)(
ITypeInfo *This,
MEMBERID memid,
INVOKEKIND invKind,
PVOID *ppv);
HRESULT ( *CreateInstance)(
ITypeInfo *This,
IUnknown *pUnkOuter,
const IID *const riid,
PVOID *ppvObj);
HRESULT ( *GetMops)(
ITypeInfo *This,
MEMBERID memid,
BSTR *pBstrMops);
HRESULT ( *GetContainingTypeLib)(
ITypeInfo *This,
ITypeLib **ppTLib,
UINT *pIndex);
void ( *ReleaseTypeAttr)(
ITypeInfo *This,
TYPEATTR *pTypeAttr);
void ( *ReleaseFuncDesc)(
ITypeInfo *This,
FUNCDESC *pFuncDesc);
void ( *ReleaseVarDesc)(
ITypeInfo *This,
VARDESC *pVarDesc);
} ITypeInfoVtbl;
struct ITypeInfo {
ITypeInfoVtbl* lpVtbl;
};
HRESULT ITypeInfo_RemoteGetTypeAttr_Proxy(
ITypeInfo* This,
LPTYPEATTR *ppTypeAttr,
CLEANLOCALSTORAGE *pDummy);
void ITypeInfo_RemoteGetTypeAttr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetFuncDesc_Proxy(
ITypeInfo* This,
UINT index,
LPFUNCDESC *ppFuncDesc,
CLEANLOCALSTORAGE *pDummy);
void ITypeInfo_RemoteGetFuncDesc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetVarDesc_Proxy(
ITypeInfo* This,
UINT index,
LPVARDESC *ppVarDesc,
CLEANLOCALSTORAGE *pDummy);
void ITypeInfo_RemoteGetVarDesc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetNames_Proxy(
ITypeInfo* This,
MEMBERID memid,
BSTR *rgBstrNames,
UINT cMaxNames,
UINT *pcNames);
void ITypeInfo_RemoteGetNames_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalGetIDsOfNames_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalGetIDsOfNames_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalInvoke_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalInvoke_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetDocumentation_Proxy(
ITypeInfo* This,
MEMBERID memid,
DWORD refPtrFlags,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
void ITypeInfo_RemoteGetDocumentation_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetDllEntry_Proxy(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
DWORD refPtrFlags,
BSTR *pBstrDllName,
BSTR *pBstrName,
WORD *pwOrdinal);
void ITypeInfo_RemoteGetDllEntry_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalAddressOfMember_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalAddressOfMember_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteCreateInstance_Proxy(
ITypeInfo* This,
const IID *const riid,
IUnknown **ppvObj);
void ITypeInfo_RemoteCreateInstance_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_RemoteGetContainingTypeLib_Proxy(
ITypeInfo* This,
ITypeLib **ppTLib,
UINT *pIndex);
void ITypeInfo_RemoteGetContainingTypeLib_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalReleaseTypeAttr_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalReleaseTypeAttr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalReleaseFuncDesc_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalReleaseFuncDesc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_LocalReleaseVarDesc_Proxy(
ITypeInfo* This);
void ITypeInfo_LocalReleaseVarDesc_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo_GetTypeAttr_Proxy(
ITypeInfo* This,
TYPEATTR **ppTypeAttr);
HRESULT ITypeInfo_GetTypeAttr_Stub(
ITypeInfo* This,
LPTYPEATTR *ppTypeAttr,
CLEANLOCALSTORAGE *pDummy);
HRESULT ITypeInfo_GetFuncDesc_Proxy(
ITypeInfo* This,
UINT index,
FUNCDESC **ppFuncDesc);
HRESULT ITypeInfo_GetFuncDesc_Stub(
ITypeInfo* This,
UINT index,
LPFUNCDESC *ppFuncDesc,
CLEANLOCALSTORAGE *pDummy);
HRESULT ITypeInfo_GetVarDesc_Proxy(
ITypeInfo* This,
UINT index,
VARDESC **ppVarDesc);
HRESULT ITypeInfo_GetVarDesc_Stub(
ITypeInfo* This,
UINT index,
LPVARDESC *ppVarDesc,
CLEANLOCALSTORAGE *pDummy);
HRESULT ITypeInfo_GetNames_Proxy(
ITypeInfo* This,
MEMBERID memid,
BSTR *rgBstrNames,
UINT cMaxNames,
UINT *pcNames);
HRESULT ITypeInfo_GetNames_Stub(
ITypeInfo* This,
MEMBERID memid,
BSTR *rgBstrNames,
UINT cMaxNames,
UINT *pcNames);
HRESULT ITypeInfo_GetIDsOfNames_Proxy(
ITypeInfo* This,
LPOLESTR *rgszNames,
UINT cNames,
MEMBERID *pMemId);
HRESULT ITypeInfo_GetIDsOfNames_Stub(
ITypeInfo* This);
HRESULT ITypeInfo_Invoke_Proxy(
ITypeInfo* This,
PVOID pvInstance,
MEMBERID memid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
HRESULT ITypeInfo_Invoke_Stub(
ITypeInfo* This);
HRESULT ITypeInfo_GetDocumentation_Proxy(
ITypeInfo* This,
MEMBERID memid,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ITypeInfo_GetDocumentation_Stub(
ITypeInfo* This,
MEMBERID memid,
DWORD refPtrFlags,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ITypeInfo_GetDllEntry_Proxy(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
BSTR *pBstrDllName,
BSTR *pBstrName,
WORD *pwOrdinal);
HRESULT ITypeInfo_GetDllEntry_Stub(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
DWORD refPtrFlags,
BSTR *pBstrDllName,
BSTR *pBstrName,
WORD *pwOrdinal);
HRESULT ITypeInfo_AddressOfMember_Proxy(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
PVOID *ppv);
HRESULT ITypeInfo_AddressOfMember_Stub(
ITypeInfo* This);
HRESULT ITypeInfo_CreateInstance_Proxy(
ITypeInfo* This,
IUnknown *pUnkOuter,
const IID *const riid,
PVOID *ppvObj);
HRESULT ITypeInfo_CreateInstance_Stub(
ITypeInfo* This,
const IID *const riid,
IUnknown **ppvObj);
HRESULT ITypeInfo_GetContainingTypeLib_Proxy(
ITypeInfo* This,
ITypeLib **ppTLib,
UINT *pIndex);
HRESULT ITypeInfo_GetContainingTypeLib_Stub(
ITypeInfo* This,
ITypeLib **ppTLib,
UINT *pIndex);
void ITypeInfo_ReleaseTypeAttr_Proxy(
ITypeInfo* This,
TYPEATTR *pTypeAttr);
HRESULT ITypeInfo_ReleaseTypeAttr_Stub(
ITypeInfo* This);
void ITypeInfo_ReleaseFuncDesc_Proxy(
ITypeInfo* This,
FUNCDESC *pFuncDesc);
HRESULT ITypeInfo_ReleaseFuncDesc_Stub(
ITypeInfo* This);
void ITypeInfo_ReleaseVarDesc_Proxy(
ITypeInfo* This,
VARDESC *pVarDesc);
HRESULT ITypeInfo_ReleaseVarDesc_Stub(
ITypeInfo* This);
typedef ITypeInfo2 *LPTYPEINFO2;
extern const GUID IID_ITypeInfo2;
typedef struct ITypeInfo2Vtbl {
HRESULT ( *QueryInterface)(
ITypeInfo2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeInfo2 *This);
ULONG ( *Release)(
ITypeInfo2 *This);
HRESULT ( *GetTypeAttr)(
ITypeInfo2 *This,
TYPEATTR **ppTypeAttr);
HRESULT ( *GetTypeComp)(
ITypeInfo2 *This,
ITypeComp **ppTComp);
HRESULT ( *GetFuncDesc)(
ITypeInfo2 *This,
UINT index,
FUNCDESC **ppFuncDesc);
HRESULT ( *GetVarDesc)(
ITypeInfo2 *This,
UINT index,
VARDESC **ppVarDesc);
HRESULT ( *GetNames)(
ITypeInfo2 *This,
MEMBERID memid,
BSTR *rgBstrNames,
UINT cMaxNames,
UINT *pcNames);
HRESULT ( *GetRefTypeOfImplType)(
ITypeInfo2 *This,
UINT index,
HREFTYPE *pRefType);
HRESULT ( *GetImplTypeFlags)(
ITypeInfo2 *This,
UINT index,
INT *pImplTypeFlags);
HRESULT ( *GetIDsOfNames)(
ITypeInfo2 *This,
LPOLESTR *rgszNames,
UINT cNames,
MEMBERID *pMemId);
HRESULT ( *Invoke)(
ITypeInfo2 *This,
PVOID pvInstance,
MEMBERID memid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
HRESULT ( *GetDocumentation)(
ITypeInfo2 *This,
MEMBERID memid,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ( *GetDllEntry)(
ITypeInfo2 *This,
MEMBERID memid,
INVOKEKIND invKind,
BSTR *pBstrDllName,
BSTR *pBstrName,
WORD *pwOrdinal);
HRESULT ( *GetRefTypeInfo)(
ITypeInfo2 *This,
HREFTYPE hRefType,
ITypeInfo **ppTInfo);
HRESULT ( *AddressOfMember)(
ITypeInfo2 *This,
MEMBERID memid,
INVOKEKIND invKind,
PVOID *ppv);
HRESULT ( *CreateInstance)(
ITypeInfo2 *This,
IUnknown *pUnkOuter,
const IID *const riid,
PVOID *ppvObj);
HRESULT ( *GetMops)(
ITypeInfo2 *This,
MEMBERID memid,
BSTR *pBstrMops);
HRESULT ( *GetContainingTypeLib)(
ITypeInfo2 *This,
ITypeLib **ppTLib,
UINT *pIndex);
void ( *ReleaseTypeAttr)(
ITypeInfo2 *This,
TYPEATTR *pTypeAttr);
void ( *ReleaseFuncDesc)(
ITypeInfo2 *This,
FUNCDESC *pFuncDesc);
void ( *ReleaseVarDesc)(
ITypeInfo2 *This,
VARDESC *pVarDesc);
HRESULT ( *GetTypeKind)(
ITypeInfo2 *This,
TYPEKIND *pTypeKind);
HRESULT ( *GetTypeFlags)(
ITypeInfo2 *This,
ULONG *pTypeFlags);
HRESULT ( *GetFuncIndexOfMemId)(
ITypeInfo2 *This,
MEMBERID memid,
INVOKEKIND invKind,
UINT *pFuncIndex);
HRESULT ( *GetVarIndexOfMemId)(
ITypeInfo2 *This,
MEMBERID memid,
UINT *pVarIndex);
HRESULT ( *GetCustData)(
ITypeInfo2 *This,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetFuncCustData)(
ITypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetParamCustData)(
ITypeInfo2 *This,
UINT indexFunc,
UINT indexParam,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetVarCustData)(
ITypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetImplTypeCustData)(
ITypeInfo2 *This,
UINT index,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetDocumentation2)(
ITypeInfo2 *This,
MEMBERID memid,
LCID lcid,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
HRESULT ( *GetAllCustData)(
ITypeInfo2 *This,
CUSTDATA *pCustData);
HRESULT ( *GetAllFuncCustData)(
ITypeInfo2 *This,
UINT index,
CUSTDATA *pCustData);
HRESULT ( *GetAllParamCustData)(
ITypeInfo2 *This,
UINT indexFunc,
UINT indexParam,
CUSTDATA *pCustData);
HRESULT ( *GetAllVarCustData)(
ITypeInfo2 *This,
UINT index,
CUSTDATA *pCustData);
HRESULT ( *GetAllImplTypeCustData)(
ITypeInfo2 *This,
UINT index,
CUSTDATA *pCustData);
} ITypeInfo2Vtbl;
struct ITypeInfo2 {
ITypeInfo2Vtbl* lpVtbl;
};
HRESULT ITypeInfo2_RemoteGetDocumentation2_Proxy(
ITypeInfo2* This,
MEMBERID memid,
LCID lcid,
DWORD refPtrFlags,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
void ITypeInfo2_RemoteGetDocumentation2_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeInfo2_GetDocumentation2_Proxy(
ITypeInfo2* This,
MEMBERID memid,
LCID lcid,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
HRESULT ITypeInfo2_GetDocumentation2_Stub(
ITypeInfo2* This,
MEMBERID memid,
LCID lcid,
DWORD refPtrFlags,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
typedef enum tagSYSKIND {
SYS_WIN16 = 0,
SYS_WIN32 = 1,
SYS_MAC = 2,
SYS_WIN64 = 3
} SYSKIND;
typedef enum tagLIBFLAGS {
LIBFLAG_FRESTRICTED = 0x1,
LIBFLAG_FCONTROL = 0x2,
LIBFLAG_FHIDDEN = 0x4,
LIBFLAG_FHASDISKIMAGE = 0x8
} LIBFLAGS;
typedef ITypeLib *LPTYPELIB;
typedef struct tagTLIBATTR {
GUID guid;
LCID lcid;
SYSKIND syskind;
WORD wMajorVerNum;
WORD wMinorVerNum;
WORD wLibFlags;
} TLIBATTR;
typedef struct tagTLIBATTR *LPTLIBATTR;
extern const GUID IID_ITypeLib;
typedef struct ITypeLibVtbl {
HRESULT ( *QueryInterface)(
ITypeLib *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeLib *This);
ULONG ( *Release)(
ITypeLib *This);
UINT ( *GetTypeInfoCount)(
ITypeLib *This);
HRESULT ( *GetTypeInfo)(
ITypeLib *This,
UINT index,
ITypeInfo **ppTInfo);
HRESULT ( *GetTypeInfoType)(
ITypeLib *This,
UINT index,
TYPEKIND *pTKind);
HRESULT ( *GetTypeInfoOfGuid)(
ITypeLib *This,
const GUID *const guid,
ITypeInfo **ppTinfo);
HRESULT ( *GetLibAttr)(
ITypeLib *This,
TLIBATTR **ppTLibAttr);
HRESULT ( *GetTypeComp)(
ITypeLib *This,
ITypeComp **ppTComp);
HRESULT ( *GetDocumentation)(
ITypeLib *This,
INT index,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ( *IsName)(
ITypeLib *This,
LPOLESTR szNameBuf,
ULONG lHashVal,
WINBOOL *pfName);
HRESULT ( *FindName)(
ITypeLib *This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo **ppTInfo,
MEMBERID *rgMemId,
USHORT *pcFound);
void ( *ReleaseTLibAttr)(
ITypeLib *This,
TLIBATTR *pTLibAttr);
} ITypeLibVtbl;
struct ITypeLib {
ITypeLibVtbl* lpVtbl;
};
HRESULT ITypeLib_RemoteGetTypeInfoCount_Proxy(
ITypeLib* This,
UINT *pcTInfo);
void ITypeLib_RemoteGetTypeInfoCount_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib_RemoteGetLibAttr_Proxy(
ITypeLib* This,
LPTLIBATTR *ppTLibAttr,
CLEANLOCALSTORAGE *pDummy);
void ITypeLib_RemoteGetLibAttr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib_RemoteGetDocumentation_Proxy(
ITypeLib* This,
INT index,
DWORD refPtrFlags,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
void ITypeLib_RemoteGetDocumentation_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib_RemoteIsName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
WINBOOL *pfName,
BSTR *pBstrLibName);
void ITypeLib_RemoteIsName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib_RemoteFindName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo **ppTInfo,
MEMBERID *rgMemId,
USHORT *pcFound,
BSTR *pBstrLibName);
void ITypeLib_RemoteFindName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib_LocalReleaseTLibAttr_Proxy(
ITypeLib* This);
void ITypeLib_LocalReleaseTLibAttr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
UINT ITypeLib_GetTypeInfoCount_Proxy(
ITypeLib* This);
HRESULT ITypeLib_GetTypeInfoCount_Stub(
ITypeLib* This,
UINT *pcTInfo);
HRESULT ITypeLib_GetLibAttr_Proxy(
ITypeLib* This,
TLIBATTR **ppTLibAttr);
HRESULT ITypeLib_GetLibAttr_Stub(
ITypeLib* This,
LPTLIBATTR *ppTLibAttr,
CLEANLOCALSTORAGE *pDummy);
HRESULT ITypeLib_GetDocumentation_Proxy(
ITypeLib* This,
INT index,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ITypeLib_GetDocumentation_Stub(
ITypeLib* This,
INT index,
DWORD refPtrFlags,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ITypeLib_IsName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
WINBOOL *pfName);
HRESULT ITypeLib_IsName_Stub(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
WINBOOL *pfName,
BSTR *pBstrLibName);
HRESULT ITypeLib_FindName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo **ppTInfo,
MEMBERID *rgMemId,
USHORT *pcFound);
HRESULT ITypeLib_FindName_Stub(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo **ppTInfo,
MEMBERID *rgMemId,
USHORT *pcFound,
BSTR *pBstrLibName);
void ITypeLib_ReleaseTLibAttr_Proxy(
ITypeLib* This,
TLIBATTR *pTLibAttr);
HRESULT ITypeLib_ReleaseTLibAttr_Stub(
ITypeLib* This);
typedef ITypeLib2 *LPTYPELIB2;
extern const GUID IID_ITypeLib2;
typedef struct ITypeLib2Vtbl {
HRESULT ( *QueryInterface)(
ITypeLib2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeLib2 *This);
ULONG ( *Release)(
ITypeLib2 *This);
UINT ( *GetTypeInfoCount)(
ITypeLib2 *This);
HRESULT ( *GetTypeInfo)(
ITypeLib2 *This,
UINT index,
ITypeInfo **ppTInfo);
HRESULT ( *GetTypeInfoType)(
ITypeLib2 *This,
UINT index,
TYPEKIND *pTKind);
HRESULT ( *GetTypeInfoOfGuid)(
ITypeLib2 *This,
const GUID *const guid,
ITypeInfo **ppTinfo);
HRESULT ( *GetLibAttr)(
ITypeLib2 *This,
TLIBATTR **ppTLibAttr);
HRESULT ( *GetTypeComp)(
ITypeLib2 *This,
ITypeComp **ppTComp);
HRESULT ( *GetDocumentation)(
ITypeLib2 *This,
INT index,
BSTR *pBstrName,
BSTR *pBstrDocString,
DWORD *pdwHelpContext,
BSTR *pBstrHelpFile);
HRESULT ( *IsName)(
ITypeLib2 *This,
LPOLESTR szNameBuf,
ULONG lHashVal,
WINBOOL *pfName);
HRESULT ( *FindName)(
ITypeLib2 *This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo **ppTInfo,
MEMBERID *rgMemId,
USHORT *pcFound);
void ( *ReleaseTLibAttr)(
ITypeLib2 *This,
TLIBATTR *pTLibAttr);
HRESULT ( *GetCustData)(
ITypeLib2 *This,
const GUID *const guid,
VARIANT *pVarVal);
HRESULT ( *GetLibStatistics)(
ITypeLib2 *This,
ULONG *pcUniqueNames,
ULONG *pcchUniqueNames);
HRESULT ( *GetDocumentation2)(
ITypeLib2 *This,
INT index,
LCID lcid,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
HRESULT ( *GetAllCustData)(
ITypeLib2 *This,
CUSTDATA *pCustData);
} ITypeLib2Vtbl;
struct ITypeLib2 {
ITypeLib2Vtbl* lpVtbl;
};
HRESULT ITypeLib2_RemoteGetLibStatistics_Proxy(
ITypeLib2* This,
ULONG *pcUniqueNames,
ULONG *pcchUniqueNames);
void ITypeLib2_RemoteGetLibStatistics_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib2_RemoteGetDocumentation2_Proxy(
ITypeLib2* This,
INT index,
LCID lcid,
DWORD refPtrFlags,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
void ITypeLib2_RemoteGetDocumentation2_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT ITypeLib2_GetLibStatistics_Proxy(
ITypeLib2* This,
ULONG *pcUniqueNames,
ULONG *pcchUniqueNames);
HRESULT ITypeLib2_GetLibStatistics_Stub(
ITypeLib2* This,
ULONG *pcUniqueNames,
ULONG *pcchUniqueNames);
HRESULT ITypeLib2_GetDocumentation2_Proxy(
ITypeLib2* This,
INT index,
LCID lcid,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
HRESULT ITypeLib2_GetDocumentation2_Stub(
ITypeLib2* This,
INT index,
LCID lcid,
DWORD refPtrFlags,
BSTR *pbstrHelpString,
DWORD *pdwHelpStringContext,
BSTR *pbstrHelpStringDll);
typedef ITypeChangeEvents *LPTYPECHANGEEVENTS;
typedef enum tagCHANGEKIND {
CHANGEKIND_ADDMEMBER = 0,
CHANGEKIND_DELETEMEMBER = 1,
CHANGEKIND_SETNAMES = 2,
CHANGEKIND_SETDOCUMENTATION = 3,
CHANGEKIND_GENERAL = 4,
CHANGEKIND_INVALIDATE = 5,
CHANGEKIND_CHANGEFAILED = 6,
CHANGEKIND_MAX = 7
} CHANGEKIND;
extern const GUID IID_ITypeChangeEvents;
typedef struct ITypeChangeEventsVtbl {
HRESULT ( *QueryInterface)(
ITypeChangeEvents *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeChangeEvents *This);
ULONG ( *Release)(
ITypeChangeEvents *This);
HRESULT ( *RequestTypeChange)(
ITypeChangeEvents *This,
CHANGEKIND changeKind,
ITypeInfo *pTInfoBefore,
LPOLESTR pStrName,
INT *pfCancel);
HRESULT ( *AfterTypeChange)(
ITypeChangeEvents *This,
CHANGEKIND changeKind,
ITypeInfo *pTInfoAfter,
LPOLESTR pStrName);
} ITypeChangeEventsVtbl;
struct ITypeChangeEvents {
ITypeChangeEventsVtbl* lpVtbl;
};
typedef IErrorInfo *LPERRORINFO;
extern const GUID IID_IErrorInfo;
typedef struct IErrorInfoVtbl {
HRESULT ( *QueryInterface)(
IErrorInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IErrorInfo *This);
ULONG ( *Release)(
IErrorInfo *This);
HRESULT ( *GetGUID)(
IErrorInfo *This,
GUID *pGUID);
HRESULT ( *GetSource)(
IErrorInfo *This,
BSTR *pBstrSource);
HRESULT ( *GetDescription)(
IErrorInfo *This,
BSTR *pBstrDescription);
HRESULT ( *GetHelpFile)(
IErrorInfo *This,
BSTR *pBstrHelpFile);
HRESULT ( *GetHelpContext)(
IErrorInfo *This,
DWORD *pdwHelpContext);
} IErrorInfoVtbl;
struct IErrorInfo {
IErrorInfoVtbl* lpVtbl;
};
typedef ICreateErrorInfo *LPCREATEERRORINFO;
extern const GUID IID_ICreateErrorInfo;
typedef struct ICreateErrorInfoVtbl {
HRESULT ( *QueryInterface)(
ICreateErrorInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICreateErrorInfo *This);
ULONG ( *Release)(
ICreateErrorInfo *This);
HRESULT ( *SetGUID)(
ICreateErrorInfo *This,
const GUID *const rguid);
HRESULT ( *SetSource)(
ICreateErrorInfo *This,
LPOLESTR szSource);
HRESULT ( *SetDescription)(
ICreateErrorInfo *This,
LPOLESTR szDescription);
HRESULT ( *SetHelpFile)(
ICreateErrorInfo *This,
LPOLESTR szHelpFile);
HRESULT ( *SetHelpContext)(
ICreateErrorInfo *This,
DWORD dwHelpContext);
} ICreateErrorInfoVtbl;
struct ICreateErrorInfo {
ICreateErrorInfoVtbl* lpVtbl;
};
typedef ISupportErrorInfo *LPSUPPORTERRORINFO;
extern const GUID IID_ISupportErrorInfo;
typedef struct ISupportErrorInfoVtbl {
HRESULT ( *QueryInterface)(
ISupportErrorInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISupportErrorInfo *This);
ULONG ( *Release)(
ISupportErrorInfo *This);
HRESULT ( *InterfaceSupportsErrorInfo)(
ISupportErrorInfo *This,
const IID *const riid);
} ISupportErrorInfoVtbl;
struct ISupportErrorInfo {
ISupportErrorInfoVtbl* lpVtbl;
};
extern const GUID IID_ITypeFactory;
typedef struct ITypeFactoryVtbl {
HRESULT ( *QueryInterface)(
ITypeFactory *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeFactory *This);
ULONG ( *Release)(
ITypeFactory *This);
HRESULT ( *CreateFromTypeInfo)(
ITypeFactory *This,
ITypeInfo *pTypeInfo,
const IID *const riid,
IUnknown **ppv);
} ITypeFactoryVtbl;
struct ITypeFactory {
ITypeFactoryVtbl* lpVtbl;
};
extern const GUID IID_ITypeMarshal;
typedef struct ITypeMarshalVtbl {
HRESULT ( *QueryInterface)(
ITypeMarshal *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ITypeMarshal *This);
ULONG ( *Release)(
ITypeMarshal *This);
HRESULT ( *Size)(
ITypeMarshal *This,
PVOID pvType,
DWORD dwDestContext,
PVOID pvDestContext,
ULONG *pSize);
HRESULT ( *Marshal)(
ITypeMarshal *This,
PVOID pvType,
DWORD dwDestContext,
PVOID pvDestContext,
ULONG cbBufferLength,
BYTE *pBuffer,
ULONG *pcbWritten);
HRESULT ( *Unmarshal)(
ITypeMarshal *This,
PVOID pvType,
DWORD dwFlags,
ULONG cbBufferLength,
BYTE *pBuffer,
ULONG *pcbRead);
HRESULT ( *Free)(
ITypeMarshal *This,
PVOID pvType);
} ITypeMarshalVtbl;
struct ITypeMarshal {
ITypeMarshalVtbl* lpVtbl;
};
typedef IRecordInfo *LPRECORDINFO;
extern const GUID IID_IRecordInfo;
typedef struct IRecordInfoVtbl {
HRESULT ( *QueryInterface)(
IRecordInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IRecordInfo *This);
ULONG ( *Release)(
IRecordInfo *This);
HRESULT ( *RecordInit)(
IRecordInfo *This,
PVOID pvNew);
HRESULT ( *RecordClear)(
IRecordInfo *This,
PVOID pvExisting);
HRESULT ( *RecordCopy)(
IRecordInfo *This,
PVOID pvExisting,
PVOID pvNew);
HRESULT ( *GetGuid)(
IRecordInfo *This,
GUID *pguid);
HRESULT ( *GetName)(
IRecordInfo *This,
BSTR *pbstrName);
HRESULT ( *GetSize)(
IRecordInfo *This,
ULONG *pcbSize);
HRESULT ( *GetTypeInfo)(
IRecordInfo *This,
ITypeInfo **ppTypeInfo);
HRESULT ( *GetField)(
IRecordInfo *This,
PVOID pvData,
LPCOLESTR szFieldName,
VARIANT *pvarField);
HRESULT ( *GetFieldNoCopy)(
IRecordInfo *This,
PVOID pvData,
LPCOLESTR szFieldName,
VARIANT *pvarField,
PVOID *ppvDataCArray);
HRESULT ( *PutField)(
IRecordInfo *This,
ULONG wFlags,
PVOID pvData,
LPCOLESTR szFieldName,
VARIANT *pvarField);
HRESULT ( *PutFieldNoCopy)(
IRecordInfo *This,
ULONG wFlags,
PVOID pvData,
LPCOLESTR szFieldName,
VARIANT *pvarField);
HRESULT ( *GetFieldNames)(
IRecordInfo *This,
ULONG *pcNames,
BSTR *rgBstrNames);
WINBOOL ( *IsMatchingType)(
IRecordInfo *This,
IRecordInfo *pRecordInfo);
PVOID ( *RecordCreate)(
IRecordInfo *This);
HRESULT ( *RecordCreateCopy)(
IRecordInfo *This,
PVOID pvSource,
PVOID *ppvDest);
HRESULT ( *RecordDestroy)(
IRecordInfo *This,
PVOID pvRecord);
} IRecordInfoVtbl;
struct IRecordInfo {
IRecordInfoVtbl* lpVtbl;
};
typedef IErrorLog *LPERRORLOG;
extern const GUID IID_IErrorLog;
typedef struct IErrorLogVtbl {
HRESULT ( *QueryInterface)(
IErrorLog *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IErrorLog *This);
ULONG ( *Release)(
IErrorLog *This);
HRESULT ( *AddError)(
IErrorLog *This,
LPCOLESTR pszPropName,
EXCEPINFO *pExcepInfo);
} IErrorLogVtbl;
struct IErrorLog {
IErrorLogVtbl* lpVtbl;
};
typedef IPropertyBag *LPPROPERTYBAG;
extern const GUID IID_IPropertyBag;
typedef struct IPropertyBagVtbl {
HRESULT ( *QueryInterface)(
IPropertyBag *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyBag *This);
ULONG ( *Release)(
IPropertyBag *This);
HRESULT ( *Read)(
IPropertyBag *This,
LPCOLESTR pszPropName,
VARIANT *pVar,
IErrorLog *pErrorLog);
HRESULT ( *Write)(
IPropertyBag *This,
LPCOLESTR pszPropName,
VARIANT *pVar);
} IPropertyBagVtbl;
struct IPropertyBag {
IPropertyBagVtbl* lpVtbl;
};
HRESULT IPropertyBag_RemoteRead_Proxy(
IPropertyBag* This,
LPCOLESTR pszPropName,
VARIANT *pVar,
IErrorLog *pErrorLog,
DWORD varType,
IUnknown *pUnkObj);
void IPropertyBag_RemoteRead_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPropertyBag_Read_Proxy(
IPropertyBag* This,
LPCOLESTR pszPropName,
VARIANT *pVar,
IErrorLog *pErrorLog);
HRESULT IPropertyBag_Read_Stub(
IPropertyBag* This,
LPCOLESTR pszPropName,
VARIANT *pVar,
IErrorLog *pErrorLog,
DWORD varType,
IUnknown *pUnkObj);
ULONG VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
unsigned char * VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
unsigned char * VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void VARIANT_UserFree (ULONG *, VARIANT *);
ULONG BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void BSTR_UserFree (ULONG *, BSTR *);
ULONG CLEANLOCALSTORAGE_UserSize (ULONG *, ULONG, CLEANLOCALSTORAGE *);
unsigned char * CLEANLOCALSTORAGE_UserMarshal (ULONG *, unsigned char *, CLEANLOCALSTORAGE *);
unsigned char * CLEANLOCALSTORAGE_UserUnmarshal(ULONG *, unsigned char *, CLEANLOCALSTORAGE *);
void CLEANLOCALSTORAGE_UserFree (ULONG *, CLEANLOCALSTORAGE *);
typedef struct IXMLDOMImplementation IXMLDOMImplementation;
typedef struct IXMLDOMNode IXMLDOMNode;
typedef struct IXMLDOMDocumentFragment IXMLDOMDocumentFragment;
typedef struct IXMLDOMDocument IXMLDOMDocument;
typedef struct IXMLDOMNodeList IXMLDOMNodeList;
typedef struct IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap;
typedef struct IXMLDOMCharacterData IXMLDOMCharacterData;
typedef struct IXMLDOMAttribute IXMLDOMAttribute;
typedef struct IXMLDOMElement IXMLDOMElement;
typedef struct IXMLDOMText IXMLDOMText;
typedef struct IXMLDOMComment IXMLDOMComment;
typedef struct IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction;
typedef struct IXMLDOMCDATASection IXMLDOMCDATASection;
typedef struct IXMLDOMDocumentType IXMLDOMDocumentType;
typedef struct IXMLDOMNotation IXMLDOMNotation;
typedef struct IXMLDOMEntity IXMLDOMEntity;
typedef struct IXMLDOMEntityReference IXMLDOMEntityReference;
typedef struct IXMLDOMParseError IXMLDOMParseError;
typedef struct IXTLRuntime IXTLRuntime;
typedef struct XMLDOMDocumentEvents XMLDOMDocumentEvents;
typedef struct DOMDocument DOMDocument;
typedef struct DOMFreeThreadedDocument DOMFreeThreadedDocument;
typedef struct IXMLHttpRequest IXMLHttpRequest;
typedef struct XMLHTTPRequest XMLHTTPRequest;
typedef struct IXMLDSOControl IXMLDSOControl;
typedef struct XMLDSOControl XMLDSOControl;
typedef struct IXMLElementCollection IXMLElementCollection;
typedef struct IXMLDocument IXMLDocument;
typedef struct IXMLDocument2 IXMLDocument2;
typedef struct IXMLElement IXMLElement;
typedef struct IXMLElement2 IXMLElement2;
typedef struct IXMLAttribute IXMLAttribute;
typedef struct IXMLError IXMLError;
typedef struct XMLDocument XMLDocument;
typedef struct _xml_error {
unsigned int _nLine;
BSTR _pchBuf;
unsigned int _cchBuf;
unsigned int _ich;
BSTR _pszFound;
BSTR _pszExpected;
DWORD _reserved1;
DWORD _reserved2;
} XML_ERROR;
extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_s_ifspec;
typedef enum tagDOMNodeType {
NODE_INVALID = 0,NODE_ELEMENT,NODE_ATTRIBUTE,NODE_TEXT,NODE_CDATA_SECTION,
NODE_ENTITY_REFERENCE,NODE_ENTITY,NODE_PROCESSING_INSTRUCTION,NODE_COMMENT,
NODE_DOCUMENT,NODE_DOCUMENT_TYPE,NODE_DOCUMENT_FRAGMENT,NODE_NOTATION
} DOMNodeType;
typedef enum tagXMLEMEM_TYPE {
XMLELEMTYPE_ELEMENT = 0,XMLELEMTYPE_TEXT,XMLELEMTYPE_COMMENT,XMLELEMTYPE_DOCUMENT,
XMLELEMTYPE_DTD,XMLELEMTYPE_PI,XMLELEMTYPE_OTHER
} XMLELEM_TYPE;
extern const IID LIBID_MSXML;
extern const IID IID_IXMLDOMImplementation;
typedef struct IXMLDOMImplementationVtbl {
HRESULT ( *QueryInterface)(IXMLDOMImplementation *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMImplementation *This);
ULONG ( *Release)(IXMLDOMImplementation *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMImplementation *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMImplementation *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMImplementation *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMImplementation *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *hasFeature)(IXMLDOMImplementation *This,BSTR feature,BSTR version,VARIANT_BOOL *hasFeature);
} IXMLDOMImplementationVtbl;
struct IXMLDOMImplementation {
struct IXMLDOMImplementationVtbl *lpVtbl;
};
HRESULT IXMLDOMImplementation_hasFeature_Proxy(IXMLDOMImplementation *This,BSTR feature,BSTR version,VARIANT_BOOL *hasFeature);
void IXMLDOMImplementation_hasFeature_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMNode;
typedef struct IXMLDOMNodeVtbl {
HRESULT ( *QueryInterface)(IXMLDOMNode *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMNode *This);
ULONG ( *Release)(IXMLDOMNode *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMNode *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMNode *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMNode *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMNode *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMNode *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMNode *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMNode *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMNode *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMNode *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMNode *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMNode *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMNode *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMNode *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMNode *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMNode *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMNode *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMNode *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMNode *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMNode *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMNode *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMNode *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMNode *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMNode *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMNode *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMNode *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMNode *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMNode *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMNode *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMNode *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMNode *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMNode *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMNode *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMNode *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMNode *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMNode *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMNode *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMNode *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMNode *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMNode *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMNode *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
} IXMLDOMNodeVtbl;
struct IXMLDOMNode {
struct IXMLDOMNodeVtbl *lpVtbl;
};
HRESULT IXMLDOMNode_get_nodeName_Proxy(IXMLDOMNode *This,BSTR *name);
void IXMLDOMNode_get_nodeName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_nodeValue_Proxy(IXMLDOMNode *This,VARIANT *value);
void IXMLDOMNode_get_nodeValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_put_nodeValue_Proxy(IXMLDOMNode *This,VARIANT value);
void IXMLDOMNode_put_nodeValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_nodeType_Proxy(IXMLDOMNode *This,DOMNodeType *type);
void IXMLDOMNode_get_nodeType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_parentNode_Proxy(IXMLDOMNode *This,IXMLDOMNode **parent);
void IXMLDOMNode_get_parentNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_childNodes_Proxy(IXMLDOMNode *This,IXMLDOMNodeList **childList);
void IXMLDOMNode_get_childNodes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_firstChild_Proxy(IXMLDOMNode *This,IXMLDOMNode **firstChild);
void IXMLDOMNode_get_firstChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_lastChild_Proxy(IXMLDOMNode *This,IXMLDOMNode **lastChild);
void IXMLDOMNode_get_lastChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_previousSibling_Proxy(IXMLDOMNode *This,IXMLDOMNode **previousSibling);
void IXMLDOMNode_get_previousSibling_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_nextSibling_Proxy(IXMLDOMNode *This,IXMLDOMNode **nextSibling);
void IXMLDOMNode_get_nextSibling_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_attributes_Proxy(IXMLDOMNode *This,IXMLDOMNamedNodeMap **attributeMap);
void IXMLDOMNode_get_attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_insertBefore_Proxy(IXMLDOMNode *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
void IXMLDOMNode_insertBefore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_replaceChild_Proxy(IXMLDOMNode *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
void IXMLDOMNode_replaceChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_removeChild_Proxy(IXMLDOMNode *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
void IXMLDOMNode_removeChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_appendChild_Proxy(IXMLDOMNode *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
void IXMLDOMNode_appendChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_hasChildNodes_Proxy(IXMLDOMNode *This,VARIANT_BOOL *hasChild);
void IXMLDOMNode_hasChildNodes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_ownerDocument_Proxy(IXMLDOMNode *This,IXMLDOMDocument **DOMDocument);
void IXMLDOMNode_get_ownerDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_cloneNode_Proxy(IXMLDOMNode *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
void IXMLDOMNode_cloneNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_nodeTypeString_Proxy(IXMLDOMNode *This,BSTR *nodeType);
void IXMLDOMNode_get_nodeTypeString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_text_Proxy(IXMLDOMNode *This,BSTR *text);
void IXMLDOMNode_get_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_put_text_Proxy(IXMLDOMNode *This,BSTR text);
void IXMLDOMNode_put_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_specified_Proxy(IXMLDOMNode *This,VARIANT_BOOL *isSpecified);
void IXMLDOMNode_get_specified_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_definition_Proxy(IXMLDOMNode *This,IXMLDOMNode **definitionNode);
void IXMLDOMNode_get_definition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_nodeTypedValue_Proxy(IXMLDOMNode *This,VARIANT *typedValue);
void IXMLDOMNode_get_nodeTypedValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_put_nodeTypedValue_Proxy(IXMLDOMNode *This,VARIANT typedValue);
void IXMLDOMNode_put_nodeTypedValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_dataType_Proxy(IXMLDOMNode *This,VARIANT *dataTypeName);
void IXMLDOMNode_get_dataType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_put_dataType_Proxy(IXMLDOMNode *This,BSTR dataTypeName);
void IXMLDOMNode_put_dataType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_xml_Proxy(IXMLDOMNode *This,BSTR *xmlString);
void IXMLDOMNode_get_xml_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_transformNode_Proxy(IXMLDOMNode *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
void IXMLDOMNode_transformNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_selectNodes_Proxy(IXMLDOMNode *This,BSTR queryString,IXMLDOMNodeList **resultList);
void IXMLDOMNode_selectNodes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_selectSingleNode_Proxy(IXMLDOMNode *This,BSTR queryString,IXMLDOMNode **resultNode);
void IXMLDOMNode_selectSingleNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_parsed_Proxy(IXMLDOMNode *This,VARIANT_BOOL *isParsed);
void IXMLDOMNode_get_parsed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_namespaceURI_Proxy(IXMLDOMNode *This,BSTR *namespaceURI);
void IXMLDOMNode_get_namespaceURI_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_prefix_Proxy(IXMLDOMNode *This,BSTR *prefixString);
void IXMLDOMNode_get_prefix_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_get_baseName_Proxy(IXMLDOMNode *This,BSTR *nameString);
void IXMLDOMNode_get_baseName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNode_transformNodeToObject_Proxy(IXMLDOMNode *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
void IXMLDOMNode_transformNodeToObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMDocumentFragment;
typedef struct IXMLDOMDocumentFragmentVtbl {
HRESULT ( *QueryInterface)(IXMLDOMDocumentFragment *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMDocumentFragment *This);
ULONG ( *Release)(IXMLDOMDocumentFragment *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMDocumentFragment *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMDocumentFragment *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMDocumentFragment *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMDocumentFragment *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMDocumentFragment *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMDocumentFragment *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMDocumentFragment *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMDocumentFragment *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMDocumentFragment *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMDocumentFragment *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMDocumentFragment *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMDocumentFragment *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMDocumentFragment *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMDocumentFragment *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMDocumentFragment *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMDocumentFragment *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMDocumentFragment *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMDocumentFragment *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMDocumentFragment *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMDocumentFragment *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMDocumentFragment *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMDocumentFragment *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMDocumentFragment *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMDocumentFragment *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMDocumentFragment *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMDocumentFragment *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMDocumentFragment *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMDocumentFragment *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMDocumentFragment *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMDocumentFragment *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMDocumentFragment *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMDocumentFragment *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMDocumentFragment *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMDocumentFragment *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMDocumentFragment *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMDocumentFragment *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMDocumentFragment *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMDocumentFragment *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMDocumentFragment *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMDocumentFragment *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
} IXMLDOMDocumentFragmentVtbl;
struct IXMLDOMDocumentFragment {
struct IXMLDOMDocumentFragmentVtbl *lpVtbl;
};
extern const IID IID_IXMLDOMDocument;
typedef struct IXMLDOMDocumentVtbl {
HRESULT ( *QueryInterface)(IXMLDOMDocument *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMDocument *This);
ULONG ( *Release)(IXMLDOMDocument *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMDocument *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMDocument *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMDocument *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMDocument *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMDocument *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMDocument *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMDocument *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMDocument *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMDocument *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMDocument *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMDocument *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMDocument *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMDocument *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMDocument *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMDocument *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMDocument *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMDocument *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMDocument *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMDocument *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMDocument *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMDocument *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMDocument *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMDocument *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMDocument *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMDocument *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMDocument *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMDocument *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMDocument *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMDocument *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMDocument *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMDocument *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMDocument *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMDocument *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMDocument *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMDocument *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMDocument *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMDocument *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMDocument *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMDocument *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMDocument *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_doctype)(IXMLDOMDocument *This,IXMLDOMDocumentType **documentType);
HRESULT ( *get_implementation)(IXMLDOMDocument *This,IXMLDOMImplementation **impl);
HRESULT ( *get_documentElement)(IXMLDOMDocument *This,IXMLDOMElement **DOMElement);
HRESULT ( *putref_documentElement)(IXMLDOMDocument *This,IXMLDOMElement *DOMElement);
HRESULT ( *createElement)(IXMLDOMDocument *This,BSTR tagName,IXMLDOMElement **element);
HRESULT ( *createDocumentFragment)(IXMLDOMDocument *This,IXMLDOMDocumentFragment **docFrag);
HRESULT ( *createTextNode)(IXMLDOMDocument *This,BSTR data,IXMLDOMText **text);
HRESULT ( *createComment)(IXMLDOMDocument *This,BSTR data,IXMLDOMComment **comment);
HRESULT ( *createCDATASection)(IXMLDOMDocument *This,BSTR data,IXMLDOMCDATASection **cdata);
HRESULT ( *createProcessingInstruction)(IXMLDOMDocument *This,BSTR target,BSTR data,IXMLDOMProcessingInstruction **pi);
HRESULT ( *createAttribute)(IXMLDOMDocument *This,BSTR name,IXMLDOMAttribute **attribute);
HRESULT ( *createEntityReference)(IXMLDOMDocument *This,BSTR name,IXMLDOMEntityReference **entityRef);
HRESULT ( *getElementsByTagName)(IXMLDOMDocument *This,BSTR tagName,IXMLDOMNodeList **resultList);
HRESULT ( *createNode)(IXMLDOMDocument *This,VARIANT Type,BSTR name,BSTR namespaceURI,IXMLDOMNode **node);
HRESULT ( *nodeFromID)(IXMLDOMDocument *This,BSTR idString,IXMLDOMNode **node);
HRESULT ( *load)(IXMLDOMDocument *This,VARIANT xmlSource,VARIANT_BOOL *isSuccessful);
HRESULT ( *get_readyState)(IXMLDOMDocument *This,LONG *value);
HRESULT ( *get_parseError)(IXMLDOMDocument *This,IXMLDOMParseError **errorObj);
HRESULT ( *get_url)(IXMLDOMDocument *This,BSTR *urlString);
HRESULT ( *get_async)(IXMLDOMDocument *This,VARIANT_BOOL *isAsync);
HRESULT ( *put_async)(IXMLDOMDocument *This,VARIANT_BOOL isAsync);
HRESULT ( *abort)(IXMLDOMDocument *This);
HRESULT ( *loadXML)(IXMLDOMDocument *This,BSTR bstrXML,VARIANT_BOOL *isSuccessful);
HRESULT ( *save)(IXMLDOMDocument *This,VARIANT destination);
HRESULT ( *get_validateOnParse)(IXMLDOMDocument *This,VARIANT_BOOL *isValidating);
HRESULT ( *put_validateOnParse)(IXMLDOMDocument *This,VARIANT_BOOL isValidating);
HRESULT ( *get_resolveExternals)(IXMLDOMDocument *This,VARIANT_BOOL *isResolving);
HRESULT ( *put_resolveExternals)(IXMLDOMDocument *This,VARIANT_BOOL isResolving);
HRESULT ( *get_preserveWhiteSpace)(IXMLDOMDocument *This,VARIANT_BOOL *isPreserving);
HRESULT ( *put_preserveWhiteSpace)(IXMLDOMDocument *This,VARIANT_BOOL isPreserving);
HRESULT ( *put_onreadystatechange)(IXMLDOMDocument *This,VARIANT readystatechangeSink);
HRESULT ( *put_ondataavailable)(IXMLDOMDocument *This,VARIANT ondataavailableSink);
HRESULT ( *put_ontransformnode)(IXMLDOMDocument *This,VARIANT ontransformnodeSink);
} IXMLDOMDocumentVtbl;
struct IXMLDOMDocument {
struct IXMLDOMDocumentVtbl *lpVtbl;
};
HRESULT IXMLDOMDocument_get_doctype_Proxy(IXMLDOMDocument *This,IXMLDOMDocumentType **documentType);
void IXMLDOMDocument_get_doctype_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_implementation_Proxy(IXMLDOMDocument *This,IXMLDOMImplementation **impl);
void IXMLDOMDocument_get_implementation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_documentElement_Proxy(IXMLDOMDocument *This,IXMLDOMElement **DOMElement);
void IXMLDOMDocument_get_documentElement_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_putref_documentElement_Proxy(IXMLDOMDocument *This,IXMLDOMElement *DOMElement);
void IXMLDOMDocument_putref_documentElement_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createElement_Proxy(IXMLDOMDocument *This,BSTR tagName,IXMLDOMElement **element);
void IXMLDOMDocument_createElement_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createDocumentFragment_Proxy(IXMLDOMDocument *This,IXMLDOMDocumentFragment **docFrag);
void IXMLDOMDocument_createDocumentFragment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createTextNode_Proxy(IXMLDOMDocument *This,BSTR data,IXMLDOMText **text);
void IXMLDOMDocument_createTextNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createComment_Proxy(IXMLDOMDocument *This,BSTR data,IXMLDOMComment **comment);
void IXMLDOMDocument_createComment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createCDATASection_Proxy(IXMLDOMDocument *This,BSTR data,IXMLDOMCDATASection **cdata);
void IXMLDOMDocument_createCDATASection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createProcessingInstruction_Proxy(IXMLDOMDocument *This,BSTR target,BSTR data,IXMLDOMProcessingInstruction **pi);
void IXMLDOMDocument_createProcessingInstruction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createAttribute_Proxy(IXMLDOMDocument *This,BSTR name,IXMLDOMAttribute **attribute);
void IXMLDOMDocument_createAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createEntityReference_Proxy(IXMLDOMDocument *This,BSTR name,IXMLDOMEntityReference **entityRef);
void IXMLDOMDocument_createEntityReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_getElementsByTagName_Proxy(IXMLDOMDocument *This,BSTR tagName,IXMLDOMNodeList **resultList);
void IXMLDOMDocument_getElementsByTagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_createNode_Proxy(IXMLDOMDocument *This,VARIANT Type,BSTR name,BSTR namespaceURI,IXMLDOMNode **node);
void IXMLDOMDocument_createNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_nodeFromID_Proxy(IXMLDOMDocument *This,BSTR idString,IXMLDOMNode **node);
void IXMLDOMDocument_nodeFromID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_load_Proxy(IXMLDOMDocument *This,VARIANT xmlSource,VARIANT_BOOL *isSuccessful);
void IXMLDOMDocument_load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_readyState_Proxy(IXMLDOMDocument *This,LONG *value);
void IXMLDOMDocument_get_readyState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_parseError_Proxy(IXMLDOMDocument *This,IXMLDOMParseError **errorObj);
void IXMLDOMDocument_get_parseError_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_url_Proxy(IXMLDOMDocument *This,BSTR *urlString);
void IXMLDOMDocument_get_url_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_async_Proxy(IXMLDOMDocument *This,VARIANT_BOOL *isAsync);
void IXMLDOMDocument_get_async_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_async_Proxy(IXMLDOMDocument *This,VARIANT_BOOL isAsync);
void IXMLDOMDocument_put_async_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_abort_Proxy(IXMLDOMDocument *This);
void IXMLDOMDocument_abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_loadXML_Proxy(IXMLDOMDocument *This,BSTR bstrXML,VARIANT_BOOL *isSuccessful);
void IXMLDOMDocument_loadXML_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_save_Proxy(IXMLDOMDocument *This,VARIANT destination);
void IXMLDOMDocument_save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_validateOnParse_Proxy(IXMLDOMDocument *This,VARIANT_BOOL *isValidating);
void IXMLDOMDocument_get_validateOnParse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_validateOnParse_Proxy(IXMLDOMDocument *This,VARIANT_BOOL isValidating);
void IXMLDOMDocument_put_validateOnParse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_resolveExternals_Proxy(IXMLDOMDocument *This,VARIANT_BOOL *isResolving);
void IXMLDOMDocument_get_resolveExternals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_resolveExternals_Proxy(IXMLDOMDocument *This,VARIANT_BOOL isResolving);
void IXMLDOMDocument_put_resolveExternals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_get_preserveWhiteSpace_Proxy(IXMLDOMDocument *This,VARIANT_BOOL *isPreserving);
void IXMLDOMDocument_get_preserveWhiteSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_preserveWhiteSpace_Proxy(IXMLDOMDocument *This,VARIANT_BOOL isPreserving);
void IXMLDOMDocument_put_preserveWhiteSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_onreadystatechange_Proxy(IXMLDOMDocument *This,VARIANT readystatechangeSink);
void IXMLDOMDocument_put_onreadystatechange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_ondataavailable_Proxy(IXMLDOMDocument *This,VARIANT ondataavailableSink);
void IXMLDOMDocument_put_ondataavailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocument_put_ontransformnode_Proxy(IXMLDOMDocument *This,VARIANT ontransformnodeSink);
void IXMLDOMDocument_put_ontransformnode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMNodeList;
typedef struct IXMLDOMNodeListVtbl {
HRESULT ( *QueryInterface)(IXMLDOMNodeList *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMNodeList *This);
ULONG ( *Release)(IXMLDOMNodeList *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMNodeList *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMNodeList *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMNodeList *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMNodeList *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_item)(IXMLDOMNodeList *This,LONG index,IXMLDOMNode **listItem);
HRESULT ( *get_length)(IXMLDOMNodeList *This,LONG *listLength);
HRESULT ( *nextNode)(IXMLDOMNodeList *This,IXMLDOMNode **nextItem);
HRESULT ( *reset)(IXMLDOMNodeList *This);
HRESULT ( *get__newEnum)(IXMLDOMNodeList *This,IUnknown **ppUnk);
} IXMLDOMNodeListVtbl;
struct IXMLDOMNodeList {
struct IXMLDOMNodeListVtbl *lpVtbl;
};
HRESULT IXMLDOMNodeList_get_item_Proxy(IXMLDOMNodeList *This,LONG index,IXMLDOMNode **listItem);
void IXMLDOMNodeList_get_item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNodeList_get_length_Proxy(IXMLDOMNodeList *This,LONG *listLength);
void IXMLDOMNodeList_get_length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNodeList_nextNode_Proxy(IXMLDOMNodeList *This,IXMLDOMNode **nextItem);
void IXMLDOMNodeList_nextNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNodeList_reset_Proxy(IXMLDOMNodeList *This);
void IXMLDOMNodeList_reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNodeList_get__newEnum_Proxy(IXMLDOMNodeList *This,IUnknown **ppUnk);
void IXMLDOMNodeList_get__newEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMNamedNodeMap;
typedef struct IXMLDOMNamedNodeMapVtbl {
HRESULT ( *QueryInterface)(IXMLDOMNamedNodeMap *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMNamedNodeMap *This);
ULONG ( *Release)(IXMLDOMNamedNodeMap *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMNamedNodeMap *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMNamedNodeMap *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMNamedNodeMap *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMNamedNodeMap *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *getNamedItem)(IXMLDOMNamedNodeMap *This,BSTR name,IXMLDOMNode **namedItem);
HRESULT ( *setNamedItem)(IXMLDOMNamedNodeMap *This,IXMLDOMNode *newItem,IXMLDOMNode **nameItem);
HRESULT ( *removeNamedItem)(IXMLDOMNamedNodeMap *This,BSTR name,IXMLDOMNode **namedItem);
HRESULT ( *get_item)(IXMLDOMNamedNodeMap *This,LONG index,IXMLDOMNode **listItem);
HRESULT ( *get_length)(IXMLDOMNamedNodeMap *This,LONG *listLength);
HRESULT ( *getQualifiedItem)(IXMLDOMNamedNodeMap *This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem);
HRESULT ( *removeQualifiedItem)(IXMLDOMNamedNodeMap *This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem);
HRESULT ( *nextNode)(IXMLDOMNamedNodeMap *This,IXMLDOMNode **nextItem);
HRESULT ( *reset)(IXMLDOMNamedNodeMap *This);
HRESULT ( *get__newEnum)(IXMLDOMNamedNodeMap *This,IUnknown **ppUnk);
} IXMLDOMNamedNodeMapVtbl;
struct IXMLDOMNamedNodeMap {
struct IXMLDOMNamedNodeMapVtbl *lpVtbl;
};
HRESULT IXMLDOMNamedNodeMap_getNamedItem_Proxy(IXMLDOMNamedNodeMap *This,BSTR name,IXMLDOMNode **namedItem);
void IXMLDOMNamedNodeMap_getNamedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_setNamedItem_Proxy(IXMLDOMNamedNodeMap *This,IXMLDOMNode *newItem,IXMLDOMNode **nameItem);
void IXMLDOMNamedNodeMap_setNamedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_removeNamedItem_Proxy(IXMLDOMNamedNodeMap *This,BSTR name,IXMLDOMNode **namedItem);
void IXMLDOMNamedNodeMap_removeNamedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_get_item_Proxy(IXMLDOMNamedNodeMap *This,LONG index,IXMLDOMNode **listItem);
void IXMLDOMNamedNodeMap_get_item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_get_length_Proxy(IXMLDOMNamedNodeMap *This,LONG *listLength);
void IXMLDOMNamedNodeMap_get_length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_getQualifiedItem_Proxy(IXMLDOMNamedNodeMap *This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem);
void IXMLDOMNamedNodeMap_getQualifiedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_removeQualifiedItem_Proxy(IXMLDOMNamedNodeMap *This,BSTR baseName,BSTR namespaceURI,IXMLDOMNode **qualifiedItem);
void IXMLDOMNamedNodeMap_removeQualifiedItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_nextNode_Proxy(IXMLDOMNamedNodeMap *This,IXMLDOMNode **nextItem);
void IXMLDOMNamedNodeMap_nextNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_reset_Proxy(IXMLDOMNamedNodeMap *This);
void IXMLDOMNamedNodeMap_reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNamedNodeMap_get__newEnum_Proxy(IXMLDOMNamedNodeMap *This,IUnknown **ppUnk);
void IXMLDOMNamedNodeMap_get__newEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMCharacterData;
typedef struct IXMLDOMCharacterDataVtbl {
HRESULT ( *QueryInterface)(IXMLDOMCharacterData *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMCharacterData *This);
ULONG ( *Release)(IXMLDOMCharacterData *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMCharacterData *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMCharacterData *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMCharacterData *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMCharacterData *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMCharacterData *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMCharacterData *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMCharacterData *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMCharacterData *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMCharacterData *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMCharacterData *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMCharacterData *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMCharacterData *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMCharacterData *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMCharacterData *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMCharacterData *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMCharacterData *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMCharacterData *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMCharacterData *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMCharacterData *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMCharacterData *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMCharacterData *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMCharacterData *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMCharacterData *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMCharacterData *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMCharacterData *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMCharacterData *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMCharacterData *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMCharacterData *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMCharacterData *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMCharacterData *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMCharacterData *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMCharacterData *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMCharacterData *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMCharacterData *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMCharacterData *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMCharacterData *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMCharacterData *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMCharacterData *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMCharacterData *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMCharacterData *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_data)(IXMLDOMCharacterData *This,BSTR *data);
HRESULT ( *put_data)(IXMLDOMCharacterData *This,BSTR data);
HRESULT ( *get_length)(IXMLDOMCharacterData *This,LONG *dataLength);
HRESULT ( *substringData)(IXMLDOMCharacterData *This,LONG offset,LONG count,BSTR *data);
HRESULT ( *appendData)(IXMLDOMCharacterData *This,BSTR data);
HRESULT ( *insertData)(IXMLDOMCharacterData *This,LONG offset,BSTR data);
HRESULT ( *deleteData)(IXMLDOMCharacterData *This,LONG offset,LONG count);
HRESULT ( *replaceData)(IXMLDOMCharacterData *This,LONG offset,LONG count,BSTR data);
} IXMLDOMCharacterDataVtbl;
struct IXMLDOMCharacterData {
struct IXMLDOMCharacterDataVtbl *lpVtbl;
};
HRESULT IXMLDOMCharacterData_get_data_Proxy(IXMLDOMCharacterData *This,BSTR *data);
void IXMLDOMCharacterData_get_data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_put_data_Proxy(IXMLDOMCharacterData *This,BSTR data);
void IXMLDOMCharacterData_put_data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_get_length_Proxy(IXMLDOMCharacterData *This,LONG *dataLength);
void IXMLDOMCharacterData_get_length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_substringData_Proxy(IXMLDOMCharacterData *This,LONG offset,LONG count,BSTR *data);
void IXMLDOMCharacterData_substringData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_appendData_Proxy(IXMLDOMCharacterData *This,BSTR data);
void IXMLDOMCharacterData_appendData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_insertData_Proxy(IXMLDOMCharacterData *This,LONG offset,BSTR data);
void IXMLDOMCharacterData_insertData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_deleteData_Proxy(IXMLDOMCharacterData *This,LONG offset,LONG count);
void IXMLDOMCharacterData_deleteData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMCharacterData_replaceData_Proxy(IXMLDOMCharacterData *This,LONG offset,LONG count,BSTR data);
void IXMLDOMCharacterData_replaceData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMAttribute;
typedef struct IXMLDOMAttributeVtbl {
HRESULT ( *QueryInterface)(IXMLDOMAttribute *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMAttribute *This);
ULONG ( *Release)(IXMLDOMAttribute *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMAttribute *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMAttribute *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMAttribute *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMAttribute *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMAttribute *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMAttribute *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMAttribute *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMAttribute *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMAttribute *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMAttribute *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMAttribute *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMAttribute *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMAttribute *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMAttribute *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMAttribute *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMAttribute *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMAttribute *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMAttribute *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMAttribute *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMAttribute *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMAttribute *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMAttribute *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMAttribute *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMAttribute *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMAttribute *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMAttribute *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMAttribute *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMAttribute *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMAttribute *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMAttribute *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMAttribute *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMAttribute *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMAttribute *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMAttribute *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMAttribute *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMAttribute *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMAttribute *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMAttribute *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMAttribute *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMAttribute *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_name)(IXMLDOMAttribute *This,BSTR *attributeName);
HRESULT ( *get_value)(IXMLDOMAttribute *This,VARIANT *attributeValue);
HRESULT ( *put_value)(IXMLDOMAttribute *This,VARIANT attributeValue);
} IXMLDOMAttributeVtbl;
struct IXMLDOMAttribute {
struct IXMLDOMAttributeVtbl *lpVtbl;
};
HRESULT IXMLDOMAttribute_get_name_Proxy(IXMLDOMAttribute *This,BSTR *attributeName);
void IXMLDOMAttribute_get_name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMAttribute_get_value_Proxy(IXMLDOMAttribute *This,VARIANT *attributeValue);
void IXMLDOMAttribute_get_value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMAttribute_put_value_Proxy(IXMLDOMAttribute *This,VARIANT attributeValue);
void IXMLDOMAttribute_put_value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMElement;
typedef struct IXMLDOMElementVtbl {
HRESULT ( *QueryInterface)(IXMLDOMElement *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMElement *This);
ULONG ( *Release)(IXMLDOMElement *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMElement *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMElement *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMElement *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMElement *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMElement *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMElement *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMElement *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMElement *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMElement *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMElement *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMElement *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMElement *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMElement *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMElement *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMElement *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMElement *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMElement *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMElement *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMElement *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMElement *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMElement *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMElement *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMElement *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMElement *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMElement *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMElement *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMElement *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMElement *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMElement *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMElement *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMElement *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMElement *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMElement *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMElement *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMElement *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMElement *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMElement *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMElement *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMElement *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMElement *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_tagName)(IXMLDOMElement *This,BSTR *tagName);
HRESULT ( *getAttribute)(IXMLDOMElement *This,BSTR name,VARIANT *value);
HRESULT ( *setAttribute)(IXMLDOMElement *This,BSTR name,VARIANT value);
HRESULT ( *removeAttribute)(IXMLDOMElement *This,BSTR name);
HRESULT ( *getAttributeNode)(IXMLDOMElement *This,BSTR name,IXMLDOMAttribute **attributeNode);
HRESULT ( *setAttributeNode)(IXMLDOMElement *This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode);
HRESULT ( *removeAttributeNode)(IXMLDOMElement *This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode);
HRESULT ( *getElementsByTagName)(IXMLDOMElement *This,BSTR tagName,IXMLDOMNodeList **resultList);
HRESULT ( *normalize)(IXMLDOMElement *This);
} IXMLDOMElementVtbl;
struct IXMLDOMElement {
struct IXMLDOMElementVtbl *lpVtbl;
};
HRESULT IXMLDOMElement_get_tagName_Proxy(IXMLDOMElement *This,BSTR *tagName);
void IXMLDOMElement_get_tagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_getAttribute_Proxy(IXMLDOMElement *This,BSTR name,VARIANT *value);
void IXMLDOMElement_getAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_setAttribute_Proxy(IXMLDOMElement *This,BSTR name,VARIANT value);
void IXMLDOMElement_setAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_removeAttribute_Proxy(IXMLDOMElement *This,BSTR name);
void IXMLDOMElement_removeAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_getAttributeNode_Proxy(IXMLDOMElement *This,BSTR name,IXMLDOMAttribute **attributeNode);
void IXMLDOMElement_getAttributeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_setAttributeNode_Proxy(IXMLDOMElement *This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode);
void IXMLDOMElement_setAttributeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_removeAttributeNode_Proxy(IXMLDOMElement *This,IXMLDOMAttribute *DOMAttribute,IXMLDOMAttribute **attributeNode);
void IXMLDOMElement_removeAttributeNode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_getElementsByTagName_Proxy(IXMLDOMElement *This,BSTR tagName,IXMLDOMNodeList **resultList);
void IXMLDOMElement_getElementsByTagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMElement_normalize_Proxy(IXMLDOMElement *This);
void IXMLDOMElement_normalize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMText;
typedef struct IXMLDOMTextVtbl {
HRESULT ( *QueryInterface)(IXMLDOMText *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMText *This);
ULONG ( *Release)(IXMLDOMText *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMText *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMText *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMText *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMText *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMText *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMText *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMText *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMText *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMText *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMText *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMText *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMText *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMText *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMText *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMText *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMText *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMText *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMText *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMText *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMText *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMText *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMText *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMText *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMText *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMText *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMText *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMText *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMText *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMText *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMText *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMText *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMText *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMText *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMText *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMText *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMText *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMText *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMText *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMText *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMText *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_data)(IXMLDOMText *This,BSTR *data);
HRESULT ( *put_data)(IXMLDOMText *This,BSTR data);
HRESULT ( *get_length)(IXMLDOMText *This,LONG *dataLength);
HRESULT ( *substringData)(IXMLDOMText *This,LONG offset,LONG count,BSTR *data);
HRESULT ( *appendData)(IXMLDOMText *This,BSTR data);
HRESULT ( *insertData)(IXMLDOMText *This,LONG offset,BSTR data);
HRESULT ( *deleteData)(IXMLDOMText *This,LONG offset,LONG count);
HRESULT ( *replaceData)(IXMLDOMText *This,LONG offset,LONG count,BSTR data);
HRESULT ( *splitText)(IXMLDOMText *This,LONG offset,IXMLDOMText **rightHandTextNode);
} IXMLDOMTextVtbl;
struct IXMLDOMText {
struct IXMLDOMTextVtbl *lpVtbl;
};
HRESULT IXMLDOMText_splitText_Proxy(IXMLDOMText *This,LONG offset,IXMLDOMText **rightHandTextNode);
void IXMLDOMText_splitText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMComment;
typedef struct IXMLDOMCommentVtbl {
HRESULT ( *QueryInterface)(IXMLDOMComment *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMComment *This);
ULONG ( *Release)(IXMLDOMComment *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMComment *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMComment *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMComment *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMComment *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMComment *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMComment *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMComment *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMComment *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMComment *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMComment *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMComment *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMComment *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMComment *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMComment *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMComment *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMComment *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMComment *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMComment *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMComment *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMComment *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMComment *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMComment *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMComment *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMComment *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMComment *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMComment *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMComment *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMComment *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMComment *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMComment *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMComment *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMComment *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMComment *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMComment *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMComment *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMComment *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMComment *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMComment *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMComment *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMComment *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_data)(IXMLDOMComment *This,BSTR *data);
HRESULT ( *put_data)(IXMLDOMComment *This,BSTR data);
HRESULT ( *get_length)(IXMLDOMComment *This,LONG *dataLength);
HRESULT ( *substringData)(IXMLDOMComment *This,LONG offset,LONG count,BSTR *data);
HRESULT ( *appendData)(IXMLDOMComment *This,BSTR data);
HRESULT ( *insertData)(IXMLDOMComment *This,LONG offset,BSTR data);
HRESULT ( *deleteData)(IXMLDOMComment *This,LONG offset,LONG count);
HRESULT ( *replaceData)(IXMLDOMComment *This,LONG offset,LONG count,BSTR data);
} IXMLDOMCommentVtbl;
struct IXMLDOMComment {
struct IXMLDOMCommentVtbl *lpVtbl;
};
extern const IID IID_IXMLDOMProcessingInstruction;
typedef struct IXMLDOMProcessingInstructionVtbl {
HRESULT ( *QueryInterface)(IXMLDOMProcessingInstruction *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMProcessingInstruction *This);
ULONG ( *Release)(IXMLDOMProcessingInstruction *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMProcessingInstruction *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMProcessingInstruction *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMProcessingInstruction *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMProcessingInstruction *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMProcessingInstruction *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMProcessingInstruction *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMProcessingInstruction *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMProcessingInstruction *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMProcessingInstruction *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMProcessingInstruction *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMProcessingInstruction *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMProcessingInstruction *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMProcessingInstruction *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMProcessingInstruction *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMProcessingInstruction *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMProcessingInstruction *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMProcessingInstruction *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMProcessingInstruction *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMProcessingInstruction *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMProcessingInstruction *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMProcessingInstruction *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMProcessingInstruction *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMProcessingInstruction *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMProcessingInstruction *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMProcessingInstruction *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMProcessingInstruction *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMProcessingInstruction *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMProcessingInstruction *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMProcessingInstruction *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMProcessingInstruction *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_target)(IXMLDOMProcessingInstruction *This,BSTR *name);
HRESULT ( *get_data)(IXMLDOMProcessingInstruction *This,BSTR *value);
HRESULT ( *put_data)(IXMLDOMProcessingInstruction *This,BSTR value);
} IXMLDOMProcessingInstructionVtbl;
struct IXMLDOMProcessingInstruction {
struct IXMLDOMProcessingInstructionVtbl *lpVtbl;
};
HRESULT IXMLDOMProcessingInstruction_get_target_Proxy(IXMLDOMProcessingInstruction *This,BSTR *name);
void IXMLDOMProcessingInstruction_get_target_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMProcessingInstruction_get_data_Proxy(IXMLDOMProcessingInstruction *This,BSTR *value);
void IXMLDOMProcessingInstruction_get_data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMProcessingInstruction_put_data_Proxy(IXMLDOMProcessingInstruction *This,BSTR value);
void IXMLDOMProcessingInstruction_put_data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMCDATASection;
typedef struct IXMLDOMCDATASectionVtbl {
HRESULT ( *QueryInterface)(IXMLDOMCDATASection *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMCDATASection *This);
ULONG ( *Release)(IXMLDOMCDATASection *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMCDATASection *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMCDATASection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMCDATASection *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMCDATASection *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMCDATASection *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMCDATASection *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMCDATASection *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMCDATASection *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMCDATASection *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMCDATASection *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMCDATASection *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMCDATASection *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMCDATASection *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMCDATASection *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMCDATASection *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMCDATASection *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMCDATASection *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMCDATASection *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMCDATASection *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMCDATASection *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMCDATASection *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMCDATASection *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMCDATASection *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMCDATASection *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMCDATASection *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMCDATASection *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMCDATASection *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMCDATASection *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMCDATASection *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMCDATASection *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMCDATASection *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMCDATASection *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMCDATASection *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMCDATASection *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMCDATASection *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMCDATASection *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMCDATASection *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMCDATASection *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMCDATASection *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMCDATASection *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_data)(IXMLDOMCDATASection *This,BSTR *data);
HRESULT ( *put_data)(IXMLDOMCDATASection *This,BSTR data);
HRESULT ( *get_length)(IXMLDOMCDATASection *This,LONG *dataLength);
HRESULT ( *substringData)(IXMLDOMCDATASection *This,LONG offset,LONG count,BSTR *data);
HRESULT ( *appendData)(IXMLDOMCDATASection *This,BSTR data);
HRESULT ( *insertData)(IXMLDOMCDATASection *This,LONG offset,BSTR data);
HRESULT ( *deleteData)(IXMLDOMCDATASection *This,LONG offset,LONG count);
HRESULT ( *replaceData)(IXMLDOMCDATASection *This,LONG offset,LONG count,BSTR data);
HRESULT ( *splitText)(IXMLDOMCDATASection *This,LONG offset,IXMLDOMText **rightHandTextNode);
} IXMLDOMCDATASectionVtbl;
struct IXMLDOMCDATASection {
struct IXMLDOMCDATASectionVtbl *lpVtbl;
};
extern const IID IID_IXMLDOMDocumentType;
typedef struct IXMLDOMDocumentTypeVtbl {
HRESULT ( *QueryInterface)(IXMLDOMDocumentType *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMDocumentType *This);
ULONG ( *Release)(IXMLDOMDocumentType *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMDocumentType *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMDocumentType *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMDocumentType *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMDocumentType *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMDocumentType *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMDocumentType *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMDocumentType *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMDocumentType *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMDocumentType *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMDocumentType *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMDocumentType *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMDocumentType *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMDocumentType *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMDocumentType *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMDocumentType *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMDocumentType *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMDocumentType *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMDocumentType *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMDocumentType *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMDocumentType *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMDocumentType *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMDocumentType *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMDocumentType *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMDocumentType *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMDocumentType *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMDocumentType *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMDocumentType *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMDocumentType *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMDocumentType *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMDocumentType *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMDocumentType *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMDocumentType *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMDocumentType *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMDocumentType *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMDocumentType *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMDocumentType *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMDocumentType *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMDocumentType *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMDocumentType *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMDocumentType *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_name)(IXMLDOMDocumentType *This,BSTR *rootName);
HRESULT ( *get_entities)(IXMLDOMDocumentType *This,IXMLDOMNamedNodeMap **entityMap);
HRESULT ( *get_notations)(IXMLDOMDocumentType *This,IXMLDOMNamedNodeMap **notationMap);
} IXMLDOMDocumentTypeVtbl;
struct IXMLDOMDocumentType {
struct IXMLDOMDocumentTypeVtbl *lpVtbl;
};
HRESULT IXMLDOMDocumentType_get_name_Proxy(IXMLDOMDocumentType *This,BSTR *rootName);
void IXMLDOMDocumentType_get_name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocumentType_get_entities_Proxy(IXMLDOMDocumentType *This,IXMLDOMNamedNodeMap **entityMap);
void IXMLDOMDocumentType_get_entities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMDocumentType_get_notations_Proxy(IXMLDOMDocumentType *This,IXMLDOMNamedNodeMap **notationMap);
void IXMLDOMDocumentType_get_notations_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMNotation;
typedef struct IXMLDOMNotationVtbl {
HRESULT ( *QueryInterface)(IXMLDOMNotation *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMNotation *This);
ULONG ( *Release)(IXMLDOMNotation *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMNotation *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMNotation *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMNotation *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMNotation *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMNotation *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMNotation *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMNotation *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMNotation *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMNotation *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMNotation *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMNotation *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMNotation *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMNotation *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMNotation *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMNotation *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMNotation *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMNotation *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMNotation *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMNotation *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMNotation *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMNotation *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMNotation *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMNotation *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMNotation *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMNotation *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMNotation *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMNotation *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMNotation *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMNotation *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMNotation *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMNotation *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMNotation *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMNotation *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMNotation *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMNotation *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMNotation *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMNotation *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMNotation *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMNotation *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMNotation *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_publicId)(IXMLDOMNotation *This,VARIANT *publicID);
HRESULT ( *get_systemId)(IXMLDOMNotation *This,VARIANT *systemID);
} IXMLDOMNotationVtbl;
struct IXMLDOMNotation {
struct IXMLDOMNotationVtbl *lpVtbl;
};
HRESULT IXMLDOMNotation_get_publicId_Proxy(IXMLDOMNotation *This,VARIANT *publicID);
void IXMLDOMNotation_get_publicId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMNotation_get_systemId_Proxy(IXMLDOMNotation *This,VARIANT *systemID);
void IXMLDOMNotation_get_systemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMEntity;
typedef struct IXMLDOMEntityVtbl {
HRESULT ( *QueryInterface)(IXMLDOMEntity *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMEntity *This);
ULONG ( *Release)(IXMLDOMEntity *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMEntity *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMEntity *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMEntity *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMEntity *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMEntity *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMEntity *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMEntity *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMEntity *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMEntity *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMEntity *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMEntity *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMEntity *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMEntity *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMEntity *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMEntity *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMEntity *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMEntity *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMEntity *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMEntity *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMEntity *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMEntity *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMEntity *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMEntity *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMEntity *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMEntity *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMEntity *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMEntity *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMEntity *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMEntity *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMEntity *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMEntity *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMEntity *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMEntity *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMEntity *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMEntity *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMEntity *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMEntity *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMEntity *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMEntity *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMEntity *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *get_publicId)(IXMLDOMEntity *This,VARIANT *publicID);
HRESULT ( *get_systemId)(IXMLDOMEntity *This,VARIANT *systemID);
HRESULT ( *get_notationName)(IXMLDOMEntity *This,BSTR *name);
} IXMLDOMEntityVtbl;
struct IXMLDOMEntity {
struct IXMLDOMEntityVtbl *lpVtbl;
};
HRESULT IXMLDOMEntity_get_publicId_Proxy(IXMLDOMEntity *This,VARIANT *publicID);
void IXMLDOMEntity_get_publicId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMEntity_get_systemId_Proxy(IXMLDOMEntity *This,VARIANT *systemID);
void IXMLDOMEntity_get_systemId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMEntity_get_notationName_Proxy(IXMLDOMEntity *This,BSTR *name);
void IXMLDOMEntity_get_notationName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDOMEntityReference;
typedef struct IXMLDOMEntityReferenceVtbl {
HRESULT ( *QueryInterface)(IXMLDOMEntityReference *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMEntityReference *This);
ULONG ( *Release)(IXMLDOMEntityReference *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMEntityReference *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMEntityReference *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMEntityReference *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMEntityReference *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXMLDOMEntityReference *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXMLDOMEntityReference *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXMLDOMEntityReference *This,VARIANT value);
HRESULT ( *get_nodeType)(IXMLDOMEntityReference *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXMLDOMEntityReference *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXMLDOMEntityReference *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXMLDOMEntityReference *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXMLDOMEntityReference *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXMLDOMEntityReference *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXMLDOMEntityReference *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXMLDOMEntityReference *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXMLDOMEntityReference *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXMLDOMEntityReference *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXMLDOMEntityReference *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXMLDOMEntityReference *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXMLDOMEntityReference *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXMLDOMEntityReference *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXMLDOMEntityReference *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXMLDOMEntityReference *This,BSTR *nodeType);
HRESULT ( *get_text)(IXMLDOMEntityReference *This,BSTR *text);
HRESULT ( *put_text)(IXMLDOMEntityReference *This,BSTR text);
HRESULT ( *get_specified)(IXMLDOMEntityReference *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXMLDOMEntityReference *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXMLDOMEntityReference *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXMLDOMEntityReference *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXMLDOMEntityReference *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXMLDOMEntityReference *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXMLDOMEntityReference *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXMLDOMEntityReference *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXMLDOMEntityReference *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXMLDOMEntityReference *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXMLDOMEntityReference *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXMLDOMEntityReference *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXMLDOMEntityReference *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXMLDOMEntityReference *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXMLDOMEntityReference *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
} IXMLDOMEntityReferenceVtbl;
struct IXMLDOMEntityReference {
struct IXMLDOMEntityReferenceVtbl *lpVtbl;
};
extern const IID IID_IXMLDOMParseError;
typedef struct IXMLDOMParseErrorVtbl {
HRESULT ( *QueryInterface)(IXMLDOMParseError *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDOMParseError *This);
ULONG ( *Release)(IXMLDOMParseError *This);
HRESULT ( *GetTypeInfoCount)(IXMLDOMParseError *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDOMParseError *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDOMParseError *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDOMParseError *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_errorCode)(IXMLDOMParseError *This,LONG *errorCode);
HRESULT ( *get_url)(IXMLDOMParseError *This,BSTR *urlString);
HRESULT ( *get_reason)(IXMLDOMParseError *This,BSTR *reasonString);
HRESULT ( *get_srcText)(IXMLDOMParseError *This,BSTR *sourceString);
HRESULT ( *get_line)(IXMLDOMParseError *This,LONG *lineNumber);
HRESULT ( *get_linepos)(IXMLDOMParseError *This,LONG *linePosition);
HRESULT ( *get_filepos)(IXMLDOMParseError *This,LONG *filePosition);
} IXMLDOMParseErrorVtbl;
struct IXMLDOMParseError {
struct IXMLDOMParseErrorVtbl *lpVtbl;
};
HRESULT IXMLDOMParseError_get_errorCode_Proxy(IXMLDOMParseError *This,LONG *errorCode);
void IXMLDOMParseError_get_errorCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_url_Proxy(IXMLDOMParseError *This,BSTR *urlString);
void IXMLDOMParseError_get_url_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_reason_Proxy(IXMLDOMParseError *This,BSTR *reasonString);
void IXMLDOMParseError_get_reason_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_srcText_Proxy(IXMLDOMParseError *This,BSTR *sourceString);
void IXMLDOMParseError_get_srcText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_line_Proxy(IXMLDOMParseError *This,LONG *lineNumber);
void IXMLDOMParseError_get_line_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_linepos_Proxy(IXMLDOMParseError *This,LONG *linePosition);
void IXMLDOMParseError_get_linepos_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDOMParseError_get_filepos_Proxy(IXMLDOMParseError *This,LONG *filePosition);
void IXMLDOMParseError_get_filepos_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXTLRuntime;
typedef struct IXTLRuntimeVtbl {
HRESULT ( *QueryInterface)(IXTLRuntime *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXTLRuntime *This);
ULONG ( *Release)(IXTLRuntime *This);
HRESULT ( *GetTypeInfoCount)(IXTLRuntime *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXTLRuntime *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXTLRuntime *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXTLRuntime *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_nodeName)(IXTLRuntime *This,BSTR *name);
HRESULT ( *get_nodeValue)(IXTLRuntime *This,VARIANT *value);
HRESULT ( *put_nodeValue)(IXTLRuntime *This,VARIANT value);
HRESULT ( *get_nodeType)(IXTLRuntime *This,DOMNodeType *type);
HRESULT ( *get_parentNode)(IXTLRuntime *This,IXMLDOMNode **parent);
HRESULT ( *get_childNodes)(IXTLRuntime *This,IXMLDOMNodeList **childList);
HRESULT ( *get_firstChild)(IXTLRuntime *This,IXMLDOMNode **firstChild);
HRESULT ( *get_lastChild)(IXTLRuntime *This,IXMLDOMNode **lastChild);
HRESULT ( *get_previousSibling)(IXTLRuntime *This,IXMLDOMNode **previousSibling);
HRESULT ( *get_nextSibling)(IXTLRuntime *This,IXMLDOMNode **nextSibling);
HRESULT ( *get_attributes)(IXTLRuntime *This,IXMLDOMNamedNodeMap **attributeMap);
HRESULT ( *insertBefore)(IXTLRuntime *This,IXMLDOMNode *newChild,VARIANT refChild,IXMLDOMNode **outNewChild);
HRESULT ( *replaceChild)(IXTLRuntime *This,IXMLDOMNode *newChild,IXMLDOMNode *oldChild,IXMLDOMNode **outOldChild);
HRESULT ( *removeChild)(IXTLRuntime *This,IXMLDOMNode *childNode,IXMLDOMNode **oldChild);
HRESULT ( *appendChild)(IXTLRuntime *This,IXMLDOMNode *newChild,IXMLDOMNode **outNewChild);
HRESULT ( *hasChildNodes)(IXTLRuntime *This,VARIANT_BOOL *hasChild);
HRESULT ( *get_ownerDocument)(IXTLRuntime *This,IXMLDOMDocument **DOMDocument);
HRESULT ( *cloneNode)(IXTLRuntime *This,VARIANT_BOOL deep,IXMLDOMNode **cloneRoot);
HRESULT ( *get_nodeTypeString)(IXTLRuntime *This,BSTR *nodeType);
HRESULT ( *get_text)(IXTLRuntime *This,BSTR *text);
HRESULT ( *put_text)(IXTLRuntime *This,BSTR text);
HRESULT ( *get_specified)(IXTLRuntime *This,VARIANT_BOOL *isSpecified);
HRESULT ( *get_definition)(IXTLRuntime *This,IXMLDOMNode **definitionNode);
HRESULT ( *get_nodeTypedValue)(IXTLRuntime *This,VARIANT *typedValue);
HRESULT ( *put_nodeTypedValue)(IXTLRuntime *This,VARIANT typedValue);
HRESULT ( *get_dataType)(IXTLRuntime *This,VARIANT *dataTypeName);
HRESULT ( *put_dataType)(IXTLRuntime *This,BSTR dataTypeName);
HRESULT ( *get_xml)(IXTLRuntime *This,BSTR *xmlString);
HRESULT ( *transformNode)(IXTLRuntime *This,IXMLDOMNode *stylesheet,BSTR *xmlString);
HRESULT ( *selectNodes)(IXTLRuntime *This,BSTR queryString,IXMLDOMNodeList **resultList);
HRESULT ( *selectSingleNode)(IXTLRuntime *This,BSTR queryString,IXMLDOMNode **resultNode);
HRESULT ( *get_parsed)(IXTLRuntime *This,VARIANT_BOOL *isParsed);
HRESULT ( *get_namespaceURI)(IXTLRuntime *This,BSTR *namespaceURI);
HRESULT ( *get_prefix)(IXTLRuntime *This,BSTR *prefixString);
HRESULT ( *get_baseName)(IXTLRuntime *This,BSTR *nameString);
HRESULT ( *transformNodeToObject)(IXTLRuntime *This,IXMLDOMNode *stylesheet,VARIANT outputObject);
HRESULT ( *uniqueID)(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pID);
HRESULT ( *depth)(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pDepth);
HRESULT ( *childNumber)(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pNumber);
HRESULT ( *ancestorChildNumber)(IXTLRuntime *This,BSTR bstrNodeName,IXMLDOMNode *pNode,LONG *pNumber);
HRESULT ( *absoluteChildNumber)(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pNumber);
HRESULT ( *formatIndex)(IXTLRuntime *This,LONG lIndex,BSTR bstrFormat,BSTR *pbstrFormattedString);
HRESULT ( *formatNumber)(IXTLRuntime *This,double dblNumber,BSTR bstrFormat,BSTR *pbstrFormattedString);
HRESULT ( *formatDate)(IXTLRuntime *This,VARIANT varDate,BSTR bstrFormat,VARIANT varDestLocale,BSTR *pbstrFormattedString);
HRESULT ( *formatTime)(IXTLRuntime *This,VARIANT varTime,BSTR bstrFormat,VARIANT varDestLocale,BSTR *pbstrFormattedString);
} IXTLRuntimeVtbl;
struct IXTLRuntime {
struct IXTLRuntimeVtbl *lpVtbl;
};
HRESULT IXTLRuntime_uniqueID_Proxy(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pID);
void IXTLRuntime_uniqueID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_depth_Proxy(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pDepth);
void IXTLRuntime_depth_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_childNumber_Proxy(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pNumber);
void IXTLRuntime_childNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_ancestorChildNumber_Proxy(IXTLRuntime *This,BSTR bstrNodeName,IXMLDOMNode *pNode,LONG *pNumber);
void IXTLRuntime_ancestorChildNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_absoluteChildNumber_Proxy(IXTLRuntime *This,IXMLDOMNode *pNode,LONG *pNumber);
void IXTLRuntime_absoluteChildNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_formatIndex_Proxy(IXTLRuntime *This,LONG lIndex,BSTR bstrFormat,BSTR *pbstrFormattedString);
void IXTLRuntime_formatIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_formatNumber_Proxy(IXTLRuntime *This,double dblNumber,BSTR bstrFormat,BSTR *pbstrFormattedString);
void IXTLRuntime_formatNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_formatDate_Proxy(IXTLRuntime *This,VARIANT varDate,BSTR bstrFormat,VARIANT varDestLocale,BSTR *pbstrFormattedString);
void IXTLRuntime_formatDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXTLRuntime_formatTime_Proxy(IXTLRuntime *This,VARIANT varTime,BSTR bstrFormat,VARIANT varDestLocale,BSTR *pbstrFormattedString);
void IXTLRuntime_formatTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID DIID_XMLDOMDocumentEvents;
typedef struct XMLDOMDocumentEventsVtbl {
HRESULT ( *QueryInterface)(XMLDOMDocumentEvents *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(XMLDOMDocumentEvents *This);
ULONG ( *Release)(XMLDOMDocumentEvents *This);
HRESULT ( *GetTypeInfoCount)(XMLDOMDocumentEvents *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(XMLDOMDocumentEvents *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(XMLDOMDocumentEvents *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(XMLDOMDocumentEvents *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
} XMLDOMDocumentEventsVtbl;
struct XMLDOMDocumentEvents {
struct XMLDOMDocumentEventsVtbl *lpVtbl;
};
extern const CLSID CLSID_DOMDocument;
extern const CLSID CLSID_DOMFreeThreadedDocument;
extern const IID IID_IXMLHttpRequest;
typedef struct IXMLHttpRequestVtbl {
HRESULT ( *QueryInterface)(IXMLHttpRequest *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLHttpRequest *This);
ULONG ( *Release)(IXMLHttpRequest *This);
HRESULT ( *GetTypeInfoCount)(IXMLHttpRequest *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLHttpRequest *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLHttpRequest *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLHttpRequest *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *open)(IXMLHttpRequest *This,BSTR bstrMethod,BSTR bstrUrl,VARIANT varAsync,VARIANT bstrUser,VARIANT bstrPassword);
HRESULT ( *setRequestHeader)(IXMLHttpRequest *This,BSTR bstrHeader,BSTR bstrValue);
HRESULT ( *getResponseHeader)(IXMLHttpRequest *This,BSTR bstrHeader,BSTR *pbstrValue);
HRESULT ( *getAllResponseHeaders)(IXMLHttpRequest *This,BSTR *pbstrHeaders);
HRESULT ( *send)(IXMLHttpRequest *This,VARIANT varBody);
HRESULT ( *abort)(IXMLHttpRequest *This);
HRESULT ( *get_status)(IXMLHttpRequest *This,LONG *plStatus);
HRESULT ( *get_statusText)(IXMLHttpRequest *This,BSTR *pbstrStatus);
HRESULT ( *get_responseXML)(IXMLHttpRequest *This,IDispatch **ppBody);
HRESULT ( *get_responseText)(IXMLHttpRequest *This,BSTR *pbstrBody);
HRESULT ( *get_responseBody)(IXMLHttpRequest *This,VARIANT *pvarBody);
HRESULT ( *get_responseStream)(IXMLHttpRequest *This,VARIANT *pvarBody);
HRESULT ( *get_readyState)(IXMLHttpRequest *This,LONG *plState);
HRESULT ( *put_onreadystatechange)(IXMLHttpRequest *This,IDispatch *pReadyStateSink);
} IXMLHttpRequestVtbl;
struct IXMLHttpRequest {
struct IXMLHttpRequestVtbl *lpVtbl;
};
HRESULT IXMLHttpRequest_open_Proxy(IXMLHttpRequest *This,BSTR bstrMethod,BSTR bstrUrl,VARIANT varAsync,VARIANT bstrUser,VARIANT bstrPassword);
void IXMLHttpRequest_open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_setRequestHeader_Proxy(IXMLHttpRequest *This,BSTR bstrHeader,BSTR bstrValue);
void IXMLHttpRequest_setRequestHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_getResponseHeader_Proxy(IXMLHttpRequest *This,BSTR bstrHeader,BSTR *pbstrValue);
void IXMLHttpRequest_getResponseHeader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_getAllResponseHeaders_Proxy(IXMLHttpRequest *This,BSTR *pbstrHeaders);
void IXMLHttpRequest_getAllResponseHeaders_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_send_Proxy(IXMLHttpRequest *This,VARIANT varBody);
void IXMLHttpRequest_send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_abort_Proxy(IXMLHttpRequest *This);
void IXMLHttpRequest_abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_status_Proxy(IXMLHttpRequest *This,LONG *plStatus);
void IXMLHttpRequest_get_status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_statusText_Proxy(IXMLHttpRequest *This,BSTR *pbstrStatus);
void IXMLHttpRequest_get_statusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_responseXML_Proxy(IXMLHttpRequest *This,IDispatch **ppBody);
void IXMLHttpRequest_get_responseXML_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_responseText_Proxy(IXMLHttpRequest *This,BSTR *pbstrBody);
void IXMLHttpRequest_get_responseText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_responseBody_Proxy(IXMLHttpRequest *This,VARIANT *pvarBody);
void IXMLHttpRequest_get_responseBody_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_responseStream_Proxy(IXMLHttpRequest *This,VARIANT *pvarBody);
void IXMLHttpRequest_get_responseStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_get_readyState_Proxy(IXMLHttpRequest *This,LONG *plState);
void IXMLHttpRequest_get_readyState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLHttpRequest_put_onreadystatechange_Proxy(IXMLHttpRequest *This,IDispatch *pReadyStateSink);
void IXMLHttpRequest_put_onreadystatechange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const CLSID CLSID_XMLHTTPRequest;
extern const IID IID_IXMLDSOControl;
typedef struct IXMLDSOControlVtbl {
HRESULT ( *QueryInterface)(IXMLDSOControl *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDSOControl *This);
ULONG ( *Release)(IXMLDSOControl *This);
HRESULT ( *GetTypeInfoCount)(IXMLDSOControl *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDSOControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDSOControl *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDSOControl *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_XMLDocument)(IXMLDSOControl *This,IXMLDOMDocument **ppDoc);
HRESULT ( *put_XMLDocument)(IXMLDSOControl *This,IXMLDOMDocument *ppDoc);
HRESULT ( *get_JavaDSOCompatible)(IXMLDSOControl *This,WINBOOL *fJavaDSOCompatible);
HRESULT ( *put_JavaDSOCompatible)(IXMLDSOControl *This,WINBOOL fJavaDSOCompatible);
HRESULT ( *get_readyState)(IXMLDSOControl *This,LONG *state);
} IXMLDSOControlVtbl;
struct IXMLDSOControl {
struct IXMLDSOControlVtbl *lpVtbl;
};
HRESULT IXMLDSOControl_get_XMLDocument_Proxy(IXMLDSOControl *This,IXMLDOMDocument **ppDoc);
void IXMLDSOControl_get_XMLDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDSOControl_put_XMLDocument_Proxy(IXMLDSOControl *This,IXMLDOMDocument *ppDoc);
void IXMLDSOControl_put_XMLDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDSOControl_get_JavaDSOCompatible_Proxy(IXMLDSOControl *This,WINBOOL *fJavaDSOCompatible);
void IXMLDSOControl_get_JavaDSOCompatible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDSOControl_put_JavaDSOCompatible_Proxy(IXMLDSOControl *This,WINBOOL fJavaDSOCompatible);
void IXMLDSOControl_put_JavaDSOCompatible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDSOControl_get_readyState_Proxy(IXMLDSOControl *This,LONG *state);
void IXMLDSOControl_get_readyState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const CLSID CLSID_XMLDSOControl;
extern const IID IID_IXMLElementCollection;
typedef struct IXMLElementCollectionVtbl {
HRESULT ( *QueryInterface)(IXMLElementCollection *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLElementCollection *This);
ULONG ( *Release)(IXMLElementCollection *This);
HRESULT ( *GetTypeInfoCount)(IXMLElementCollection *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLElementCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLElementCollection *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLElementCollection *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *put_length)(IXMLElementCollection *This,LONG v);
HRESULT ( *get_length)(IXMLElementCollection *This,LONG *p);
HRESULT ( *get__newEnum)(IXMLElementCollection *This,IUnknown **ppUnk);
HRESULT ( *item)(IXMLElementCollection *This,VARIANT var1,VARIANT var2,IDispatch **ppDisp);
} IXMLElementCollectionVtbl;
struct IXMLElementCollection {
struct IXMLElementCollectionVtbl *lpVtbl;
};
HRESULT IXMLElementCollection_put_length_Proxy(IXMLElementCollection *This,LONG v);
void IXMLElementCollection_put_length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElementCollection_get_length_Proxy(IXMLElementCollection *This,LONG *p);
void IXMLElementCollection_get_length_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElementCollection_get__newEnum_Proxy(IXMLElementCollection *This,IUnknown **ppUnk);
void IXMLElementCollection_get__newEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElementCollection_item_Proxy(IXMLElementCollection *This,VARIANT var1,VARIANT var2,IDispatch **ppDisp);
void IXMLElementCollection_item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDocument;
typedef struct IXMLDocumentVtbl {
HRESULT ( *QueryInterface)(IXMLDocument *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDocument *This);
ULONG ( *Release)(IXMLDocument *This);
HRESULT ( *GetTypeInfoCount)(IXMLDocument *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDocument *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDocument *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDocument *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_root)(IXMLDocument *This,IXMLElement **p);
HRESULT ( *get_fileSize)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_fileModifiedDate)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_fileUpdatedDate)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_URL)(IXMLDocument *This,BSTR *p);
HRESULT ( *put_URL)(IXMLDocument *This,BSTR p);
HRESULT ( *get_mimeType)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_readyState)(IXMLDocument *This,LONG *pl);
HRESULT ( *get_charset)(IXMLDocument *This,BSTR *p);
HRESULT ( *put_charset)(IXMLDocument *This,BSTR p);
HRESULT ( *get_version)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_doctype)(IXMLDocument *This,BSTR *p);
HRESULT ( *get_dtdURL)(IXMLDocument *This,BSTR *p);
HRESULT ( *createElement)(IXMLDocument *This,VARIANT vType,VARIANT var1,IXMLElement **ppElem);
} IXMLDocumentVtbl;
struct IXMLDocument {
struct IXMLDocumentVtbl *lpVtbl;
};
HRESULT IXMLDocument_get_root_Proxy(IXMLDocument *This,IXMLElement **p);
void IXMLDocument_get_root_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_fileSize_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_fileSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_fileModifiedDate_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_fileModifiedDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_fileUpdatedDate_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_fileUpdatedDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_URL_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_URL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_put_URL_Proxy(IXMLDocument *This,BSTR p);
void IXMLDocument_put_URL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_mimeType_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_mimeType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_readyState_Proxy(IXMLDocument *This,LONG *pl);
void IXMLDocument_get_readyState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_charset_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_put_charset_Proxy(IXMLDocument *This,BSTR p);
void IXMLDocument_put_charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_version_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_doctype_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_doctype_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_get_dtdURL_Proxy(IXMLDocument *This,BSTR *p);
void IXMLDocument_get_dtdURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument_createElement_Proxy(IXMLDocument *This,VARIANT vType,VARIANT var1,IXMLElement **ppElem);
void IXMLDocument_createElement_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLDocument2;
typedef struct IXMLDocument2Vtbl {
HRESULT ( *QueryInterface)(IXMLDocument2 *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLDocument2 *This);
ULONG ( *Release)(IXMLDocument2 *This);
HRESULT ( *GetTypeInfoCount)(IXMLDocument2 *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLDocument2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLDocument2 *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLDocument2 *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_root)(IXMLDocument2 *This,IXMLElement2 **p);
HRESULT ( *get_fileSize)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_fileModifiedDate)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_fileUpdatedDate)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_URL)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *put_URL)(IXMLDocument2 *This,BSTR p);
HRESULT ( *get_mimeType)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_readyState)(IXMLDocument2 *This,LONG *pl);
HRESULT ( *get_charset)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *put_charset)(IXMLDocument2 *This,BSTR p);
HRESULT ( *get_version)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_doctype)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *get_dtdURL)(IXMLDocument2 *This,BSTR *p);
HRESULT ( *createElement)(IXMLDocument2 *This,VARIANT vType,VARIANT var1,IXMLElement2 **ppElem);
HRESULT ( *get_async)(IXMLDocument2 *This,VARIANT_BOOL *pf);
HRESULT ( *put_async)(IXMLDocument2 *This,VARIANT_BOOL f);
} IXMLDocument2Vtbl;
struct IXMLDocument2 {
struct IXMLDocument2Vtbl *lpVtbl;
};
HRESULT IXMLDocument2_get_root_Proxy(IXMLDocument2 *This,IXMLElement2 **p);
void IXMLDocument2_get_root_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_fileSize_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_fileSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_fileModifiedDate_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_fileModifiedDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_fileUpdatedDate_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_fileUpdatedDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_URL_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_URL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_put_URL_Proxy(IXMLDocument2 *This,BSTR p);
void IXMLDocument2_put_URL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_mimeType_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_mimeType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_readyState_Proxy(IXMLDocument2 *This,LONG *pl);
void IXMLDocument2_get_readyState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_charset_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_put_charset_Proxy(IXMLDocument2 *This,BSTR p);
void IXMLDocument2_put_charset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_version_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_doctype_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_doctype_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_dtdURL_Proxy(IXMLDocument2 *This,BSTR *p);
void IXMLDocument2_get_dtdURL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_createElement_Proxy(IXMLDocument2 *This,VARIANT vType,VARIANT var1,IXMLElement2 **ppElem);
void IXMLDocument2_createElement_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_get_async_Proxy(IXMLDocument2 *This,VARIANT_BOOL *pf);
void IXMLDocument2_get_async_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLDocument2_put_async_Proxy(IXMLDocument2 *This,VARIANT_BOOL f);
void IXMLDocument2_put_async_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLElement;
typedef struct IXMLElementVtbl {
HRESULT ( *QueryInterface)(IXMLElement *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLElement *This);
ULONG ( *Release)(IXMLElement *This);
HRESULT ( *GetTypeInfoCount)(IXMLElement *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLElement *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLElement *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLElement *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_tagName)(IXMLElement *This,BSTR *p);
HRESULT ( *put_tagName)(IXMLElement *This,BSTR p);
HRESULT ( *get_parent)(IXMLElement *This,IXMLElement **ppParent);
HRESULT ( *setAttribute)(IXMLElement *This,BSTR strPropertyName,VARIANT PropertyValue);
HRESULT ( *getAttribute)(IXMLElement *This,BSTR strPropertyName,VARIANT *PropertyValue);
HRESULT ( *removeAttribute)(IXMLElement *This,BSTR strPropertyName);
HRESULT ( *get_children)(IXMLElement *This,IXMLElementCollection **pp);
HRESULT ( *get_type)(IXMLElement *This,LONG *plType);
HRESULT ( *get_text)(IXMLElement *This,BSTR *p);
HRESULT ( *put_text)(IXMLElement *This,BSTR p);
HRESULT ( *addChild)(IXMLElement *This,IXMLElement *pChildElem,LONG lIndex,LONG lReserved);
HRESULT ( *removeChild)(IXMLElement *This,IXMLElement *pChildElem);
} IXMLElementVtbl;
struct IXMLElement {
struct IXMLElementVtbl *lpVtbl;
};
HRESULT IXMLElement_get_tagName_Proxy(IXMLElement *This,BSTR *p);
void IXMLElement_get_tagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_put_tagName_Proxy(IXMLElement *This,BSTR p);
void IXMLElement_put_tagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_get_parent_Proxy(IXMLElement *This,IXMLElement **ppParent);
void IXMLElement_get_parent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_setAttribute_Proxy(IXMLElement *This,BSTR strPropertyName,VARIANT PropertyValue);
void IXMLElement_setAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_getAttribute_Proxy(IXMLElement *This,BSTR strPropertyName,VARIANT *PropertyValue);
void IXMLElement_getAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_removeAttribute_Proxy(IXMLElement *This,BSTR strPropertyName);
void IXMLElement_removeAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_get_children_Proxy(IXMLElement *This,IXMLElementCollection **pp);
void IXMLElement_get_children_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_get_type_Proxy(IXMLElement *This,LONG *plType);
void IXMLElement_get_type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_get_text_Proxy(IXMLElement *This,BSTR *p);
void IXMLElement_get_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_put_text_Proxy(IXMLElement *This,BSTR p);
void IXMLElement_put_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_addChild_Proxy(IXMLElement *This,IXMLElement *pChildElem,LONG lIndex,LONG lReserved);
void IXMLElement_addChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement_removeChild_Proxy(IXMLElement *This,IXMLElement *pChildElem);
void IXMLElement_removeChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLElement2;
typedef struct IXMLElement2Vtbl {
HRESULT ( *QueryInterface)(IXMLElement2 *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLElement2 *This);
ULONG ( *Release)(IXMLElement2 *This);
HRESULT ( *GetTypeInfoCount)(IXMLElement2 *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLElement2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLElement2 *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLElement2 *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_tagName)(IXMLElement2 *This,BSTR *p);
HRESULT ( *put_tagName)(IXMLElement2 *This,BSTR p);
HRESULT ( *get_parent)(IXMLElement2 *This,IXMLElement2 **ppParent);
HRESULT ( *setAttribute)(IXMLElement2 *This,BSTR strPropertyName,VARIANT PropertyValue);
HRESULT ( *getAttribute)(IXMLElement2 *This,BSTR strPropertyName,VARIANT *PropertyValue);
HRESULT ( *removeAttribute)(IXMLElement2 *This,BSTR strPropertyName);
HRESULT ( *get_children)(IXMLElement2 *This,IXMLElementCollection **pp);
HRESULT ( *get_type)(IXMLElement2 *This,LONG *plType);
HRESULT ( *get_text)(IXMLElement2 *This,BSTR *p);
HRESULT ( *put_text)(IXMLElement2 *This,BSTR p);
HRESULT ( *addChild)(IXMLElement2 *This,IXMLElement2 *pChildElem,LONG lIndex,LONG lReserved);
HRESULT ( *removeChild)(IXMLElement2 *This,IXMLElement2 *pChildElem);
HRESULT ( *get_attributes)(IXMLElement2 *This,IXMLElementCollection **pp);
} IXMLElement2Vtbl;
struct IXMLElement2 {
struct IXMLElement2Vtbl *lpVtbl;
};
HRESULT IXMLElement2_get_tagName_Proxy(IXMLElement2 *This,BSTR *p);
void IXMLElement2_get_tagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_put_tagName_Proxy(IXMLElement2 *This,BSTR p);
void IXMLElement2_put_tagName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_get_parent_Proxy(IXMLElement2 *This,IXMLElement2 **ppParent);
void IXMLElement2_get_parent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_setAttribute_Proxy(IXMLElement2 *This,BSTR strPropertyName,VARIANT PropertyValue);
void IXMLElement2_setAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_getAttribute_Proxy(IXMLElement2 *This,BSTR strPropertyName,VARIANT *PropertyValue);
void IXMLElement2_getAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_removeAttribute_Proxy(IXMLElement2 *This,BSTR strPropertyName);
void IXMLElement2_removeAttribute_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_get_children_Proxy(IXMLElement2 *This,IXMLElementCollection **pp);
void IXMLElement2_get_children_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_get_type_Proxy(IXMLElement2 *This,LONG *plType);
void IXMLElement2_get_type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_get_text_Proxy(IXMLElement2 *This,BSTR *p);
void IXMLElement2_get_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_put_text_Proxy(IXMLElement2 *This,BSTR p);
void IXMLElement2_put_text_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_addChild_Proxy(IXMLElement2 *This,IXMLElement2 *pChildElem,LONG lIndex,LONG lReserved);
void IXMLElement2_addChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_removeChild_Proxy(IXMLElement2 *This,IXMLElement2 *pChildElem);
void IXMLElement2_removeChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLElement2_get_attributes_Proxy(IXMLElement2 *This,IXMLElementCollection **pp);
void IXMLElement2_get_attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLAttribute;
typedef struct IXMLAttributeVtbl {
HRESULT ( *QueryInterface)(IXMLAttribute *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLAttribute *This);
ULONG ( *Release)(IXMLAttribute *This);
HRESULT ( *GetTypeInfoCount)(IXMLAttribute *This,UINT *pctinfo);
HRESULT ( *GetTypeInfo)(IXMLAttribute *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(IXMLAttribute *This,const IID *const riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
HRESULT ( *Invoke)(IXMLAttribute *This,DISPID dispIdMember,const IID *const riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
HRESULT ( *get_name)(IXMLAttribute *This,BSTR *n);
HRESULT ( *get_value)(IXMLAttribute *This,BSTR *v);
} IXMLAttributeVtbl;
struct IXMLAttribute {
struct IXMLAttributeVtbl *lpVtbl;
};
HRESULT IXMLAttribute_get_name_Proxy(IXMLAttribute *This,BSTR *n);
void IXMLAttribute_get_name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
HRESULT IXMLAttribute_get_value_Proxy(IXMLAttribute *This,BSTR *v);
void IXMLAttribute_get_value_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const IID IID_IXMLError;
typedef struct IXMLErrorVtbl {
HRESULT ( *QueryInterface)(IXMLError *This,const IID *const riid,void **ppvObject);
ULONG ( *AddRef)(IXMLError *This);
ULONG ( *Release)(IXMLError *This);
HRESULT ( *GetErrorInfo)(IXMLError *This,XML_ERROR *pErrorReturn);
} IXMLErrorVtbl;
struct IXMLError {
struct IXMLErrorVtbl *lpVtbl;
};
HRESULT IXMLError_GetErrorInfo_Proxy(IXMLError *This,XML_ERROR *pErrorReturn);
void IXMLError_GetErrorInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
extern const CLSID CLSID_XMLDocument;
typedef struct IBindStatusCallbackMsg IBindStatusCallbackMsg;
extern const IID CLSID_SBS_StdURLMoniker;
extern const IID CLSID_SBS_HttpProtocol;
extern const IID CLSID_SBS_FtpProtocol;
extern const IID CLSID_SBS_GopherProtocol;
extern const IID CLSID_SBS_HttpSProtocol;
extern const IID CLSID_SBS_FileProtocol;
extern const IID CLSID_SBS_MkProtocol;
extern const IID CLSID_SBS_UrlMkBindCtx;
extern const IID CLSID_SBS_SoftDistExt;
extern const IID CLSID_SBS_CdlProtocol;
extern const IID CLSID_SBS_ClassInstallFilter;
extern const IID CLSID_SBS_InternetSecurityManager;
extern const IID CLSID_SBS_InternetZoneManager;
extern const IID IID_IAsyncMoniker;
extern const IID CLSID_StdURLMoniker;
extern const IID CLSID_HttpProtocol;
extern const IID CLSID_FtpProtocol;
extern const IID CLSID_GopherProtocol;
extern const IID CLSID_HttpSProtocol;
extern const IID CLSID_FileProtocol;
extern const IID CLSID_MkProtocol;
extern const IID CLSID_StdURLProtocol;
extern const IID CLSID_UrlMkBindCtx;
extern const IID CLSID_CdlProtocol;
extern const IID CLSID_ClassInstallFilter;
extern const IID IID_IAsyncBindCtx;
extern HRESULT CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk);
extern HRESULT CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk, DWORD dwFlags);
extern HRESULT GetClassURL(LPCWSTR szURL, CLSID *pClsID);
extern HRESULT CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEFetc, IBindCtx **ppBC);
extern HRESULT CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, IBindCtx **ppBC, DWORD reserved);
extern HRESULT MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk);
extern HRESULT RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb, IBindStatusCallback **ppBSCBPrev, DWORD dwReserved);
extern HRESULT RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb);
extern HRESULT GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid);
extern HRESULT IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved);
extern HRESULT CoGetClassObjectFromURL(const IID *const rCLASSID, LPCWSTR szCODE, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szTYPE, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, const IID *const riid, LPVOID *ppv);
extern HRESULT IEInstallScope(LPDWORD pdwScope);
extern HRESULT FaultInIEFeature(HWND hWnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD dwFlags);
extern HRESULT GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec, LPSTR *ppszComponentID);
extern HRESULT IsAsyncMoniker(IMoniker *pmk);
extern HRESULT CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg);
extern HRESULT RegisterMediaTypes(UINT ctypes, const LPCSTR *rgszTypes, CLIPFORMAT *rgcfTypes);
extern HRESULT FindMediaType(LPCSTR rgszTypes, CLIPFORMAT *rgcfTypes);
extern HRESULT CreateFormatEnumerator(UINT cfmtetc, FORMATETC *rgfmtetc, IEnumFORMATETC **ppenumfmtetc);
extern HRESULT RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved);
extern HRESULT RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc);
extern HRESULT RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR *rgszTypes, CLSID *rgclsID, DWORD reserved);
extern HRESULT FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved);
extern HRESULT UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved);
extern HRESULT UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLengthOut, DWORD dwReserved);
extern HRESULT FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved);
extern HRESULT ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD *cbSize);
extern HRESULT CompareSecurityIds(BYTE *pbSecurityId1, DWORD dwLen1, BYTE *pbSecurityId2, DWORD dwLen2, DWORD dwReserved);
extern HRESULT CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags);
typedef IPersistMoniker *LPPERSISTMONIKER;
extern const GUID IID_IPersistMoniker;
typedef struct IPersistMonikerVtbl {
HRESULT ( *QueryInterface)(
IPersistMoniker *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistMoniker *This);
ULONG ( *Release)(
IPersistMoniker *This);
HRESULT ( *GetClassID)(
IPersistMoniker *This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistMoniker *This);
HRESULT ( *Load)(
IPersistMoniker *This,
WINBOOL fFullyAvailable,
IMoniker *pimkName,
LPBC pibc,
DWORD grfMode);
HRESULT ( *Save)(
IPersistMoniker *This,
IMoniker *pimkName,
LPBC pbc,
WINBOOL fRemember);
HRESULT ( *SaveCompleted)(
IPersistMoniker *This,
IMoniker *pimkName,
LPBC pibc);
HRESULT ( *GetCurMoniker)(
IPersistMoniker *This,
IMoniker **ppimkName);
} IPersistMonikerVtbl;
struct IPersistMoniker {
IPersistMonikerVtbl* lpVtbl;
};
typedef IMonikerProp *LPMONIKERPROP;
typedef enum __WIDL_urlmon_generated_name_00000002 {
MIMETYPEPROP = 0x0,
USE_SRC_URL = 0x1,
CLASSIDPROP = 0x2,
TRUSTEDDOWNLOADPROP = 0x3,
POPUPLEVELPROP = 0x4
} MONIKERPROPERTY;
extern const GUID IID_IMonikerProp;
typedef struct IMonikerPropVtbl {
HRESULT ( *QueryInterface)(
IMonikerProp *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IMonikerProp *This);
ULONG ( *Release)(
IMonikerProp *This);
HRESULT ( *PutProperty)(
IMonikerProp *This,
MONIKERPROPERTY mkp,
LPCWSTR val);
} IMonikerPropVtbl;
struct IMonikerProp {
IMonikerPropVtbl* lpVtbl;
};
typedef IBindProtocol *LPBINDPROTOCOL;
extern const GUID IID_IBindProtocol;
typedef struct IBindProtocolVtbl {
HRESULT ( *QueryInterface)(
IBindProtocol *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindProtocol *This);
ULONG ( *Release)(
IBindProtocol *This);
HRESULT ( *CreateBinding)(
IBindProtocol *This,
LPCWSTR szUrl,
IBindCtx *pbc,
IBinding **ppb);
} IBindProtocolVtbl;
struct IBindProtocol {
IBindProtocolVtbl* lpVtbl;
};
typedef IBinding *LPBINDING;
extern const GUID IID_IBinding;
typedef struct IBindingVtbl {
HRESULT ( *QueryInterface)(
IBinding *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBinding *This);
ULONG ( *Release)(
IBinding *This);
HRESULT ( *Abort)(
IBinding *This);
HRESULT ( *Suspend)(
IBinding *This);
HRESULT ( *Resume)(
IBinding *This);
HRESULT ( *SetPriority)(
IBinding *This,
LONG nPriority);
HRESULT ( *GetPriority)(
IBinding *This,
LONG *pnPriority);
HRESULT ( *GetBindResult)(
IBinding *This,
CLSID *pclsidProtocol,
DWORD *pdwResult,
LPOLESTR *pszResult,
DWORD *pdwReserved);
} IBindingVtbl;
struct IBinding {
IBindingVtbl* lpVtbl;
};
HRESULT IBinding_RemoteGetBindResult_Proxy(
IBinding* This,
CLSID *pclsidProtocol,
DWORD *pdwResult,
LPOLESTR *pszResult,
DWORD dwReserved);
void IBinding_RemoteGetBindResult_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBinding_GetBindResult_Proxy(
IBinding* This,
CLSID *pclsidProtocol,
DWORD *pdwResult,
LPOLESTR *pszResult,
DWORD *pdwReserved);
HRESULT IBinding_GetBindResult_Stub(
IBinding* This,
CLSID *pclsidProtocol,
DWORD *pdwResult,
LPOLESTR *pszResult,
DWORD dwReserved);
typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
typedef enum __WIDL_urlmon_generated_name_00000003 {
BINDVERB_GET = 0x0,
BINDVERB_POST = 0x1,
BINDVERB_PUT = 0x2,
BINDVERB_CUSTOM = 0x3,
BINDVERB_RESERVED1 = 0x4
} BINDVERB;
typedef enum __WIDL_urlmon_generated_name_00000004 {
BINDINFOF_URLENCODESTGMEDDATA = 0x1,
BINDINFOF_URLENCODEDEXTRAINFO = 0x2
} BINDINFOF;
typedef enum __WIDL_urlmon_generated_name_00000005 {
BINDF_ASYNCHRONOUS = 0x1,
BINDF_ASYNCSTORAGE = 0x2,
BINDF_NOPROGRESSIVERENDERING = 0x4,
BINDF_OFFLINEOPERATION = 0x8,
BINDF_GETNEWESTVERSION = 0x10,
BINDF_NOWRITECACHE = 0x20,
BINDF_NEEDFILE = 0x40,
BINDF_PULLDATA = 0x80,
BINDF_IGNORESECURITYPROBLEM = 0x100,
BINDF_RESYNCHRONIZE = 0x200,
BINDF_HYPERLINK = 0x400,
BINDF_NO_UI = 0x800,
BINDF_SILENTOPERATION = 0x1000,
BINDF_PRAGMA_NO_CACHE = 0x2000,
BINDF_GETCLASSOBJECT = 0x4000,
BINDF_RESERVED_1 = 0x8000,
BINDF_FREE_THREADED = 0x10000,
BINDF_DIRECT_READ = 0x20000,
BINDF_FORMS_SUBMIT = 0x40000,
BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,
BINDF_FROMURLMON = 0x100000,
BINDF_FWD_BACK = 0x200000,
BINDF_PREFERDEFAULTHANDLER = 0x400000,
BINDF_ENFORCERESTRICTED = 0x800000,
BINDF_RESERVED_2 = 0x80000000,
BINDF_RESERVED_3 = 0x1000000,
BINDF_RESERVED_4 = 0x2000000,
BINDF_RESERVED_5 = 0x4000000,
BINDF_RESERVED_6 = 0x8000000,
BINDF_RESERVED_7 = 0x40000000,
BINDF_RESERVED_8 = 0x20000000
} BINDF;
typedef enum __WIDL_urlmon_generated_name_00000006 {
URL_ENCODING_NONE = 0x0,
URL_ENCODING_ENABLE_UTF8 = 0x10000000,
URL_ENCODING_DISABLE_UTF8 = 0x20000000
} URL_ENCODING;
typedef struct _tagBINDINFO {
ULONG cbSize;
LPWSTR szExtraInfo;
STGMEDIUM stgmedData;
DWORD grfBindInfoF;
DWORD dwBindVerb;
LPWSTR szCustomVerb;
DWORD cbstgmedData;
DWORD dwOptions;
DWORD dwOptionsFlags;
DWORD dwCodePage;
SECURITY_ATTRIBUTES securityAttributes;
IID iid;
IUnknown *pUnk;
DWORD dwReserved;
} BINDINFO;
typedef struct _REMSECURITY_ATTRIBUTES {
DWORD nLength;
DWORD lpSecurityDescriptor;
WINBOOL bInheritHandle;
} REMSECURITY_ATTRIBUTES;
typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES;
typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES;
typedef struct _tagRemBINDINFO {
ULONG cbSize;
LPWSTR szExtraInfo;
DWORD grfBindInfoF;
DWORD dwBindVerb;
LPWSTR szCustomVerb;
DWORD cbstgmedData;
DWORD dwOptions;
DWORD dwOptionsFlags;
DWORD dwCodePage;
REMSECURITY_ATTRIBUTES securityAttributes;
IID iid;
IUnknown *pUnk;
DWORD dwReserved;
} RemBINDINFO;
typedef struct tagRemFORMATETC {
DWORD cfFormat;
DWORD ptd;
DWORD dwAspect;
LONG lindex;
DWORD tymed;
} RemFORMATETC;
typedef struct tagRemFORMATETC *LPREMFORMATETC;
typedef enum __WIDL_urlmon_generated_name_00000007 {
BINDINFO_OPTIONS_WININETFLAG = 0x10000,
BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000,
BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000,
BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000,
BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000,
BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000,
BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000,
BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000,
BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000,
BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x2000000,
BINDINFO_WPC_DOWNLOADBLOCKED = 0x8000000,
BINDINFO_WPC_LOGGING_ENABLED = 0x10000000,
BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000,
BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000,
BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = (int)0x80000000
} BINDINFO_OPTIONS;
typedef enum __WIDL_urlmon_generated_name_00000008 {
BSCF_FIRSTDATANOTIFICATION = 0x1,
BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
BSCF_LASTDATANOTIFICATION = 0x4,
BSCF_DATAFULLYAVAILABLE = 0x8,
BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10,
BSCF_SKIPDRAINDATAFORFILEURLS = 0x20,
BSCF_64BITLENGTHDOWNLOAD = 0x40
} BSCF;
typedef enum tagBINDSTATUS {
BINDSTATUS_FINDINGRESOURCE = 1,
BINDSTATUS_CONNECTING = 2,
BINDSTATUS_REDIRECTING = 3,
BINDSTATUS_BEGINDOWNLOADDATA = 4,
BINDSTATUS_DOWNLOADINGDATA = 5,
BINDSTATUS_ENDDOWNLOADDATA = 6,
BINDSTATUS_BEGINDOWNLOADCOMPONENTS = 7,
BINDSTATUS_INSTALLINGCOMPONENTS = 8,
BINDSTATUS_ENDDOWNLOADCOMPONENTS = 9,
BINDSTATUS_USINGCACHEDCOPY = 10,
BINDSTATUS_SENDINGREQUEST = 11,
BINDSTATUS_CLASSIDAVAILABLE = 12,
BINDSTATUS_MIMETYPEAVAILABLE = 13,
BINDSTATUS_CACHEFILENAMEAVAILABLE = 14,
BINDSTATUS_BEGINSYNCOPERATION = 15,
BINDSTATUS_ENDSYNCOPERATION = 16,
BINDSTATUS_BEGINUPLOADDATA = 17,
BINDSTATUS_UPLOADINGDATA = 18,
BINDSTATUS_ENDUPLOADDATA = 19,
BINDSTATUS_PROTOCOLCLASSID = 20,
BINDSTATUS_ENCODING = 21,
BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = 22,
BINDSTATUS_CLASSINSTALLLOCATION = 23,
BINDSTATUS_DECODING = 24,
BINDSTATUS_LOADINGMIMEHANDLER = 25,
BINDSTATUS_CONTENTDISPOSITIONATTACH = 26,
BINDSTATUS_FILTERREPORTMIMETYPE = 27,
BINDSTATUS_CLSIDCANINSTANTIATE = 28,
BINDSTATUS_IUNKNOWNAVAILABLE = 29,
BINDSTATUS_DIRECTBIND = 30,
BINDSTATUS_RAWMIMETYPE = 31,
BINDSTATUS_PROXYDETECTING = 32,
BINDSTATUS_ACCEPTRANGES = 33,
BINDSTATUS_COOKIE_SENT = 34,
BINDSTATUS_COMPACT_POLICY_RECEIVED = 35,
BINDSTATUS_COOKIE_SUPPRESSED = 36,
BINDSTATUS_COOKIE_STATE_UNKNOWN = 37,
BINDSTATUS_COOKIE_STATE_ACCEPT = 38,
BINDSTATUS_COOKIE_STATE_REJECT = 39,
BINDSTATUS_COOKIE_STATE_PROMPT = 40,
BINDSTATUS_COOKIE_STATE_LEASH = 41,
BINDSTATUS_COOKIE_STATE_DOWNGRADE = 42,
BINDSTATUS_POLICY_HREF = 43,
BINDSTATUS_P3P_HEADER = 44,
BINDSTATUS_SESSION_COOKIE_RECEIVED = 45,
BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = 46,
BINDSTATUS_SESSION_COOKIES_ALLOWED = 47,
BINDSTATUS_CACHECONTROL = 48,
BINDSTATUS_CONTENTDISPOSITIONFILENAME = 49,
BINDSTATUS_MIMETEXTPLAINMISMATCH = 50,
BINDSTATUS_PUBLISHERAVAILABLE = 51,
BINDSTATUS_DISPLAYNAMEAVAILABLE = 52,
BINDSTATUS_SSLUX_NAVBLOCKED = 53,
BINDSTATUS_SERVER_MIMETYPEAVAILABLE = 54,
BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = 55,
BINDSTATUS_64BIT_PROGRESS = 56,
BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS,
BINDSTATUS_RESERVED_0 = 57,
BINDSTATUS_RESERVED_1 = 58,
BINDSTATUS_RESERVED_2 = 59,
BINDSTATUS_RESERVED_3 = 60,
BINDSTATUS_RESERVED_4 = 61,
BINDSTATUS_RESERVED_5 = 62,
BINDSTATUS_RESERVED_6 = 63,
BINDSTATUS_RESERVED_7 = 64,
BINDSTATUS_RESERVED_8 = 65,
BINDSTATUS_RESERVED_9 = 66,
BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_9
} BINDSTATUS;
extern const GUID IID_IBindStatusCallback;
typedef struct IBindStatusCallbackVtbl {
HRESULT ( *QueryInterface)(
IBindStatusCallback *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindStatusCallback *This);
ULONG ( *Release)(
IBindStatusCallback *This);
HRESULT ( *OnStartBinding)(
IBindStatusCallback *This,
DWORD dwReserved,
IBinding *pib);
HRESULT ( *GetPriority)(
IBindStatusCallback *This,
LONG *pnPriority);
HRESULT ( *OnLowResource)(
IBindStatusCallback *This,
DWORD reserved);
HRESULT ( *OnProgress)(
IBindStatusCallback *This,
ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText);
HRESULT ( *OnStopBinding)(
IBindStatusCallback *This,
HRESULT hresult,
LPCWSTR szError);
HRESULT ( *GetBindInfo)(
IBindStatusCallback *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo);
HRESULT ( *OnDataAvailable)(
IBindStatusCallback *This,
DWORD grfBSCF,
DWORD dwSize,
FORMATETC *pformatetc,
STGMEDIUM *pstgmed);
HRESULT ( *OnObjectAvailable)(
IBindStatusCallback *This,
const IID *const riid,
IUnknown *punk);
} IBindStatusCallbackVtbl;
struct IBindStatusCallback {
IBindStatusCallbackVtbl* lpVtbl;
};
HRESULT IBindStatusCallback_RemoteGetBindInfo_Proxy(
IBindStatusCallback* This,
DWORD *grfBINDF,
RemBINDINFO *pbindinfo,
RemSTGMEDIUM *pstgmed);
void IBindStatusCallback_RemoteGetBindInfo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindStatusCallback_RemoteOnDataAvailable_Proxy(
IBindStatusCallback* This,
DWORD grfBSCF,
DWORD dwSize,
RemFORMATETC *pformatetc,
RemSTGMEDIUM *pstgmed);
void IBindStatusCallback_RemoteOnDataAvailable_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindStatusCallback_GetBindInfo_Proxy(
IBindStatusCallback* This,
DWORD *grfBINDF,
BINDINFO *pbindinfo);
HRESULT IBindStatusCallback_GetBindInfo_Stub(
IBindStatusCallback* This,
DWORD *grfBINDF,
RemBINDINFO *pbindinfo,
RemSTGMEDIUM *pstgmed);
HRESULT IBindStatusCallback_OnDataAvailable_Proxy(
IBindStatusCallback* This,
DWORD grfBSCF,
DWORD dwSize,
FORMATETC *pformatetc,
STGMEDIUM *pstgmed);
HRESULT IBindStatusCallback_OnDataAvailable_Stub(
IBindStatusCallback* This,
DWORD grfBSCF,
DWORD dwSize,
RemFORMATETC *pformatetc,
RemSTGMEDIUM *pstgmed);
typedef IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX;
typedef enum __WIDL_urlmon_generated_name_00000009 {
BINDF2_DISABLEBASICOVERHTTP = 0x1,
BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x2,
BINDF2_READ_DATA_GREATER_THAN_4GB = 0x4,
BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x8,
BINDF2_SETDOWNLOADMODE = 0x20,
BINDF2_DISABLE_HTTP_REDIRECT_CACHING = 0x40,
BINDF2_KEEP_CALLBACK_MODULE_LOADED = 0x80,
BINDF2_ALLOW_PROXY_CRED_PROMPT = 0x100,
BINDF2_RESERVED_F = 0x20000,
BINDF2_RESERVED_E = 0x40000,
BINDF2_RESERVED_D = 0x80000,
BINDF2_RESERVED_C = 0x100000,
BINDF2_RESERVED_B = 0x200000,
BINDF2_RESERVED_A = 0x400000,
BINDF2_RESERVED_9 = 0x800000,
BINDF2_RESERVED_8 = 0x1000000,
BINDF2_RESERVED_7 = 0x2000000,
BINDF2_RESERVED_6 = 0x4000000,
BINDF2_RESERVED_5 = 0x8000000,
BINDF2_RESERVED_4 = 0x10000000,
BINDF2_RESERVED_3 = 0x20000000,
BINDF2_RESERVED_2 = 0x40000000,
BINDF2_RESERVED_1 = 0x80000000
} BINDF2;
extern const GUID IID_IBindStatusCallbackEx;
typedef struct IBindStatusCallbackExVtbl {
HRESULT ( *QueryInterface)(
IBindStatusCallbackEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindStatusCallbackEx *This);
ULONG ( *Release)(
IBindStatusCallbackEx *This);
HRESULT ( *OnStartBinding)(
IBindStatusCallbackEx *This,
DWORD dwReserved,
IBinding *pib);
HRESULT ( *GetPriority)(
IBindStatusCallbackEx *This,
LONG *pnPriority);
HRESULT ( *OnLowResource)(
IBindStatusCallbackEx *This,
DWORD reserved);
HRESULT ( *OnProgress)(
IBindStatusCallbackEx *This,
ULONG ulProgress,
ULONG ulProgressMax,
ULONG ulStatusCode,
LPCWSTR szStatusText);
HRESULT ( *OnStopBinding)(
IBindStatusCallbackEx *This,
HRESULT hresult,
LPCWSTR szError);
HRESULT ( *GetBindInfo)(
IBindStatusCallbackEx *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo);
HRESULT ( *OnDataAvailable)(
IBindStatusCallbackEx *This,
DWORD grfBSCF,
DWORD dwSize,
FORMATETC *pformatetc,
STGMEDIUM *pstgmed);
HRESULT ( *OnObjectAvailable)(
IBindStatusCallbackEx *This,
const IID *const riid,
IUnknown *punk);
HRESULT ( *GetBindInfoEx)(
IBindStatusCallbackEx *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo,
DWORD *grfBINDF2,
DWORD *pdwReserved);
} IBindStatusCallbackExVtbl;
struct IBindStatusCallbackEx {
IBindStatusCallbackExVtbl* lpVtbl;
};
HRESULT IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy(
IBindStatusCallbackEx* This,
DWORD *grfBINDF,
RemBINDINFO *pbindinfo,
RemSTGMEDIUM *pstgmed,
DWORD *grfBINDF2,
DWORD *pdwReserved);
void IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindStatusCallbackEx_GetBindInfoEx_Proxy(
IBindStatusCallbackEx* This,
DWORD *grfBINDF,
BINDINFO *pbindinfo,
DWORD *grfBINDF2,
DWORD *pdwReserved);
HRESULT IBindStatusCallbackEx_GetBindInfoEx_Stub(
IBindStatusCallbackEx* This,
DWORD *grfBINDF,
RemBINDINFO *pbindinfo,
RemSTGMEDIUM *pstgmed,
DWORD *grfBINDF2,
DWORD *pdwReserved);
typedef IAuthenticate *LPAUTHENTICATION;
extern const GUID IID_IAuthenticate;
typedef struct IAuthenticateVtbl {
HRESULT ( *QueryInterface)(
IAuthenticate *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAuthenticate *This);
ULONG ( *Release)(
IAuthenticate *This);
HRESULT ( *Authenticate)(
IAuthenticate *This,
HWND *phwnd,
LPWSTR *pszUsername,
LPWSTR *pszPassword);
} IAuthenticateVtbl;
struct IAuthenticate {
IAuthenticateVtbl* lpVtbl;
};
typedef IAuthenticateEx *LPAUTHENTICATIONEX;
typedef enum __WIDL_urlmon_generated_name_0000000A {
AUTHENTICATEF_PROXY = 0x1,
AUTHENTICATEF_BASIC = 0x2,
AUTHENTICATEF_HTTP = 0x4
} AUTHENTICATEF;
typedef struct _tagAUTHENTICATEINFO {
DWORD dwFlags;
DWORD dwReserved;
} AUTHENTICATEINFO;
extern const GUID IID_IAuthenticateEx;
typedef struct IAuthenticateExVtbl {
HRESULT ( *QueryInterface)(
IAuthenticateEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAuthenticateEx *This);
ULONG ( *Release)(
IAuthenticateEx *This);
HRESULT ( *Authenticate)(
IAuthenticateEx *This,
HWND *phwnd,
LPWSTR *pszUsername,
LPWSTR *pszPassword);
HRESULT ( *AuthenticateEx)(
IAuthenticateEx *This,
HWND *phwnd,
LPWSTR *pszUsername,
LPWSTR *pszPassword,
AUTHENTICATEINFO *pauthinfo);
} IAuthenticateExVtbl;
struct IAuthenticateEx {
IAuthenticateExVtbl* lpVtbl;
};
typedef IHttpNegotiate *LPHTTPNEGOTIATE;
extern const GUID IID_IHttpNegotiate;
typedef struct IHttpNegotiateVtbl {
HRESULT ( *QueryInterface)(
IHttpNegotiate *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IHttpNegotiate *This);
ULONG ( *Release)(
IHttpNegotiate *This);
HRESULT ( *BeginningTransaction)(
IHttpNegotiate *This,
LPCWSTR szURL,
LPCWSTR szHeaders,
DWORD dwReserved,
LPWSTR *pszAdditionalHeaders);
HRESULT ( *OnResponse)(
IHttpNegotiate *This,
DWORD dwResponseCode,
LPCWSTR szResponseHeaders,
LPCWSTR szRequestHeaders,
LPWSTR *pszAdditionalRequestHeaders);
} IHttpNegotiateVtbl;
struct IHttpNegotiate {
IHttpNegotiateVtbl* lpVtbl;
};
typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2;
extern const GUID IID_IHttpNegotiate2;
typedef struct IHttpNegotiate2Vtbl {
HRESULT ( *QueryInterface)(
IHttpNegotiate2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IHttpNegotiate2 *This);
ULONG ( *Release)(
IHttpNegotiate2 *This);
HRESULT ( *BeginningTransaction)(
IHttpNegotiate2 *This,
LPCWSTR szURL,
LPCWSTR szHeaders,
DWORD dwReserved,
LPWSTR *pszAdditionalHeaders);
HRESULT ( *OnResponse)(
IHttpNegotiate2 *This,
DWORD dwResponseCode,
LPCWSTR szResponseHeaders,
LPCWSTR szRequestHeaders,
LPWSTR *pszAdditionalRequestHeaders);
HRESULT ( *GetRootSecurityId)(
IHttpNegotiate2 *This,
BYTE *pbSecurityId,
DWORD *pcbSecurityId,
DWORD_PTR dwReserved);
} IHttpNegotiate2Vtbl;
struct IHttpNegotiate2 {
IHttpNegotiate2Vtbl* lpVtbl;
};
typedef IHttpNegotiate3 *LPHTTPNEGOTIATE3;
extern const GUID IID_IHttpNegotiate3;
typedef struct IHttpNegotiate3Vtbl {
HRESULT ( *QueryInterface)(
IHttpNegotiate3 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IHttpNegotiate3 *This);
ULONG ( *Release)(
IHttpNegotiate3 *This);
HRESULT ( *BeginningTransaction)(
IHttpNegotiate3 *This,
LPCWSTR szURL,
LPCWSTR szHeaders,
DWORD dwReserved,
LPWSTR *pszAdditionalHeaders);
HRESULT ( *OnResponse)(
IHttpNegotiate3 *This,
DWORD dwResponseCode,
LPCWSTR szResponseHeaders,
LPCWSTR szRequestHeaders,
LPWSTR *pszAdditionalRequestHeaders);
HRESULT ( *GetRootSecurityId)(
IHttpNegotiate3 *This,
BYTE *pbSecurityId,
DWORD *pcbSecurityId,
DWORD_PTR dwReserved);
HRESULT ( *GetSerializedClientCertContext)(
IHttpNegotiate3 *This,
BYTE **ppbCert,
DWORD *pcbCert);
} IHttpNegotiate3Vtbl;
struct IHttpNegotiate3 {
IHttpNegotiate3Vtbl* lpVtbl;
};
typedef IWinInetFileStream *LPWININETFILESTREAM;
extern const GUID IID_IWinInetFileStream;
typedef struct IWinInetFileStreamVtbl {
HRESULT ( *QueryInterface)(
IWinInetFileStream *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWinInetFileStream *This);
ULONG ( *Release)(
IWinInetFileStream *This);
HRESULT ( *SetHandleForUnlock)(
IWinInetFileStream *This,
DWORD_PTR hWinInetLockHandle,
DWORD_PTR dwReserved);
HRESULT ( *SetDeleteFile)(
IWinInetFileStream *This,
DWORD_PTR dwReserved);
} IWinInetFileStreamVtbl;
struct IWinInetFileStream {
IWinInetFileStreamVtbl* lpVtbl;
};
typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI;
extern const GUID IID_IWindowForBindingUI;
typedef struct IWindowForBindingUIVtbl {
HRESULT ( *QueryInterface)(
IWindowForBindingUI *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWindowForBindingUI *This);
ULONG ( *Release)(
IWindowForBindingUI *This);
HRESULT ( *GetWindow)(
IWindowForBindingUI *This,
const GUID *const rguidReason,
HWND *phwnd);
} IWindowForBindingUIVtbl;
struct IWindowForBindingUI {
IWindowForBindingUIVtbl* lpVtbl;
};
typedef ICodeInstall *LPCODEINSTALL;
typedef enum __WIDL_urlmon_generated_name_0000000B {
CIP_DISK_FULL = 0,
CIP_ACCESS_DENIED = 1,
CIP_NEWER_VERSION_EXISTS = 2,
CIP_OLDER_VERSION_EXISTS = 3,
CIP_NAME_CONFLICT = 4,
CIP_TRUST_VERIFICATION_COMPONENT_MISSING = 5,
CIP_EXE_SELF_REGISTERATION_TIMEOUT = 6,
CIP_UNSAFE_TO_ABORT = 7,
CIP_NEED_REBOOT = 8,
CIP_NEED_REBOOT_UI_PERMISSION = 9
} CIP_STATUS;
extern const GUID IID_ICodeInstall;
typedef struct ICodeInstallVtbl {
HRESULT ( *QueryInterface)(
ICodeInstall *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICodeInstall *This);
ULONG ( *Release)(
ICodeInstall *This);
HRESULT ( *GetWindow)(
ICodeInstall *This,
const GUID *const rguidReason,
HWND *phwnd);
HRESULT ( *OnCodeInstallProblem)(
ICodeInstall *This,
ULONG ulStatusCode,
LPCWSTR szDestination,
LPCWSTR szSource,
DWORD dwReserved);
} ICodeInstallVtbl;
struct ICodeInstall {
ICodeInstallVtbl* lpVtbl;
};
typedef IWinInetInfo *LPWININETINFO;
extern const GUID IID_IWinInetInfo;
typedef struct IWinInetInfoVtbl {
HRESULT ( *QueryInterface)(
IWinInetInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWinInetInfo *This);
ULONG ( *Release)(
IWinInetInfo *This);
HRESULT ( *QueryOption)(
IWinInetInfo *This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pcbBuf);
} IWinInetInfoVtbl;
struct IWinInetInfo {
IWinInetInfoVtbl* lpVtbl;
};
HRESULT IWinInetInfo_RemoteQueryOption_Proxy(
IWinInetInfo* This,
DWORD dwOption,
BYTE *pBuffer,
DWORD *pcbBuf);
void IWinInetInfo_RemoteQueryOption_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IWinInetInfo_QueryOption_Proxy(
IWinInetInfo* This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pcbBuf);
HRESULT IWinInetInfo_QueryOption_Stub(
IWinInetInfo* This,
DWORD dwOption,
BYTE *pBuffer,
DWORD *pcbBuf);
typedef IHttpSecurity *LPHTTPSECURITY;
extern const GUID IID_IHttpSecurity;
typedef struct IHttpSecurityVtbl {
HRESULT ( *QueryInterface)(
IHttpSecurity *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IHttpSecurity *This);
ULONG ( *Release)(
IHttpSecurity *This);
HRESULT ( *GetWindow)(
IHttpSecurity *This,
const GUID *const rguidReason,
HWND *phwnd);
HRESULT ( *OnSecurityProblem)(
IHttpSecurity *This,
DWORD dwProblem);
} IHttpSecurityVtbl;
struct IHttpSecurity {
IHttpSecurityVtbl* lpVtbl;
};
typedef IWinInetHttpInfo *LPWININETHTTPINFO;
extern const GUID IID_IWinInetHttpInfo;
typedef struct IWinInetHttpInfoVtbl {
HRESULT ( *QueryInterface)(
IWinInetHttpInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWinInetHttpInfo *This);
ULONG ( *Release)(
IWinInetHttpInfo *This);
HRESULT ( *QueryOption)(
IWinInetHttpInfo *This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pcbBuf);
HRESULT ( *QueryInfo)(
IWinInetHttpInfo *This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pcbBuf,
DWORD *pdwFlags,
DWORD *pdwReserved);
} IWinInetHttpInfoVtbl;
struct IWinInetHttpInfo {
IWinInetHttpInfoVtbl* lpVtbl;
};
HRESULT IWinInetHttpInfo_RemoteQueryInfo_Proxy(
IWinInetHttpInfo* This,
DWORD dwOption,
BYTE *pBuffer,
DWORD *pcbBuf,
DWORD *pdwFlags,
DWORD *pdwReserved);
void IWinInetHttpInfo_RemoteQueryInfo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IWinInetHttpInfo_QueryInfo_Proxy(
IWinInetHttpInfo* This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pcbBuf,
DWORD *pdwFlags,
DWORD *pdwReserved);
HRESULT IWinInetHttpInfo_QueryInfo_Stub(
IWinInetHttpInfo* This,
DWORD dwOption,
BYTE *pBuffer,
DWORD *pcbBuf,
DWORD *pdwFlags,
DWORD *pdwReserved);
extern const GUID IID_IWinInetHttpTimeouts;
typedef struct IWinInetHttpTimeoutsVtbl {
HRESULT ( *QueryInterface)(
IWinInetHttpTimeouts *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWinInetHttpTimeouts *This);
ULONG ( *Release)(
IWinInetHttpTimeouts *This);
HRESULT ( *GetRequestTimeouts)(
IWinInetHttpTimeouts *This,
DWORD *pdwConnectTimeout,
DWORD *pdwSendTimeout,
DWORD *pdwReceiveTimeout);
} IWinInetHttpTimeoutsVtbl;
struct IWinInetHttpTimeouts {
IWinInetHttpTimeoutsVtbl* lpVtbl;
};
extern const GUID SID_BindHost;
typedef IBindHost *LPBINDHOST;
extern const GUID IID_IBindHost;
typedef struct IBindHostVtbl {
HRESULT ( *QueryInterface)(
IBindHost *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindHost *This);
ULONG ( *Release)(
IBindHost *This);
HRESULT ( *CreateMoniker)(
IBindHost *This,
LPOLESTR szName,
IBindCtx *pBC,
IMoniker **ppmk,
DWORD dwReserved);
HRESULT ( *MonikerBindToStorage)(
IBindHost *This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
void **ppvObj);
HRESULT ( *MonikerBindToObject)(
IBindHost *This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
void **ppvObj);
} IBindHostVtbl;
struct IBindHost {
IBindHostVtbl* lpVtbl;
};
HRESULT IBindHost_RemoteMonikerBindToStorage_Proxy(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
IUnknown **ppvObj);
void IBindHost_RemoteMonikerBindToStorage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindHost_RemoteMonikerBindToObject_Proxy(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
IUnknown **ppvObj);
void IBindHost_RemoteMonikerBindToObject_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IBindHost_MonikerBindToStorage_Proxy(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
void **ppvObj);
HRESULT IBindHost_MonikerBindToStorage_Stub(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
IUnknown **ppvObj);
HRESULT IBindHost_MonikerBindToObject_Proxy(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
void **ppvObj);
HRESULT IBindHost_MonikerBindToObject_Stub(
IBindHost* This,
IMoniker *pMk,
IBindCtx *pBC,
IBindStatusCallback *pBSC,
const IID *const riid,
IUnknown **ppvObj);
struct IBindStatusCallback;
extern HRESULT HlinkSimpleNavigateToString(LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved);
extern HRESULT HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved);
extern HRESULT URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLDownloadToCacheFileA(LPUNKNOWN, LPCSTR, LPSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK);
extern HRESULT URLDownloadToCacheFileW(LPUNKNOWN, LPCWSTR, LPWSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK);
extern HRESULT URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
extern HRESULT HlinkGoBack(IUnknown *pUnk);
extern HRESULT HlinkGoForward(IUnknown *pUnk);
extern HRESULT HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget);
extern HRESULT HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget);
typedef IInternet *LPIINTERNET;
extern const GUID IID_IInternet;
typedef struct IInternetVtbl {
HRESULT ( *QueryInterface)(
IInternet *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternet *This);
ULONG ( *Release)(
IInternet *This);
} IInternetVtbl;
struct IInternet {
IInternetVtbl* lpVtbl;
};
typedef IInternetBindInfo *LPIINTERNETBINDINFO;
typedef enum tagBINDSTRING {
BINDSTRING_HEADERS = 1,
BINDSTRING_ACCEPT_MIMES = 2,
BINDSTRING_EXTRA_URL = 3,
BINDSTRING_LANGUAGE = 4,
BINDSTRING_USERNAME = 5,
BINDSTRING_PASSWORD = 6,
BINDSTRING_UA_PIXELS = 7,
BINDSTRING_UA_COLOR = 8,
BINDSTRING_OS = 9,
BINDSTRING_USER_AGENT = 10,
BINDSTRING_ACCEPT_ENCODINGS = 11,
BINDSTRING_POST_COOKIE = 12,
BINDSTRING_POST_DATA_MIME = 13,
BINDSTRING_URL = 14,
BINDSTRING_IID = 15,
BINDSTRING_FLAG_BIND_TO_OBJECT = 16,
BINDSTRING_PTR_BIND_CONTEXT = 17,
BINDSTRING_XDR_ORIGIN = 18,
BINDSTRING_DOWNLOADPATH = 19,
BINDSTRING_ROOTDOC_URL = 20,
BINDSTRING_INITIAL_FILENAME = 21,
BINDSTRING_PROXY_USERNAME = 22,
BINDSTRING_PROXY_PASSWORD = 23
} BINDSTRING;
extern const GUID IID_IInternetBindInfo;
typedef struct IInternetBindInfoVtbl {
HRESULT ( *QueryInterface)(
IInternetBindInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetBindInfo *This);
ULONG ( *Release)(
IInternetBindInfo *This);
HRESULT ( *GetBindInfo)(
IInternetBindInfo *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo);
HRESULT ( *GetBindString)(
IInternetBindInfo *This,
ULONG ulStringType,
LPOLESTR *ppwzStr,
ULONG cEl,
ULONG *pcElFetched);
} IInternetBindInfoVtbl;
struct IInternetBindInfo {
IInternetBindInfoVtbl* lpVtbl;
};
typedef IInternetBindInfoEx *LPIINTERNETBINDINFOEX;
extern const GUID IID_IInternetBindInfoEx;
typedef struct IInternetBindInfoExVtbl {
HRESULT ( *QueryInterface)(
IInternetBindInfoEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetBindInfoEx *This);
ULONG ( *Release)(
IInternetBindInfoEx *This);
HRESULT ( *GetBindInfo)(
IInternetBindInfoEx *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo);
HRESULT ( *GetBindString)(
IInternetBindInfoEx *This,
ULONG ulStringType,
LPOLESTR *ppwzStr,
ULONG cEl,
ULONG *pcElFetched);
HRESULT ( *GetBindInfoEx)(
IInternetBindInfoEx *This,
DWORD *grfBINDF,
BINDINFO *pbindinfo,
DWORD *grfBINDF2,
DWORD *pdwReserved);
} IInternetBindInfoExVtbl;
struct IInternetBindInfoEx {
IInternetBindInfoExVtbl* lpVtbl;
};
typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
typedef enum _tagPI_FLAGS {
PI_PARSE_URL = 0x1,
PI_FILTER_MODE = 0x2,
PI_FORCE_ASYNC = 0x4,
PI_USE_WORKERTHREAD = 0x8,
PI_MIMEVERIFICATION = 0x10,
PI_CLSIDLOOKUP = 0x20,
PI_DATAPROGRESS = 0x40,
PI_SYNCHRONOUS = 0x80,
PI_APARTMENTTHREADED = 0x100,
PI_CLASSINSTALL = 0x200,
PI_PASSONBINDCTX = 0x2000,
PI_NOMIMEHANDLER = 0x8000,
PI_LOADAPPDIRECT = 0x4000,
PD_FORCE_SWITCH = 0x10000,
PI_PREFERDEFAULTHANDLER = 0x20000
} PI_FLAGS;
typedef struct _tagPROTOCOLDATA {
DWORD grfFlags;
DWORD dwState;
LPVOID pData;
ULONG cbData;
} PROTOCOLDATA;
typedef struct _tagStartParam {
IID iid;
IBindCtx *pIBindCtx;
IUnknown *pItf;
} StartParam;
extern const GUID IID_IInternetProtocolRoot;
typedef struct IInternetProtocolRootVtbl {
HRESULT ( *QueryInterface)(
IInternetProtocolRoot *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetProtocolRoot *This);
ULONG ( *Release)(
IInternetProtocolRoot *This);
HRESULT ( *Start)(
IInternetProtocolRoot *This,
LPCWSTR szUrl,
IInternetProtocolSink *pOIProtSink,
IInternetBindInfo *pOIBindInfo,
DWORD grfPI,
HANDLE_PTR dwReserved);
HRESULT ( *Continue)(
IInternetProtocolRoot *This,
PROTOCOLDATA *pProtocolData);
HRESULT ( *Abort)(
IInternetProtocolRoot *This,
HRESULT hrReason,
DWORD dwOptions);
HRESULT ( *Terminate)(
IInternetProtocolRoot *This,
DWORD dwOptions);
HRESULT ( *Suspend)(
IInternetProtocolRoot *This);
HRESULT ( *Resume)(
IInternetProtocolRoot *This);
} IInternetProtocolRootVtbl;
struct IInternetProtocolRoot {
IInternetProtocolRootVtbl* lpVtbl;
};
typedef IInternetProtocol *LPIINTERNETPROTOCOL;
extern const GUID IID_IInternetProtocol;
typedef struct IInternetProtocolVtbl {
HRESULT ( *QueryInterface)(
IInternetProtocol *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetProtocol *This);
ULONG ( *Release)(
IInternetProtocol *This);
HRESULT ( *Start)(
IInternetProtocol *This,
LPCWSTR szUrl,
IInternetProtocolSink *pOIProtSink,
IInternetBindInfo *pOIBindInfo,
DWORD grfPI,
HANDLE_PTR dwReserved);
HRESULT ( *Continue)(
IInternetProtocol *This,
PROTOCOLDATA *pProtocolData);
HRESULT ( *Abort)(
IInternetProtocol *This,
HRESULT hrReason,
DWORD dwOptions);
HRESULT ( *Terminate)(
IInternetProtocol *This,
DWORD dwOptions);
HRESULT ( *Suspend)(
IInternetProtocol *This);
HRESULT ( *Resume)(
IInternetProtocol *This);
HRESULT ( *Read)(
IInternetProtocol *This,
void *pv,
ULONG cb,
ULONG *pcbRead);
HRESULT ( *Seek)(
IInternetProtocol *This,
LARGE_INTEGER dlibMove,
DWORD dwOrigin,
ULARGE_INTEGER *plibNewPosition);
HRESULT ( *LockRequest)(
IInternetProtocol *This,
DWORD dwOptions);
HRESULT ( *UnlockRequest)(
IInternetProtocol *This);
} IInternetProtocolVtbl;
struct IInternetProtocol {
IInternetProtocolVtbl* lpVtbl;
};
typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
extern const GUID IID_IInternetProtocolSink;
typedef struct IInternetProtocolSinkVtbl {
HRESULT ( *QueryInterface)(
IInternetProtocolSink *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetProtocolSink *This);
ULONG ( *Release)(
IInternetProtocolSink *This);
HRESULT ( *Switch)(
IInternetProtocolSink *This,
PROTOCOLDATA *pProtocolData);
HRESULT ( *ReportProgress)(
IInternetProtocolSink *This,
ULONG ulStatusCode,
LPCWSTR szStatusText);
HRESULT ( *ReportData)(
IInternetProtocolSink *This,
DWORD grfBSCF,
ULONG ulProgress,
ULONG ulProgressMax);
HRESULT ( *ReportResult)(
IInternetProtocolSink *This,
HRESULT hrResult,
DWORD dwError,
LPCWSTR szResult);
} IInternetProtocolSinkVtbl;
struct IInternetProtocolSink {
IInternetProtocolSinkVtbl* lpVtbl;
};
typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable;
extern const GUID IID_IInternetProtocolSinkStackable;
typedef struct IInternetProtocolSinkStackableVtbl {
HRESULT ( *QueryInterface)(
IInternetProtocolSinkStackable *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetProtocolSinkStackable *This);
ULONG ( *Release)(
IInternetProtocolSinkStackable *This);
HRESULT ( *SwitchSink)(
IInternetProtocolSinkStackable *This,
IInternetProtocolSink *pOIProtSink);
HRESULT ( *CommitSwitch)(
IInternetProtocolSinkStackable *This);
HRESULT ( *RollbackSwitch)(
IInternetProtocolSinkStackable *This);
} IInternetProtocolSinkStackableVtbl;
struct IInternetProtocolSinkStackable {
IInternetProtocolSinkStackableVtbl* lpVtbl;
};
typedef IInternetSession *LPIINTERNETSESSION;
typedef enum _tagOIBDG_FLAGS {
OIBDG_APARTMENTTHREADED = 0x100,
OIBDG_DATAONLY = 0x1000
} OIBDG_FLAGS;
extern const GUID IID_IInternetSession;
typedef struct IInternetSessionVtbl {
HRESULT ( *QueryInterface)(
IInternetSession *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetSession *This);
ULONG ( *Release)(
IInternetSession *This);
HRESULT ( *RegisterNameSpace)(
IInternetSession *This,
IClassFactory *pCF,
const IID *const rclsid,
LPCWSTR pwzProtocol,
ULONG cPatterns,
const LPCWSTR *ppwzPatterns,
DWORD dwReserved);
HRESULT ( *UnregisterNameSpace)(
IInternetSession *This,
IClassFactory *pCF,
LPCWSTR pszProtocol);
HRESULT ( *RegisterMimeFilter)(
IInternetSession *This,
IClassFactory *pCF,
const IID *const rclsid,
LPCWSTR pwzType);
HRESULT ( *UnregisterMimeFilter)(
IInternetSession *This,
IClassFactory *pCF,
LPCWSTR pwzType);
HRESULT ( *CreateBinding)(
IInternetSession *This,
LPBC pBC,
LPCWSTR szUrl,
IUnknown *pUnkOuter,
IUnknown **ppUnk,
IInternetProtocol **ppOInetProt,
DWORD dwOption);
HRESULT ( *SetSessionOption)(
IInternetSession *This,
DWORD dwOption,
LPVOID pBuffer,
DWORD dwBufferLength,
DWORD dwReserved);
HRESULT ( *GetSessionOption)(
IInternetSession *This,
DWORD dwOption,
LPVOID pBuffer,
DWORD *pdwBufferLength,
DWORD dwReserved);
} IInternetSessionVtbl;
struct IInternetSession {
IInternetSessionVtbl* lpVtbl;
};
typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH;
extern const GUID IID_IInternetThreadSwitch;
typedef struct IInternetThreadSwitchVtbl {
HRESULT ( *QueryInterface)(
IInternetThreadSwitch *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetThreadSwitch *This);
ULONG ( *Release)(
IInternetThreadSwitch *This);
HRESULT ( *Prepare)(
IInternetThreadSwitch *This);
HRESULT ( *Continue)(
IInternetThreadSwitch *This);
} IInternetThreadSwitchVtbl;
struct IInternetThreadSwitch {
IInternetThreadSwitchVtbl* lpVtbl;
};
typedef IInternetPriority *LPIINTERNETPRIORITY;
extern const GUID IID_IInternetPriority;
typedef struct IInternetPriorityVtbl {
HRESULT ( *QueryInterface)(
IInternetPriority *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetPriority *This);
ULONG ( *Release)(
IInternetPriority *This);
HRESULT ( *SetPriority)(
IInternetPriority *This,
LONG nPriority);
HRESULT ( *GetPriority)(
IInternetPriority *This,
LONG *pnPriority);
} IInternetPriorityVtbl;
struct IInternetPriority {
IInternetPriorityVtbl* lpVtbl;
};
typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
typedef enum _tagPARSEACTION {
PARSE_CANONICALIZE = 1,
PARSE_FRIENDLY = 2,
PARSE_SECURITY_URL = 3,
PARSE_ROOTDOCUMENT = 4,
PARSE_DOCUMENT = 5,
PARSE_ANCHOR = 6,
PARSE_ENCODE_IS_UNESCAPE = 7,
PARSE_DECODE_IS_ESCAPE = 8,
PARSE_PATH_FROM_URL = 9,
PARSE_URL_FROM_PATH = 10,
PARSE_MIME = 11,
PARSE_SERVER = 12,
PARSE_SCHEMA = 13,
PARSE_SITE = 14,
PARSE_DOMAIN = 15,
PARSE_LOCATION = 16,
PARSE_SECURITY_DOMAIN = 17,
PARSE_ESCAPE = 18,
PARSE_UNESCAPE = 19
} PARSEACTION;
typedef enum _tagPSUACTION {
PSU_DEFAULT = 1,
PSU_SECURITY_URL_ONLY = 2
} PSUACTION;
typedef enum _tagQUERYOPTION {
QUERY_EXPIRATION_DATE = 1,
QUERY_TIME_OF_LAST_CHANGE = 2,
QUERY_CONTENT_ENCODING = 3,
QUERY_CONTENT_TYPE = 4,
QUERY_REFRESH = 5,
QUERY_RECOMBINE = 6,
QUERY_CAN_NAVIGATE = 7,
QUERY_USES_NETWORK = 8,
QUERY_IS_CACHED = 9,
QUERY_IS_INSTALLEDENTRY = 10,
QUERY_IS_CACHED_OR_MAPPED = 11,
QUERY_USES_CACHE = 12,
QUERY_IS_SECURE = 13,
QUERY_IS_SAFE = 14,
QUERY_USES_HISTORYFOLDER = 15,
QUERY_IS_CACHED_AND_USABLE_OFFLINE = 16
} QUERYOPTION;
extern const GUID IID_IInternetProtocolInfo;
typedef struct IInternetProtocolInfoVtbl {
HRESULT ( *QueryInterface)(
IInternetProtocolInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetProtocolInfo *This);
ULONG ( *Release)(
IInternetProtocolInfo *This);
HRESULT ( *ParseUrl)(
IInternetProtocolInfo *This,
LPCWSTR pwzUrl,
PARSEACTION ParseAction,
DWORD dwParseFlags,
LPWSTR pwzResult,
DWORD cchResult,
DWORD *pcchResult,
DWORD dwReserved);
HRESULT ( *CombineUrl)(
IInternetProtocolInfo *This,
LPCWSTR pwzBaseUrl,
LPCWSTR pwzRelativeUrl,
DWORD dwCombineFlags,
LPWSTR pwzResult,
DWORD cchResult,
DWORD *pcchResult,
DWORD dwReserved);
HRESULT ( *CompareUrl)(
IInternetProtocolInfo *This,
LPCWSTR pwzUrl1,
LPCWSTR pwzUrl2,
DWORD dwCompareFlags);
HRESULT ( *QueryInfo)(
IInternetProtocolInfo *This,
LPCWSTR pwzUrl,
QUERYOPTION OueryOption,
DWORD dwQueryFlags,
LPVOID pBuffer,
DWORD cbBuffer,
DWORD *pcbBuf,
DWORD dwReserved);
} IInternetProtocolInfoVtbl;
struct IInternetProtocolInfo {
IInternetProtocolInfoVtbl* lpVtbl;
};
extern HRESULT CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved);
extern HRESULT CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved);
extern HRESULT CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwFlags);
extern HRESULT CoInternetGetProtocolFlags(LPCWSTR pwzUrl, DWORD *pdwFlags, DWORD dwReserved);
extern HRESULT CoInternetQueryInfo(LPCWSTR pwzUrl, QUERYOPTION QueryOptions, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved);
extern HRESULT CoInternetGetSession(DWORD dwSessionMode, IInternetSession **ppIInternetSession, DWORD dwReserved);
extern HRESULT CoInternetGetSecurityUrl(LPCWSTR pwszUrl, LPWSTR *ppwszSecUrl, PSUACTION psuAction, DWORD dwReserved);
extern HRESULT AsyncInstallDistributionUnit(LPCWSTR szDistUnit, LPCWSTR szTYPE, LPCWSTR szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szURL,IBindCtx *pbc, LPVOID pvReserved,DWORD flags);
extern HRESULT CopyStgMedium(const STGMEDIUM *pcstgmedSrc, STGMEDIUM *pstgmedDest);
extern HRESULT CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pbiDest);
extern void ReleaseBindInfo(BINDINFO *pbindinfo);
extern HRESULT CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved);
extern HRESULT CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved);
extern const IID CLSID_InternetSecurityManager;
extern const IID CLSID_InternetZoneManager;
extern const GUID IID_IInternetSecurityMgrSite;
typedef struct IInternetSecurityMgrSiteVtbl {
HRESULT ( *QueryInterface)(
IInternetSecurityMgrSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetSecurityMgrSite *This);
ULONG ( *Release)(
IInternetSecurityMgrSite *This);
HRESULT ( *GetWindow)(
IInternetSecurityMgrSite *This,
HWND *phwnd);
HRESULT ( *EnableModeless)(
IInternetSecurityMgrSite *This,
WINBOOL fEnable);
} IInternetSecurityMgrSiteVtbl;
struct IInternetSecurityMgrSite {
IInternetSecurityMgrSiteVtbl* lpVtbl;
};
typedef enum __WIDL_urlmon_generated_name_0000000E {
PUAF_DEFAULT = 0x0,
PUAF_NOUI = 0x1,
PUAF_ISFILE = 0x2,
PUAF_WARN_IF_DENIED = 0x4,
PUAF_FORCEUI_FOREGROUND = 0x8,
PUAF_CHECK_TIFS = 0x10,
PUAF_DONTCHECKBOXINDIALOG = 0x20,
PUAF_TRUSTED = 0x40,
PUAF_ACCEPT_WILDCARD_SCHEME = 0x80,
PUAF_ENFORCERESTRICTED = 0x100,
PUAF_NOSAVEDFILECHECK = 0x200,
PUAF_REQUIRESAVEDFILECHECK = 0x400,
PUAF_DONT_USE_CACHE = 0x1000,
PUAF_RESERVED1 = 0x2000,
PUAF_RESERVED2 = 0x4000,
PUAF_LMZ_UNLOCKED = 0x10000,
PUAF_LMZ_LOCKED = 0x20000,
PUAF_DEFAULTZONEPOL = 0x40000,
PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000,
PUAF_NOUIIFLOCKED = 0x100000,
PUAF_DRAGPROTOCOLCHECK = 0x200000
} PUAF;
typedef enum __WIDL_urlmon_generated_name_0000000F {
PUAFOUT_DEFAULT = 0x0,
PUAFOUT_ISLOCKZONEPOLICY = 0x1
} PUAFOUT;
typedef enum __WIDL_urlmon_generated_name_00000010 {
SZM_CREATE = 0x0,
SZM_DELETE = 0x1
} SZM_FLAGS;
extern const GUID IID_IInternetSecurityManager;
typedef struct IInternetSecurityManagerVtbl {
HRESULT ( *QueryInterface)(
IInternetSecurityManager *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetSecurityManager *This);
ULONG ( *Release)(
IInternetSecurityManager *This);
HRESULT ( *SetSecuritySite)(
IInternetSecurityManager *This,
IInternetSecurityMgrSite *pSite);
HRESULT ( *GetSecuritySite)(
IInternetSecurityManager *This,
IInternetSecurityMgrSite **ppSite);
HRESULT ( *MapUrlToZone)(
IInternetSecurityManager *This,
LPCWSTR pwszUrl,
DWORD *pdwZone,
DWORD dwFlags);
HRESULT ( *GetSecurityId)(
IInternetSecurityManager *This,
LPCWSTR pwszUrl,
BYTE *pbSecurityId,
DWORD *pcbSecurityId,
DWORD_PTR dwReserved);
HRESULT ( *ProcessUrlAction)(
IInternetSecurityManager *This,
LPCWSTR pwszUrl,
DWORD dwAction,
BYTE *pPolicy,
DWORD cbPolicy,
BYTE *pContext,
DWORD cbContext,
DWORD dwFlags,
DWORD dwReserved);
HRESULT ( *QueryCustomPolicy)(
IInternetSecurityManager *This,
LPCWSTR pwszUrl,
const GUID *const guidKey,
BYTE **ppPolicy,
DWORD *pcbPolicy,
BYTE *pContext,
DWORD cbContext,
DWORD dwReserved);
HRESULT ( *SetZoneMapping)(
IInternetSecurityManager *This,
DWORD dwZone,
LPCWSTR lpszPattern,
DWORD dwFlags);
HRESULT ( *GetZoneMappings)(
IInternetSecurityManager *This,
DWORD dwZone,
IEnumString **ppenumString,
DWORD dwFlags);
} IInternetSecurityManagerVtbl;
struct IInternetSecurityManager {
IInternetSecurityManagerVtbl* lpVtbl;
};
extern const GUID IID_IInternetHostSecurityManager;
typedef struct IInternetHostSecurityManagerVtbl {
HRESULT ( *QueryInterface)(
IInternetHostSecurityManager *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetHostSecurityManager *This);
ULONG ( *Release)(
IInternetHostSecurityManager *This);
HRESULT ( *GetSecurityId)(
IInternetHostSecurityManager *This,
BYTE *pbSecurityId,
DWORD *pcbSecurityId,
DWORD_PTR dwReserved);
HRESULT ( *ProcessUrlAction)(
IInternetHostSecurityManager *This,
DWORD dwAction,
BYTE *pPolicy,
DWORD cbPolicy,
BYTE *pContext,
DWORD cbContext,
DWORD dwFlags,
DWORD dwReserved);
HRESULT ( *QueryCustomPolicy)(
IInternetHostSecurityManager *This,
const GUID *const guidKey,
BYTE **ppPolicy,
DWORD *pcbPolicy,
BYTE *pContext,
DWORD cbContext,
DWORD dwReserved);
} IInternetHostSecurityManagerVtbl;
struct IInternetHostSecurityManager {
IInternetHostSecurityManagerVtbl* lpVtbl;
};
typedef IInternetZoneManager *LPURLZONEMANAGER;
typedef enum tagURLZONE {
URLZONE_INVALID = -1,
URLZONE_PREDEFINED_MIN = 0,
URLZONE_LOCAL_MACHINE = 0,
URLZONE_INTRANET = 1,
URLZONE_TRUSTED = 2,
URLZONE_INTERNET = 3,
URLZONE_UNTRUSTED = 4,
URLZONE_PREDEFINED_MAX = 999,
URLZONE_USER_MIN = 1000,
URLZONE_USER_MAX = 10000
} URLZONE;
typedef enum tagURLTEMPLATE {
URLTEMPLATE_CUSTOM = 0x0,
URLTEMPLATE_PREDEFINED_MIN = 0x10000,
URLTEMPLATE_LOW = 0x10000,
URLTEMPLATE_MEDLOW = 0x10500,
URLTEMPLATE_MEDIUM = 0x11000,
URLTEMPLATE_MEDHIGH = 0x11500,
URLTEMPLATE_HIGH = 0x12000,
URLTEMPLATE_PREDEFINED_MAX = 0x20000
} URLTEMPLATE;
enum {
MAX_ZONE_PATH = 260,
MAX_ZONE_DESCRIPTION = 200
};
typedef enum __WIDL_urlmon_generated_name_00000011 {
ZAFLAGS_CUSTOM_EDIT = 0x1,
ZAFLAGS_ADD_SITES = 0x2,
ZAFLAGS_REQUIRE_VERIFICATION = 0x4,
ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8,
ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10,
ZAFLAGS_NO_UI = 0x20,
ZAFLAGS_SUPPORTS_VERIFICATION = 0x40,
ZAFLAGS_UNC_AS_INTRANET = 0x80,
ZAFLAGS_DETECT_INTRANET = 0x100,
ZAFLAGS_USE_LOCKED_ZONES = 0x10000,
ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x20000,
ZAFLAGS_NO_CACHE = 0x40000
} ZAFLAGS;
typedef struct _ZONEATTRIBUTES {
ULONG cbSize;
WCHAR szDisplayName[260];
WCHAR szDescription[200];
WCHAR szIconPath[260];
DWORD dwTemplateMinLevel;
DWORD dwTemplateRecommended;
DWORD dwTemplateCurrentLevel;
DWORD dwFlags;
} ZONEATTRIBUTES;
typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES;
typedef enum _URLZONEREG {
URLZONEREG_DEFAULT = 0,
URLZONEREG_HKLM = 1,
URLZONEREG_HKCU = 2
} URLZONEREG;
extern const GUID IID_IInternetZoneManager;
typedef struct IInternetZoneManagerVtbl {
HRESULT ( *QueryInterface)(
IInternetZoneManager *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IInternetZoneManager *This);
ULONG ( *Release)(
IInternetZoneManager *This);
HRESULT ( *GetZoneAttributes)(
IInternetZoneManager *This,
DWORD dwZone,
ZONEATTRIBUTES *pZoneAttributes);
HRESULT ( *SetZoneAttributes)(
IInternetZoneManager *This,
DWORD dwZone,
ZONEATTRIBUTES *pZoneAttributes);
HRESULT ( *GetZoneCustomPolicy)(
IInternetZoneManager *This,
DWORD dwZone,
const GUID *const guidKey,
BYTE **ppPolicy,
DWORD *pcbPolicy,
URLZONEREG urlZoneReg);
HRESULT ( *SetZoneCustomPolicy)(
IInternetZoneManager *This,
DWORD dwZone,
const GUID *const guidKey,
BYTE *pPolicy,
DWORD cbPolicy,
URLZONEREG urlZoneReg);
HRESULT ( *GetZoneActionPolicy)(
IInternetZoneManager *This,
DWORD dwZone,
DWORD dwAction,
BYTE *pPolicy,
DWORD cbPolicy,
URLZONEREG urlZoneReg);
HRESULT ( *SetZoneActionPolicy)(
IInternetZoneManager *This,
DWORD dwZone,
DWORD dwAction,
BYTE *pPolicy,
DWORD cbPolicy,
URLZONEREG urlZoneReg);
HRESULT ( *PromptAction)(
IInternetZoneManager *This,
DWORD dwAction,
HWND hwndParent,
LPCWSTR pwszUrl,
LPCWSTR pwszText,
DWORD dwPromptFlags);
HRESULT ( *LogAction)(
IInternetZoneManager *This,
DWORD dwAction,
LPCWSTR pwszUrl,
LPCWSTR pwszText,
DWORD dwLogFlags);
HRESULT ( *CreateZoneEnumerator)(
IInternetZoneManager *This,
DWORD *pdwEnum,
DWORD *pdwCount,
DWORD dwFlags);
HRESULT ( *GetZoneAt)(
IInternetZoneManager *This,
DWORD dwEnum,
DWORD dwIndex,
DWORD *pdwZone);
HRESULT ( *DestroyZoneEnumerator)(
IInternetZoneManager *This,
DWORD dwEnum);
HRESULT ( *CopyTemplatePoliciesToZone)(
IInternetZoneManager *This,
DWORD dwTemplate,
DWORD dwZone,
DWORD dwReserved);
} IInternetZoneManagerVtbl;
struct IInternetZoneManager {
IInternetZoneManagerVtbl* lpVtbl;
};
extern const IID CLSID_SoftDistExt;
typedef struct _tagCODEBASEHOLD {
ULONG cbSize;
LPWSTR szDistUnit;
LPWSTR szCodeBase;
DWORD dwVersionMS;
DWORD dwVersionLS;
DWORD dwStyle;
} CODEBASEHOLD;
typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD;
typedef struct _tagSOFTDISTINFO {
ULONG cbSize;
DWORD dwFlags;
DWORD dwAdState;
LPWSTR szTitle;
LPWSTR szAbstract;
LPWSTR szHREF;
DWORD dwInstalledVersionMS;
DWORD dwInstalledVersionLS;
DWORD dwUpdateVersionMS;
DWORD dwUpdateVersionLS;
DWORD dwAdvertisedVersionMS;
DWORD dwAdvertisedVersionLS;
DWORD dwReserved;
} SOFTDISTINFO;
typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO;
extern const GUID IID_ISoftDistExt;
typedef struct ISoftDistExtVtbl {
HRESULT ( *QueryInterface)(
ISoftDistExt *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISoftDistExt *This);
ULONG ( *Release)(
ISoftDistExt *This);
HRESULT ( *ProcessSoftDist)(
ISoftDistExt *This,
LPCWSTR szCDFURL,
IXMLElement *pSoftDistElement,
LPSOFTDISTINFO lpsdi);
HRESULT ( *GetFirstCodeBase)(
ISoftDistExt *This,
LPWSTR *szCodeBase,
LPDWORD dwMaxSize);
HRESULT ( *GetNextCodeBase)(
ISoftDistExt *This,
LPWSTR *szCodeBase,
LPDWORD dwMaxSize);
HRESULT ( *AsyncInstallDistributionUnit)(
ISoftDistExt *This,
IBindCtx *pbc,
LPVOID pvReserved,
DWORD flags,
LPCODEBASEHOLD lpcbh);
} ISoftDistExtVtbl;
struct ISoftDistExt {
ISoftDistExtVtbl* lpVtbl;
};
extern HRESULT GetSoftwareUpdateInfo(LPCWSTR szDistUnit, LPSOFTDISTINFO psdi);
extern HRESULT SetSoftwareUpdateAdvertisementState(LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS);
typedef ICatalogFileInfo *LPCATALOGFILEINFO;
extern const GUID IID_ICatalogFileInfo;
typedef struct ICatalogFileInfoVtbl {
HRESULT ( *QueryInterface)(
ICatalogFileInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ICatalogFileInfo *This);
ULONG ( *Release)(
ICatalogFileInfo *This);
HRESULT ( *GetCatalogFile)(
ICatalogFileInfo *This,
LPSTR *ppszCatalogFile);
HRESULT ( *GetJavaTrust)(
ICatalogFileInfo *This,
void **ppJavaTrust);
} ICatalogFileInfoVtbl;
struct ICatalogFileInfo {
ICatalogFileInfoVtbl* lpVtbl;
};
typedef IDataFilter *LPDATAFILTER;
extern const GUID IID_IDataFilter;
typedef struct IDataFilterVtbl {
HRESULT ( *QueryInterface)(
IDataFilter *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IDataFilter *This);
ULONG ( *Release)(
IDataFilter *This);
HRESULT ( *DoEncode)(
IDataFilter *This,
DWORD dwFlags,
LONG lInBufferSize,
BYTE *pbInBuffer,
LONG lOutBufferSize,
BYTE *pbOutBuffer,
LONG lInBytesAvailable,
LONG *plInBytesRead,
LONG *plOutBytesWritten,
DWORD dwReserved);
HRESULT ( *DoDecode)(
IDataFilter *This,
DWORD dwFlags,
LONG lInBufferSize,
BYTE *pbInBuffer,
LONG lOutBufferSize,
BYTE *pbOutBuffer,
LONG lInBytesAvailable,
LONG *plInBytesRead,
LONG *plOutBytesWritten,
DWORD dwReserved);
HRESULT ( *SetEncodingLevel)(
IDataFilter *This,
DWORD dwEncLevel);
} IDataFilterVtbl;
struct IDataFilter {
IDataFilterVtbl* lpVtbl;
};
typedef struct _tagPROTOCOLFILTERDATA {
DWORD cbSize;
IInternetProtocolSink *pProtocolSink;
IInternetProtocol *pProtocol;
IUnknown *pUnk;
DWORD dwFilterFlags;
} PROTOCOLFILTERDATA;
typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY;
typedef struct _tagDATAINFO {
ULONG ulTotalSize;
ULONG ulavrPacketSize;
ULONG ulConnectSpeed;
ULONG ulProcessorSpeed;
} DATAINFO;
extern const GUID IID_IEncodingFilterFactory;
typedef struct IEncodingFilterFactoryVtbl {
HRESULT ( *QueryInterface)(
IEncodingFilterFactory *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEncodingFilterFactory *This);
ULONG ( *Release)(
IEncodingFilterFactory *This);
HRESULT ( *FindBestFilter)(
IEncodingFilterFactory *This,
LPCWSTR pwzCodeIn,
LPCWSTR pwzCodeOut,
DATAINFO info,
IDataFilter **ppDF);
HRESULT ( *GetDefaultFilter)(
IEncodingFilterFactory *This,
LPCWSTR pwzCodeIn,
LPCWSTR pwzCodeOut,
IDataFilter **ppDF);
} IEncodingFilterFactoryVtbl;
struct IEncodingFilterFactory {
IEncodingFilterFactoryVtbl* lpVtbl;
};
WINBOOL IsLoggingEnabledA(LPCSTR pszUrl);
WINBOOL IsLoggingEnabledW(LPCWSTR pwszUrl);
typedef struct _tagHIT_LOGGING_INFO {
DWORD dwStructSize;
LPSTR lpszLoggedUrlName;
SYSTEMTIME StartTime;
SYSTEMTIME EndTime;
LPSTR lpszExtendedInfo;
} HIT_LOGGING_INFO;
typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO;
WINBOOL WriteHitLogging(LPHIT_LOGGING_INFO lpLogginginfo);
struct CONFIRMSAFETY {
CLSID clsid;
IUnknown *pUnk;
DWORD dwFlags;
};
extern const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY;
typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL;
extern const GUID IID_IWrappedProtocol;
typedef struct IWrappedProtocolVtbl {
HRESULT ( *QueryInterface)(
IWrappedProtocol *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IWrappedProtocol *This);
ULONG ( *Release)(
IWrappedProtocol *This);
HRESULT ( *GetWrapperCode)(
IWrappedProtocol *This,
LONG *pnCode,
DWORD_PTR dwReserved);
} IWrappedProtocolVtbl;
struct IWrappedProtocol {
IWrappedProtocolVtbl* lpVtbl;
};
typedef IGetBindHandle *LPGETBINDHANDLE;
typedef enum __WIDL_urlmon_generated_name_00000012 {
BINDHANDLETYPES_APPCACHE = 0x0,
BINDHANDLETYPES_DEPENDENCY = 0x1,
BINDHANDLETYPES_COUNT = 0x2
} BINDHANDLETYPES;
extern const GUID IID_IGetBindHandle;
typedef struct IGetBindHandleVtbl {
HRESULT ( *QueryInterface)(
IGetBindHandle *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IGetBindHandle *This);
ULONG ( *Release)(
IGetBindHandle *This);
HRESULT ( *GetBindHandle)(
IGetBindHandle *This,
BINDHANDLETYPES enumRequestedHandle,
HANDLE *pRetHandle);
} IGetBindHandleVtbl;
struct IGetBindHandle {
IGetBindHandleVtbl* lpVtbl;
};
typedef struct _tagPROTOCOL_ARGUMENT {
LPCWSTR szMethod;
LPCWSTR szTargetUrl;
} PROTOCOL_ARGUMENT;
typedef struct _tagPROTOCOL_ARGUMENT *LPPROTOCOL_ARGUMENT;
typedef IBindCallbackRedirect *LPBINDCALLBACKREDIRECT;
extern const GUID IID_IBindCallbackRedirect;
typedef struct IBindCallbackRedirectVtbl {
HRESULT ( *QueryInterface)(
IBindCallbackRedirect *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IBindCallbackRedirect *This);
ULONG ( *Release)(
IBindCallbackRedirect *This);
HRESULT ( *Redirect)(
IBindCallbackRedirect *This,
LPCWSTR lpcUrl,
VARIANT_BOOL *vbCancel);
} IBindCallbackRedirectVtbl;
struct IBindCallbackRedirect {
IBindCallbackRedirectVtbl* lpVtbl;
};
ULONG STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
unsigned char * STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
unsigned char * STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
void STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
ULONG CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
void CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
ULONG HWND_UserSize (ULONG *, ULONG, HWND *);
unsigned char * HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
unsigned char * HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void HWND_UserFree (ULONG *, HWND *);
ULONG BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void BSTR_UserFree (ULONG *, BSTR *);
typedef struct IPropertyStorage IPropertyStorage;
typedef struct IPropertySetStorage IPropertySetStorage;
typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
typedef struct tagVersionedStream {
GUID guidVersion;
IStream *pStream;
} VERSIONEDSTREAM;
typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
typedef struct tagPROPVARIANT PROPVARIANT;
typedef struct tagCAC {
ULONG cElems;
CHAR *pElems;
} CAC;
typedef struct tagCAUB {
ULONG cElems;
UCHAR *pElems;
} CAUB;
typedef struct tagCAI {
ULONG cElems;
SHORT *pElems;
} CAI;
typedef struct tagCAUI {
ULONG cElems;
USHORT *pElems;
} CAUI;
typedef struct tagCAL {
ULONG cElems;
LONG *pElems;
} CAL;
typedef struct tagCAUL {
ULONG cElems;
ULONG *pElems;
} CAUL;
typedef struct tagCAFLT {
ULONG cElems;
FLOAT *pElems;
} CAFLT;
typedef struct tagCADBL {
ULONG cElems;
DOUBLE *pElems;
} CADBL;
typedef struct tagCACY {
ULONG cElems;
CY *pElems;
} CACY;
typedef struct tagCADATE {
ULONG cElems;
DATE *pElems;
} CADATE;
typedef struct tagCABSTR {
ULONG cElems;
BSTR *pElems;
} CABSTR;
typedef struct tagCABSTRBLOB {
ULONG cElems;
BSTRBLOB *pElems;
} CABSTRBLOB;
typedef struct tagCABOOL {
ULONG cElems;
VARIANT_BOOL *pElems;
} CABOOL;
typedef struct tagCASCODE {
ULONG cElems;
SCODE *pElems;
} CASCODE;
typedef struct tagCAPROPVARIANT {
ULONG cElems;
PROPVARIANT *pElems;
} CAPROPVARIANT;
typedef struct tagCAH {
ULONG cElems;
LARGE_INTEGER *pElems;
} CAH;
typedef struct tagCAUH {
ULONG cElems;
ULARGE_INTEGER *pElems;
} CAUH;
typedef struct tagCALPSTR {
ULONG cElems;
LPSTR *pElems;
} CALPSTR;
typedef struct tagCALPWSTR {
ULONG cElems;
LPWSTR *pElems;
} CALPWSTR;
typedef struct tagCAFILETIME {
ULONG cElems;
FILETIME *pElems;
} CAFILETIME;
typedef struct tagCACLIPDATA {
ULONG cElems;
CLIPDATA *pElems;
} CACLIPDATA;
typedef struct tagCACLSID {
ULONG cElems;
CLSID *pElems;
} CACLSID;
typedef WORD PROPVAR_PAD1;
typedef WORD PROPVAR_PAD2;
typedef WORD PROPVAR_PAD3;
struct tagPROPVARIANT {
__extension__ union {
__extension__
struct {
VARTYPE vt;
PROPVAR_PAD1 wReserved1;
PROPVAR_PAD2 wReserved2;
PROPVAR_PAD3 wReserved3;
__extension__ union {
CHAR cVal;
UCHAR bVal;
SHORT iVal;
USHORT uiVal;
LONG lVal;
ULONG ulVal;
INT intVal;
UINT uintVal;
LARGE_INTEGER hVal;
ULARGE_INTEGER uhVal;
FLOAT fltVal;
DOUBLE dblVal;
VARIANT_BOOL boolVal;
SCODE scode;
CY cyVal;
DATE date;
FILETIME filetime;
CLSID *puuid;
CLIPDATA *pclipdata;
BSTR bstrVal;
BSTRBLOB bstrblobVal;
BLOB blob;
LPSTR pszVal;
LPWSTR pwszVal;
IUnknown *punkVal;
IDispatch *pdispVal;
IStream *pStream;
IStorage *pStorage;
LPVERSIONEDSTREAM pVersionedStream;
LPSAFEARRAY parray;
CAC cac;
CAUB caub;
CAI cai;
CAUI caui;
CAL cal;
CAUL caul;
CAH cah;
CAUH cauh;
CAFLT caflt;
CADBL cadbl;
CABOOL cabool;
CASCODE cascode;
CACY cacy;
CADATE cadate;
CAFILETIME cafiletime;
CACLSID cauuid;
CACLIPDATA caclipdata;
CABSTR cabstr;
CABSTRBLOB cabstrblob;
CALPSTR calpstr;
CALPWSTR calpwstr;
CAPROPVARIANT capropvar;
CHAR *pcVal;
UCHAR *pbVal;
SHORT *piVal;
USHORT *puiVal;
LONG *plVal;
ULONG *pulVal;
INT *pintVal;
UINT *puintVal;
FLOAT *pfltVal;
DOUBLE *pdblVal;
VARIANT_BOOL *pboolVal;
DECIMAL *pdecVal;
SCODE *pscode;
CY *pcyVal;
DATE *pdate;
BSTR *pbstrVal;
IUnknown **ppunkVal;
IDispatch **ppdispVal;
LPSAFEARRAY *pparray;
PROPVARIANT *pvarVal;
} ;
};
DECIMAL decVal;
};
};
typedef struct tagPROPVARIANT * LPPROPVARIANT;
enum PIDMSI_STATUS_VALUE {
PIDMSI_STATUS_NORMAL = 0,
PIDMSI_STATUS_NEW = 1,
PIDMSI_STATUS_PRELIM = 2,
PIDMSI_STATUS_DRAFT = 3,
PIDMSI_STATUS_INPROGRESS = 4,
PIDMSI_STATUS_EDIT = 5,
PIDMSI_STATUS_REVIEW = 6,
PIDMSI_STATUS_PROOF = 7,
PIDMSI_STATUS_FINAL = 8,
PIDMSI_STATUS_OTHER = 0x7fff
};
typedef struct tagPROPSPEC {
ULONG ulKind;
union {
PROPID propid;
LPOLESTR lpwstr;
} ;
} PROPSPEC;
typedef struct tagSTATPROPSTG {
LPOLESTR lpwstrName;
PROPID propid;
VARTYPE vt;
} STATPROPSTG;
typedef struct tagSTATPROPSETSTG {
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
} STATPROPSETSTG;
extern const GUID IID_IPropertyStorage;
typedef struct IPropertyStorageVtbl {
HRESULT ( *QueryInterface)(
IPropertyStorage *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyStorage *This);
ULONG ( *Release)(
IPropertyStorage *This);
HRESULT ( *ReadMultiple)(
IPropertyStorage *This,
ULONG cpspec,
const PROPSPEC rgpspec[],
PROPVARIANT rgpropvar[]);
HRESULT ( *WriteMultiple)(
IPropertyStorage *This,
ULONG cpspec,
const PROPSPEC rgpspec[],
const PROPVARIANT rgpropvar[],
PROPID propidNameFirst);
HRESULT ( *DeleteMultiple)(
IPropertyStorage *This,
ULONG cpspec,
const PROPSPEC rgpspec[]);
HRESULT ( *ReadPropertyNames)(
IPropertyStorage *This,
ULONG cpropid,
const PROPID rgpropid[],
LPOLESTR rglpwstrName[]);
HRESULT ( *WritePropertyNames)(
IPropertyStorage *This,
ULONG cpropid,
const PROPID rgpropid[],
const LPOLESTR rglpwstrName[]);
HRESULT ( *DeletePropertyNames)(
IPropertyStorage *This,
ULONG cpropid,
const PROPID rgpropid[]);
HRESULT ( *Commit)(
IPropertyStorage *This,
DWORD grfCommitFlags);
HRESULT ( *Revert)(
IPropertyStorage *This);
HRESULT ( *Enum)(
IPropertyStorage *This,
IEnumSTATPROPSTG **ppenum);
HRESULT ( *SetTimes)(
IPropertyStorage *This,
const FILETIME *pctime,
const FILETIME *patime,
const FILETIME *pmtime);
HRESULT ( *SetClass)(
IPropertyStorage *This,
const IID *const clsid);
HRESULT ( *Stat)(
IPropertyStorage *This,
STATPROPSETSTG *pstatpsstg);
} IPropertyStorageVtbl;
struct IPropertyStorage {
IPropertyStorageVtbl* lpVtbl;
};
typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
extern const GUID IID_IPropertySetStorage;
typedef struct IPropertySetStorageVtbl {
HRESULT ( *QueryInterface)(
IPropertySetStorage *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertySetStorage *This);
ULONG ( *Release)(
IPropertySetStorage *This);
HRESULT ( *Create)(
IPropertySetStorage *This,
const IID *const rfmtid,
const CLSID *pclsid,
DWORD grfFlags,
DWORD grfMode,
IPropertyStorage **ppprstg);
HRESULT ( *Open)(
IPropertySetStorage *This,
const IID *const rfmtid,
DWORD grfMode,
IPropertyStorage **ppprstg);
HRESULT ( *Delete)(
IPropertySetStorage *This,
const IID *const rfmtid);
HRESULT ( *Enum)(
IPropertySetStorage *This,
IEnumSTATPROPSETSTG **ppenum);
} IPropertySetStorageVtbl;
struct IPropertySetStorage {
IPropertySetStorageVtbl* lpVtbl;
};
typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
extern const GUID IID_IEnumSTATPROPSTG;
typedef struct IEnumSTATPROPSTGVtbl {
HRESULT ( *QueryInterface)(
IEnumSTATPROPSTG *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumSTATPROPSTG *This);
ULONG ( *Release)(
IEnumSTATPROPSTG *This);
HRESULT ( *Next)(
IEnumSTATPROPSTG *This,
ULONG celt,
STATPROPSTG *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumSTATPROPSTG *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumSTATPROPSTG *This);
HRESULT ( *Clone)(
IEnumSTATPROPSTG *This,
IEnumSTATPROPSTG **ppenum);
} IEnumSTATPROPSTGVtbl;
struct IEnumSTATPROPSTG {
IEnumSTATPROPSTGVtbl* lpVtbl;
};
HRESULT IEnumSTATPROPSTG_RemoteNext_Proxy(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG *rgelt,
ULONG *pceltFetched);
void IEnumSTATPROPSTG_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATPROPSTG_Next_Proxy(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG *rgelt,
ULONG *pceltFetched);
HRESULT IEnumSTATPROPSTG_Next_Stub(
IEnumSTATPROPSTG* This,
ULONG celt,
STATPROPSTG *rgelt,
ULONG *pceltFetched);
typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
extern const GUID IID_IEnumSTATPROPSETSTG;
typedef struct IEnumSTATPROPSETSTGVtbl {
HRESULT ( *QueryInterface)(
IEnumSTATPROPSETSTG *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumSTATPROPSETSTG *This);
ULONG ( *Release)(
IEnumSTATPROPSETSTG *This);
HRESULT ( *Next)(
IEnumSTATPROPSETSTG *This,
ULONG celt,
STATPROPSETSTG *rgelt,
ULONG *pceltFetched);
HRESULT ( *Skip)(
IEnumSTATPROPSETSTG *This,
ULONG celt);
HRESULT ( *Reset)(
IEnumSTATPROPSETSTG *This);
HRESULT ( *Clone)(
IEnumSTATPROPSETSTG *This,
IEnumSTATPROPSETSTG **ppenum);
} IEnumSTATPROPSETSTGVtbl;
struct IEnumSTATPROPSETSTG {
IEnumSTATPROPSETSTGVtbl* lpVtbl;
};
HRESULT IEnumSTATPROPSETSTG_RemoteNext_Proxy(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG *rgelt,
ULONG *pceltFetched);
void IEnumSTATPROPSETSTG_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumSTATPROPSETSTG_Next_Proxy(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG *rgelt,
ULONG *pceltFetched);
HRESULT IEnumSTATPROPSETSTG_Next_Stub(
IEnumSTATPROPSETSTG* This,
ULONG celt,
STATPROPSETSTG *rgelt,
ULONG *pceltFetched);
typedef IPropertyStorage *LPPROPERTYSTORAGE;
extern __attribute__((dllimport)) HRESULT PropVariantCopy(PROPVARIANT *pvarDest,const PROPVARIANT *pvarSrc);
extern __attribute__((dllimport)) HRESULT PropVariantClear(PROPVARIANT *pvar);
extern __attribute__((dllimport)) HRESULT FreePropVariantArray(ULONG cVariants, PROPVARIANT *rgvars);
extern __attribute__((dllimport)) HRESULT StgCreatePropStg(IUnknown *pUnk, const IID *const fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);
extern __attribute__((dllimport)) HRESULT StgOpenPropStg(IUnknown *pUnk, const IID *const fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);
extern __attribute__((dllimport)) HRESULT StgCreatePropSetStg(IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
extern __attribute__((dllimport)) HRESULT FmtIdToPropStgName(const FMTID *pfmtid, LPOLESTR oszName);
extern __attribute__((dllimport)) HRESULT PropStgNameToFmtId(const LPOLESTR oszName, FMTID *pfmtid);
typedef struct tagSERIALIZEDPROPERTYVALUE {
DWORD dwType;
BYTE rgb[1];
} SERIALIZEDPROPERTYVALUE;
extern SERIALIZEDPROPERTYVALUE * StgConvertVariantToProperty(const PROPVARIANT *pvar, USHORT CodePage, SERIALIZEDPROPERTYVALUE *pprop, ULONG *pcb, PROPID pid, BOOLEAN fReserved, ULONG *pcIndirect);
ULONG BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void BSTR_UserFree (ULONG *, BSTR *);
ULONG LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
unsigned char * LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
unsigned char * LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
void LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
extern __attribute__((dllimport)) HRESULT CreateStdProgressIndicator (HWND hwndParent, LPCOLESTR pszTitle, IBindStatusCallback *pIbscCaller, IBindStatusCallback **ppIbsc);
#pragma pack(pop)
#pragma pack(push,8)
extern const IID IID_StdOle;
extern __attribute__((dllimport)) BSTR SysAllocString(const OLECHAR *);
extern __attribute__((dllimport)) INT SysReAllocString(BSTR *,const OLECHAR *);
extern __attribute__((dllimport)) BSTR SysAllocStringLen(const OLECHAR *,UINT);
extern __attribute__((dllimport)) INT SysReAllocStringLen(BSTR *,const OLECHAR *,UINT);
extern __attribute__((dllimport)) void SysFreeString(BSTR);
extern __attribute__((dllimport)) UINT SysStringLen(BSTR);
extern __attribute__((dllimport)) UINT SysStringByteLen(BSTR bstr);
extern __attribute__((dllimport)) BSTR SysAllocStringByteLen(LPCSTR psz,UINT len);
extern __attribute__((dllimport)) INT DosDateTimeToVariantTime(USHORT wDosDate,USHORT wDosTime,DOUBLE *pvtime);
extern __attribute__((dllimport)) INT VariantTimeToDosDateTime(DOUBLE vtime,USHORT *pwDosDate,USHORT *pwDosTime);
extern __attribute__((dllimport)) INT SystemTimeToVariantTime(LPSYSTEMTIME lpSystemTime,DOUBLE *pvtime);
extern __attribute__((dllimport)) INT VariantTimeToSystemTime(DOUBLE vtime,LPSYSTEMTIME lpSystemTime);
extern __attribute__((dllimport)) HRESULT SafeArrayAllocDescriptor(UINT cDims,SAFEARRAY **ppsaOut);
extern __attribute__((dllimport)) HRESULT SafeArrayAllocDescriptorEx(VARTYPE vt,UINT cDims,SAFEARRAY **ppsaOut);
extern __attribute__((dllimport)) HRESULT SafeArrayAllocData(SAFEARRAY *psa);
extern __attribute__((dllimport)) SAFEARRAY * SafeArrayCreate(VARTYPE vt,UINT cDims,SAFEARRAYBOUND *rgsabound);
extern __attribute__((dllimport)) SAFEARRAY * SafeArrayCreateEx(VARTYPE vt,UINT cDims,SAFEARRAYBOUND *rgsabound,PVOID pvExtra);
extern __attribute__((dllimport)) HRESULT SafeArrayCopyData(SAFEARRAY *psaSource,SAFEARRAY *psaTarget);
extern __attribute__((dllimport)) HRESULT SafeArrayDestroyDescriptor(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayDestroyData(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayDestroy(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayRedim(SAFEARRAY *psa,SAFEARRAYBOUND *psaboundNew);
extern __attribute__((dllimport)) UINT SafeArrayGetDim(SAFEARRAY *psa);
extern __attribute__((dllimport)) UINT SafeArrayGetElemsize(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayGetUBound(SAFEARRAY *psa,UINT nDim,LONG *plUbound);
extern __attribute__((dllimport)) HRESULT SafeArrayGetLBound(SAFEARRAY *psa,UINT nDim,LONG *plLbound);
extern __attribute__((dllimport)) HRESULT SafeArrayLock(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayUnlock(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayAccessData(SAFEARRAY *psa,void **ppvData);
extern __attribute__((dllimport)) HRESULT SafeArrayUnaccessData(SAFEARRAY *psa);
extern __attribute__((dllimport)) HRESULT SafeArrayGetElement(SAFEARRAY *psa,LONG *rgIndices,void *pv);
extern __attribute__((dllimport)) HRESULT SafeArrayPutElement(SAFEARRAY *psa,LONG *rgIndices,void *pv);
extern __attribute__((dllimport)) HRESULT SafeArrayCopy(SAFEARRAY *psa,SAFEARRAY **ppsaOut);
extern __attribute__((dllimport)) HRESULT SafeArrayPtrOfIndex(SAFEARRAY *psa,LONG *rgIndices,void **ppvData);
extern __attribute__((dllimport)) HRESULT SafeArraySetRecordInfo(SAFEARRAY *psa,IRecordInfo *prinfo);
extern __attribute__((dllimport)) HRESULT SafeArrayGetRecordInfo(SAFEARRAY *psa,IRecordInfo **prinfo);
extern __attribute__((dllimport)) HRESULT SafeArraySetIID(SAFEARRAY *psa,const GUID *const guid);
extern __attribute__((dllimport)) HRESULT SafeArrayGetIID(SAFEARRAY *psa,GUID *pguid);
extern __attribute__((dllimport)) HRESULT SafeArrayGetVartype(SAFEARRAY *psa,VARTYPE *pvt);
extern __attribute__((dllimport)) SAFEARRAY * SafeArrayCreateVector(VARTYPE vt,LONG lLbound,ULONG cElements);
extern __attribute__((dllimport)) SAFEARRAY * SafeArrayCreateVectorEx(VARTYPE vt,LONG lLbound,ULONG cElements,PVOID pvExtra);
extern __attribute__((dllimport)) void VariantInit(VARIANTARG *pvarg);
extern __attribute__((dllimport)) HRESULT VariantClear(VARIANTARG *pvarg);
extern __attribute__((dllimport)) HRESULT VariantCopy(VARIANTARG *pvargDest,VARIANTARG *pvargSrc);
extern __attribute__((dllimport)) HRESULT VariantCopyInd(VARIANT *pvarDest,VARIANTARG *pvargSrc);
extern __attribute__((dllimport)) HRESULT VariantChangeType(VARIANTARG *pvargDest,VARIANTARG *pvarSrc,USHORT wFlags,VARTYPE vt);
extern __attribute__((dllimport)) HRESULT VariantChangeTypeEx(VARIANTARG *pvargDest,VARIANTARG *pvarSrc,LCID lcid,USHORT wFlags,VARTYPE vt);
extern __attribute__((dllimport)) HRESULT VectorFromBstr (BSTR bstr,SAFEARRAY **ppsa);
extern __attribute__((dllimport)) HRESULT BstrFromVector (SAFEARRAY *psa,BSTR *pbstr);
extern __attribute__((dllimport)) HRESULT VarUI1FromI2(SHORT sIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromI4(LONG lIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromI8(LONG64 i64In,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromR4(FLOAT fltIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromR8(DOUBLE dblIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromCy(CY cyIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromDate(DATE dateIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromDisp(IDispatch *pdispIn,LCID lcid,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromBool(VARIANT_BOOL boolIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromI1(CHAR cIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromUI2(USHORT uiIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromUI4(ULONG ulIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromUI8(ULONG64 ui64In,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarUI1FromDec(DECIMAL *pdecIn,BYTE *pbOut);
extern __attribute__((dllimport)) HRESULT VarI2FromUI1(BYTE bIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromI4(LONG lIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromI8(LONG64 i64In,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromR4(FLOAT fltIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromR8(DOUBLE dblIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromCy(CY cyIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromDate(DATE dateIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromDisp(IDispatch *pdispIn,LCID lcid,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromBool(VARIANT_BOOL boolIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromI1(CHAR cIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromUI2(USHORT uiIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromUI4(ULONG ulIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromUI8(ULONG64 ui64In,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI2FromDec(DECIMAL *pdecIn,SHORT *psOut);
extern __attribute__((dllimport)) HRESULT VarI4FromUI1(BYTE bIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromI2(SHORT sIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromI8(LONG64 i64In,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromR4(FLOAT fltIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromR8(DOUBLE dblIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromCy(CY cyIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromDate(DATE dateIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromDisp(IDispatch *pdispIn,LCID lcid,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromBool(VARIANT_BOOL boolIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromI1(CHAR cIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromUI2(USHORT uiIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromUI4(ULONG ulIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromUI8(ULONG64 ui64In,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromDec(DECIMAL *pdecIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromInt(INT intIn,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI8FromUI1(BYTE bIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromI2(SHORT sIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromI4(LONG lIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromR4(FLOAT fltIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromR8(DOUBLE dblIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromCy(CY cyIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromDate(DATE dateIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromStr(OLECHAR *strIn,LCID lcid,unsigned long dwFlags,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromDisp(IDispatch *pdispIn,LCID lcid,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromBool(VARIANT_BOOL boolIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromI1(CHAR cIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromUI2(USHORT uiIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromUI4(ULONG ulIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromUI8(ULONG64 ui64In,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromDec(DECIMAL *pdecIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarI8FromInt(INT intIn,LONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarR4FromUI1(BYTE bIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromI2(SHORT sIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromI4(LONG lIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromI8(LONG64 i64In,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromR8(DOUBLE dblIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromCy(CY cyIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromDate(DATE dateIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromDisp(IDispatch *pdispIn,LCID lcid,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromBool(VARIANT_BOOL boolIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromI1(CHAR cIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromUI2(USHORT uiIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromUI4(ULONG ulIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromUI8(ULONG64 ui64In,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR4FromDec(DECIMAL *pdecIn,FLOAT *pfltOut);
extern __attribute__((dllimport)) HRESULT VarR8FromUI1(BYTE bIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromI2(SHORT sIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromI4(LONG lIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromI8(LONG64 i64In,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromR4(FLOAT fltIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromCy(CY cyIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromDate(DATE dateIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromDisp(IDispatch *pdispIn,LCID lcid,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromBool(VARIANT_BOOL boolIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromI1(CHAR cIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromUI2(USHORT uiIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromUI4(ULONG ulIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromUI8(ULONG64 ui64In,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarR8FromDec(DECIMAL *pdecIn,DOUBLE *pdblOut);
extern __attribute__((dllimport)) HRESULT VarDateFromUI1(BYTE bIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromI2(SHORT sIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromI4(LONG lIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromI8(LONG64 i64In,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromR4(FLOAT fltIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromR8(DOUBLE dblIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromCy(CY cyIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromDisp(IDispatch *pdispIn,LCID lcid,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromBool(VARIANT_BOOL boolIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromI1(CHAR cIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromUI2(USHORT uiIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromUI4(ULONG ulIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromUI8(ULONG64 ui64In,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromDec(DECIMAL *pdecIn,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarCyFromUI1(BYTE bIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromI2(SHORT sIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromI4(LONG lIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromI8(LONG64 i64In,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromR4(FLOAT fltIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromR8(DOUBLE dblIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromDate(DATE dateIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromDisp(IDispatch *pdispIn,LCID lcid,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromBool(VARIANT_BOOL boolIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromI1(CHAR cIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromUI2(USHORT uiIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromUI4(ULONG ulIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromUI8(ULONG64 ui64In,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarCyFromDec(DECIMAL *pdecIn,CY *pcyOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromUI1(BYTE bVal,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromI2(SHORT iVal,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromI4(LONG lIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromI8(LONG64 i64In,LCID lcid,unsigned long dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromR4(FLOAT fltIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromR8(DOUBLE dblIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromCy(CY cyIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromDate(DATE dateIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromDisp(IDispatch *pdispIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromBool(VARIANT_BOOL boolIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromI1(CHAR cIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromUI2(USHORT uiIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromUI4(ULONG ulIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromUI8(ULONG64 ui64In,LCID lcid,unsigned long dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBstrFromDec(DECIMAL *pdecIn,LCID lcid,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromUI1(BYTE bIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromI2(SHORT sIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromI4(LONG lIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromI8(LONG64 i64In,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromR4(FLOAT fltIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromR8(DOUBLE dblIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromDate(DATE dateIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromCy(CY cyIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromDisp(IDispatch *pdispIn,LCID lcid,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromI1(CHAR cIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromUI2(USHORT uiIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromUI4(ULONG ulIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromUI8(ULONG64 i64In,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarBoolFromDec(DECIMAL *pdecIn,VARIANT_BOOL *pboolOut);
extern __attribute__((dllimport)) HRESULT VarI1FromUI1(BYTE bIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromI2(SHORT uiIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromI4(LONG lIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromI8(LONG64 i64In,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromR4(FLOAT fltIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromR8(DOUBLE dblIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromDate(DATE dateIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromCy(CY cyIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromDisp(IDispatch *pdispIn,LCID lcid,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromBool(VARIANT_BOOL boolIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromUI2(USHORT uiIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromUI4(ULONG ulIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromUI8(ULONG64 i64In,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarI1FromDec(DECIMAL *pdecIn,CHAR *pcOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromUI1(BYTE bIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromI2(SHORT uiIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromI4(LONG lIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromI8(LONG64 i64In,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromR4(FLOAT fltIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromR8(DOUBLE dblIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromDate(DATE dateIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromCy(CY cyIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromDisp(IDispatch *pdispIn,LCID lcid,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromBool(VARIANT_BOOL boolIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromI1(CHAR cIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromUI4(ULONG ulIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromUI8(ULONG64 i64In,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI2FromDec(DECIMAL *pdecIn,USHORT *puiOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromUI1(BYTE bIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromI2(SHORT uiIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromI4(LONG lIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromI8(LONG64 i64In,ULONG *plOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromR4(FLOAT fltIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromR8(DOUBLE dblIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromDate(DATE dateIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromCy(CY cyIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromDisp(IDispatch *pdispIn,LCID lcid,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromBool(VARIANT_BOOL boolIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromI1(CHAR cIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromUI2(USHORT uiIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromUI8(ULONG64 ui64In,ULONG *plOut);
extern __attribute__((dllimport)) HRESULT VarUI4FromDec(DECIMAL *pdecIn,ULONG *pulOut);
extern __attribute__((dllimport)) HRESULT VarUI8FromUI1(BYTE bIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromI2(SHORT sIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromI4(LONG lIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromI8(LONG64 ui64In,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromR4(FLOAT fltIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromR8(DOUBLE dblIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromCy(CY cyIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromDate(DATE dateIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromStr(OLECHAR *strIn,LCID lcid,unsigned long dwFlags,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromDisp(IDispatch *pdispIn,LCID lcid,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromBool(VARIANT_BOOL boolIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromI1(CHAR cIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromUI2(USHORT uiIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromUI4(ULONG ulIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromDec(DECIMAL *pdecIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarUI8FromInt(INT intIn,ULONG64 *pi64Out);
extern __attribute__((dllimport)) HRESULT VarDecFromUI1(BYTE bIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromI2(SHORT uiIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromI4(LONG lIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromI8(LONG64 i64In,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromR4(FLOAT fltIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromR8(DOUBLE dblIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromDate(DATE dateIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromCy(CY cyIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromDisp(IDispatch *pdispIn,LCID lcid,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromBool(VARIANT_BOOL boolIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromI1(CHAR cIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromUI2(USHORT uiIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromUI4(ULONG ulIn,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarDecFromUI8(ULONG64 ui64In,DECIMAL *pdecOut);
extern __attribute__((dllimport)) HRESULT VarI4FromI8(LONG64 i64In,LONG *plOut);
extern __attribute__((dllimport)) HRESULT VarI4FromUI8(ULONG64 ui64In,LONG *plOut);
typedef struct {
INT cDig;
ULONG dwInFlags;
ULONG dwOutFlags;
INT cchUsed;
INT nBaseShift;
INT nPwr10;
} NUMPARSE;
extern __attribute__((dllimport)) HRESULT VarParseNumFromStr(OLECHAR *strIn,LCID lcid,ULONG dwFlags,NUMPARSE *pnumprs,BYTE *rgbDig);
extern __attribute__((dllimport)) HRESULT VarNumFromParseNum(NUMPARSE *pnumprs,BYTE *rgbDig,ULONG dwVtBits,VARIANT *pvar);
extern HRESULT VarAdd(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarAnd(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarCat(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarDiv(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarEqv(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarIdiv(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarImp(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarMod(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarMul(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarOr(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarPow(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarSub(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarXor(LPVARIANT pvarLeft,LPVARIANT pvarRight,LPVARIANT pvarResult);
extern HRESULT VarAbs(LPVARIANT pvarIn,LPVARIANT pvarResult);
extern HRESULT VarFix(LPVARIANT pvarIn,LPVARIANT pvarResult);
extern HRESULT VarInt(LPVARIANT pvarIn,LPVARIANT pvarResult);
extern HRESULT VarNeg(LPVARIANT pvarIn,LPVARIANT pvarResult);
extern HRESULT VarNot(LPVARIANT pvarIn,LPVARIANT pvarResult);
extern HRESULT VarRound(LPVARIANT pvarIn,int cDecimals,LPVARIANT pvarResult);
extern HRESULT VarCmp(LPVARIANT pvarLeft,LPVARIANT pvarRight,LCID lcid,ULONG dwFlags);
extern HRESULT VarDecAdd(LPDECIMAL pdecLeft,LPDECIMAL pdecRight,LPDECIMAL pdecResult);
extern HRESULT VarDecDiv(LPDECIMAL pdecLeft,LPDECIMAL pdecRight,LPDECIMAL pdecResult);
extern HRESULT VarDecMul(LPDECIMAL pdecLeft,LPDECIMAL pdecRight,LPDECIMAL pdecResult);
extern HRESULT VarDecSub(LPDECIMAL pdecLeft,LPDECIMAL pdecRight,LPDECIMAL pdecResult);
extern HRESULT VarDecAbs(LPDECIMAL pdecIn,LPDECIMAL pdecResult);
extern HRESULT VarDecFix(LPDECIMAL pdecIn,LPDECIMAL pdecResult);
extern HRESULT VarDecInt(LPDECIMAL pdecIn,LPDECIMAL pdecResult);
extern HRESULT VarDecNeg(LPDECIMAL pdecIn,LPDECIMAL pdecResult);
extern HRESULT VarDecRound(LPDECIMAL pdecIn,int cDecimals,LPDECIMAL pdecResult);
extern HRESULT VarDecCmp(LPDECIMAL pdecLeft,LPDECIMAL pdecRight);
extern HRESULT VarDecCmpR8(LPDECIMAL pdecLeft,double dblRight);
extern HRESULT VarCyAdd(CY cyLeft,CY cyRight,LPCY pcyResult);
extern HRESULT VarCyMul(CY cyLeft,CY cyRight,LPCY pcyResult);
extern HRESULT VarCyMulI4(CY cyLeft,long lRight,LPCY pcyResult);
extern HRESULT VarCyMulI8(CY cyLeft,LONG64 lRight,LPCY pcyResult);
extern HRESULT VarCySub(CY cyLeft,CY cyRight,LPCY pcyResult);
extern HRESULT VarCyAbs(CY cyIn,LPCY pcyResult);
extern HRESULT VarCyFix(CY cyIn,LPCY pcyResult);
extern HRESULT VarCyInt(CY cyIn,LPCY pcyResult);
extern HRESULT VarCyNeg(CY cyIn,LPCY pcyResult);
extern HRESULT VarCyRound(CY cyIn,int cDecimals,LPCY pcyResult);
extern HRESULT VarCyCmp(CY cyLeft,CY cyRight);
extern HRESULT VarCyCmpR8(CY cyLeft,double dblRight);
extern HRESULT VarBstrCat(BSTR bstrLeft,BSTR bstrRight,LPBSTR pbstrResult);
extern HRESULT VarBstrCmp(BSTR bstrLeft,BSTR bstrRight,LCID lcid,ULONG dwFlags);
extern HRESULT VarR8Pow(double dblLeft,double dblRight,double *pdblResult);
extern HRESULT VarR4CmpR8(float fltLeft,double dblRight);
extern HRESULT VarR8Round(double dblIn,int cDecimals,double *pdblResult);
typedef struct {
SYSTEMTIME st;
USHORT wDayOfYear;
} UDATE;
extern __attribute__((dllimport)) HRESULT VarDateFromUdate(UDATE *pudateIn,ULONG dwFlags,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarDateFromUdateEx(UDATE *pudateIn,LCID lcid,ULONG dwFlags,DATE *pdateOut);
extern __attribute__((dllimport)) HRESULT VarUdateFromDate(DATE dateIn,ULONG dwFlags,UDATE *pudateOut);
extern __attribute__((dllimport)) HRESULT GetAltMonthNames(LCID lcid,LPOLESTR **prgp);
extern __attribute__((dllimport)) HRESULT VarFormat(LPVARIANT pvarIn,LPOLESTR pstrFormat,int iFirstDay,int iFirstWeek,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarFormatDateTime(LPVARIANT pvarIn,int iNamedFormat,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarFormatNumber(LPVARIANT pvarIn,int iNumDig,int iIncLead,int iUseParens,int iGroup,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarFormatPercent(LPVARIANT pvarIn,int iNumDig,int iIncLead,int iUseParens,int iGroup,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarFormatCurrency(LPVARIANT pvarIn,int iNumDig,int iIncLead,int iUseParens,int iGroup,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarWeekdayName(int iWeekday,int fAbbrev,int iFirstDay,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarMonthName(int iMonth,int fAbbrev,ULONG dwFlags,BSTR *pbstrOut);
extern __attribute__((dllimport)) HRESULT VarFormatFromTokens(LPVARIANT pvarIn,LPOLESTR pstrFormat,LPBYTE pbTokCur,ULONG dwFlags,BSTR *pbstrOut,LCID lcid);
extern __attribute__((dllimport)) HRESULT VarTokenizeFormatString(LPOLESTR pstrFormat,LPBYTE rgbTok,int cbTok,int iFirstDay,int iFirstWeek,LCID lcid,int *pcbActual);
typedef ITypeLib *LPTYPELIB;
typedef LONG DISPID;
typedef DISPID MEMBERID;
typedef ITypeInfo *LPTYPEINFO;
typedef ITypeComp *LPTYPECOMP;
typedef ICreateTypeLib *LPCREATETYPELIB;
typedef ICreateTypeInfo *LPCREATETYPEINFO;
extern __attribute__((dllimport)) ULONG LHashValOfNameSysA(SYSKIND syskind,LCID lcid,LPCSTR szName);
extern __attribute__((dllimport)) ULONG LHashValOfNameSys(SYSKIND syskind,LCID lcid,const OLECHAR *szName);
extern __attribute__((dllimport)) HRESULT LoadTypeLib(const OLECHAR *szFile,ITypeLib **pptlib);
typedef enum tagREGKIND {
REGKIND_DEFAULT,REGKIND_REGISTER,REGKIND_NONE
} REGKIND;
extern __attribute__((dllimport)) HRESULT LoadTypeLibEx(LPCOLESTR szFile,REGKIND regkind,ITypeLib **pptlib);
extern __attribute__((dllimport)) HRESULT LoadRegTypeLib(const GUID *const rguid,WORD wVerMajor,WORD wVerMinor,LCID lcid,ITypeLib **pptlib);
extern __attribute__((dllimport)) HRESULT QueryPathOfRegTypeLib(const GUID *const guid,USHORT wMaj,USHORT wMin,LCID lcid,LPBSTR lpbstrPathName);
extern __attribute__((dllimport)) HRESULT RegisterTypeLib(ITypeLib *ptlib,OLECHAR *szFullPath,OLECHAR *szHelpDir);
extern __attribute__((dllimport)) HRESULT UnRegisterTypeLib(const GUID *const libID,WORD wVerMajor,WORD wVerMinor,LCID lcid,SYSKIND syskind);
extern __attribute__((dllimport)) HRESULT CreateTypeLib(SYSKIND syskind,const OLECHAR *szFile,ICreateTypeLib **ppctlib);
extern __attribute__((dllimport)) HRESULT CreateTypeLib2(SYSKIND syskind,LPCOLESTR szFile,ICreateTypeLib2 **ppctlib);
typedef IDispatch *LPDISPATCH;
typedef struct tagPARAMDATA {
OLECHAR *szName;
VARTYPE vt;
} PARAMDATA,*LPPARAMDATA;
typedef struct tagMETHODDATA {
OLECHAR *szName;
PARAMDATA *ppdata;
DISPID dispid;
UINT iMeth;
CALLCONV cc;
UINT cArgs;
WORD wFlags;
VARTYPE vtReturn;
} METHODDATA,*LPMETHODDATA;
typedef struct tagINTERFACEDATA {
METHODDATA *pmethdata;
UINT cMembers;
} INTERFACEDATA,*LPINTERFACEDATA;
extern __attribute__((dllimport)) HRESULT DispGetParam(DISPPARAMS *pdispparams,UINT position,VARTYPE vtTarg,VARIANT *pvarResult,UINT *puArgErr);
extern __attribute__((dllimport)) HRESULT DispGetIDsOfNames(ITypeInfo *ptinfo,OLECHAR **rgszNames,UINT cNames,DISPID *rgdispid);
extern __attribute__((dllimport)) HRESULT DispInvoke(void *_this,ITypeInfo *ptinfo,DISPID dispidMember,WORD wFlags,DISPPARAMS *pparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr);
extern __attribute__((dllimport)) HRESULT CreateDispTypeInfo(INTERFACEDATA *pidata,LCID lcid,ITypeInfo **pptinfo);
extern __attribute__((dllimport)) HRESULT CreateStdDispatch(IUnknown *punkOuter,void *pvThis,ITypeInfo *ptinfo,IUnknown **ppunkStdDisp);
extern __attribute__((dllimport)) HRESULT DispCallFunc(void *pvInstance,ULONG_PTR oVft,CALLCONV cc,VARTYPE vtReturn,UINT cActuals,VARTYPE *prgvt,VARIANTARG **prgpvarg,VARIANT *pvargResult);
extern __attribute__((dllimport)) HRESULT RegisterActiveObject(IUnknown *punk,const IID *const rclsid,DWORD dwFlags,DWORD *pdwRegister);
extern __attribute__((dllimport)) HRESULT RevokeActiveObject(DWORD dwRegister,void *pvReserved);
extern __attribute__((dllimport)) HRESULT GetActiveObject(const IID *const rclsid,void *pvReserved,IUnknown **ppunk);
extern __attribute__((dllimport)) HRESULT SetErrorInfo(ULONG dwReserved,IErrorInfo *perrinfo);
extern __attribute__((dllimport)) HRESULT GetErrorInfo(ULONG dwReserved,IErrorInfo **pperrinfo);
extern __attribute__((dllimport)) HRESULT CreateErrorInfo(ICreateErrorInfo **pperrinfo);
extern __attribute__((dllimport)) HRESULT GetRecordInfoFromTypeInfo(ITypeInfo *pTypeInfo,IRecordInfo **ppRecInfo);
extern __attribute__((dllimport)) HRESULT GetRecordInfoFromGuids(const GUID *const rGuidTypeLib,ULONG uVerMajor,ULONG uVerMinor,LCID lcid,const GUID *const rGuidTypeInfo,IRecordInfo **ppRecInfo);
extern __attribute__((dllimport)) ULONG OaBuildVersion(void);
extern __attribute__((dllimport)) void ClearCustData(LPCUSTDATA pCustData);
#pragma pack(pop)
extern __attribute__((dllimport)) DWORD OleBuildVersion (void);
extern __attribute__((dllimport)) HRESULT CreateDataAdviseHolder (LPDATAADVISEHOLDER *ppDAHolder);
extern __attribute__((dllimport)) HRESULT ReadClassStg (LPSTORAGE pStg, CLSID *pclsid);
extern __attribute__((dllimport)) HRESULT WriteClassStg (LPSTORAGE pStg, const IID *const rclsid);
extern __attribute__((dllimport)) HRESULT ReadClassStm (LPSTREAM pStm, CLSID *pclsid);
extern __attribute__((dllimport)) HRESULT WriteClassStm (LPSTREAM pStm, const IID *const rclsid);
extern __attribute__((dllimport)) HRESULT WriteFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType);
extern __attribute__((dllimport)) HRESULT ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT *pcf, LPOLESTR *lplpszUserType);
extern __attribute__((dllimport)) HRESULT OleInitialize (LPVOID pvReserved);
extern __attribute__((dllimport)) void OleUninitialize (void);
extern __attribute__((dllimport)) HRESULT OleQueryLinkFromData (LPDATAOBJECT pSrcDataObject);
extern __attribute__((dllimport)) HRESULT OleQueryCreateFromData (LPDATAOBJECT pSrcDataObject);
extern __attribute__((dllimport)) HRESULT OleCreate (const IID *const rclsid, const IID *const riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateEx (const IID *const rclsid, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateFromData (LPDATAOBJECT pSrcDataObj, const IID *const riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateFromDataEx (LPDATAOBJECT pSrcDataObj, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLinkFromData (LPDATAOBJECT pSrcDataObj, const IID *const riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLinkFromDataEx (LPDATAOBJECT pSrcDataObj, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateStaticFromData (LPDATAOBJECT pSrcDataObj, const IID *const iid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLink (LPMONIKER pmkLinkSrc, const IID *const riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLinkEx (LPMONIKER pmkLinkSrc, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLinkToFile (LPCOLESTR lpszFileName, const IID *const riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateLinkToFileEx (LPCOLESTR lpszFileName, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateFromFile (const IID *const rclsid, LPCOLESTR lpszFileName, const IID *const riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleCreateFromFileEx (const IID *const rclsid, LPCOLESTR lpszFileName, const IID *const riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD *rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink *lpAdviseSink, DWORD *rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleLoad (LPSTORAGE pStg, const IID *const riid, LPOLECLIENTSITE pClientSite, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleSave (LPPERSISTSTORAGE pPS, LPSTORAGE pStg, WINBOOL fSameAsLoad);
extern __attribute__((dllimport)) HRESULT OleLoadFromStream (LPSTREAM pStm, const IID *const iidInterface, LPVOID *ppvObj);
extern __attribute__((dllimport)) HRESULT OleSaveToStream (LPPERSISTSTREAM pPStm, LPSTREAM pStm);
extern __attribute__((dllimport)) HRESULT OleSetContainedObject (LPUNKNOWN pUnknown, WINBOOL fContained);
extern __attribute__((dllimport)) HRESULT OleNoteObjectVisible (LPUNKNOWN pUnknown, WINBOOL fVisible);
extern __attribute__((dllimport)) HRESULT RegisterDragDrop (HWND hwnd, LPDROPTARGET pDropTarget);
extern __attribute__((dllimport)) HRESULT RevokeDragDrop (HWND hwnd);
extern __attribute__((dllimport)) HRESULT DoDragDrop (LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource, DWORD dwOKEffects, LPDWORD pdwEffect);
extern __attribute__((dllimport)) HRESULT OleSetClipboard (LPDATAOBJECT pDataObj);
extern __attribute__((dllimport)) HRESULT OleGetClipboard (LPDATAOBJECT *ppDataObj);
extern __attribute__((dllimport)) HRESULT OleFlushClipboard (void);
extern __attribute__((dllimport)) HRESULT OleIsCurrentClipboard (LPDATAOBJECT pDataObj);
extern __attribute__((dllimport)) HOLEMENU OleCreateMenuDescriptor (HMENU hmenuCombined, LPOLEMENUGROUPWIDTHS lpMenuWidths);
extern __attribute__((dllimport)) HRESULT OleSetMenuDescriptor (HOLEMENU holemenu, HWND hwndFrame, HWND hwndActiveObject, LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEACTIVEOBJECT lpActiveObj);
extern __attribute__((dllimport)) HRESULT OleDestroyMenuDescriptor (HOLEMENU holemenu);
extern __attribute__((dllimport)) HRESULT OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg);
extern __attribute__((dllimport)) HANDLE OleDuplicateData (HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags);
extern __attribute__((dllimport)) HRESULT OleDraw (LPUNKNOWN pUnknown, DWORD dwAspect, HDC hdcDraw, LPCRECT lprcBounds);
extern __attribute__((dllimport)) HRESULT OleRun (LPUNKNOWN pUnknown);
extern __attribute__((dllimport)) WINBOOL OleIsRunning (LPOLEOBJECT pObject);
extern __attribute__((dllimport)) HRESULT OleLockRunning (LPUNKNOWN pUnknown, WINBOOL fLock, WINBOOL fLastUnlockCloses);
extern __attribute__((dllimport)) void ReleaseStgMedium (LPSTGMEDIUM);
extern __attribute__((dllimport)) HRESULT CreateOleAdviseHolder (LPOLEADVISEHOLDER *ppOAHolder);
extern __attribute__((dllimport)) HRESULT OleCreateDefaultHandler (const IID *const clsid, LPUNKNOWN pUnkOuter, const IID *const riid, LPVOID *lplpObj);
extern __attribute__((dllimport)) HRESULT OleCreateEmbeddingHelper (const IID *const clsid, LPUNKNOWN pUnkOuter, DWORD flags, LPCLASSFACTORY pCF, const IID *const riid, LPVOID *lplpObj);
extern __attribute__((dllimport)) WINBOOL IsAccelerator (HACCEL hAccel, int cAccelEntries, LPMSG lpMsg, WORD *lpwCmd);
extern __attribute__((dllimport)) HGLOBAL OleGetIconOfFile (LPOLESTR lpszPath, WINBOOL fUseFileAsLabel);
extern __attribute__((dllimport)) HGLOBAL OleGetIconOfClass (const IID *const rclsid, LPOLESTR lpszLabel, WINBOOL fUseTypeAsLabel);
extern __attribute__((dllimport)) HGLOBAL OleMetafilePictFromIconAndLabel (HICON hIcon, LPOLESTR lpszLabel, LPOLESTR lpszSourceFile, UINT iIconIndex);
extern __attribute__((dllimport)) HRESULT OleRegGetUserType (const IID *const clsid, DWORD dwFormOfType, LPOLESTR *pszUserType);
extern __attribute__((dllimport)) HRESULT OleRegGetMiscStatus (const IID *const clsid, DWORD dwAspect, DWORD *pdwStatus);
extern __attribute__((dllimport)) HRESULT OleRegEnumFormatEtc (const IID *const clsid, DWORD dwDirection, LPENUMFORMATETC *ppenum);
extern __attribute__((dllimport)) HRESULT OleRegEnumVerbs (const IID *const clsid, LPENUMOLEVERB *ppenum);
typedef struct _OLESTREAM *LPOLESTREAM;
typedef struct _OLESTREAMVTBL {
DWORD ( *Get) (LPOLESTREAM, void *, DWORD);
DWORD ( *Put) (LPOLESTREAM, const void *, DWORD);
} OLESTREAMVTBL;
typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
typedef struct _OLESTREAM {
LPOLESTREAMVTBL lpstbl;
} OLESTREAM;
extern __attribute__((dllimport)) HRESULT OleConvertOLESTREAMToIStorage (LPOLESTREAM lpolestream, LPSTORAGE pstg, const DVTARGETDEVICE *ptd);
extern __attribute__((dllimport)) HRESULT OleConvertIStorageToOLESTREAM (LPSTORAGE pstg, LPOLESTREAM lpolestream);
extern __attribute__((dllimport)) HRESULT GetHGlobalFromILockBytes (LPLOCKBYTES plkbyt, HGLOBAL *phglobal);
extern __attribute__((dllimport)) HRESULT CreateILockBytesOnHGlobal (HGLOBAL hGlobal, WINBOOL fDeleteOnRelease, LPLOCKBYTES *pplkbyt);
extern __attribute__((dllimport)) HRESULT OleDoAutoConvert (LPSTORAGE pStg, LPCLSID pClsidNew);
extern __attribute__((dllimport)) HRESULT OleGetAutoConvert (const IID *const clsidOld, LPCLSID pClsidNew);
extern __attribute__((dllimport)) HRESULT OleSetAutoConvert (const IID *const clsidOld, const IID *const clsidNew);
extern __attribute__((dllimport)) HRESULT GetConvertStg (LPSTORAGE pStg);
extern __attribute__((dllimport)) HRESULT SetConvertStg (LPSTORAGE pStg, WINBOOL fConvert);
extern __attribute__((dllimport)) HRESULT OleConvertIStorageToOLESTREAMEx (LPSTORAGE pstg, CLIPFORMAT cfFormat, LONG lWidth, LONG lHeight, DWORD dwSize, LPSTGMEDIUM pmedium, LPOLESTREAM polestm);
extern __attribute__((dllimport)) HRESULT OleConvertOLESTREAMToIStorageEx (LPOLESTREAM polestm, LPSTORAGE pstg, CLIPFORMAT *pcfFormat, LONG *plwWidth, LONG *plHeight, DWORD *pdwSize, LPSTGMEDIUM pmedium);
#pragma pack(pop)
extern const GUID GUID_DEVINTERFACE_DISK;
extern const GUID GUID_DEVINTERFACE_CDROM;
extern const GUID GUID_DEVINTERFACE_PARTITION;
extern const GUID GUID_DEVINTERFACE_TAPE;
extern const GUID GUID_DEVINTERFACE_WRITEONCEDISK;
extern const GUID GUID_DEVINTERFACE_VOLUME;
extern const GUID GUID_DEVINTERFACE_MEDIUMCHANGER;
extern const GUID GUID_DEVINTERFACE_FLOPPY;
extern const GUID GUID_DEVINTERFACE_CDCHANGER;
extern const GUID GUID_DEVINTERFACE_STORAGEPORT;
extern const GUID GUID_DEVINTERFACE_COMPORT;
extern const GUID GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR;
typedef struct _STORAGE_READ_CAPACITY {
ULONG Version;
ULONG Size;
ULONG BlockLength;
LARGE_INTEGER NumberOfBlocks;
LARGE_INTEGER DiskLength;
} STORAGE_READ_CAPACITY, *PSTORAGE_READ_CAPACITY;
typedef struct _STORAGE_HOTPLUG_INFO {
DWORD Size;
BOOLEAN MediaRemovable;
BOOLEAN MediaHotplug;
BOOLEAN DeviceHotplug;
BOOLEAN WriteCacheEnableOverride;
} STORAGE_HOTPLUG_INFO,*PSTORAGE_HOTPLUG_INFO;
typedef struct _STORAGE_DEVICE_NUMBER {
DWORD DeviceType;
DWORD DeviceNumber;
DWORD PartitionNumber;
} STORAGE_DEVICE_NUMBER,*PSTORAGE_DEVICE_NUMBER;
typedef struct _STORAGE_BUS_RESET_REQUEST {
BYTE PathId;
} STORAGE_BUS_RESET_REQUEST,*PSTORAGE_BUS_RESET_REQUEST;
typedef struct STORAGE_BREAK_RESERVATION_REQUEST {
DWORD Length;
BYTE _unused;
BYTE PathId;
BYTE TargetId;
BYTE Lun;
} STORAGE_BREAK_RESERVATION_REQUEST,*PSTORAGE_BREAK_RESERVATION_REQUEST;
typedef struct _PREVENT_MEDIA_REMOVAL {
BOOLEAN PreventMediaRemoval;
} PREVENT_MEDIA_REMOVAL,*PPREVENT_MEDIA_REMOVAL;
typedef struct _CLASS_MEDIA_CHANGE_CONTEXT {
DWORD MediaChangeCount;
DWORD NewState;
} CLASS_MEDIA_CHANGE_CONTEXT,*PCLASS_MEDIA_CHANGE_CONTEXT;
typedef struct _TAPE_STATISTICS {
DWORD Version;
DWORD Flags;
LARGE_INTEGER RecoveredWrites;
LARGE_INTEGER UnrecoveredWrites;
LARGE_INTEGER RecoveredReads;
LARGE_INTEGER UnrecoveredReads;
BYTE CompressionRatioReads;
BYTE CompressionRatioWrites;
} TAPE_STATISTICS,*PTAPE_STATISTICS;
typedef struct _TAPE_GET_STATISTICS {
DWORD Operation;
} TAPE_GET_STATISTICS,*PTAPE_GET_STATISTICS;
typedef enum _STORAGE_MEDIA_TYPE {
DDS_4mm = 0x20,
MiniQic,
Travan,
QIC,
MP_8mm,
AME_8mm,
AIT1_8mm,
DLT,
NCTP,
IBM_3480,
IBM_3490E,
IBM_Magstar_3590,
IBM_Magstar_MP,
STK_DATA_D3,
SONY_DTF,
DV_6mm,
DMI,
SONY_D2,
CLEANER_CARTRIDGE,
CD_ROM,
CD_R,
CD_RW,
DVD_ROM,
DVD_R,
DVD_RW,
MO_3_RW,
MO_5_WO,
MO_5_RW,
MO_5_LIMDOW,
PC_5_WO,
PC_5_RW,
PD_5_RW,
ABL_5_WO,
PINNACLE_APEX_5_RW,
SONY_12_WO,
PHILIPS_12_WO,
HITACHI_12_WO,
CYGNET_12_WO,
KODAK_14_WO,
MO_NFR_525,
NIKON_12_RW,
IOMEGA_ZIP,
IOMEGA_JAZ,
SYQUEST_EZ135,
SYQUEST_EZFLYER,
SYQUEST_SYJET,
AVATAR_F2,
MP2_8mm,
DST_S,
DST_M,
DST_L,
VXATape_1,
VXATape_2,
STK_9840,
LTO_Ultrium,
LTO_Accelis,
DVD_RAM,
AIT_8mm,
ADR_1,
ADR_2,
STK_9940,
SAIT,
VXATape
} STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE;
typedef enum _STORAGE_BUS_TYPE {
BusTypeUnknown = 0x00,
BusTypeScsi = 0x1,
BusTypeAtapi = 0x2,
BusTypeAta = 0x3,
BusType1394 = 0x4,
BusTypeSsa = 0x5,
BusTypeFibre = 0x6,
BusTypeUsb = 0x7,
BusTypeRAID = 0x8,
BusTypeMax,
BusTypeMaxReserved = 0x7F
} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
typedef struct _DEVICE_MEDIA_INFO {
union {
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics;
} DiskInfo;
struct {
LARGE_INTEGER Cylinders;
STORAGE_MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
DWORD NumberMediaSides;
DWORD MediaCharacteristics;
} RemovableDiskInfo;
struct {
STORAGE_MEDIA_TYPE MediaType;
DWORD MediaCharacteristics;
DWORD CurrentBlockSize;
STORAGE_BUS_TYPE BusType;
union {
struct {
BYTE MediumType;
BYTE DensityCode;
} ScsiInformation;
} BusSpecificData;
} TapeInfo;
} DeviceSpecific;
} DEVICE_MEDIA_INFO,*PDEVICE_MEDIA_INFO;
typedef struct _GET_MEDIA_TYPES {
DWORD DeviceType;
DWORD MediaInfoCount;
DEVICE_MEDIA_INFO MediaInfo[1];
} GET_MEDIA_TYPES,*PGET_MEDIA_TYPES;
typedef struct _STORAGE_PREDICT_FAILURE {
DWORD PredictFailure;
BYTE VendorSpecific[512];
} STORAGE_PREDICT_FAILURE,*PSTORAGE_PREDICT_FAILURE;
typedef enum _MEDIA_TYPE {
Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,F5_320_1024,F5_180_512,F5_160_512,
RemovableMedia,FixedMedia,F3_120M_512,F3_640_512,F5_640_512,F5_720_512,F3_1Pt2_512,F3_1Pt23_1024,F5_1Pt23_1024,F3_128Mb_512,
F3_230Mb_512,F8_256_128,F3_200Mb_512,F3_240M_512,F3_32M_512
} MEDIA_TYPE,*PMEDIA_TYPE;
typedef struct _FORMAT_PARAMETERS {
MEDIA_TYPE MediaType;
DWORD StartCylinderNumber;
DWORD EndCylinderNumber;
DWORD StartHeadNumber;
DWORD EndHeadNumber;
} FORMAT_PARAMETERS,*PFORMAT_PARAMETERS;
typedef WORD BAD_TRACK_NUMBER;
typedef WORD *PBAD_TRACK_NUMBER;
typedef struct _FORMAT_EX_PARAMETERS {
MEDIA_TYPE MediaType;
DWORD StartCylinderNumber;
DWORD EndCylinderNumber;
DWORD StartHeadNumber;
DWORD EndHeadNumber;
WORD FormatGapLength;
WORD SectorsPerTrack;
WORD SectorNumber[1];
} FORMAT_EX_PARAMETERS,*PFORMAT_EX_PARAMETERS;
typedef struct _DISK_GEOMETRY {
LARGE_INTEGER Cylinders;
MEDIA_TYPE MediaType;
DWORD TracksPerCylinder;
DWORD SectorsPerTrack;
DWORD BytesPerSector;
} DISK_GEOMETRY,*PDISK_GEOMETRY;
typedef struct _PARTITION_INFORMATION {
LARGE_INTEGER StartingOffset;
LARGE_INTEGER PartitionLength;
DWORD HiddenSectors;
DWORD PartitionNumber;
BYTE PartitionType;
BOOLEAN BootIndicator;
BOOLEAN RecognizedPartition;
BOOLEAN RewritePartition;
} PARTITION_INFORMATION,*PPARTITION_INFORMATION;
typedef struct _SET_PARTITION_INFORMATION {
BYTE PartitionType;
} SET_PARTITION_INFORMATION,*PSET_PARTITION_INFORMATION;
typedef struct _DRIVE_LAYOUT_INFORMATION {
DWORD PartitionCount;
DWORD Signature;
PARTITION_INFORMATION PartitionEntry[1];
} DRIVE_LAYOUT_INFORMATION,*PDRIVE_LAYOUT_INFORMATION;
typedef struct _VERIFY_INFORMATION {
LARGE_INTEGER StartingOffset;
DWORD Length;
} VERIFY_INFORMATION,*PVERIFY_INFORMATION;
typedef struct _REASSIGN_BLOCKS {
WORD Reserved;
WORD Count;
DWORD BlockNumber[1];
} REASSIGN_BLOCKS,*PREASSIGN_BLOCKS;
#pragma pack(push,1)
typedef struct _REASSIGN_BLOCKS_EX {
WORD Reserved;
WORD Count;
LARGE_INTEGER BlockNumber[1];
} REASSIGN_BLOCKS_EX,*PREASSIGN_BLOCKS_EX;
#pragma pack(pop)
typedef enum _PARTITION_STYLE {
PARTITION_STYLE_MBR,PARTITION_STYLE_GPT,PARTITION_STYLE_RAW
} PARTITION_STYLE;
typedef struct _PARTITION_INFORMATION_GPT {
GUID PartitionType;
GUID PartitionId;
DWORD64 Attributes;
WCHAR Name [36];
} PARTITION_INFORMATION_GPT,*PPARTITION_INFORMATION_GPT;
typedef struct _PARTITION_INFORMATION_MBR {
BYTE PartitionType;
BOOLEAN BootIndicator;
BOOLEAN RecognizedPartition;
DWORD HiddenSectors;
} PARTITION_INFORMATION_MBR,*PPARTITION_INFORMATION_MBR;
typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
typedef struct _SET_PARTITION_INFORMATION_EX {
PARTITION_STYLE PartitionStyle;
__extension__ union {
SET_PARTITION_INFORMATION_MBR Mbr;
SET_PARTITION_INFORMATION_GPT Gpt;
} ;
} SET_PARTITION_INFORMATION_EX,*PSET_PARTITION_INFORMATION_EX;
typedef struct _CREATE_DISK_GPT {
GUID DiskId;
DWORD MaxPartitionCount;
} CREATE_DISK_GPT,*PCREATE_DISK_GPT;
typedef struct _CREATE_DISK_MBR {
DWORD Signature;
} CREATE_DISK_MBR,*PCREATE_DISK_MBR;
typedef struct _CREATE_DISK {
PARTITION_STYLE PartitionStyle;
__extension__ union {
CREATE_DISK_MBR Mbr;
CREATE_DISK_GPT Gpt;
} ;
} CREATE_DISK,*PCREATE_DISK;
typedef struct _GET_LENGTH_INFORMATION {
LARGE_INTEGER Length;
} GET_LENGTH_INFORMATION,*PGET_LENGTH_INFORMATION;
typedef struct _PARTITION_INFORMATION_EX {
PARTITION_STYLE PartitionStyle;
LARGE_INTEGER StartingOffset;
LARGE_INTEGER PartitionLength;
DWORD PartitionNumber;
BOOLEAN RewritePartition;
__extension__ union {
PARTITION_INFORMATION_MBR Mbr;
PARTITION_INFORMATION_GPT Gpt;
} ;
} PARTITION_INFORMATION_EX,*PPARTITION_INFORMATION_EX;
typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
GUID DiskId;
LARGE_INTEGER StartingUsableOffset;
LARGE_INTEGER UsableLength;
DWORD MaxPartitionCount;
} DRIVE_LAYOUT_INFORMATION_GPT,*PDRIVE_LAYOUT_INFORMATION_GPT;
typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
DWORD Signature;
} DRIVE_LAYOUT_INFORMATION_MBR,*PDRIVE_LAYOUT_INFORMATION_MBR;
typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
DWORD PartitionStyle;
DWORD PartitionCount;
__extension__ union {
DRIVE_LAYOUT_INFORMATION_MBR Mbr;
DRIVE_LAYOUT_INFORMATION_GPT Gpt;
} ;
PARTITION_INFORMATION_EX PartitionEntry[1];
} DRIVE_LAYOUT_INFORMATION_EX,*PDRIVE_LAYOUT_INFORMATION_EX;
typedef enum _DETECTION_TYPE {
DetectNone,DetectInt13,DetectExInt13
} DETECTION_TYPE;
typedef struct _DISK_INT13_INFO {
WORD DriveSelect;
DWORD MaxCylinders;
WORD SectorsPerTrack;
WORD MaxHeads;
WORD NumberDrives;
} DISK_INT13_INFO,*PDISK_INT13_INFO;
typedef struct _DISK_EX_INT13_INFO {
WORD ExBufferSize;
WORD ExFlags;
DWORD ExCylinders;
DWORD ExHeads;
DWORD ExSectorsPerTrack;
DWORD64 ExSectorsPerDrive;
WORD ExSectorSize;
WORD ExReserved;
} DISK_EX_INT13_INFO,*PDISK_EX_INT13_INFO;
typedef struct _DISK_DETECTION_INFO {
DWORD SizeOfDetectInfo;
DETECTION_TYPE DetectionType;
__extension__ union {
__extension__ struct {
DISK_INT13_INFO Int13;
DISK_EX_INT13_INFO ExInt13;
} ;
} ;
} DISK_DETECTION_INFO,*PDISK_DETECTION_INFO;
typedef struct _DISK_PARTITION_INFO {
DWORD SizeOfPartitionInfo;
PARTITION_STYLE PartitionStyle;
__extension__ union {
struct {
DWORD Signature;
DWORD CheckSum;
} Mbr;
struct {
GUID DiskId;
} Gpt;
} ;
} DISK_PARTITION_INFO,*PDISK_PARTITION_INFO;
typedef struct _DISK_GEOMETRY_EX {
DISK_GEOMETRY Geometry;
LARGE_INTEGER DiskSize;
BYTE Data[1];
} DISK_GEOMETRY_EX,*PDISK_GEOMETRY_EX;
typedef struct _DISK_CONTROLLER_NUMBER {
DWORD ControllerNumber;
DWORD DiskNumber;
} DISK_CONTROLLER_NUMBER,*PDISK_CONTROLLER_NUMBER;
typedef enum {
EqualPriority,KeepPrefetchedData,KeepReadData
} DISK_CACHE_RETENTION_PRIORITY;
typedef struct _DISK_CACHE_INFORMATION {
BOOLEAN ParametersSavable;
BOOLEAN ReadCacheEnabled;
BOOLEAN WriteCacheEnabled;
DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
WORD DisablePrefetchTransferLength;
BOOLEAN PrefetchScalar;
__extension__ union {
struct {
WORD Minimum;
WORD Maximum;
WORD MaximumBlocks;
} ScalarPrefetch;
struct {
WORD Minimum;
WORD Maximum;
} BlockPrefetch;
} ;
} DISK_CACHE_INFORMATION,*PDISK_CACHE_INFORMATION;
typedef struct _DISK_GROW_PARTITION {
DWORD PartitionNumber;
LARGE_INTEGER BytesToGrow;
} DISK_GROW_PARTITION,*PDISK_GROW_PARTITION;
typedef struct _HISTOGRAM_BUCKET {
DWORD Reads;
DWORD Writes;
} HISTOGRAM_BUCKET,*PHISTOGRAM_BUCKET;
typedef struct _DISK_HISTOGRAM {
LARGE_INTEGER DiskSize;
LARGE_INTEGER Start;
LARGE_INTEGER End;
LARGE_INTEGER Average;
LARGE_INTEGER AverageRead;
LARGE_INTEGER AverageWrite;
DWORD Granularity;
DWORD Size;
DWORD ReadCount;
DWORD WriteCount;
PHISTOGRAM_BUCKET Histogram;
} DISK_HISTOGRAM,*PDISK_HISTOGRAM;
typedef struct _DISK_PERFORMANCE {
LARGE_INTEGER BytesRead;
LARGE_INTEGER BytesWritten;
LARGE_INTEGER ReadTime;
LARGE_INTEGER WriteTime;
LARGE_INTEGER IdleTime;
DWORD ReadCount;
DWORD WriteCount;
DWORD QueueDepth;
DWORD SplitCount;
LARGE_INTEGER QueryTime;
DWORD StorageDeviceNumber;
WCHAR StorageManagerName[8];
} DISK_PERFORMANCE,*PDISK_PERFORMANCE;
typedef struct _DISK_RECORD {
LARGE_INTEGER ByteOffset;
LARGE_INTEGER StartTime;
LARGE_INTEGER EndTime;
PVOID VirtualAddress;
DWORD NumberOfBytes;
BYTE DeviceNumber;
BOOLEAN ReadRequest;
} DISK_RECORD,*PDISK_RECORD;
typedef struct _DISK_LOGGING {
BYTE Function;
PVOID BufferAddress;
DWORD BufferSize;
} DISK_LOGGING,*PDISK_LOGGING;
typedef enum _BIN_TYPES {
RequestSize,RequestLocation
} BIN_TYPES;
typedef struct _BIN_RANGE {
LARGE_INTEGER StartValue;
LARGE_INTEGER Length;
} BIN_RANGE,*PBIN_RANGE;
typedef struct _PERF_BIN {
DWORD NumberOfBins;
DWORD TypeOfBin;
BIN_RANGE BinsRanges[1];
} PERF_BIN,*PPERF_BIN;
typedef struct _BIN_COUNT {
BIN_RANGE BinRange;
DWORD BinCount;
} BIN_COUNT,*PBIN_COUNT;
typedef struct _BIN_RESULTS {
DWORD NumberOfBins;
BIN_COUNT BinCounts[1];
} BIN_RESULTS,*PBIN_RESULTS;
#pragma pack(push,1)
typedef struct _GETVERSIONINPARAMS {
BYTE bVersion;
BYTE bRevision;
BYTE bReserved;
BYTE bIDEDeviceMap;
DWORD fCapabilities;
DWORD dwReserved[4];
} GETVERSIONINPARAMS,*PGETVERSIONINPARAMS,*LPGETVERSIONINPARAMS;
#pragma pack(pop)
#pragma pack(push,1)
typedef struct _IDEREGS {
BYTE bFeaturesReg;
BYTE bSectorCountReg;
BYTE bSectorNumberReg;
BYTE bCylLowReg;
BYTE bCylHighReg;
BYTE bDriveHeadReg;
BYTE bCommandReg;
BYTE bReserved;
} IDEREGS,*PIDEREGS,*LPIDEREGS;
#pragma pack(pop)
#pragma pack(push,1)
typedef struct _SENDCMDINPARAMS {
DWORD cBufferSize;
IDEREGS irDriveRegs;
BYTE bDriveNumber;
BYTE bReserved[3];
DWORD dwReserved[4];
BYTE bBuffer[1];
} SENDCMDINPARAMS,*PSENDCMDINPARAMS,*LPSENDCMDINPARAMS;
#pragma pack(pop)
#pragma pack(push,1)
typedef struct _DRIVERSTATUS {
BYTE bDriverError;
BYTE bIDEError;
BYTE bReserved[2];
DWORD dwReserved[2];
} DRIVERSTATUS,*PDRIVERSTATUS,*LPDRIVERSTATUS;
#pragma pack(pop)
#pragma pack(push,1)
typedef struct _SENDCMDOUTPARAMS {
DWORD cBufferSize;
DRIVERSTATUS DriverStatus;
BYTE bBuffer[1];
} SENDCMDOUTPARAMS,*PSENDCMDOUTPARAMS,*LPSENDCMDOUTPARAMS;
#pragma pack(pop)
typedef enum _ELEMENT_TYPE {
AllElements,ChangerTransport,ChangerSlot,ChangerIEPort,ChangerDrive,ChangerDoor,ChangerKeypad,ChangerMaxElement
} ELEMENT_TYPE,*PELEMENT_TYPE;
typedef struct _CHANGER_ELEMENT {
ELEMENT_TYPE ElementType;
DWORD ElementAddress;
} CHANGER_ELEMENT,*PCHANGER_ELEMENT;
typedef struct _CHANGER_ELEMENT_LIST {
CHANGER_ELEMENT Element;
DWORD NumberOfElements;
} CHANGER_ELEMENT_LIST ,*PCHANGER_ELEMENT_LIST;
typedef struct _GET_CHANGER_PARAMETERS {
DWORD Size;
WORD NumberTransportElements;
WORD NumberStorageElements;
WORD NumberCleanerSlots;
WORD NumberIEElements;
WORD NumberDataTransferElements;
WORD NumberOfDoors;
WORD FirstSlotNumber;
WORD FirstDriveNumber;
WORD FirstTransportNumber;
WORD FirstIEPortNumber;
WORD FirstCleanerSlotAddress;
WORD MagazineSize;
DWORD DriveCleanTimeout;
DWORD Features0;
DWORD Features1;
BYTE MoveFromTransport;
BYTE MoveFromSlot;
BYTE MoveFromIePort;
BYTE MoveFromDrive;
BYTE ExchangeFromTransport;
BYTE ExchangeFromSlot;
BYTE ExchangeFromIePort;
BYTE ExchangeFromDrive;
BYTE LockUnlockCapabilities;
BYTE PositionCapabilities;
BYTE Reserved1[2];
DWORD Reserved2[2];
} GET_CHANGER_PARAMETERS,*PGET_CHANGER_PARAMETERS;
typedef struct _CHANGER_PRODUCT_DATA {
BYTE VendorId[8];
BYTE ProductId[16];
BYTE Revision[4];
BYTE SerialNumber[32];
BYTE DeviceType;
} CHANGER_PRODUCT_DATA,*PCHANGER_PRODUCT_DATA;
typedef struct _CHANGER_SET_ACCESS {
CHANGER_ELEMENT Element;
DWORD Control;
} CHANGER_SET_ACCESS,*PCHANGER_SET_ACCESS;
typedef struct _CHANGER_READ_ELEMENT_STATUS {
CHANGER_ELEMENT_LIST ElementList;
BOOLEAN VolumeTagInfo;
} CHANGER_READ_ELEMENT_STATUS,*PCHANGER_READ_ELEMENT_STATUS;
typedef struct _CHANGER_ELEMENT_STATUS {
CHANGER_ELEMENT Element;
CHANGER_ELEMENT SrcElementAddress;
DWORD Flags;
DWORD ExceptionCode;
BYTE TargetId;
BYTE Lun;
WORD Reserved;
BYTE PrimaryVolumeID[36];
BYTE AlternateVolumeID[36];
} CHANGER_ELEMENT_STATUS,*PCHANGER_ELEMENT_STATUS;
typedef struct _CHANGER_ELEMENT_STATUS_EX {
CHANGER_ELEMENT Element;
CHANGER_ELEMENT SrcElementAddress;
DWORD Flags;
DWORD ExceptionCode;
BYTE TargetId;
BYTE Lun;
WORD Reserved;
BYTE PrimaryVolumeID[36];
BYTE AlternateVolumeID[36];
BYTE VendorIdentification[8];
BYTE ProductIdentification[16];
BYTE SerialNumber[32];
} CHANGER_ELEMENT_STATUS_EX,*PCHANGER_ELEMENT_STATUS_EX;
typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS {
CHANGER_ELEMENT_LIST ElementList;
BOOLEAN BarCodeScan;
} CHANGER_INITIALIZE_ELEMENT_STATUS,*PCHANGER_INITIALIZE_ELEMENT_STATUS;
typedef struct _CHANGER_SET_POSITION {
CHANGER_ELEMENT Transport;
CHANGER_ELEMENT Destination;
BOOLEAN Flip;
} CHANGER_SET_POSITION,*PCHANGER_SET_POSITION;
typedef struct _CHANGER_EXCHANGE_MEDIUM {
CHANGER_ELEMENT Transport;
CHANGER_ELEMENT Source;
CHANGER_ELEMENT Destination1;
CHANGER_ELEMENT Destination2;
BOOLEAN Flip1;
BOOLEAN Flip2;
} CHANGER_EXCHANGE_MEDIUM,*PCHANGER_EXCHANGE_MEDIUM;
typedef struct _CHANGER_MOVE_MEDIUM {
CHANGER_ELEMENT Transport;
CHANGER_ELEMENT Source;
CHANGER_ELEMENT Destination;
BOOLEAN Flip;
} CHANGER_MOVE_MEDIUM,*PCHANGER_MOVE_MEDIUM;
typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION {
CHANGER_ELEMENT StartingElement;
DWORD ActionCode;
BYTE VolumeIDTemplate[40];
} CHANGER_SEND_VOLUME_TAG_INFORMATION,*PCHANGER_SEND_VOLUME_TAG_INFORMATION;
typedef struct _READ_ELEMENT_ADDRESS_INFO {
DWORD NumberOfElements;
CHANGER_ELEMENT_STATUS ElementStatus[1];
} READ_ELEMENT_ADDRESS_INFO,*PREAD_ELEMENT_ADDRESS_INFO;
typedef enum _CHANGER_DEVICE_PROBLEM_TYPE {
DeviceProblemNone,DeviceProblemHardware,DeviceProblemCHMError,DeviceProblemDoorOpen,DeviceProblemCalibrationError,DeviceProblemTargetFailure,
DeviceProblemCHMMoveError,DeviceProblemCHMZeroError,DeviceProblemCartridgeInsertError,DeviceProblemPositionError,DeviceProblemSensorError,
DeviceProblemCartridgeEjectError,DeviceProblemGripperError,DeviceProblemDriveError
} CHANGER_DEVICE_PROBLEM_TYPE,*PCHANGER_DEVICE_PROBLEM_TYPE;
typedef struct _PATHNAME_BUFFER {
DWORD PathNameLength;
WCHAR Name[1];
} PATHNAME_BUFFER,*PPATHNAME_BUFFER;
typedef struct _FSCTL_QUERY_FAT_BPB_BUFFER {
BYTE First0x24BytesOfBootSector[0x24];
} FSCTL_QUERY_FAT_BPB_BUFFER,*PFSCTL_QUERY_FAT_BPB_BUFFER;
typedef struct {
LARGE_INTEGER VolumeSerialNumber;
LARGE_INTEGER NumberSectors;
LARGE_INTEGER TotalClusters;
LARGE_INTEGER FreeClusters;
LARGE_INTEGER TotalReserved;
DWORD BytesPerSector;
DWORD BytesPerCluster;
DWORD BytesPerFileRecordSegment;
DWORD ClustersPerFileRecordSegment;
LARGE_INTEGER MftValidDataLength;
LARGE_INTEGER MftStartLcn;
LARGE_INTEGER Mft2StartLcn;
LARGE_INTEGER MftZoneStart;
LARGE_INTEGER MftZoneEnd;
} NTFS_VOLUME_DATA_BUFFER,*PNTFS_VOLUME_DATA_BUFFER;
typedef struct {
DWORD ByteCount;
WORD MajorVersion;
WORD MinorVersion;
} NTFS_EXTENDED_VOLUME_DATA,*PNTFS_EXTENDED_VOLUME_DATA;
typedef struct {
LARGE_INTEGER StartingLcn;
} STARTING_LCN_INPUT_BUFFER,*PSTARTING_LCN_INPUT_BUFFER;
typedef struct {
LARGE_INTEGER StartingLcn;
LARGE_INTEGER BitmapSize;
BYTE Buffer[1];
} VOLUME_BITMAP_BUFFER,*PVOLUME_BITMAP_BUFFER;
typedef struct {
LARGE_INTEGER StartingVcn;
} STARTING_VCN_INPUT_BUFFER,*PSTARTING_VCN_INPUT_BUFFER;
typedef struct RETRIEVAL_POINTERS_BUFFER {
DWORD ExtentCount;
LARGE_INTEGER StartingVcn;
struct {
LARGE_INTEGER NextVcn;
LARGE_INTEGER Lcn;
} Extents[1];
} RETRIEVAL_POINTERS_BUFFER,*PRETRIEVAL_POINTERS_BUFFER;
typedef struct {
LARGE_INTEGER FileReferenceNumber;
} NTFS_FILE_RECORD_INPUT_BUFFER,*PNTFS_FILE_RECORD_INPUT_BUFFER;
typedef struct {
LARGE_INTEGER FileReferenceNumber;
DWORD FileRecordLength;
BYTE FileRecordBuffer[1];
} NTFS_FILE_RECORD_OUTPUT_BUFFER,*PNTFS_FILE_RECORD_OUTPUT_BUFFER;
typedef struct {
HANDLE FileHandle;
LARGE_INTEGER StartingVcn;
LARGE_INTEGER StartingLcn;
DWORD ClusterCount;
} MOVE_FILE_DATA,*PMOVE_FILE_DATA;
typedef struct _MOVE_FILE_DATA32 {
UINT32 FileHandle;
LARGE_INTEGER StartingVcn;
LARGE_INTEGER StartingLcn;
DWORD ClusterCount;
} MOVE_FILE_DATA32,*PMOVE_FILE_DATA32;
typedef struct {
DWORD Restart;
SID Sid;
} FIND_BY_SID_DATA,*PFIND_BY_SID_DATA;
typedef struct {
DWORD NextEntryOffset;
DWORD FileIndex;
DWORD FileNameLength;
WCHAR FileName[1];
} FIND_BY_SID_OUTPUT,*PFIND_BY_SID_OUTPUT;
typedef struct {
DWORDLONG StartFileReferenceNumber;
USN LowUsn;
USN HighUsn;
} MFT_ENUM_DATA,*PMFT_ENUM_DATA;
typedef struct {
DWORDLONG MaximumSize;
DWORDLONG AllocationDelta;
} CREATE_USN_JOURNAL_DATA,*PCREATE_USN_JOURNAL_DATA;
typedef struct {
USN StartUsn;
DWORD ReasonMask;
DWORD ReturnOnlyOnClose;
DWORDLONG Timeout;
DWORDLONG BytesToWaitFor;
DWORDLONG UsnJournalID;
} READ_USN_JOURNAL_DATA,*PREAD_USN_JOURNAL_DATA;
typedef struct {
DWORD RecordLength;
WORD MajorVersion;
WORD MinorVersion;
DWORDLONG FileReferenceNumber;
DWORDLONG ParentFileReferenceNumber;
USN Usn;
LARGE_INTEGER TimeStamp;
DWORD Reason;
DWORD SourceInfo;
DWORD SecurityId;
DWORD FileAttributes;
WORD FileNameLength;
WORD FileNameOffset;
WCHAR FileName[1];
} USN_RECORD,*PUSN_RECORD;
typedef struct {
DWORDLONG UsnJournalID;
USN FirstUsn;
USN NextUsn;
USN LowestValidUsn;
USN MaxUsn;
DWORDLONG MaximumSize;
DWORDLONG AllocationDelta;
} USN_JOURNAL_DATA,*PUSN_JOURNAL_DATA;
typedef struct {
DWORDLONG UsnJournalID;
DWORD DeleteFlags;
} DELETE_USN_JOURNAL_DATA,*PDELETE_USN_JOURNAL_DATA;
typedef struct {
DWORD UsnSourceInfo;
HANDLE VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO,*PMARK_HANDLE_INFO;
typedef struct {
DWORD UsnSourceInfo;
UINT32 VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO32,*PMARK_HANDLE_INFO32;
typedef struct {
ACCESS_MASK DesiredAccess;
DWORD SecurityIds[1];
} BULK_SECURITY_TEST_DATA,*PBULK_SECURITY_TEST_DATA;
typedef struct _FILE_PREFETCH {
DWORD Type;
DWORD Count;
DWORDLONG Prefetch[1];
} FILE_PREFETCH,*PFILE_PREFETCH;
typedef struct _FILESYSTEM_STATISTICS {
WORD FileSystemType;
WORD Version;
DWORD SizeOfCompleteStructure;
DWORD UserFileReads;
DWORD UserFileReadBytes;
DWORD UserDiskReads;
DWORD UserFileWrites;
DWORD UserFileWriteBytes;
DWORD UserDiskWrites;
DWORD MetaDataReads;
DWORD MetaDataReadBytes;
DWORD MetaDataDiskReads;
DWORD MetaDataWrites;
DWORD MetaDataWriteBytes;
DWORD MetaDataDiskWrites;
} FILESYSTEM_STATISTICS,*PFILESYSTEM_STATISTICS;
typedef struct _FAT_STATISTICS {
DWORD CreateHits;
DWORD SuccessfulCreates;
DWORD FailedCreates;
DWORD NonCachedReads;
DWORD NonCachedReadBytes;
DWORD NonCachedWrites;
DWORD NonCachedWriteBytes;
DWORD NonCachedDiskReads;
DWORD NonCachedDiskWrites;
} FAT_STATISTICS,*PFAT_STATISTICS;
typedef struct _EXFAT_STATISTICS {
DWORD CreateHits;
DWORD SuccessfulCreates;
DWORD FailedCreates;
DWORD NonCachedReads;
DWORD NonCachedReadBytes;
DWORD NonCachedWrites;
DWORD NonCachedWriteBytes;
DWORD NonCachedDiskReads;
DWORD NonCachedDiskWrites;
} EXFAT_STATISTICS, *PEXFAT_STATISTICS;
typedef struct _NTFS_STATISTICS {
DWORD LogFileFullExceptions;
DWORD OtherExceptions;
DWORD MftReads;
DWORD MftReadBytes;
DWORD MftWrites;
DWORD MftWriteBytes;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} MftWritesUserLevel;
WORD MftWritesFlushForLogFileFull;
WORD MftWritesLazyWriter;
WORD MftWritesUserRequest;
DWORD Mft2Writes;
DWORD Mft2WriteBytes;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} Mft2WritesUserLevel;
WORD Mft2WritesFlushForLogFileFull;
WORD Mft2WritesLazyWriter;
WORD Mft2WritesUserRequest;
DWORD RootIndexReads;
DWORD RootIndexReadBytes;
DWORD RootIndexWrites;
DWORD RootIndexWriteBytes;
DWORD BitmapReads;
DWORD BitmapReadBytes;
DWORD BitmapWrites;
DWORD BitmapWriteBytes;
WORD BitmapWritesFlushForLogFileFull;
WORD BitmapWritesLazyWriter;
WORD BitmapWritesUserRequest;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
} BitmapWritesUserLevel;
DWORD MftBitmapReads;
DWORD MftBitmapReadBytes;
DWORD MftBitmapWrites;
DWORD MftBitmapWriteBytes;
WORD MftBitmapWritesFlushForLogFileFull;
WORD MftBitmapWritesLazyWriter;
WORD MftBitmapWritesUserRequest;
struct {
WORD Write;
WORD Create;
WORD SetInfo;
WORD Flush;
} MftBitmapWritesUserLevel;
DWORD UserIndexReads;
DWORD UserIndexReadBytes;
DWORD UserIndexWrites;
DWORD UserIndexWriteBytes;
DWORD LogFileReads;
DWORD LogFileReadBytes;
DWORD LogFileWrites;
DWORD LogFileWriteBytes;
struct {
DWORD Calls;
DWORD Clusters;
DWORD Hints;
DWORD RunsReturned;
DWORD HintsHonored;
DWORD HintsClusters;
DWORD Cache;
DWORD CacheClusters;
DWORD CacheMiss;
DWORD CacheMissClusters;
} Allocate;
} NTFS_STATISTICS,*PNTFS_STATISTICS;
typedef struct _FILE_OBJECTID_BUFFER {
BYTE ObjectId[16];
__extension__ union {
__extension__ struct {
BYTE BirthVolumeId[16];
BYTE BirthObjectId[16];
BYTE DomainId[16];
} ;
BYTE ExtendedInfo[48];
} ;
} FILE_OBJECTID_BUFFER,*PFILE_OBJECTID_BUFFER;
typedef struct _FILE_SET_SPARSE_BUFFER {
BOOLEAN SetSparse;
} FILE_SET_SPARSE_BUFFER,*PFILE_SET_SPARSE_BUFFER;
typedef struct _FILE_ZERO_DATA_INFORMATION {
LARGE_INTEGER FileOffset;
LARGE_INTEGER BeyondFinalZero;
} FILE_ZERO_DATA_INFORMATION,*PFILE_ZERO_DATA_INFORMATION;
typedef struct _FILE_ALLOCATED_RANGE_BUFFER {
LARGE_INTEGER FileOffset;
LARGE_INTEGER Length;
} FILE_ALLOCATED_RANGE_BUFFER,*PFILE_ALLOCATED_RANGE_BUFFER;
typedef struct _ENCRYPTION_BUFFER {
DWORD EncryptionOperation;
BYTE Private[1];
} ENCRYPTION_BUFFER,*PENCRYPTION_BUFFER;
typedef struct _DECRYPTION_STATUS_BUFFER {
BOOLEAN NoEncryptedStreams;
} DECRYPTION_STATUS_BUFFER,*PDECRYPTION_STATUS_BUFFER;
typedef struct _REQUEST_RAW_ENCRYPTED_DATA {
LONGLONG FileOffset;
DWORD Length;
} REQUEST_RAW_ENCRYPTED_DATA,*PREQUEST_RAW_ENCRYPTED_DATA;
typedef struct _ENCRYPTED_DATA_INFO {
DWORDLONG StartingFileOffset;
DWORD OutputBufferOffset;
DWORD BytesWithinFileSize;
DWORD BytesWithinValidDataLength;
WORD CompressionFormat;
BYTE DataUnitShift;
BYTE ChunkShift;
BYTE ClusterShift;
BYTE EncryptionFormat;
WORD NumberOfDataBlocks;
DWORD DataBlockSize[1];
} ENCRYPTED_DATA_INFO;
typedef ENCRYPTED_DATA_INFO *PENCRYPTED_DATA_INFO;
typedef struct _PLEX_READ_DATA_REQUEST {
LARGE_INTEGER ByteOffset;
DWORD ByteLength;
DWORD PlexNumber;
} PLEX_READ_DATA_REQUEST,*PPLEX_READ_DATA_REQUEST;
typedef struct _SI_COPYFILE {
DWORD SourceFileNameLength;
DWORD DestinationFileNameLength;
DWORD Flags;
WCHAR FileNameBuffer[1];
} SI_COPYFILE,*PSI_COPYFILE;
typedef struct _STORAGE_DESCRIPTOR_HEADER {
DWORD Version;
DWORD Size;
} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
typedef enum _STORAGE_PROPERTY_ID {
StorageDeviceProperty = 0,
StorageAdapterProperty = 1,
StorageDeviceIdProperty = 2,
StorageDeviceUniqueIdProperty = 3,
StorageDeviceWriteCacheProperty = 4,
StorageMiniportProperty = 5,
StorageAccessAlignmentProperty = 6,
StorageDeviceSeekPenaltyProperty = 7,
StorageDeviceTrimProperty = 8
} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
typedef enum _STORAGE_QUERY_TYPE {
PropertyStandardQuery = 0,
PropertyExistsQuery = 1,
PropertyMaskQuery = 2,
PropertyQueryMaxDefined = 3
} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
typedef struct _STORAGE_PROPERTY_QUERY {
STORAGE_PROPERTY_ID PropertyId;
STORAGE_QUERY_TYPE QueryType;
BYTE AdditionalParameters[1];
} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
typedef struct _STORAGE_DEVICE_DESCRIPTOR {
DWORD Version;
DWORD Size;
BYTE DeviceType;
BYTE DeviceTypeModifier;
BOOLEAN RemovableMedia;
BOOLEAN CommandQueueing;
DWORD VendorIdOffset;
DWORD ProductIdOffset;
DWORD ProductRevisionOffset;
DWORD SerialNumberOffset;
STORAGE_BUS_TYPE BusType;
DWORD RawPropertiesLength;
BYTE RawDeviceProperties[1];
} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
DWORD Version;
DWORD Size;
DWORD MaximumTransferLength;
DWORD MaximumPhysicalPages;
DWORD AlignmentMask;
BOOLEAN AdapterUsesPio;
BOOLEAN AdapterScansDown;
BOOLEAN CommandQueueing;
BOOLEAN AcceleratedTransfer;
BYTE BusType;
WORD BusMajorVersion;
WORD BusMinorVersion;
} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {
DWORD Version;
DWORD Size;
DWORD NumberOfIdentifiers;
BYTE Identifiers[1];
} STORAGE_DEVICE_ID_DESCRIPTOR, *PSTORAGE_DEVICE_ID_DESCRIPTOR;
typedef struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION {
ULONGLONG GptAttributes;
} VOLUME_GET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION;
typedef struct _DISK_EXTENT {
DWORD DiskNumber;
LARGE_INTEGER StartingOffset;
LARGE_INTEGER ExtentLength;
} DISK_EXTENT,*PDISK_EXTENT;
typedef struct _VOLUME_DISK_EXTENTS {
DWORD NumberOfDiskExtents;
DISK_EXTENT Extents[1];
} VOLUME_DISK_EXTENTS,*PVOLUME_DISK_EXTENTS;
typedef WORD UWORD;
typedef struct _SCARD_IO_REQUEST {
DWORD dwProtocol;
DWORD cbPciLength;
} SCARD_IO_REQUEST,*PSCARD_IO_REQUEST,*LPSCARD_IO_REQUEST;
typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST;
typedef struct {
BYTE
bCla,bIns,bP1,bP2,bP3;
} SCARD_T0_COMMAND,*LPSCARD_T0_COMMAND;
typedef struct {
SCARD_IO_REQUEST ioRequest;
BYTE bSw1,bSw2;
__extension__ union {
SCARD_T0_COMMAND CmdBytes;
BYTE rgbHeader[5];
};
} SCARD_T0_REQUEST;
typedef SCARD_T0_REQUEST *PSCARD_T0_REQUEST,*LPSCARD_T0_REQUEST;
typedef struct {
SCARD_IO_REQUEST ioRequest;
} SCARD_T1_REQUEST;
typedef SCARD_T1_REQUEST *PSCARD_T1_REQUEST,*LPSCARD_T1_REQUEST;
typedef const BYTE *LPCBYTE;
__attribute__((dllimport)) extern const SCARD_IO_REQUEST g_rgSCardT0Pci,g_rgSCardT1Pci,g_rgSCardRawPci;
typedef ULONG_PTR SCARDCONTEXT;
typedef SCARDCONTEXT *PSCARDCONTEXT,*LPSCARDCONTEXT;
typedef ULONG_PTR SCARDHANDLE;
typedef SCARDHANDLE *PSCARDHANDLE,*LPSCARDHANDLE;
extern LONG SCardEstablishContext(DWORD dwScope,LPCVOID pvReserved1,LPCVOID pvReserved2,LPSCARDCONTEXT phContext);
extern LONG SCardReleaseContext(SCARDCONTEXT hContext);
extern LONG SCardIsValidContext(SCARDCONTEXT hContext);
extern LONG SCardListReaderGroupsA(SCARDCONTEXT hContext,LPSTR mszGroups,LPDWORD pcchGroups);
extern LONG SCardListReaderGroupsW(SCARDCONTEXT hContext,LPWSTR mszGroups,LPDWORD pcchGroups);
extern LONG SCardListReadersA(SCARDCONTEXT hContext,LPCSTR mszGroups,LPSTR mszReaders,LPDWORD pcchReaders);
extern LONG SCardListReadersW(SCARDCONTEXT hContext,LPCWSTR mszGroups,LPWSTR mszReaders,LPDWORD pcchReaders);
extern LONG SCardListCardsA(SCARDCONTEXT hContext,LPCBYTE pbAtr,LPCGUID rgquidInterfaces,DWORD cguidInterfaceCount,LPSTR mszCards,LPDWORD pcchCards);
extern LONG SCardListCardsW(SCARDCONTEXT hContext,LPCBYTE pbAtr,LPCGUID rgquidInterfaces,DWORD cguidInterfaceCount,LPWSTR mszCards,LPDWORD pcchCards);
extern LONG SCardListInterfacesA(SCARDCONTEXT hContext,LPCSTR szCard,LPGUID pguidInterfaces,LPDWORD pcguidInterfaces);
extern LONG SCardListInterfacesW(SCARDCONTEXT hContext,LPCWSTR szCard,LPGUID pguidInterfaces,LPDWORD pcguidInterfaces);
extern LONG SCardGetProviderIdA(SCARDCONTEXT hContext,LPCSTR szCard,LPGUID pguidProviderId);
extern LONG SCardGetProviderIdW(SCARDCONTEXT hContext,LPCWSTR szCard,LPGUID pguidProviderId);
extern LONG SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,LPCSTR szCardName,DWORD dwProviderId,LPSTR szProvider,LPDWORD pcchProvider);
extern LONG SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,LPCWSTR szCardName,DWORD dwProviderId,LPWSTR szProvider,LPDWORD pcchProvider);
extern LONG SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,LPCSTR szGroupName);
extern LONG SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,LPCWSTR szGroupName);
extern LONG SCardForgetReaderGroupA(SCARDCONTEXT hContext,LPCSTR szGroupName);
extern LONG SCardForgetReaderGroupW(SCARDCONTEXT hContext,LPCWSTR szGroupName);
extern LONG SCardIntroduceReaderA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szDeviceName);
extern LONG SCardIntroduceReaderW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szDeviceName);
extern LONG SCardForgetReaderA(SCARDCONTEXT hContext,LPCSTR szReaderName);
extern LONG SCardForgetReaderW(SCARDCONTEXT hContext,LPCWSTR szReaderName);
extern LONG SCardAddReaderToGroupA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szGroupName);
extern LONG SCardAddReaderToGroupW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szGroupName);
extern LONG SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szGroupName);
extern LONG SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szGroupName);
extern LONG SCardIntroduceCardTypeA(SCARDCONTEXT hContext,LPCSTR szCardName,LPCGUID pguidPrimaryProvider,LPCGUID rgguidInterfaces,DWORD dwInterfaceCount,LPCBYTE pbAtr,LPCBYTE pbAtrMask,DWORD cbAtrLen);
extern LONG SCardIntroduceCardTypeW(SCARDCONTEXT hContext,LPCWSTR szCardName,LPCGUID pguidPrimaryProvider,LPCGUID rgguidInterfaces,DWORD dwInterfaceCount,LPCBYTE pbAtr,LPCBYTE pbAtrMask,DWORD cbAtrLen);
extern LONG SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,LPCSTR szCardName,DWORD dwProviderId,LPCSTR szProvider);
extern LONG SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,LPCWSTR szCardName,DWORD dwProviderId,LPCWSTR szProvider);
extern LONG SCardForgetCardTypeA(SCARDCONTEXT hContext,LPCSTR szCardName);
extern LONG SCardForgetCardTypeW(SCARDCONTEXT hContext,LPCWSTR szCardName);
extern LONG SCardFreeMemory(SCARDCONTEXT hContext,LPCVOID pvMem);
extern HANDLE SCardAccessStartedEvent(void);
extern void SCardReleaseStartedEvent(void);
typedef struct {
LPCSTR szReader;
LPVOID pvUserData;
DWORD dwCurrentState;
DWORD dwEventState;
DWORD cbAtr;
BYTE rgbAtr[36];
} SCARD_READERSTATEA,*PSCARD_READERSTATEA,*LPSCARD_READERSTATEA;
typedef struct {
LPCWSTR szReader;
LPVOID pvUserData;
DWORD dwCurrentState;
DWORD dwEventState;
DWORD cbAtr;
BYTE rgbAtr[36];
} SCARD_READERSTATEW,*PSCARD_READERSTATEW,*LPSCARD_READERSTATEW;
typedef SCARD_READERSTATEA SCARD_READERSTATE;
typedef PSCARD_READERSTATEA PSCARD_READERSTATE;
typedef LPSCARD_READERSTATEA LPSCARD_READERSTATE;
extern LONG SCardLocateCardsA(SCARDCONTEXT hContext,LPCSTR mszCards,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders);
extern LONG SCardLocateCardsW(SCARDCONTEXT hContext,LPCWSTR mszCards,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders);
typedef struct _SCARD_ATRMASK {
DWORD cbAtr;
BYTE rgbAtr[36];
BYTE rgbMask[36];
} SCARD_ATRMASK,*PSCARD_ATRMASK,*LPSCARD_ATRMASK;
extern LONG SCardLocateCardsByATRA(SCARDCONTEXT hContext,LPSCARD_ATRMASK rgAtrMasks,DWORD cAtrs,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders);
extern LONG SCardLocateCardsByATRW(SCARDCONTEXT hContext,LPSCARD_ATRMASK rgAtrMasks,DWORD cAtrs,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders);
extern LONG SCardGetStatusChangeA(SCARDCONTEXT hContext,DWORD dwTimeout,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders);
extern LONG SCardGetStatusChangeW(SCARDCONTEXT hContext,DWORD dwTimeout,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders);
extern LONG SCardCancel(SCARDCONTEXT hContext);
extern LONG SCardConnectA(SCARDCONTEXT hContext,LPCSTR szReader,DWORD dwShareMode,DWORD dwPreferredProtocols,LPSCARDHANDLE phCard,LPDWORD pdwActiveProtocol);
extern LONG SCardConnectW(SCARDCONTEXT hContext,LPCWSTR szReader,DWORD dwShareMode,DWORD dwPreferredProtocols,LPSCARDHANDLE phCard,LPDWORD pdwActiveProtocol);
extern LONG SCardReconnect(SCARDHANDLE hCard,DWORD dwShareMode,DWORD dwPreferredProtocols,DWORD dwInitialization,LPDWORD pdwActiveProtocol);
extern LONG SCardDisconnect(SCARDHANDLE hCard,DWORD dwDisposition);
extern LONG SCardBeginTransaction(SCARDHANDLE hCard);
extern LONG SCardEndTransaction(SCARDHANDLE hCard,DWORD dwDisposition);
extern LONG SCardCancelTransaction(SCARDHANDLE hCard);
extern LONG SCardState(SCARDHANDLE hCard,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen);
extern LONG SCardStatusA(SCARDHANDLE hCard,LPSTR szReaderName,LPDWORD pcchReaderLen,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen);
extern LONG SCardStatusW(SCARDHANDLE hCard,LPWSTR szReaderName,LPDWORD pcchReaderLen,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen);
extern LONG SCardTransmit(SCARDHANDLE hCard,LPCSCARD_IO_REQUEST pioSendPci,LPCBYTE pbSendBuffer,DWORD cbSendLength,LPSCARD_IO_REQUEST pioRecvPci,LPBYTE pbRecvBuffer,LPDWORD pcbRecvLength);
extern LONG SCardControl(SCARDHANDLE hCard,DWORD dwControlCode,LPCVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned);
extern LONG SCardGetAttrib(SCARDHANDLE hCard,DWORD dwAttrId,LPBYTE pbAttr,LPDWORD pcbAttrLen);
extern LONG SCardSetAttrib(SCARDHANDLE hCard,DWORD dwAttrId,LPCBYTE pbAttr,DWORD cbAttrLen);
typedef SCARDHANDLE ( *LPOCNCONNPROCA) (SCARDCONTEXT,LPSTR,LPSTR,PVOID);
typedef SCARDHANDLE ( *LPOCNCONNPROCW) (SCARDCONTEXT,LPWSTR,LPWSTR,PVOID);
typedef WINBOOL ( *LPOCNCHKPROC) (SCARDCONTEXT,SCARDHANDLE,PVOID);
typedef void ( *LPOCNDSCPROC) (SCARDCONTEXT,SCARDHANDLE,PVOID);
typedef struct {
DWORD dwStructSize;
LPSTR lpstrGroupNames;
DWORD nMaxGroupNames;
LPCGUID rgguidInterfaces;
DWORD cguidInterfaces;
LPSTR lpstrCardNames;
DWORD nMaxCardNames;
LPOCNCHKPROC lpfnCheck;
LPOCNCONNPROCA lpfnConnect;
LPOCNDSCPROC lpfnDisconnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
} OPENCARD_SEARCH_CRITERIAA,*POPENCARD_SEARCH_CRITERIAA,*LPOPENCARD_SEARCH_CRITERIAA;
typedef struct {
DWORD dwStructSize;
LPWSTR lpstrGroupNames;
DWORD nMaxGroupNames;
LPCGUID rgguidInterfaces;
DWORD cguidInterfaces;
LPWSTR lpstrCardNames;
DWORD nMaxCardNames;
LPOCNCHKPROC lpfnCheck;
LPOCNCONNPROCW lpfnConnect;
LPOCNDSCPROC lpfnDisconnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
} OPENCARD_SEARCH_CRITERIAW,*POPENCARD_SEARCH_CRITERIAW,*LPOPENCARD_SEARCH_CRITERIAW;
typedef OPENCARD_SEARCH_CRITERIAA OPENCARD_SEARCH_CRITERIA;
typedef POPENCARD_SEARCH_CRITERIAA POPENCARD_SEARCH_CRITERIA;
typedef LPOPENCARD_SEARCH_CRITERIAA LPOPENCARD_SEARCH_CRITERIA;
typedef struct {
DWORD dwStructSize;
SCARDCONTEXT hSCardContext;
HWND hwndOwner;
DWORD dwFlags;
LPCSTR lpstrTitle;
LPCSTR lpstrSearchDesc;
HICON hIcon;
POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria;
LPOCNCONNPROCA lpfnConnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
LPSTR lpstrRdr;
DWORD nMaxRdr;
LPSTR lpstrCard;
DWORD nMaxCard;
DWORD dwActiveProtocol;
SCARDHANDLE hCardHandle;
} OPENCARDNAME_EXA,*POPENCARDNAME_EXA,*LPOPENCARDNAME_EXA;
typedef struct {
DWORD dwStructSize;
SCARDCONTEXT hSCardContext;
HWND hwndOwner;
DWORD dwFlags;
LPCWSTR lpstrTitle;
LPCWSTR lpstrSearchDesc;
HICON hIcon;
POPENCARD_SEARCH_CRITERIAW pOpenCardSearchCriteria;
LPOCNCONNPROCW lpfnConnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
LPWSTR lpstrRdr;
DWORD nMaxRdr;
LPWSTR lpstrCard;
DWORD nMaxCard;
DWORD dwActiveProtocol;
SCARDHANDLE hCardHandle;
} OPENCARDNAME_EXW,*POPENCARDNAME_EXW,*LPOPENCARDNAME_EXW;
typedef OPENCARDNAME_EXA OPENCARDNAME_EX;
typedef POPENCARDNAME_EXA POPENCARDNAME_EX;
typedef LPOPENCARDNAME_EXA LPOPENCARDNAME_EX;
extern LONG SCardUIDlgSelectCardA(LPOPENCARDNAME_EXA);
extern LONG SCardUIDlgSelectCardW(LPOPENCARDNAME_EXW);
typedef struct {
DWORD dwStructSize;
HWND hwndOwner;
SCARDCONTEXT hSCardContext;
LPSTR lpstrGroupNames;
DWORD nMaxGroupNames;
LPSTR lpstrCardNames;
DWORD nMaxCardNames;
LPCGUID rgguidInterfaces;
DWORD cguidInterfaces;
LPSTR lpstrRdr;
DWORD nMaxRdr;
LPSTR lpstrCard;
DWORD nMaxCard;
LPCSTR lpstrTitle;
DWORD dwFlags;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
DWORD dwActiveProtocol;
LPOCNCONNPROCA lpfnConnect;
LPOCNCHKPROC lpfnCheck;
LPOCNDSCPROC lpfnDisconnect;
SCARDHANDLE hCardHandle;
} OPENCARDNAMEA,*POPENCARDNAMEA,*LPOPENCARDNAMEA;
typedef struct {
DWORD dwStructSize;
HWND hwndOwner;
SCARDCONTEXT hSCardContext;
LPWSTR lpstrGroupNames;
DWORD nMaxGroupNames;
LPWSTR lpstrCardNames;
DWORD nMaxCardNames;
LPCGUID rgguidInterfaces;
DWORD cguidInterfaces;
LPWSTR lpstrRdr;
DWORD nMaxRdr;
LPWSTR lpstrCard;
DWORD nMaxCard;
LPCWSTR lpstrTitle;
DWORD dwFlags;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
DWORD dwActiveProtocol;
LPOCNCONNPROCW lpfnConnect;
LPOCNCHKPROC lpfnCheck;
LPOCNDSCPROC lpfnDisconnect;
SCARDHANDLE hCardHandle;
} OPENCARDNAMEW,*POPENCARDNAMEW,*LPOPENCARDNAMEW;
typedef OPENCARDNAMEA OPENCARDNAME;
typedef POPENCARDNAMEA POPENCARDNAME;
typedef LPOPENCARDNAMEA LPOPENCARDNAME;
extern LONG GetOpenCardNameA(LPOPENCARDNAMEA);
extern LONG GetOpenCardNameW(LPOPENCARDNAMEW);
extern LONG SCardDlgExtendedError(void);
#pragma pack(push,8)
struct _PSP;
struct _PROPSHEETPAGEA;
struct _PROPSHEETPAGEW;
typedef struct _PSP *HPROPSHEETPAGE;
typedef UINT ( *LPFNPSPCALLBACKA)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEA *ppsp);
typedef UINT ( *LPFNPSPCALLBACKW)(HWND hwnd,UINT uMsg,struct _PROPSHEETPAGEW *ppsp);
typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
typedef struct _PROPSHEETPAGEA_V1 {
DWORD dwSize,dwFlags; HINSTANCE hInstance; __extension__ union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
} PROPSHEETPAGEA_V1,*LPPROPSHEETPAGEA_V1;
typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1;
typedef struct _PROPSHEETPAGEA_V2 {
DWORD dwSize,dwFlags; HINSTANCE hInstance; __extension__ union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
LPCSTR pszHeaderTitle;
LPCSTR pszHeaderSubTitle;
} PROPSHEETPAGEA_V2,*LPPROPSHEETPAGEA_V2;
typedef const PROPSHEETPAGEA_V2 *LPCPROPSHEETPAGEA_V2;
typedef struct _PROPSHEETPAGEA {
DWORD dwSize,dwFlags; HINSTANCE hInstance; __extension__ union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
LPCSTR pszHeaderTitle;
LPCSTR pszHeaderSubTitle;
HANDLE hActCtx;
} PROPSHEETPAGEA_V3,*LPPROPSHEETPAGEA_V3;
typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3;
typedef struct _PROPSHEETPAGEW_V1 {
DWORD dwSize, dwFlags; HINSTANCE hInstance; __extension__ union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
} PROPSHEETPAGEW_V1,*LPPROPSHEETPAGEW_V1;
typedef const PROPSHEETPAGEW_V1 *LPCPROPSHEETPAGEW_V1;
typedef struct _PROPSHEETPAGEW_V2 {
DWORD dwSize, dwFlags; HINSTANCE hInstance; __extension__ union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
LPCWSTR pszHeaderTitle;
LPCWSTR pszHeaderSubTitle;
} PROPSHEETPAGEW_V2,*LPPROPSHEETPAGEW_V2;
typedef const PROPSHEETPAGEW_V2 *LPCPROPSHEETPAGEW_V2;
typedef struct _PROPSHEETPAGEW {
DWORD dwSize, dwFlags; HINSTANCE hInstance; __extension__ union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; __extension__ union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
LPCWSTR pszHeaderTitle;
LPCWSTR pszHeaderSubTitle;
HANDLE hActCtx;
} PROPSHEETPAGEW_V3,*LPPROPSHEETPAGEW_V3;
typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3;
typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST;
typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST;
typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST;
typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST;
typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
typedef PROPSHEETPAGEA_V3 PROPSHEETPAGEA;
typedef PROPSHEETPAGEW_V3 PROPSHEETPAGEW;
typedef LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA;
typedef LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW;
typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
typedef int ( *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
typedef struct _PROPSHEETHEADERA {
DWORD dwSize;
DWORD dwFlags;
HWND hwndParent;
HINSTANCE hInstance;
__extension__ union {
HICON hIcon;
LPCSTR pszIcon;
} ;
LPCSTR pszCaption;
UINT nPages;
__extension__ union {
UINT nStartPage;
LPCSTR pStartPage;
} ;
__extension__ union {
LPCPROPSHEETPAGEA ppsp;
HPROPSHEETPAGE *phpage;
} ;
PFNPROPSHEETCALLBACK pfnCallback;
__extension__ union {
HBITMAP hbmWatermark;
LPCSTR pszbmWatermark;
} ;
HPALETTE hplWatermark;
__extension__ union {
HBITMAP hbmHeader;
LPCSTR pszbmHeader;
} ;
} PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
typedef struct _PROPSHEETHEADERW {
DWORD dwSize;
DWORD dwFlags;
HWND hwndParent;
HINSTANCE hInstance;
__extension__ union {
HICON hIcon;
LPCWSTR pszIcon;
} ;
LPCWSTR pszCaption;
UINT nPages;
__extension__ union {
UINT nStartPage;
LPCWSTR pStartPage;
} ;
__extension__ union {
LPCPROPSHEETPAGEW ppsp;
HPROPSHEETPAGE *phpage;
} ;
PFNPROPSHEETCALLBACK pfnCallback;
__extension__ union {
HBITMAP hbmWatermark;
LPCWSTR pszbmWatermark;
} ;
HPALETTE hplWatermark;
__extension__ union {
HBITMAP hbmHeader;
LPCWSTR pszbmHeader;
} ;
} PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
__attribute__((dllimport)) HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
__attribute__((dllimport)) HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
__attribute__((dllimport)) WINBOOL DestroyPropertySheetPage(HPROPSHEETPAGE);
__attribute__((dllimport)) INT_PTR PropertySheetA(LPCPROPSHEETHEADERA);
__attribute__((dllimport)) INT_PTR PropertySheetW(LPCPROPSHEETHEADERW);
typedef WINBOOL ( *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
typedef WINBOOL ( *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
typedef struct _PSHNOTIFY {
NMHDR hdr;
LPARAM lParam;
} PSHNOTIFY,*LPPSHNOTIFY;
#pragma pack(pop)
typedef struct _PRINTER_INFO_1A {
DWORD Flags;
LPSTR pDescription;
LPSTR pName;
LPSTR pComment;
} PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A;
typedef struct _PRINTER_INFO_1W {
DWORD Flags;
LPWSTR pDescription;
LPWSTR pName;
LPWSTR pComment;
} PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W;
typedef PRINTER_INFO_1A PRINTER_INFO_1;
typedef PPRINTER_INFO_1A PPRINTER_INFO_1;
typedef LPPRINTER_INFO_1A LPPRINTER_INFO_1;
typedef struct _PRINTER_INFO_2A {
LPSTR pServerName;
LPSTR pPrinterName;
LPSTR pShareName;
LPSTR pPortName;
LPSTR pDriverName;
LPSTR pComment;
LPSTR pLocation;
LPDEVMODEA pDevMode;
LPSTR pSepFile;
LPSTR pPrintProcessor;
LPSTR pDatatype;
LPSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A;
typedef struct _PRINTER_INFO_2W {
LPWSTR pServerName;
LPWSTR pPrinterName;
LPWSTR pShareName;
LPWSTR pPortName;
LPWSTR pDriverName;
LPWSTR pComment;
LPWSTR pLocation;
LPDEVMODEW pDevMode;
LPWSTR pSepFile;
LPWSTR pPrintProcessor;
LPWSTR pDatatype;
LPWSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W;
typedef PRINTER_INFO_2A PRINTER_INFO_2;
typedef PPRINTER_INFO_2A PPRINTER_INFO_2;
typedef LPPRINTER_INFO_2A LPPRINTER_INFO_2;
typedef struct _PRINTER_INFO_3 {
PSECURITY_DESCRIPTOR pSecurityDescriptor;
} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
typedef struct _PRINTER_INFO_4A {
LPSTR pPrinterName;
LPSTR pServerName;
DWORD Attributes;
} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
typedef struct _PRINTER_INFO_4W {
LPWSTR pPrinterName;
LPWSTR pServerName;
DWORD Attributes;
} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
typedef PRINTER_INFO_4A PRINTER_INFO_4;
typedef PPRINTER_INFO_4A PPRINTER_INFO_4;
typedef LPPRINTER_INFO_4A LPPRINTER_INFO_4;
typedef struct _PRINTER_INFO_5A {
LPSTR pPrinterName;
LPSTR pPortName;
DWORD Attributes;
DWORD DeviceNotSelectedTimeout;
DWORD TransmissionRetryTimeout;
} PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A;
typedef struct _PRINTER_INFO_5W {
LPWSTR pPrinterName;
LPWSTR pPortName;
DWORD Attributes;
DWORD DeviceNotSelectedTimeout;
DWORD TransmissionRetryTimeout;
} PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W;
typedef PRINTER_INFO_5A PRINTER_INFO_5;
typedef PPRINTER_INFO_5A PPRINTER_INFO_5;
typedef LPPRINTER_INFO_5A LPPRINTER_INFO_5;
typedef struct _PRINTER_INFO_6 {
DWORD dwStatus;
} PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
typedef struct _PRINTER_INFO_7A {
LPSTR pszObjectGUID;
DWORD dwAction;
} PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A;
typedef struct _PRINTER_INFO_7W {
LPWSTR pszObjectGUID;
DWORD dwAction;
} PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W;
typedef PRINTER_INFO_7A PRINTER_INFO_7;
typedef PPRINTER_INFO_7A PPRINTER_INFO_7;
typedef LPPRINTER_INFO_7A LPPRINTER_INFO_7;
typedef struct _PRINTER_INFO_8A {
LPDEVMODEA pDevMode;
} PRINTER_INFO_8A,*PPRINTER_INFO_8A,*LPPRINTER_INFO_8A;
typedef struct _PRINTER_INFO_8W {
LPDEVMODEW pDevMode;
} PRINTER_INFO_8W,*PPRINTER_INFO_8W,*LPPRINTER_INFO_8W;
typedef PRINTER_INFO_8A PRINTER_INFO_8;
typedef PPRINTER_INFO_8A PPRINTER_INFO_8;
typedef LPPRINTER_INFO_8A LPPRINTER_INFO_8;
typedef struct _PRINTER_INFO_9A {
LPDEVMODEA pDevMode;
} PRINTER_INFO_9A,*PPRINTER_INFO_9A,*LPPRINTER_INFO_9A;
typedef struct _PRINTER_INFO_9W {
LPDEVMODEW pDevMode;
} PRINTER_INFO_9W,*PPRINTER_INFO_9W,*LPPRINTER_INFO_9W;
typedef PRINTER_INFO_9A PRINTER_INFO_9;
typedef PPRINTER_INFO_9A PPRINTER_INFO_9;
typedef LPPRINTER_INFO_9A LPPRINTER_INFO_9;
typedef struct _JOB_INFO_1A {
DWORD JobId;
LPSTR pPrinterName;
LPSTR pMachineName;
LPSTR pUserName;
LPSTR pDocument;
LPSTR pDatatype;
LPSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
typedef struct _JOB_INFO_1W {
DWORD JobId;
LPWSTR pPrinterName;
LPWSTR pMachineName;
LPWSTR pUserName;
LPWSTR pDocument;
LPWSTR pDatatype;
LPWSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
typedef JOB_INFO_1A JOB_INFO_1;
typedef PJOB_INFO_1A PJOB_INFO_1;
typedef LPJOB_INFO_1A LPJOB_INFO_1;
typedef struct _JOB_INFO_2A {
DWORD JobId;
LPSTR pPrinterName;
LPSTR pMachineName;
LPSTR pUserName;
LPSTR pDocument;
LPSTR pNotifyName;
LPSTR pDatatype;
LPSTR pPrintProcessor;
LPSTR pParameters;
LPSTR pDriverName;
LPDEVMODEA pDevMode;
LPSTR pStatus;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD StartTime;
DWORD UntilTime;
DWORD TotalPages;
DWORD Size;
SYSTEMTIME Submitted;
DWORD Time;
DWORD PagesPrinted;
} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
typedef struct _JOB_INFO_2W {
DWORD JobId;
LPWSTR pPrinterName;
LPWSTR pMachineName;
LPWSTR pUserName;
LPWSTR pDocument;
LPWSTR pNotifyName;
LPWSTR pDatatype;
LPWSTR pPrintProcessor;
LPWSTR pParameters;
LPWSTR pDriverName;
LPDEVMODEW pDevMode;
LPWSTR pStatus;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD StartTime;
DWORD UntilTime;
DWORD TotalPages;
DWORD Size;
SYSTEMTIME Submitted;
DWORD Time;
DWORD PagesPrinted;
} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
typedef JOB_INFO_2A JOB_INFO_2;
typedef PJOB_INFO_2A PJOB_INFO_2;
typedef LPJOB_INFO_2A LPJOB_INFO_2;
typedef struct _JOB_INFO_3 {
DWORD JobId;
DWORD NextJobId;
DWORD Reserved;
} JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3;
typedef struct _ADDJOB_INFO_1A {
LPSTR Path;
DWORD JobId;
} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
typedef struct _ADDJOB_INFO_1W {
LPWSTR Path;
DWORD JobId;
} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
typedef ADDJOB_INFO_1A ADDJOB_INFO_1;
typedef PADDJOB_INFO_1A PADDJOB_INFO_1;
typedef LPADDJOB_INFO_1A LPADDJOB_INFO_1;
typedef struct _DRIVER_INFO_1A {
LPSTR pName;
} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
typedef struct _DRIVER_INFO_1W {
LPWSTR pName;
} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
typedef DRIVER_INFO_1A DRIVER_INFO_1;
typedef PDRIVER_INFO_1A PDRIVER_INFO_1;
typedef LPDRIVER_INFO_1A LPDRIVER_INFO_1;
typedef struct _DRIVER_INFO_2A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
typedef struct _DRIVER_INFO_2W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
typedef DRIVER_INFO_2A DRIVER_INFO_2;
typedef PDRIVER_INFO_2A PDRIVER_INFO_2;
typedef LPDRIVER_INFO_2A LPDRIVER_INFO_2;
typedef struct _DRIVER_INFO_3A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
LPSTR pHelpFile;
LPSTR pDependentFiles;
LPSTR pMonitorName;
LPSTR pDefaultDataType;
} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
typedef struct _DRIVER_INFO_3W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
LPWSTR pHelpFile;
LPWSTR pDependentFiles;
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
typedef DRIVER_INFO_3A DRIVER_INFO_3;
typedef PDRIVER_INFO_3A PDRIVER_INFO_3;
typedef LPDRIVER_INFO_3A LPDRIVER_INFO_3;
typedef struct _DRIVER_INFO_4A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
LPSTR pHelpFile;
LPSTR pDependentFiles;
LPSTR pMonitorName;
LPSTR pDefaultDataType;
LPSTR pszzPreviousNames;
} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
typedef struct _DRIVER_INFO_4W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
LPWSTR pHelpFile;
LPWSTR pDependentFiles;
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
LPWSTR pszzPreviousNames;
} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
typedef DRIVER_INFO_4A DRIVER_INFO_4;
typedef PDRIVER_INFO_4A PDRIVER_INFO_4;
typedef LPDRIVER_INFO_4A LPDRIVER_INFO_4;
typedef struct _DRIVER_INFO_5A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
DWORD dwDriverAttributes;
DWORD dwConfigVersion;
DWORD dwDriverVersion;
} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
typedef struct _DRIVER_INFO_5W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
DWORD dwDriverAttributes;
DWORD dwConfigVersion;
DWORD dwDriverVersion;
} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
typedef DRIVER_INFO_5A DRIVER_INFO_5;
typedef PDRIVER_INFO_5A PDRIVER_INFO_5;
typedef LPDRIVER_INFO_5A LPDRIVER_INFO_5;
typedef struct _DRIVER_INFO_6A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
LPSTR pHelpFile;
LPSTR pDependentFiles;
LPSTR pMonitorName;
LPSTR pDefaultDataType;
LPSTR pszzPreviousNames;
FILETIME ftDriverDate;
DWORDLONG dwlDriverVersion;
LPSTR pszMfgName;
LPSTR pszOEMUrl;
LPSTR pszHardwareID;
LPSTR pszProvider;
} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
typedef struct _DRIVER_INFO_6W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
LPWSTR pHelpFile;
LPWSTR pDependentFiles;
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
LPWSTR pszzPreviousNames;
FILETIME ftDriverDate;
DWORDLONG dwlDriverVersion;
LPWSTR pszMfgName;
LPWSTR pszOEMUrl;
LPWSTR pszHardwareID;
LPWSTR pszProvider;
} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
typedef DRIVER_INFO_6A DRIVER_INFO_6;
typedef PDRIVER_INFO_6A PDRIVER_INFO_6;
typedef LPDRIVER_INFO_6A LPDRIVER_INFO_6;
typedef struct _DOC_INFO_1A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
typedef struct _DOC_INFO_1W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
typedef DOC_INFO_1A DOC_INFO_1;
typedef PDOC_INFO_1A PDOC_INFO_1;
typedef LPDOC_INFO_1A LPDOC_INFO_1;
typedef struct _FORM_INFO_1A {
DWORD Flags;
LPSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
typedef struct _FORM_INFO_1W {
DWORD Flags;
LPWSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
typedef FORM_INFO_1A FORM_INFO_1;
typedef PFORM_INFO_1A PFORM_INFO_1;
typedef LPFORM_INFO_1A LPFORM_INFO_1;
typedef struct _DOC_INFO_2A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
typedef struct _DOC_INFO_2W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
typedef DOC_INFO_2A DOC_INFO_2;
typedef PDOC_INFO_2A PDOC_INFO_2;
typedef LPDOC_INFO_2A LPDOC_INFO_2;
typedef struct _DOC_INFO_3A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
DWORD dwFlags;
} DOC_INFO_3A,*PDOC_INFO_3A,*LPDOC_INFO_3A;
typedef struct _DOC_INFO_3W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
DWORD dwFlags;
} DOC_INFO_3W,*PDOC_INFO_3W,*LPDOC_INFO_3W;
typedef DOC_INFO_3A DOC_INFO_3;
typedef PDOC_INFO_3A PDOC_INFO_3;
typedef LPDOC_INFO_3A LPDOC_INFO_3;
typedef struct _PRINTPROCESSOR_INFO_1A {
LPSTR pName;
} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
typedef struct _PRINTPROCESSOR_INFO_1W {
LPWSTR pName;
} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1;
typedef PPRINTPROCESSOR_INFO_1A PPRINTPROCESSOR_INFO_1;
typedef LPPRINTPROCESSOR_INFO_1A LPPRINTPROCESSOR_INFO_1;
typedef struct _PRINTPROCESSOR_CAPS_1 {
DWORD dwLevel;
DWORD dwNupOptions;
DWORD dwPageOrderFlags;
DWORD dwNumberOfCopies;
} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1;
typedef struct _PORT_INFO_1A {
LPSTR pName;
} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
typedef struct _PORT_INFO_1W {
LPWSTR pName;
} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
typedef PORT_INFO_1A PORT_INFO_1;
typedef PPORT_INFO_1A PPORT_INFO_1;
typedef LPPORT_INFO_1A LPPORT_INFO_1;
typedef struct _PORT_INFO_2A {
LPSTR pPortName;
LPSTR pMonitorName;
LPSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
typedef struct _PORT_INFO_2W {
LPWSTR pPortName;
LPWSTR pMonitorName;
LPWSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
typedef PORT_INFO_2A PORT_INFO_2;
typedef PPORT_INFO_2A PPORT_INFO_2;
typedef LPPORT_INFO_2A LPPORT_INFO_2;
typedef struct _PORT_INFO_3A {
DWORD dwStatus;
LPSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
typedef struct _PORT_INFO_3W {
DWORD dwStatus;
LPWSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
typedef PORT_INFO_3A PORT_INFO_3;
typedef PPORT_INFO_3A PPORT_INFO_3;
typedef LPPORT_INFO_3A LPPORT_INFO_3;
typedef struct _MONITOR_INFO_1A{
LPSTR pName;
} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
typedef struct _MONITOR_INFO_1W{
LPWSTR pName;
} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
typedef MONITOR_INFO_1A MONITOR_INFO_1;
typedef PMONITOR_INFO_1A PMONITOR_INFO_1;
typedef LPMONITOR_INFO_1A LPMONITOR_INFO_1;
typedef struct _MONITOR_INFO_2A {
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDLLName;
} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
typedef struct _MONITOR_INFO_2W {
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDLLName;
} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
typedef MONITOR_INFO_2A MONITOR_INFO_2;
typedef PMONITOR_INFO_2A PMONITOR_INFO_2;
typedef LPMONITOR_INFO_2A LPMONITOR_INFO_2;
typedef struct _DATATYPES_INFO_1A {
LPSTR pName;
} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
typedef struct _DATATYPES_INFO_1W {
LPWSTR pName;
} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
typedef DATATYPES_INFO_1A DATATYPES_INFO_1;
typedef PDATATYPES_INFO_1A PDATATYPES_INFO_1;
typedef LPDATATYPES_INFO_1A LPDATATYPES_INFO_1;
typedef struct _PRINTER_DEFAULTSA {
LPSTR pDatatype;
LPDEVMODEA pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
typedef struct _PRINTER_DEFAULTSW {
LPWSTR pDatatype;
LPDEVMODEW pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS;
typedef PPRINTER_DEFAULTSA PPRINTER_DEFAULTS;
typedef LPPRINTER_DEFAULTSA LPPRINTER_DEFAULTS;
typedef struct _PRINTER_ENUM_VALUESA {
LPSTR pValueName;
DWORD cbValueName;
DWORD dwType;
LPBYTE pData;
DWORD cbData;
} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPPRINTER_ENUM_VALUESA;
typedef struct _PRINTER_ENUM_VALUESW {
LPWSTR pValueName;
DWORD cbValueName;
DWORD dwType;
LPBYTE pData;
DWORD cbData;
} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPPRINTER_ENUM_VALUESW;
typedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES;
typedef PPRINTER_ENUM_VALUESA PPRINTER_ENUM_VALUES;
typedef LPPRINTER_ENUM_VALUESA LPPRINTER_ENUM_VALUES;
WINBOOL EnumPrintersA(DWORD Flags,LPSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumPrintersW(DWORD Flags,LPWSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL OpenPrinterA(LPSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSA pDefault);
WINBOOL OpenPrinterW(LPWSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSW pDefault);
WINBOOL ResetPrinterA(HANDLE hPrinter,LPPRINTER_DEFAULTSA pDefault);
WINBOOL ResetPrinterW(HANDLE hPrinter,LPPRINTER_DEFAULTSW pDefault);
WINBOOL SetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command);
WINBOOL SetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command);
WINBOOL GetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL EnumJobsA(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumJobsW(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
HANDLE AddPrinterA(LPSTR pName,DWORD Level,LPBYTE pPrinter);
HANDLE AddPrinterW(LPWSTR pName,DWORD Level,LPBYTE pPrinter);
WINBOOL DeletePrinter(HANDLE hPrinter);
WINBOOL SetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command);
WINBOOL SetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command);
WINBOOL GetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL AddPrinterDriverA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo);
WINBOOL AddPrinterDriverW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo);
WINBOOL AddPrinterDriverExA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags);
WINBOOL AddPrinterDriverExW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags);
WINBOOL EnumPrinterDriversA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumPrinterDriversW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL GetPrinterDriverA(HANDLE hPrinter,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetPrinterDriverW(HANDLE hPrinter,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetPrinterDriverDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetPrinterDriverDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL DeletePrinterDriverA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName);
WINBOOL DeletePrinterDriverW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName);
WINBOOL DeletePrinterDriverExA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag);
WINBOOL DeletePrinterDriverExW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag);
WINBOOL AddPrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPathName,LPSTR pPrintProcessorName);
WINBOOL AddPrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPathName,LPWSTR pPrintProcessorName);
WINBOOL EnumPrintProcessorsA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumPrintProcessorsW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL GetPrintProcessorDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetPrintProcessorDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL EnumPrintProcessorDatatypesA(LPSTR pName,LPSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumPrintProcessorDatatypesW(LPWSTR pName,LPWSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL DeletePrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProcessorName);
WINBOOL DeletePrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProcessorName);
DWORD StartDocPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo);
DWORD StartDocPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo);
WINBOOL StartPagePrinter(HANDLE hPrinter);
WINBOOL WritePrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten);
WINBOOL FlushPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten,DWORD cSleep);
WINBOOL EndPagePrinter(HANDLE hPrinter);
WINBOOL AbortPrinter(HANDLE hPrinter);
WINBOOL ReadPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pNoBytesRead);
WINBOOL EndDocPrinter(HANDLE hPrinter);
WINBOOL AddJobA(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL AddJobW(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL ScheduleJob(HANDLE hPrinter,DWORD JobId);
WINBOOL PrinterProperties(HWND hWnd,HANDLE hPrinter);
LONG DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput,DWORD fMode);
LONG DocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput,DWORD fMode);
LONG AdvancedDocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput);
LONG AdvancedDocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput);
LONG ExtDeviceMode(HWND hWnd,HANDLE hInst,LPDEVMODEA pDevModeOutput,LPSTR pDeviceName,LPSTR pPort,LPDEVMODEA pDevModeInput,LPSTR pProfile,DWORD fMode);
DWORD GetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded);
DWORD GetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded);
DWORD GetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded);
DWORD GetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded);
DWORD EnumPrinterDataA(HANDLE hPrinter,DWORD dwIndex,LPSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData);
DWORD EnumPrinterDataW(HANDLE hPrinter,DWORD dwIndex,LPWSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData);
DWORD EnumPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues);
DWORD EnumPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues);
DWORD EnumPrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName,LPSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey);
DWORD EnumPrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName,LPWSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey);
DWORD SetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData);
DWORD SetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData);
DWORD SetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData);
DWORD SetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData);
DWORD DeletePrinterDataA(HANDLE hPrinter,LPSTR pValueName);
DWORD DeletePrinterDataW(HANDLE hPrinter,LPWSTR pValueName);
DWORD DeletePrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName);
DWORD DeletePrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName);
DWORD DeletePrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName);
DWORD DeletePrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName);
typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
WORD Type;
WORD Reserved0;
DWORD Reserved1;
DWORD Reserved2;
DWORD Count;
PWORD pFields;
} PRINTER_NOTIFY_OPTIONS_TYPE,*PPRINTER_NOTIFY_OPTIONS_TYPE,*LPPRINTER_NOTIFY_OPTIONS_TYPE;
typedef struct _PRINTER_NOTIFY_OPTIONS {
DWORD Version;
DWORD Flags;
DWORD Count;
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
} PRINTER_NOTIFY_OPTIONS,*PPRINTER_NOTIFY_OPTIONS,*LPPRINTER_NOTIFY_OPTIONS;
typedef struct _PRINTER_NOTIFY_INFO_DATA {
WORD Type;
WORD Field;
DWORD Reserved;
DWORD Id;
union {
DWORD adwData[2];
struct {
DWORD cbBuf;
LPVOID pBuf;
} Data;
} NotifyData;
} PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA;
typedef struct _PRINTER_NOTIFY_INFO {
DWORD Version;
DWORD Flags;
DWORD Count;
PRINTER_NOTIFY_INFO_DATA aData[1];
} PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO;
typedef struct _BINARY_CONTAINER{
DWORD cbBuf;
LPBYTE pData;
} BINARY_CONTAINER,*PBINARY_CONTAINER;
typedef struct _BIDI_DATA{
DWORD dwBidiType;
union {
WINBOOL bData;
LONG iData;
LPWSTR sData;
FLOAT fData;
BINARY_CONTAINER biData;
} u;
} BIDI_DATA,*PBIDI_DATA,*LPBIDI_DATA;
typedef struct _BIDI_REQUEST_DATA{
DWORD dwReqNumber;
LPWSTR pSchema;
BIDI_DATA data;
} BIDI_REQUEST_DATA ,*PBIDI_REQUEST_DATA ,*LPBIDI_REQUEST_DATA;
typedef struct _BIDI_REQUEST_CONTAINER{
DWORD Version;
DWORD Flags;
DWORD Count;
BIDI_REQUEST_DATA aData[1 ];
}BIDI_REQUEST_CONTAINER,*PBIDI_REQUEST_CONTAINER,*LPBIDI_REQUEST_CONTAINER;
typedef struct _BIDI_RESPONSE_DATA{
DWORD dwResult;
DWORD dwReqNumber;
LPWSTR pSchema;
BIDI_DATA data;
} BIDI_RESPONSE_DATA,*PBIDI_RESPONSE_DATA,*LPBIDI_RESPONSE_DATA;
typedef struct _BIDI_RESPONSE_CONTAINER{
DWORD Version;
DWORD Flags;
DWORD Count;
BIDI_RESPONSE_DATA aData[1 ];
} BIDI_RESPONSE_CONTAINER,*PBIDI_RESPONSE_CONTAINER,*LPBIDI_RESPONSE_CONTAINER;
typedef enum {
BIDI_NULL = 0,BIDI_INT = 1,BIDI_FLOAT = 2,BIDI_BOOL = 3,BIDI_STRING = 4,BIDI_TEXT = 5,BIDI_ENUM = 6,BIDI_BLOB = 7
} BIDI_TYPE;
DWORD WaitForPrinterChange(HANDLE hPrinter,DWORD Flags);
HANDLE FindFirstPrinterChangeNotification(HANDLE hPrinter,DWORD fdwFlags,DWORD fdwOptions,LPVOID pPrinterNotifyOptions);
WINBOOL FindNextPrinterChangeNotification(HANDLE hChange,PDWORD pdwChange,LPVOID pPrinterNotifyOptions,LPVOID *ppPrinterNotifyInfo);
WINBOOL FreePrinterNotifyInfo (PPRINTER_NOTIFY_INFO pPrinterNotifyInfo);
WINBOOL FindClosePrinterChangeNotification(HANDLE hChange);
DWORD PrinterMessageBoxA(HANDLE hPrinter,DWORD Error,HWND hWnd,LPSTR pText,LPSTR pCaption,DWORD dwType);
DWORD PrinterMessageBoxW(HANDLE hPrinter,DWORD Error,HWND hWnd,LPWSTR pText,LPWSTR pCaption,DWORD dwType);
WINBOOL ClosePrinter(HANDLE hPrinter);
WINBOOL AddFormA(HANDLE hPrinter,DWORD Level,LPBYTE pForm);
WINBOOL AddFormW(HANDLE hPrinter,DWORD Level,LPBYTE pForm);
WINBOOL DeleteFormA(HANDLE hPrinter,LPSTR pFormName);
WINBOOL DeleteFormW(HANDLE hPrinter,LPWSTR pFormName);
WINBOOL GetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL GetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded);
WINBOOL SetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm);
WINBOOL SetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm);
WINBOOL EnumFormsA(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumFormsW(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumMonitorsA(LPSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumMonitorsW(LPWSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL AddMonitorA(LPSTR pName,DWORD Level,LPBYTE pMonitorInfo);
WINBOOL AddMonitorW(LPWSTR pName,DWORD Level,LPBYTE pMonitorInfo);
WINBOOL DeleteMonitorA(LPSTR pName,LPSTR pEnvironment,LPSTR pMonitorName);
WINBOOL DeleteMonitorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pMonitorName);
WINBOOL EnumPortsA(LPSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL EnumPortsW(LPWSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL AddPortA(LPSTR pName,HWND hWnd,LPSTR pMonitorName);
WINBOOL AddPortW(LPWSTR pName,HWND hWnd,LPWSTR pMonitorName);
WINBOOL ConfigurePortA(LPSTR pName,HWND hWnd,LPSTR pPortName);
WINBOOL ConfigurePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName);
WINBOOL DeletePortA(LPSTR pName,HWND hWnd,LPSTR pPortName);
WINBOOL DeletePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName);
WINBOOL XcvDataW(HANDLE hXcv,PCWSTR pszDataName,PBYTE pInputData,DWORD cbInputData,PBYTE pOutputData,DWORD cbOutputData,PDWORD pcbOutputNeeded,PDWORD pdwStatus);
WINBOOL GetDefaultPrinterA(LPSTR pszBuffer,LPDWORD pcchBuffer);
WINBOOL GetDefaultPrinterW(LPWSTR pszBuffer,LPDWORD pcchBuffer);
WINBOOL SetDefaultPrinterA(LPCSTR pszPrinter);
WINBOOL SetDefaultPrinterW(LPCWSTR pszPrinter);
WINBOOL SetPortA(LPSTR pName,LPSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo);
WINBOOL SetPortW(LPWSTR pName,LPWSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo);
WINBOOL AddPrinterConnectionA(LPSTR pName);
WINBOOL AddPrinterConnectionW(LPWSTR pName);
WINBOOL DeletePrinterConnectionA(LPSTR pName);
WINBOOL DeletePrinterConnectionW(LPWSTR pName);
HANDLE ConnectToPrinterDlg(HWND hwnd,DWORD Flags);
typedef struct _PROVIDOR_INFO_1A{
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDLLName;
} PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A;
typedef struct _PROVIDOR_INFO_1W{
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDLLName;
} PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W;
typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1;
typedef PPROVIDOR_INFO_1A PPROVIDOR_INFO_1;
typedef LPPROVIDOR_INFO_1A LPPROVIDOR_INFO_1;
typedef struct _PROVIDOR_INFO_2A{
LPSTR pOrder;
} PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPPROVIDOR_INFO_2A;
typedef struct _PROVIDOR_INFO_2W{
LPWSTR pOrder;
} PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPPROVIDOR_INFO_2W;
typedef PROVIDOR_INFO_2A PROVIDOR_INFO_2;
typedef PPROVIDOR_INFO_2A PPROVIDOR_INFO_2;
typedef LPPROVIDOR_INFO_2A LPPROVIDOR_INFO_2;
WINBOOL AddPrintProvidorA(LPSTR pName,DWORD level,LPBYTE pProvidorInfo);
WINBOOL AddPrintProvidorW(LPWSTR pName,DWORD level,LPBYTE pProvidorInfo);
WINBOOL DeletePrintProvidorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProvidorName);
WINBOOL DeletePrintProvidorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProvidorName);
WINBOOL IsValidDevmodeA (PDEVMODEA pDevmode,size_t DevmodeSize);
WINBOOL IsValidDevmodeW (PDEVMODEW pDevmode,size_t DevmodeSize);
extern const GUID IID_IPrintDialogCallback;
extern const GUID IID_IPrintDialogServices;
typedef UINT_PTR ( *LPOFNHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef struct tagOFN_NT4A {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPSTR lpstrFile;
DWORD nMaxFile;
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCSTR lpstrInitialDir;
LPCSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} OPENFILENAME_NT4A,*LPOPENFILENAME_NT4A;
typedef struct tagOFN_NT4W {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCWSTR lpstrFilter;
LPWSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPWSTR lpstrFile;
DWORD nMaxFile;
LPWSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCWSTR lpstrInitialDir;
LPCWSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCWSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} OPENFILENAME_NT4W,*LPOPENFILENAME_NT4W;
typedef OPENFILENAME_NT4A OPENFILENAME_NT4;
typedef LPOPENFILENAME_NT4A LPOPENFILENAME_NT4;
typedef struct tagOFNA {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPSTR lpstrFile;
DWORD nMaxFile;
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCSTR lpstrInitialDir;
LPCSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
void *pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
} OPENFILENAMEA,*LPOPENFILENAMEA;
typedef struct tagOFNW {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCWSTR lpstrFilter;
LPWSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPWSTR lpstrFile;
DWORD nMaxFile;
LPWSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCWSTR lpstrInitialDir;
LPCWSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCWSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
void *pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
} OPENFILENAMEW,*LPOPENFILENAMEW;
typedef OPENFILENAMEA OPENFILENAME;
typedef LPOPENFILENAMEA LPOPENFILENAME;
__attribute__((dllimport)) WINBOOL GetOpenFileNameA(LPOPENFILENAMEA);
__attribute__((dllimport)) WINBOOL GetOpenFileNameW(LPOPENFILENAMEW);
__attribute__((dllimport)) WINBOOL GetSaveFileNameA(LPOPENFILENAMEA);
__attribute__((dllimport)) WINBOOL GetSaveFileNameW(LPOPENFILENAMEW);
__attribute__((dllimport)) short GetFileTitleA(LPCSTR,LPSTR,WORD);
__attribute__((dllimport)) short GetFileTitleW(LPCWSTR,LPWSTR,WORD);
typedef UINT_PTR ( *LPCCHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef struct _OFNOTIFYA {
NMHDR hdr;
LPOPENFILENAMEA lpOFN;
LPSTR pszFile;
} OFNOTIFYA,*LPOFNOTIFYA;
typedef struct _OFNOTIFYW {
NMHDR hdr;
LPOPENFILENAMEW lpOFN;
LPWSTR pszFile;
} OFNOTIFYW,*LPOFNOTIFYW;
typedef OFNOTIFYA OFNOTIFY;
typedef LPOFNOTIFYA LPOFNOTIFY;
typedef struct _OFNOTIFYEXA {
NMHDR hdr;
LPOPENFILENAMEA lpOFN;
LPVOID psf;
LPVOID pidl;
} OFNOTIFYEXA,*LPOFNOTIFYEXA;
typedef struct _OFNOTIFYEXW {
NMHDR hdr;
LPOPENFILENAMEW lpOFN;
LPVOID psf;
LPVOID pidl;
} OFNOTIFYEXW,*LPOFNOTIFYEXW;
typedef OFNOTIFYEXA OFNOTIFYEX;
typedef LPOFNOTIFYEXA LPOFNOTIFYEX;
typedef struct tagCHOOSECOLORA {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} CHOOSECOLORA,*LPCHOOSECOLORA;
typedef struct tagCHOOSECOLORW {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF *lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} CHOOSECOLORW,*LPCHOOSECOLORW;
typedef CHOOSECOLORA CHOOSECOLOR;
typedef LPCHOOSECOLORA LPCHOOSECOLOR;
__attribute__((dllimport)) WINBOOL ChooseColorA(LPCHOOSECOLORA);
__attribute__((dllimport)) WINBOOL ChooseColorW(LPCHOOSECOLORW);
typedef UINT_PTR ( *LPFRHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef struct tagFINDREPLACEA {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
LPSTR lpstrFindWhat;
LPSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} FINDREPLACEA,*LPFINDREPLACEA;
typedef struct tagFINDREPLACEW {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
LPWSTR lpstrFindWhat;
LPWSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} FINDREPLACEW,*LPFINDREPLACEW;
typedef FINDREPLACEA FINDREPLACE;
typedef LPFINDREPLACEA LPFINDREPLACE;
__attribute__((dllimport)) HWND FindTextA(LPFINDREPLACEA);
__attribute__((dllimport)) HWND FindTextW(LPFINDREPLACEW);
__attribute__((dllimport)) HWND ReplaceTextA(LPFINDREPLACEA);
__attribute__((dllimport)) HWND ReplaceTextW(LPFINDREPLACEW);
typedef UINT_PTR ( *LPCFHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef struct tagCHOOSEFONTA {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONTA lpLogFont;
INT iPointSize;
DWORD Flags;
COLORREF rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
HINSTANCE hInstance;
LPSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONTA,*LPCHOOSEFONTA;
typedef struct tagCHOOSEFONTW {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONTW lpLogFont;
INT iPointSize;
DWORD Flags;
COLORREF rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
HINSTANCE hInstance;
LPWSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONTW,*LPCHOOSEFONTW;
typedef CHOOSEFONTA CHOOSEFONT;
typedef LPCHOOSEFONTA LPCHOOSEFONT;
__attribute__((dllimport)) WINBOOL ChooseFontA(LPCHOOSEFONTA);
__attribute__((dllimport)) WINBOOL ChooseFontW(LPCHOOSEFONTW);
typedef UINT_PTR ( *LPPRINTHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef UINT_PTR ( *LPSETUPHOOKPROC) (HWND,UINT,WPARAM,LPARAM);
typedef struct tagPDA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
LPARAM lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCSTR lpPrintTemplateName;
LPCSTR lpSetupTemplateName;
HGLOBAL hPrintTemplate;
HGLOBAL hSetupTemplate;
} PRINTDLGA,*LPPRINTDLGA;
typedef struct tagPDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
LPARAM lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCWSTR lpPrintTemplateName;
LPCWSTR lpSetupTemplateName;
HGLOBAL hPrintTemplate;
HGLOBAL hSetupTemplate;
} PRINTDLGW,*LPPRINTDLGW;
typedef PRINTDLGA PRINTDLG;
typedef LPPRINTDLGA LPPRINTDLG;
__attribute__((dllimport)) WINBOOL PrintDlgA(LPPRINTDLGA);
__attribute__((dllimport)) WINBOOL PrintDlgW(LPPRINTDLGW);
typedef struct IPrintDialogCallback { struct IPrintDialogCallbackVtbl *lpVtbl; } IPrintDialogCallback; typedef struct IPrintDialogCallbackVtbl IPrintDialogCallbackVtbl; struct IPrintDialogCallbackVtbl {
HRESULT ( *QueryInterface) (IPrintDialogCallback *This, const IID *const riid,LPVOID *ppvObj) ;
ULONG ( *AddRef) (IPrintDialogCallback *This) ;
ULONG ( *Release) (IPrintDialogCallback *This) ;
HRESULT ( *InitDone) (IPrintDialogCallback *This) ;
HRESULT ( *SelectionChange) (IPrintDialogCallback *This) ;
HRESULT ( *HandleMessage) (IPrintDialogCallback *This, HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT *pResult) ;
};
typedef struct IPrintDialogServices { struct IPrintDialogServicesVtbl *lpVtbl; } IPrintDialogServices; typedef struct IPrintDialogServicesVtbl IPrintDialogServicesVtbl; struct IPrintDialogServicesVtbl {
HRESULT ( *QueryInterface) (IPrintDialogServices *This, const IID *const riid,LPVOID *ppvObj) ;
ULONG ( *AddRef) (IPrintDialogServices *This) ;
ULONG ( *Release) (IPrintDialogServices *This) ;
HRESULT ( *GetCurrentDevMode) (IPrintDialogServices *This, LPDEVMODE pDevMode,UINT *pcbSize) ;
HRESULT ( *GetCurrentPrinterName) (IPrintDialogServices *This, LPTSTR pPrinterName,UINT *pcchSize) ;
HRESULT ( *GetCurrentPortName) (IPrintDialogServices *This, LPTSTR pPortName,UINT *pcchSize) ;
};
typedef struct tagPRINTPAGERANGE {
DWORD nFromPage;
DWORD nToPage;
} PRINTPAGERANGE,*LPPRINTPAGERANGE;
typedef struct tagPDEXA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCSTR lpPrintTemplateName;
LPUNKNOWN lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE *lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEXA,*LPPRINTDLGEXA;
typedef struct tagPDEXW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
HDC hDC;
DWORD Flags;
DWORD Flags2;
DWORD ExclusionFlags;
DWORD nPageRanges;
DWORD nMaxPageRanges;
LPPRINTPAGERANGE lpPageRanges;
DWORD nMinPage;
DWORD nMaxPage;
DWORD nCopies;
HINSTANCE hInstance;
LPCWSTR lpPrintTemplateName;
LPUNKNOWN lpCallback;
DWORD nPropertyPages;
HPROPSHEETPAGE *lphPropertyPages;
DWORD nStartPage;
DWORD dwResultAction;
} PRINTDLGEXW,*LPPRINTDLGEXW;
typedef PRINTDLGEXA PRINTDLGEX;
typedef LPPRINTDLGEXA LPPRINTDLGEX;
__attribute__((dllimport)) HRESULT PrintDlgExA(LPPRINTDLGEXA);
__attribute__((dllimport)) HRESULT PrintDlgExW(LPPRINTDLGEXW);
typedef struct tagDEVNAMES {
WORD wDriverOffset;
WORD wDeviceOffset;
WORD wOutputOffset;
WORD wDefault;
} DEVNAMES,*LPDEVNAMES;
__attribute__((dllimport)) DWORD CommDlgExtendedError(void);
typedef UINT_PTR ( *LPPAGEPAINTHOOK)(HWND,UINT,WPARAM,LPARAM);
typedef UINT_PTR ( *LPPAGESETUPHOOK)(HWND,UINT,WPARAM,LPARAM);
typedef struct tagPSDA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGA,*LPPAGESETUPDLGA;
typedef struct tagPSDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCWSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGW,*LPPAGESETUPDLGW;
typedef PAGESETUPDLGA PAGESETUPDLG;
typedef LPPAGESETUPDLGA LPPAGESETUPDLG;
__attribute__((dllimport)) WINBOOL PageSetupDlgA(LPPAGESETUPDLGA);
__attribute__((dllimport)) WINBOOL PageSetupDlgW(LPPAGESETUPDLGW);
LPUWSTR uaw_CharUpperW(LPUWSTR String);
int uaw_lstrcmpW(PCUWSTR String1,PCUWSTR String2);
int uaw_lstrcmpiW(PCUWSTR String1,PCUWSTR String2);
int uaw_lstrlenW(LPCUWSTR String);
PUWSTR __attribute__((__cdecl__)) uaw_wcschr(PCUWSTR String,WCHAR Character);
PUWSTR __attribute__((__cdecl__)) uaw_wcscpy(PUWSTR Destination,PCUWSTR Source);
int __attribute__((__cdecl__)) uaw_wcsicmp(PCUWSTR String1,PCUWSTR String2);
size_t __attribute__((__cdecl__)) uaw_wcslen(PCUWSTR String);
PUWSTR __attribute__((__cdecl__)) uaw_wcsrchr(PCUWSTR String,WCHAR Character);
LPUWSTR ua_CharUpperW(LPUWSTR String);
int ua_lstrcmpW(LPCUWSTR String1,LPCUWSTR String2);
int ua_lstrcmpiW(LPCUWSTR String1,LPCUWSTR String2);
int ua_lstrlenW(LPCUWSTR String);
typedef WCHAR *PUWSTR_C;
PUWSTR_C ua_wcschr(PCUWSTR String,WCHAR Character);
PUWSTR_C ua_wcsrchr(PCUWSTR String,WCHAR Character);
PUWSTR ua_wcscpy(PUWSTR Destination,PCUWSTR Source);
size_t ua_wcslen(PCUWSTR String);
int ua_wcsicmp(LPCUWSTR String1,LPCUWSTR String2);
typedef struct _SERVICE_DESCRIPTIONA {
LPSTR lpDescription;
} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
typedef struct _SERVICE_DESCRIPTIONW {
LPWSTR lpDescription;
} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
typedef enum _SC_ACTION_TYPE {
SC_ACTION_NONE = 0,SC_ACTION_RESTART = 1,SC_ACTION_REBOOT = 2,SC_ACTION_RUN_COMMAND = 3
} SC_ACTION_TYPE;
typedef struct _SC_ACTION {
SC_ACTION_TYPE Type;
DWORD Delay;
} SC_ACTION,*LPSC_ACTION;
typedef struct _SERVICE_FAILURE_ACTIONSA {
DWORD dwResetPeriod;
LPSTR lpRebootMsg;
LPSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
typedef struct _SERVICE_FAILURE_ACTIONSW {
DWORD dwResetPeriod;
LPWSTR lpRebootMsg;
LPWSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
struct SC_HANDLE__ { int unused; }; typedef struct SC_HANDLE__ *SC_HANDLE;
typedef SC_HANDLE *LPSC_HANDLE;
struct SERVICE_STATUS_HANDLE__ { int unused; }; typedef struct SERVICE_STATUS_HANDLE__ *SERVICE_STATUS_HANDLE;
typedef enum _SC_STATUS_TYPE {
SC_STATUS_PROCESS_INFO = 0
} SC_STATUS_TYPE;
typedef enum _SC_ENUM_TYPE {
SC_ENUM_PROCESS_INFO = 0
} SC_ENUM_TYPE;
typedef struct _SERVICE_STATUS {
DWORD dwServiceType;
DWORD dwCurrentState;
DWORD dwControlsAccepted;
DWORD dwWin32ExitCode;
DWORD dwServiceSpecificExitCode;
DWORD dwCheckPoint;
DWORD dwWaitHint;
} SERVICE_STATUS,*LPSERVICE_STATUS;
typedef struct _SERVICE_STATUS_PROCESS {
DWORD dwServiceType;
DWORD dwCurrentState;
DWORD dwControlsAccepted;
DWORD dwWin32ExitCode;
DWORD dwServiceSpecificExitCode;
DWORD dwCheckPoint;
DWORD dwWaitHint;
DWORD dwProcessId;
DWORD dwServiceFlags;
} SERVICE_STATUS_PROCESS,*LPSERVICE_STATUS_PROCESS;
typedef struct _ENUM_SERVICE_STATUSA {
LPSTR lpServiceName;
LPSTR lpDisplayName;
SERVICE_STATUS ServiceStatus;
} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
typedef struct _ENUM_SERVICE_STATUSW {
LPWSTR lpServiceName;
LPWSTR lpDisplayName;
SERVICE_STATUS ServiceStatus;
} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS;
typedef LPENUM_SERVICE_STATUSA LPENUM_SERVICE_STATUS;
typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
LPSTR lpServiceName;
LPSTR lpDisplayName;
SERVICE_STATUS_PROCESS ServiceStatusProcess;
} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
LPWSTR lpServiceName;
LPWSTR lpDisplayName;
SERVICE_STATUS_PROCESS ServiceStatusProcess;
} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
typedef LPVOID SC_LOCK;
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
DWORD fIsLocked;
LPSTR lpLockOwner;
DWORD dwLockDuration;
} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
typedef struct _QUERY_SERVICE_LOCK_STATUSW {
DWORD fIsLocked;
LPWSTR lpLockOwner;
DWORD dwLockDuration;
} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS;
typedef LPQUERY_SERVICE_LOCK_STATUSA LPQUERY_SERVICE_LOCK_STATUS;
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
typedef struct _QUERY_SERVICE_CONFIGW {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPWSTR lpBinaryPathName;
LPWSTR lpLoadOrderGroup;
DWORD dwTagId;
LPWSTR lpDependencies;
LPWSTR lpServiceStartName;
LPWSTR lpDisplayName;
} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG;
typedef LPQUERY_SERVICE_CONFIGA LPQUERY_SERVICE_CONFIG;
typedef void ( *LPSERVICE_MAIN_FUNCTIONW)(DWORD dwNumServicesArgs,LPWSTR *lpServiceArgVectors);
typedef void ( *LPSERVICE_MAIN_FUNCTIONA)(DWORD dwNumServicesArgs,LPSTR *lpServiceArgVectors);
typedef struct _SERVICE_TABLE_ENTRYA {
LPSTR lpServiceName;
LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA;
typedef struct _SERVICE_TABLE_ENTRYW {
LPWSTR lpServiceName;
LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW;
typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY;
typedef LPSERVICE_TABLE_ENTRYA LPSERVICE_TABLE_ENTRY;
typedef void ( *LPHANDLER_FUNCTION)(DWORD dwControl);
typedef DWORD ( *LPHANDLER_FUNCTION_EX)(DWORD dwControl,DWORD dwEventType,LPVOID lpEventData,LPVOID lpContext);
__attribute__((dllimport)) WINBOOL ChangeServiceConfigA(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword,LPCSTR lpDisplayName);
__attribute__((dllimport)) WINBOOL ChangeServiceConfigW(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword,LPCWSTR lpDisplayName);
__attribute__((dllimport)) WINBOOL ChangeServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo);
__attribute__((dllimport)) WINBOOL ChangeServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo);
__attribute__((dllimport)) WINBOOL CloseServiceHandle(SC_HANDLE hSCObject);
__attribute__((dllimport)) WINBOOL ControlService(SC_HANDLE hService,DWORD dwControl,LPSERVICE_STATUS lpServiceStatus);
__attribute__((dllimport)) SC_HANDLE CreateServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPCSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword);
__attribute__((dllimport)) SC_HANDLE CreateServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPCWSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword);
__attribute__((dllimport)) WINBOOL DeleteService(SC_HANDLE hService);
__attribute__((dllimport)) WINBOOL EnumDependentServicesA(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned);
__attribute__((dllimport)) WINBOOL EnumDependentServicesW(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned);
__attribute__((dllimport)) WINBOOL EnumServicesStatusA(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle);
__attribute__((dllimport)) WINBOOL EnumServicesStatusW(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle);
__attribute__((dllimport)) WINBOOL EnumServicesStatusExA(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCSTR pszGroupName);
__attribute__((dllimport)) WINBOOL EnumServicesStatusExW(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCWSTR pszGroupName);
__attribute__((dllimport)) WINBOOL GetServiceKeyNameA(SC_HANDLE hSCManager,LPCSTR lpDisplayName,LPSTR lpServiceName,LPDWORD lpcchBuffer);
__attribute__((dllimport)) WINBOOL GetServiceKeyNameW(SC_HANDLE hSCManager,LPCWSTR lpDisplayName,LPWSTR lpServiceName,LPDWORD lpcchBuffer);
__attribute__((dllimport)) WINBOOL GetServiceDisplayNameA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPSTR lpDisplayName,LPDWORD lpcchBuffer);
__attribute__((dllimport)) WINBOOL GetServiceDisplayNameW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPWSTR lpDisplayName,LPDWORD lpcchBuffer);
__attribute__((dllimport)) SC_LOCK LockServiceDatabase(SC_HANDLE hSCManager);
__attribute__((dllimport)) WINBOOL NotifyBootConfigStatus(WINBOOL BootAcceptable);
__attribute__((dllimport)) SC_HANDLE OpenSCManagerA(LPCSTR lpMachineName,LPCSTR lpDatabaseName,DWORD dwDesiredAccess);
__attribute__((dllimport)) SC_HANDLE OpenSCManagerW(LPCWSTR lpMachineName,LPCWSTR lpDatabaseName,DWORD dwDesiredAccess);
__attribute__((dllimport)) SC_HANDLE OpenServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,DWORD dwDesiredAccess);
__attribute__((dllimport)) SC_HANDLE OpenServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,DWORD dwDesiredAccess);
__attribute__((dllimport)) WINBOOL QueryServiceConfigA(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGA lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceConfigW(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGW lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceLockStatusA(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceLockStatusW(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) WINBOOL QueryServiceStatus(SC_HANDLE hService,LPSERVICE_STATUS lpServiceStatus);
__attribute__((dllimport)) WINBOOL QueryServiceStatusEx(SC_HANDLE hService,SC_STATUS_TYPE InfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded);
__attribute__((dllimport)) SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(LPCSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc);
__attribute__((dllimport)) SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc);
__attribute__((dllimport)) SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExA(LPCSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext);
__attribute__((dllimport)) SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext);
__attribute__((dllimport)) WINBOOL SetServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor);
__attribute__((dllimport)) WINBOOL SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus,LPSERVICE_STATUS lpServiceStatus);
__attribute__((dllimport)) WINBOOL StartServiceCtrlDispatcherA(const SERVICE_TABLE_ENTRYA *lpServiceStartTable);
__attribute__((dllimport)) WINBOOL StartServiceCtrlDispatcherW(const SERVICE_TABLE_ENTRYW *lpServiceStartTable);
__attribute__((dllimport)) WINBOOL StartServiceA(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCSTR *lpServiceArgVectors);
__attribute__((dllimport)) WINBOOL StartServiceW(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCWSTR *lpServiceArgVectors);
__attribute__((dllimport)) WINBOOL UnlockServiceDatabase(SC_LOCK ScLock);
typedef struct _MODEMDEVCAPS {
DWORD dwActualSize;
DWORD dwRequiredSize;
DWORD dwDevSpecificOffset;
DWORD dwDevSpecificSize;
DWORD dwModemProviderVersion;
DWORD dwModemManufacturerOffset;
DWORD dwModemManufacturerSize;
DWORD dwModemModelOffset;
DWORD dwModemModelSize;
DWORD dwModemVersionOffset;
DWORD dwModemVersionSize;
DWORD dwDialOptions;
DWORD dwCallSetupFailTimer;
DWORD dwInactivityTimeout;
DWORD dwSpeakerVolume;
DWORD dwSpeakerMode;
DWORD dwModemOptions;
DWORD dwMaxDTERate;
DWORD dwMaxDCERate;
BYTE abVariablePortion[1];
} MODEMDEVCAPS,*PMODEMDEVCAPS,*LPMODEMDEVCAPS;
typedef struct _MODEMSETTINGS {
DWORD dwActualSize;
DWORD dwRequiredSize;
DWORD dwDevSpecificOffset;
DWORD dwDevSpecificSize;
DWORD dwCallSetupFailTimer;
DWORD dwInactivityTimeout;
DWORD dwSpeakerVolume;
DWORD dwSpeakerMode;
DWORD dwPreferredModemOptions;
DWORD dwNegotiatedModemOptions;
DWORD dwNegotiatedDCERate;
BYTE abVariablePortion [1];
} MODEMSETTINGS,*PMODEMSETTINGS,*LPMODEMSETTINGS;
struct HIMC__ { int unused; }; typedef struct HIMC__ *HIMC;
struct HIMCC__ { int unused; }; typedef struct HIMCC__ *HIMCC;
typedef HKL *LPHKL;
typedef struct tagCOMPOSITIONFORM {
DWORD dwStyle;
POINT ptCurrentPos;
RECT rcArea;
} COMPOSITIONFORM,*PCOMPOSITIONFORM,*NPCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
typedef struct tagCANDIDATEFORM {
DWORD dwIndex;
DWORD dwStyle;
POINT ptCurrentPos;
RECT rcArea;
} CANDIDATEFORM,*PCANDIDATEFORM,*NPCANDIDATEFORM,*LPCANDIDATEFORM;
typedef struct tagCANDIDATELIST {
DWORD dwSize;
DWORD dwStyle;
DWORD dwCount;
DWORD dwSelection;
DWORD dwPageStart;
DWORD dwPageSize;
DWORD dwOffset[1];
} CANDIDATELIST,*PCANDIDATELIST,*NPCANDIDATELIST,*LPCANDIDATELIST;
typedef struct tagREGISTERWORDA {
LPSTR lpReading;
LPSTR lpWord;
} REGISTERWORDA,*PREGISTERWORDA,*NPREGISTERWORDA,*LPREGISTERWORDA;
typedef struct tagREGISTERWORDW {
LPWSTR lpReading;
LPWSTR lpWord;
} REGISTERWORDW,*PREGISTERWORDW,*NPREGISTERWORDW,*LPREGISTERWORDW;
typedef REGISTERWORDA REGISTERWORD;
typedef PREGISTERWORDA PREGISTERWORD;
typedef NPREGISTERWORDA NPREGISTERWORD;
typedef LPREGISTERWORDA LPREGISTERWORD;
typedef struct tagRECONVERTSTRING {
DWORD dwSize;
DWORD dwVersion;
DWORD dwStrLen;
DWORD dwStrOffset;
DWORD dwCompStrLen;
DWORD dwCompStrOffset;
DWORD dwTargetStrLen;
DWORD dwTargetStrOffset;
} RECONVERTSTRING,*PRECONVERTSTRING,*NPRECONVERTSTRING,*LPRECONVERTSTRING;
typedef struct tagSTYLEBUFA {
DWORD dwStyle;
CHAR szDescription[32];
} STYLEBUFA,*PSTYLEBUFA,*NPSTYLEBUFA,*LPSTYLEBUFA;
typedef struct tagSTYLEBUFW {
DWORD dwStyle;
WCHAR szDescription[32];
} STYLEBUFW,*PSTYLEBUFW,*NPSTYLEBUFW,*LPSTYLEBUFW;
typedef STYLEBUFA STYLEBUF;
typedef PSTYLEBUFA PSTYLEBUF;
typedef NPSTYLEBUFA NPSTYLEBUF;
typedef LPSTYLEBUFA LPSTYLEBUF;
typedef struct tagIMEMENUITEMINFOA {
UINT cbSize;
UINT fType;
UINT fState;
UINT wID;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
CHAR szString[80];
HBITMAP hbmpItem;
} IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*NPIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA;
typedef struct tagIMEMENUITEMINFOW {
UINT cbSize;
UINT fType;
UINT fState;
UINT wID;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
WCHAR szString[80];
HBITMAP hbmpItem;
} IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*NPIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW;
typedef IMEMENUITEMINFOA IMEMENUITEMINFO;
typedef PIMEMENUITEMINFOA PIMEMENUITEMINFO;
typedef NPIMEMENUITEMINFOA NPIMEMENUITEMINFO;
typedef LPIMEMENUITEMINFOA LPIMEMENUITEMINFO;
typedef struct tagIMECHARPOSITION {
DWORD dwSize;
DWORD dwCharPos;
POINT pt;
UINT cLineHeight;
RECT rcDocument;
} IMECHARPOSITION,*PIMECHARPOSITION,*NPIMECHARPOSITION,*LPIMECHARPOSITION;
typedef WINBOOL ( *IMCENUMPROC)(HIMC,LPARAM);
HKL ImmInstallIMEA(LPCSTR lpszIMEFileName,LPCSTR lpszLayoutText);
HKL ImmInstallIMEW(LPCWSTR lpszIMEFileName,LPCWSTR lpszLayoutText);
HWND ImmGetDefaultIMEWnd(HWND);
UINT ImmGetDescriptionA(HKL,LPSTR,UINT uBufLen);
UINT ImmGetDescriptionW(HKL,LPWSTR,UINT uBufLen);
UINT ImmGetIMEFileNameA(HKL,LPSTR,UINT uBufLen);
UINT ImmGetIMEFileNameW(HKL,LPWSTR,UINT uBufLen);
DWORD ImmGetProperty(HKL,DWORD);
WINBOOL ImmIsIME(HKL);
WINBOOL ImmSimulateHotKey(HWND,DWORD);
HIMC ImmCreateContext(void);
WINBOOL ImmDestroyContext(HIMC);
HIMC ImmGetContext(HWND);
WINBOOL ImmReleaseContext(HWND,HIMC);
HIMC ImmAssociateContext(HWND,HIMC);
WINBOOL ImmAssociateContextEx(HWND,HIMC,DWORD);
LONG ImmGetCompositionStringA(HIMC,DWORD,LPVOID,DWORD);
LONG ImmGetCompositionStringW(HIMC,DWORD,LPVOID,DWORD);
WINBOOL ImmSetCompositionStringA(HIMC,DWORD dwIndex,LPVOID lpComp,DWORD,LPVOID lpRead,DWORD);
WINBOOL ImmSetCompositionStringW(HIMC,DWORD dwIndex,LPVOID lpComp,DWORD,LPVOID lpRead,DWORD);
DWORD ImmGetCandidateListCountA(HIMC,LPDWORD lpdwListCount);
DWORD ImmGetCandidateListCountW(HIMC,LPDWORD lpdwListCount);
DWORD ImmGetCandidateListA(HIMC,DWORD deIndex,LPCANDIDATELIST,DWORD dwBufLen);
DWORD ImmGetCandidateListW(HIMC,DWORD deIndex,LPCANDIDATELIST,DWORD dwBufLen);
DWORD ImmGetGuideLineA(HIMC,DWORD dwIndex,LPSTR,DWORD dwBufLen);
DWORD ImmGetGuideLineW(HIMC,DWORD dwIndex,LPWSTR,DWORD dwBufLen);
WINBOOL ImmGetConversionStatus(HIMC,LPDWORD,LPDWORD);
WINBOOL ImmSetConversionStatus(HIMC,DWORD,DWORD);
WINBOOL ImmGetOpenStatus(HIMC);
WINBOOL ImmSetOpenStatus(HIMC,WINBOOL);
WINBOOL ImmGetCompositionFontA(HIMC,LPLOGFONTA);
WINBOOL ImmGetCompositionFontW(HIMC,LPLOGFONTW);
WINBOOL ImmSetCompositionFontA(HIMC,LPLOGFONTA);
WINBOOL ImmSetCompositionFontW(HIMC,LPLOGFONTW);
typedef int ( *REGISTERWORDENUMPROCA)(LPCSTR,DWORD,LPCSTR,LPVOID);
typedef int ( *REGISTERWORDENUMPROCW)(LPCWSTR,DWORD,LPCWSTR,LPVOID);
WINBOOL ImmConfigureIMEA(HKL,HWND,DWORD,LPVOID);
WINBOOL ImmConfigureIMEW(HKL,HWND,DWORD,LPVOID);
LRESULT ImmEscapeA(HKL,HIMC,UINT,LPVOID);
LRESULT ImmEscapeW(HKL,HIMC,UINT,LPVOID);
DWORD ImmGetConversionListA(HKL,HIMC,LPCSTR,LPCANDIDATELIST,DWORD dwBufLen,UINT uFlag);
DWORD ImmGetConversionListW(HKL,HIMC,LPCWSTR,LPCANDIDATELIST,DWORD dwBufLen,UINT uFlag);
WINBOOL ImmNotifyIME(HIMC,DWORD dwAction,DWORD dwIndex,DWORD dwValue);
WINBOOL ImmGetStatusWindowPos(HIMC,LPPOINT);
WINBOOL ImmSetStatusWindowPos(HIMC,LPPOINT);
WINBOOL ImmGetCompositionWindow(HIMC,LPCOMPOSITIONFORM);
WINBOOL ImmSetCompositionWindow(HIMC,LPCOMPOSITIONFORM);
WINBOOL ImmGetCandidateWindow(HIMC,DWORD,LPCANDIDATEFORM);
WINBOOL ImmSetCandidateWindow(HIMC,LPCANDIDATEFORM);
WINBOOL ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
WINBOOL ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
UINT ImmGetVirtualKey(HWND);
WINBOOL ImmRegisterWordA(HKL,LPCSTR lpszReading,DWORD,LPCSTR lpszRegister);
WINBOOL ImmRegisterWordW(HKL,LPCWSTR lpszReading,DWORD,LPCWSTR lpszRegister);
WINBOOL ImmUnregisterWordA(HKL,LPCSTR lpszReading,DWORD,LPCSTR lpszUnregister);
WINBOOL ImmUnregisterWordW(HKL,LPCWSTR lpszReading,DWORD,LPCWSTR lpszUnregister);
UINT ImmGetRegisterWordStyleA(HKL,UINT nItem,LPSTYLEBUFA);
UINT ImmGetRegisterWordStyleW(HKL,UINT nItem,LPSTYLEBUFW);
UINT ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR lpszReading,DWORD,LPCSTR lpszRegister,LPVOID);
UINT ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR lpszReading,DWORD,LPCWSTR lpszRegister,LPVOID);
WINBOOL ImmDisableIME(DWORD);
WINBOOL ImmEnumInputContext(DWORD idThread,IMCENUMPROC lpfn,LPARAM lParam);
DWORD ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD);
DWORD ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD);
WINBOOL ImmDisableTextFrameService(DWORD idThread);
struct timeval
{
long tv_sec;
long tv_usec;
};
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
__extension__
typedef unsigned long long u_int64;
typedef struct in_addr {
union {
struct { u_char s_b1, s_b2, s_b3, s_b4; } S_un_b;
struct { u_short s_w1, s_w2; } S_un_w;
u_long S_addr;
} S_un;
} IN_ADDR, *PIN_ADDR, *LPIN_ADDR;
typedef UINT_PTR SOCKET;
typedef struct fd_set
{
u_int fd_count;
SOCKET fd_array[64];
} fd_set;
int __WSAFDIsSet(SOCKET,fd_set *);
typedef struct fd_set FD_SET;
typedef struct fd_set *PFD_SET;
typedef struct fd_set *LPFD_SET;
struct hostent {
char *h_name;
char **h_aliases;
short h_addrtype;
short h_length;
char **h_addr_list;
};
struct netent {
char *n_name;
char **n_aliases;
short n_addrtype;
u_long n_net;
};
struct servent {
char *s_name;
char **s_aliases;
char *s_proto;
short s_port;
};
struct protoent {
char *p_name;
char **p_aliases;
short p_proto;
};
struct sockproto {
u_short sp_family;
u_short sp_protocol;
};
struct linger {
u_short l_onoff;
u_short l_linger;
};
struct sockaddr {
u_short sa_family;
char sa_data[14];
};
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
typedef struct hostent HOSTENT;
typedef struct hostent *PHOSTENT;
typedef struct hostent *LPHOSTENT;
typedef struct servent SERVENT;
typedef struct servent *PSERVENT;
typedef struct servent *LPSERVENT;
typedef struct protoent PROTOENT;
typedef struct protoent *PPROTOENT;
typedef struct protoent *LPPROTOENT;
typedef struct sockaddr SOCKADDR;
typedef struct sockaddr *PSOCKADDR;
typedef struct sockaddr *LPSOCKADDR;
typedef struct sockaddr_in SOCKADDR_IN;
typedef struct sockaddr_in *PSOCKADDR_IN;
typedef struct sockaddr_in *LPSOCKADDR_IN;
typedef struct linger LINGER;
typedef struct linger *PLINGER;
typedef struct linger *LPLINGER;
typedef struct timeval TIMEVAL;
typedef struct timeval *PTIMEVAL;
typedef struct timeval *LPTIMEVAL;
typedef struct WSAData {
WORD wVersion;
WORD wHighVersion;
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char *lpVendorInfo;
char szDescription[256 +1];
char szSystemStatus[128 +1];
} WSADATA, *LPWSADATA;
typedef enum _SCOPE_LEVEL {
ScopeLevelInterface = 1,
ScopeLevelLink = 2,
ScopeLevelSubnet = 3,
ScopeLevelAdmin = 4,
ScopeLevelSite = 5,
ScopeLevelOrganization = 8,
ScopeLevelGlobal = 14,
ScopeLevelCount = 16
} SCOPE_LEVEL;
typedef struct _SCOPE_ID {
__extension__ union {
__extension__ struct {
ULONG Zone : 28;
ULONG Level : 4;
};
ULONG Value;
};
} SCOPE_ID, *PSCOPE_ID;
struct sockaddr_storage {
short ss_family;
char __ss_pad1[((8) - sizeof (short))];
__extension__ long long __ss_align;
char __ss_pad2[(128 - (sizeof (short) + ((8) - sizeof (short)) + (8)))];
};
typedef struct _OVERLAPPED *LPWSAOVERLAPPED;
typedef struct _WSABUF {
u_long len;
char *buf;
} WSABUF,*LPWSABUF;
typedef ULONG SERVICETYPE;
typedef struct _flowspec {
ULONG TokenRate;
ULONG TokenBucketSize;
ULONG PeakBandwidth;
ULONG Latency;
ULONG DelayVariation;
SERVICETYPE ServiceType;
ULONG MaxSduSize;
ULONG MinimumPolicedSize;
} FLOWSPEC,*PFLOWSPEC,*LPFLOWSPEC;
typedef struct _QOS_OBJECT_HDR {
ULONG ObjectType;
ULONG ObjectLength;
} QOS_OBJECT_HDR, *LPQOS_OBJECT_HDR;
typedef struct _QOS_SD_MODE {
QOS_OBJECT_HDR ObjectHdr;
ULONG ShapeDiscardMode;
} QOS_SD_MODE, *LPQOS_SD_MODE;
typedef struct _QOS_SHAPING_RATE {
QOS_OBJECT_HDR ObjectHdr;
ULONG ShapingRate;
} QOS_SHAPING_RATE, *LPQOS_SHAPING_RATE;
typedef struct _QualityOfService {
FLOWSPEC SendingFlowspec;
FLOWSPEC ReceivingFlowspec;
WSABUF ProviderSpecific;
} QOS,*LPQOS;
typedef unsigned int GROUP;
typedef struct _WSANETWORKEVENTS {
long lNetworkEvents;
int iErrorCode[10];
} WSANETWORKEVENTS,*LPWSANETWORKEVENTS;
typedef struct _WSAPROTOCOLCHAIN {
int ChainLen;
DWORD ChainEntries[7];
} WSAPROTOCOLCHAIN,*LPWSAPROTOCOLCHAIN;
typedef struct _WSAPROTOCOL_INFOA {
DWORD dwServiceFlags1;
DWORD dwServiceFlags2;
DWORD dwServiceFlags3;
DWORD dwServiceFlags4;
DWORD dwProviderFlags;
GUID ProviderId;
DWORD dwCatalogEntryId;
WSAPROTOCOLCHAIN ProtocolChain;
int iVersion;
int iAddressFamily;
int iMaxSockAddr;
int iMinSockAddr;
int iSocketType;
int iProtocol;
int iProtocolMaxOffset;
int iNetworkByteOrder;
int iSecurityScheme;
DWORD dwMessageSize;
DWORD dwProviderReserved;
CHAR szProtocol[255 +1];
} WSAPROTOCOL_INFOA,*LPWSAPROTOCOL_INFOA;
typedef struct _WSAPROTOCOL_INFOW {
DWORD dwServiceFlags1;
DWORD dwServiceFlags2;
DWORD dwServiceFlags3;
DWORD dwServiceFlags4;
DWORD dwProviderFlags;
GUID ProviderId;
DWORD dwCatalogEntryId;
WSAPROTOCOLCHAIN ProtocolChain;
int iVersion;
int iAddressFamily;
int iMaxSockAddr;
int iMinSockAddr;
int iSocketType;
int iProtocol;
int iProtocolMaxOffset;
int iNetworkByteOrder;
int iSecurityScheme;
DWORD dwMessageSize;
DWORD dwProviderReserved;
WCHAR szProtocol[255 +1];
} WSAPROTOCOL_INFOW,*LPWSAPROTOCOL_INFOW;
typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;
typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;
typedef int ( *LPCONDITIONPROC)(LPWSABUF lpCallerId,LPWSABUF lpCallerData,LPQOS lpSQOS,LPQOS lpGQOS,LPWSABUF lpCalleeId,LPWSABUF lpCalleeData,GROUP *g,DWORD_PTR dwCallbackData);
typedef void ( *LPWSAOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwError,DWORD cbTransferred,LPWSAOVERLAPPED lpOverlapped,DWORD dwFlags);
typedef enum _WSACOMPLETIONTYPE {
NSP_NOTIFY_IMMEDIATELY = 0,
NSP_NOTIFY_HWND,
NSP_NOTIFY_EVENT,
NSP_NOTIFY_PORT,
NSP_NOTIFY_APC
} WSACOMPLETIONTYPE,*PWSACOMPLETIONTYPE,*LPWSACOMPLETIONTYPE;
typedef struct _WSACOMPLETION {
WSACOMPLETIONTYPE Type;
union {
struct {
HWND hWnd;
UINT uMsg;
WPARAM context;
} WindowMessage;
struct {
LPWSAOVERLAPPED lpOverlapped;
} Event;
struct {
LPWSAOVERLAPPED lpOverlapped;
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
} Apc;
struct {
LPWSAOVERLAPPED lpOverlapped;
HANDLE hPort;
ULONG_PTR Key;
} Port;
} Parameters;
} WSACOMPLETION,*PWSACOMPLETION,*LPWSACOMPLETION;
typedef struct sockaddr_storage SOCKADDR_STORAGE;
typedef struct sockaddr_storage *PSOCKADDR_STORAGE;
typedef struct sockaddr_storage *LPSOCKADDR_STORAGE;
typedef u_short ADDRESS_FAMILY;
typedef struct _SOCKET_ADDRESS {
LPSOCKADDR lpSockaddr;
INT iSockaddrLength;
} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
typedef struct _CSADDR_INFO {
SOCKET_ADDRESS LocalAddr;
SOCKET_ADDRESS RemoteAddr;
INT iSocketType;
INT iProtocol;
} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
typedef struct _SOCKET_ADDRESS_LIST {
INT iAddressCount;
SOCKET_ADDRESS Address[1];
} SOCKET_ADDRESS_LIST,*PSOCKET_ADDRESS_LIST,*LPSOCKET_ADDRESS_LIST;
typedef struct _AFPROTOCOLS {
INT iAddressFamily;
INT iProtocol;
} AFPROTOCOLS,*PAFPROTOCOLS,*LPAFPROTOCOLS;
typedef enum _WSAEcomparator {
COMP_EQUAL = 0,
COMP_NOTLESS
} WSAECOMPARATOR,*PWSAECOMPARATOR,*LPWSAECOMPARATOR;
typedef struct _WSAVersion {
DWORD dwVersion;
WSAECOMPARATOR ecHow;
} WSAVERSION,*PWSAVERSION,*LPWSAVERSION;
typedef struct _WSAQuerySetA {
DWORD dwSize;
LPSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
LPWSAVERSION lpVersion;
LPSTR lpszComment;
DWORD dwNameSpace;
LPGUID lpNSProviderId;
LPSTR lpszContext;
DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols;
LPSTR lpszQueryString;
DWORD dwNumberOfCsAddrs;
LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags;
LPBLOB lpBlob;
} WSAQUERYSETA,*PWSAQUERYSETA,*LPWSAQUERYSETA;
typedef struct _WSAQuerySetW {
DWORD dwSize;
LPWSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
LPWSAVERSION lpVersion;
LPWSTR lpszComment;
DWORD dwNameSpace;
LPGUID lpNSProviderId;
LPWSTR lpszContext;
DWORD dwNumberOfProtocols;
LPAFPROTOCOLS lpafpProtocols;
LPWSTR lpszQueryString;
DWORD dwNumberOfCsAddrs;
LPCSADDR_INFO lpcsaBuffer;
DWORD dwOutputFlags;
LPBLOB lpBlob;
} WSAQUERYSETW,*PWSAQUERYSETW,*LPWSAQUERYSETW;
typedef WSAQUERYSETA WSAQUERYSET;
typedef PWSAQUERYSETA PWSAQUERYSET;
typedef LPWSAQUERYSETA LPWSAQUERYSET;
typedef enum _WSAESETSERVICEOP {
RNRSERVICE_REGISTER = 0,
RNRSERVICE_DEREGISTER,
RNRSERVICE_DELETE
} WSAESETSERVICEOP,*PWSAESETSERVICEOP,*LPWSAESETSERVICEOP;
typedef struct _WSANSClassInfoA {
LPSTR lpszName;
DWORD dwNameSpace;
DWORD dwValueType;
DWORD dwValueSize;
LPVOID lpValue;
} WSANSCLASSINFOA,*PWSANSCLASSINFOA,*LPWSANSCLASSINFOA;
typedef struct _WSANSClassInfoW {
LPWSTR lpszName;
DWORD dwNameSpace;
DWORD dwValueType;
DWORD dwValueSize;
LPVOID lpValue;
} WSANSCLASSINFOW,*PWSANSCLASSINFOW,*LPWSANSCLASSINFOW;
typedef WSANSCLASSINFOA WSANSCLASSINFO;
typedef PWSANSCLASSINFOA PWSANSCLASSINFO;
typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;
typedef struct _WSAServiceClassInfoA {
LPGUID lpServiceClassId;
LPSTR lpszServiceClassName;
DWORD dwCount;
LPWSANSCLASSINFOA lpClassInfos;
} WSASERVICECLASSINFOA,*PWSASERVICECLASSINFOA,*LPWSASERVICECLASSINFOA;
typedef struct _WSAServiceClassInfoW {
LPGUID lpServiceClassId;
LPWSTR lpszServiceClassName;
DWORD dwCount;
LPWSANSCLASSINFOW lpClassInfos;
} WSASERVICECLASSINFOW,*PWSASERVICECLASSINFOW,*LPWSASERVICECLASSINFOW;
typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;
typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;
typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;
typedef struct _WSANAMESPACE_INFOA {
GUID NSProviderId;
DWORD dwNameSpace;
WINBOOL fActive;
DWORD dwVersion;
LPSTR lpszIdentifier;
} WSANAMESPACE_INFOA,*PWSANAMESPACE_INFOA,*LPWSANAMESPACE_INFOA;
typedef struct _WSANAMESPACE_INFOW {
GUID NSProviderId;
DWORD dwNameSpace;
WINBOOL fActive;
DWORD dwVersion;
LPWSTR lpszIdentifier;
} WSANAMESPACE_INFOW,*PWSANAMESPACE_INFOW,*LPWSANAMESPACE_INFOW;
typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;
typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;
typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;
typedef struct _WSAMSG {
LPSOCKADDR name;
INT namelen;
LPWSABUF lpBuffers;
DWORD dwBufferCount;
WSABUF Control;
DWORD dwFlags;
} WSAMSG,*PWSAMSG,*LPWSAMSG;
__attribute__((dllimport)) SOCKET accept(SOCKET s,struct sockaddr *addr,int *addrlen);
__attribute__((dllimport)) int bind(SOCKET s,const struct sockaddr *name,int namelen);
__attribute__((dllimport)) int closesocket(SOCKET s);
__attribute__((dllimport)) int connect(SOCKET s,const struct sockaddr *name,int namelen);
__attribute__((dllimport)) int ioctlsocket(SOCKET s,long cmd,u_long *argp);
__attribute__((dllimport)) int getpeername(SOCKET s,struct sockaddr *name,int *namelen);
__attribute__((dllimport)) int getsockname(SOCKET s,struct sockaddr *name,int *namelen);
__attribute__((dllimport)) int getsockopt(SOCKET s,int level,int optname,char *optval,int *optlen);
__attribute__((dllimport)) u_long htonl(u_long hostlong);
__attribute__((dllimport)) u_short htons(u_short hostshort);
__attribute__((dllimport)) unsigned long inet_addr(const char *cp);
__attribute__((dllimport)) char * inet_ntoa(struct in_addr in);
__attribute__((dllimport)) int listen(SOCKET s,int backlog);
__attribute__((dllimport)) u_long ntohl(u_long netlong);
__attribute__((dllimport)) u_short ntohs(u_short netshort);
__attribute__((dllimport)) int recv(SOCKET s,char *buf,int len,int flags);
__attribute__((dllimport)) int recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
__attribute__((dllimport)) int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout);
__attribute__((dllimport)) int send(SOCKET s,const char *buf,int len,int flags);
__attribute__((dllimport)) int sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen);
__attribute__((dllimport)) int setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen);
__attribute__((dllimport)) int shutdown(SOCKET s,int how);
__attribute__((dllimport)) SOCKET socket(int af,int type,int protocol);
__attribute__((dllimport)) struct hostent * gethostbyaddr(const char *addr,int len,int type);
__attribute__((dllimport)) struct hostent * gethostbyname(const char *name);
__attribute__((dllimport)) int gethostname(char *name,int namelen);
__attribute__((dllimport)) struct servent * getservbyport(int port,const char *proto);
__attribute__((dllimport)) struct servent * getservbyname(const char *name,const char *proto);
__attribute__((dllimport)) struct protoent * getprotobynumber(int number);
__attribute__((dllimport)) struct protoent * getprotobyname(const char *name);
__attribute__((dllimport)) int WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData);
__attribute__((dllimport)) int WSACleanup(void);
__attribute__((dllimport)) void WSASetLastError(int iError);
__attribute__((dllimport)) int WSAGetLastError(void);
__attribute__((dllimport)) WINBOOL WSAIsBlocking(void);
__attribute__((dllimport)) int WSAUnhookBlockingHook(void);
__attribute__((dllimport)) FARPROC WSASetBlockingHook(FARPROC lpBlockFunc);
__attribute__((dllimport)) int WSACancelBlockingCall(void);
__attribute__((dllimport)) HANDLE WSAAsyncGetServByName(HWND hWnd,u_int wMsg,const char *name,const char *proto,char *buf,int buflen);
__attribute__((dllimport)) HANDLE WSAAsyncGetServByPort(HWND hWnd,u_int wMsg,int port,const char *proto,char *buf,int buflen);
__attribute__((dllimport)) HANDLE WSAAsyncGetProtoByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen);
__attribute__((dllimport)) HANDLE WSAAsyncGetProtoByNumber(HWND hWnd,u_int wMsg,int number,char *buf,int buflen);
__attribute__((dllimport)) HANDLE WSAAsyncGetHostByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen);
__attribute__((dllimport)) HANDLE WSAAsyncGetHostByAddr(HWND hWnd,u_int wMsg,const char *addr,int len,int type,char *buf,int buflen);
__attribute__((dllimport)) int WSACancelAsyncRequest(HANDLE hAsyncTaskHandle);
__attribute__((dllimport)) int WSAAsyncSelect(SOCKET s,HWND hWnd,u_int wMsg,long lEvent);
__attribute__((dllimport)) SOCKET WSAAccept(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData);
__attribute__((dllimport)) WINBOOL WSACloseEvent(HANDLE hEvent);
__attribute__((dllimport)) int WSAConnect(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS);
__attribute__((dllimport)) HANDLE WSACreateEvent(void);
__attribute__((dllimport)) int WSADuplicateSocketA(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOA lpProtocolInfo);
__attribute__((dllimport)) int WSADuplicateSocketW(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo);
__attribute__((dllimport)) int WSAEnumNetworkEvents(SOCKET s,HANDLE hEventObject,LPWSANETWORKEVENTS lpNetworkEvents);
__attribute__((dllimport)) int WSAEnumProtocolsA(LPINT lpiProtocols,LPWSAPROTOCOL_INFOA lpProtocolBuffer,LPDWORD lpdwBufferLength);
__attribute__((dllimport)) int WSAEnumProtocolsW(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength);
__attribute__((dllimport)) int WSAEventSelect(SOCKET s,HANDLE hEventObject,long lNetworkEvents);
__attribute__((dllimport)) WINBOOL WSAGetOverlappedResult(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags);
__attribute__((dllimport)) WINBOOL WSAGetQOSByName(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS);
__attribute__((dllimport)) int WSAHtonl(SOCKET s,u_long hostlong,u_long *lpnetlong);
__attribute__((dllimport)) int WSAHtons(SOCKET s,u_short hostshort,u_short *lpnetshort);
__attribute__((dllimport)) int WSAIoctl(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) SOCKET WSAJoinLeaf(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags);
__attribute__((dllimport)) int WSANtohl(SOCKET s,u_long netlong,u_long *lphostlong);
__attribute__((dllimport)) int WSANtohs(SOCKET s,u_short netshort,u_short *lphostshort);
__attribute__((dllimport)) int WSARecv(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) int WSARecvDisconnect(SOCKET s,LPWSABUF lpInboundDisconnectData);
__attribute__((dllimport)) int WSARecvFrom(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) WINBOOL WSAResetEvent(HANDLE hEvent);
__attribute__((dllimport)) int WSASend(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) int WSASendDisconnect(SOCKET s,LPWSABUF lpOutboundDisconnectData);
__attribute__((dllimport)) int WSASendTo(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
__attribute__((dllimport)) WINBOOL WSASetEvent(HANDLE hEvent);
__attribute__((dllimport)) SOCKET WSASocketA(int af,int type,int protocol,LPWSAPROTOCOL_INFOA lpProtocolInfo,GROUP g,DWORD dwFlags);
__attribute__((dllimport)) SOCKET WSASocketW(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags);
__attribute__((dllimport)) DWORD WSAWaitForMultipleEvents(DWORD cEvents,const HANDLE *lphEvents,WINBOOL fWaitAll,DWORD dwTimeout,WINBOOL fAlertable);
__attribute__((dllimport)) INT WSAAddressToStringA(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSTR lpszAddressString,LPDWORD lpdwAddressStringLength);
__attribute__((dllimport)) INT WSAAddressToStringW(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength);
__attribute__((dllimport)) INT WSAStringToAddressA(LPSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength);
__attribute__((dllimport)) INT WSAStringToAddressW(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength);
__attribute__((dllimport)) INT WSALookupServiceBeginA(LPWSAQUERYSETA lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup);
__attribute__((dllimport)) INT WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup);
__attribute__((dllimport)) INT WSALookupServiceNextA(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETA lpqsResults);
__attribute__((dllimport)) INT WSALookupServiceNextW(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults);
__attribute__((dllimport)) INT WSANSPIoctl(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion);
__attribute__((dllimport)) INT WSALookupServiceEnd(HANDLE hLookup);
__attribute__((dllimport)) INT WSAInstallServiceClassA(LPWSASERVICECLASSINFOA lpServiceClassInfo);
__attribute__((dllimport)) INT WSAInstallServiceClassW(LPWSASERVICECLASSINFOW lpServiceClassInfo);
__attribute__((dllimport)) INT WSARemoveServiceClass(LPGUID lpServiceClassId);
__attribute__((dllimport)) INT WSAGetServiceClassInfoA(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOA lpServiceClassInfo);
__attribute__((dllimport)) INT WSAGetServiceClassInfoW(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo);
__attribute__((dllimport)) INT WSAEnumNameSpaceProvidersA(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOA lpnspBuffer);
__attribute__((dllimport)) INT WSAEnumNameSpaceProvidersW(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer);
__attribute__((dllimport)) INT WSAGetServiceClassNameByClassIdA(LPGUID lpServiceClassId,LPSTR lpszServiceClassName,LPDWORD lpdwBufferLength);
__attribute__((dllimport)) INT WSAGetServiceClassNameByClassIdW(LPGUID lpServiceClassId,LPWSTR lpszServiceClassName,LPDWORD lpdwBufferLength);
__attribute__((dllimport)) INT WSASetServiceA(LPWSAQUERYSETA lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags);
__attribute__((dllimport)) INT WSASetServiceW(LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags);
__attribute__((dllimport)) INT WSAProviderConfigChange(LPHANDLE lpNotificationHandle,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
#pragma pack(push,8)
typedef LPVOID HINTERNET;
typedef HINTERNET *LPHINTERNET;
typedef WORD INTERNET_PORT;
typedef INTERNET_PORT *LPINTERNET_PORT;
typedef enum {
INTERNET_SCHEME_PARTIAL = -2,INTERNET_SCHEME_UNKNOWN = -1,INTERNET_SCHEME_DEFAULT = 0,INTERNET_SCHEME_FTP,INTERNET_SCHEME_GOPHER,
INTERNET_SCHEME_HTTP,INTERNET_SCHEME_HTTPS,INTERNET_SCHEME_FILE,INTERNET_SCHEME_NEWS,INTERNET_SCHEME_MAILTO,INTERNET_SCHEME_SOCKS,
INTERNET_SCHEME_JAVASCRIPT,INTERNET_SCHEME_VBSCRIPT,INTERNET_SCHEME_RES,INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP,
INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES
} INTERNET_SCHEME,*LPINTERNET_SCHEME;
typedef struct {
DWORD_PTR dwResult;
DWORD dwError;
} INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT;
typedef struct {
DWORD_PTR Socket;
DWORD SourcePort;
DWORD DestPort;
DWORD Flags;
} INTERNET_DIAGNOSTIC_SOCKET_INFO,*LPINTERNET_DIAGNOSTIC_SOCKET_INFO;
typedef struct {
DWORD dwAccessType;
LPCTSTR lpszProxy;
LPCTSTR lpszProxyBypass;
} INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO;
typedef struct {
DWORD dwOption;
union {
DWORD dwValue;
LPSTR pszValue;
FILETIME ftValue;
} Value;
} INTERNET_PER_CONN_OPTIONA,*LPINTERNET_PER_CONN_OPTIONA;
typedef struct {
DWORD dwOption;
union {
DWORD dwValue;
LPWSTR pszValue;
FILETIME ftValue;
} Value;
} INTERNET_PER_CONN_OPTIONW,*LPINTERNET_PER_CONN_OPTIONW;
typedef INTERNET_PER_CONN_OPTIONA INTERNET_PER_CONN_OPTION;
typedef LPINTERNET_PER_CONN_OPTIONA LPINTERNET_PER_CONN_OPTION;
typedef struct {
DWORD dwSize;
LPSTR pszConnection;
DWORD dwOptionCount;
DWORD dwOptionError;
LPINTERNET_PER_CONN_OPTIONA pOptions;
} INTERNET_PER_CONN_OPTION_LISTA,*LPINTERNET_PER_CONN_OPTION_LISTA;
typedef struct {
DWORD dwSize;
LPWSTR pszConnection;
DWORD dwOptionCount;
DWORD dwOptionError;
LPINTERNET_PER_CONN_OPTIONW pOptions;
} INTERNET_PER_CONN_OPTION_LISTW,*LPINTERNET_PER_CONN_OPTION_LISTW;
typedef INTERNET_PER_CONN_OPTION_LISTA INTERNET_PER_CONN_OPTION_LIST;
typedef LPINTERNET_PER_CONN_OPTION_LISTA LPINTERNET_PER_CONN_OPTION_LIST;
typedef struct {
DWORD dwMajorVersion;
DWORD dwMinorVersion;
} INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO;
typedef struct {
DWORD dwMajorVersion;
DWORD dwMinorVersion;
} HTTP_VERSION_INFO,*LPHTTP_VERSION_INFO;
typedef struct {
DWORD dwConnectedState;
DWORD dwFlags;
} INTERNET_CONNECTED_INFO,*LPINTERNET_CONNECTED_INFO;
typedef struct {
DWORD dwStructSize;
LPSTR lpszScheme;
DWORD dwSchemeLength;
INTERNET_SCHEME nScheme;
LPSTR lpszHostName;
DWORD dwHostNameLength;
INTERNET_PORT nPort;
LPSTR lpszUserName;
DWORD dwUserNameLength;
LPSTR lpszPassword;
DWORD dwPasswordLength;
LPSTR lpszUrlPath;
DWORD dwUrlPathLength;
LPSTR lpszExtraInfo;
DWORD dwExtraInfoLength;
} URL_COMPONENTSA,*LPURL_COMPONENTSA;
typedef struct {
DWORD dwStructSize;
LPWSTR lpszScheme;
DWORD dwSchemeLength;
INTERNET_SCHEME nScheme;
LPWSTR lpszHostName;
DWORD dwHostNameLength;
INTERNET_PORT nPort;
LPWSTR lpszUserName;
DWORD dwUserNameLength;
LPWSTR lpszPassword;
DWORD dwPasswordLength;
LPWSTR lpszUrlPath;
DWORD dwUrlPathLength;
LPWSTR lpszExtraInfo;
DWORD dwExtraInfoLength;
} URL_COMPONENTSW,*LPURL_COMPONENTSW;
typedef URL_COMPONENTSA URL_COMPONENTS;
typedef LPURL_COMPONENTSA LPURL_COMPONENTS;
typedef struct {
FILETIME ftExpiry;
FILETIME ftStart;
LPTSTR lpszSubjectInfo;
LPTSTR lpszIssuerInfo;
LPTSTR lpszProtocolName;
LPTSTR lpszSignatureAlgName;
LPTSTR lpszEncryptionAlgName;
DWORD dwKeySize;
} INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO;
typedef struct _INTERNET_BUFFERSA {
DWORD dwStructSize;
struct _INTERNET_BUFFERSA *Next;
LPCSTR lpcszHeader;
DWORD dwHeadersLength;
DWORD dwHeadersTotal;
LPVOID lpvBuffer;
DWORD dwBufferLength;
DWORD dwBufferTotal;
DWORD dwOffsetLow;
DWORD dwOffsetHigh;
} INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA;
typedef struct _INTERNET_BUFFERSW {
DWORD dwStructSize;
struct _INTERNET_BUFFERSW *Next;
LPCWSTR lpcszHeader;
DWORD dwHeadersLength;
DWORD dwHeadersTotal;
LPVOID lpvBuffer;
DWORD dwBufferLength;
DWORD dwBufferTotal;
DWORD dwOffsetLow;
DWORD dwOffsetHigh;
} INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW;
typedef INTERNET_BUFFERSA INTERNET_BUFFERS;
typedef LPINTERNET_BUFFERSA LPINTERNET_BUFFERS;
extern __attribute__((dllimport)) WINBOOL InternetTimeFromSystemTime(const SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime);
extern __attribute__((dllimport)) WINBOOL InternetTimeFromSystemTimeA(const SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime);
extern __attribute__((dllimport)) WINBOOL InternetTimeFromSystemTimeW(const SYSTEMTIME *pst,DWORD dwRFC,LPWSTR lpszTime,DWORD cbTime);
extern __attribute__((dllimport)) WINBOOL InternetTimeToSystemTime(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetTimeToSystemTimeA(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetTimeToSystemTimeW(LPCWSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetCrackUrlA(LPCSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSA lpUrlComponents);
extern __attribute__((dllimport)) WINBOOL InternetCrackUrlW(LPCWSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSW lpUrlComponents);
extern __attribute__((dllimport)) WINBOOL InternetCreateUrlA(LPURL_COMPONENTSA lpUrlComponents,DWORD dwFlags,LPSTR lpszUrl,LPDWORD lpdwUrlLength);
extern __attribute__((dllimport)) WINBOOL InternetCreateUrlW(LPURL_COMPONENTSW lpUrlComponents,DWORD dwFlags,LPWSTR lpszUrl,LPDWORD lpdwUrlLength);
extern __attribute__((dllimport)) WINBOOL InternetCanonicalizeUrlA(LPCSTR lpszUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetCanonicalizeUrlW(LPCWSTR lpszUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetCombineUrlA(LPCSTR lpszBaseUrl,LPCSTR lpszRelativeUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetCombineUrlW(LPCWSTR lpszBaseUrl,LPCWSTR lpszRelativeUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) HINTERNET InternetOpenA(LPCSTR lpszAgent,DWORD dwAccessType,LPCSTR lpszProxy,LPCSTR lpszProxyBypass,DWORD dwFlags);
extern __attribute__((dllimport)) HINTERNET InternetOpenW(LPCWSTR lpszAgent,DWORD dwAccessType,LPCWSTR lpszProxy,LPCWSTR lpszProxyBypass,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetCloseHandle(HINTERNET hInternet);
extern __attribute__((dllimport)) HINTERNET InternetConnectA(HINTERNET hInternet,LPCSTR lpszServerName,INTERNET_PORT nServerPort,LPCSTR lpszUserName,LPCSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET InternetConnectW(HINTERNET hInternet,LPCWSTR lpszServerName,INTERNET_PORT nServerPort,LPCWSTR lpszUserName,LPCWSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET InternetOpenUrlA(HINTERNET hInternet,LPCSTR lpszUrl,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET InternetOpenUrlW(HINTERNET hInternet,LPCWSTR lpszUrl,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL InternetReadFile(HINTERNET hFile,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead);
extern __attribute__((dllimport)) WINBOOL InternetReadFileExA(HINTERNET hFile,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL InternetReadFileExW(HINTERNET hFile,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) DWORD InternetSetFilePointer(HINTERNET hFile,LONG lDistanceToMove,PVOID pReserved,DWORD dwMoveMethod,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL InternetWriteFile(HINTERNET hFile,LPCVOID lpBuffer,DWORD dwNumberOfBytesToWrite,LPDWORD lpdwNumberOfBytesWritten);
extern __attribute__((dllimport)) WINBOOL InternetQueryDataAvailable(HINTERNET hFile,LPDWORD lpdwNumberOfBytesAvailable,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL InternetFindNextFileA(HINTERNET hFind,LPVOID lpvFindData);
extern __attribute__((dllimport)) WINBOOL InternetFindNextFileW(HINTERNET hFind,LPVOID lpvFindData);
extern __attribute__((dllimport)) WINBOOL InternetQueryOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength);
extern __attribute__((dllimport)) WINBOOL InternetQueryOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength);
extern __attribute__((dllimport)) WINBOOL InternetSetOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength);
extern __attribute__((dllimport)) WINBOOL InternetSetOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength);
extern __attribute__((dllimport)) WINBOOL InternetSetOptionExA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetSetOptionExW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetLockRequestFile(HINTERNET hInternet,HANDLE *lphLockRequestInfo);
extern __attribute__((dllimport)) WINBOOL InternetUnlockRequestFile(HANDLE hLockRequestInfo);
extern __attribute__((dllimport)) WINBOOL InternetGetLastResponseInfoA(LPDWORD lpdwError,LPSTR lpszBuffer,LPDWORD lpdwBufferLength);
extern __attribute__((dllimport)) WINBOOL InternetGetLastResponseInfoW(LPDWORD lpdwError,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength);
typedef void ( *INTERNET_STATUS_CALLBACK)(HINTERNET hInternet,DWORD_PTR dwContext,DWORD dwInternetStatus,LPVOID lpvStatusInformation,DWORD dwStatusInformationLength);
typedef INTERNET_STATUS_CALLBACK *LPINTERNET_STATUS_CALLBACK;
extern __attribute__((dllimport)) INTERNET_STATUS_CALLBACK InternetSetStatusCallback(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback);
extern __attribute__((dllimport)) INTERNET_STATUS_CALLBACK InternetSetStatusCallbackA(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback);
extern __attribute__((dllimport)) INTERNET_STATUS_CALLBACK InternetSetStatusCallbackW(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback);
typedef enum {
COOKIE_STATE_UNKNOWN = 0x0,COOKIE_STATE_ACCEPT = 0x1,COOKIE_STATE_PROMPT = 0x2,COOKIE_STATE_LEASH = 0x3,COOKIE_STATE_DOWNGRADE = 0x4,
COOKIE_STATE_REJECT = 0x5,COOKIE_STATE_MAX = COOKIE_STATE_REJECT
} InternetCookieState;
typedef struct {
int cSession;
int cPersistent;
int cAccepted;
int cLeashed;
int cDowngraded;
int cBlocked;
const char *pszLocation;
} IncomingCookieState;
typedef struct {
int cSent;
int cSuppressed;
const char *pszLocation;
} OutgoingCookieState;
typedef struct {
WINBOOL fAccepted;
WINBOOL fLeashed;
WINBOOL fDowngraded;
WINBOOL fRejected;
} InternetCookieHistory;
typedef struct {
DWORD dwCookieState;
WINBOOL fAllowSession;
} CookieDecision;
extern __attribute__((dllimport)) HINTERNET FtpFindFirstFileA(HINTERNET hConnect,LPCSTR lpszSearchFile,LPWIN32_FIND_DATAA lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET FtpFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszSearchFile,LPWIN32_FIND_DATAW lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpGetFileA(HINTERNET hConnect,LPCSTR lpszRemoteFile,LPCSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpGetFileW(HINTERNET hConnect,LPCWSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpPutFileA(HINTERNET hConnect,LPCSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpPutFileW(HINTERNET hConnect,LPCWSTR lpszLocalFile,LPCWSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpGetFileEx(HINTERNET hFtpSession,LPCSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpPutFileEx(HINTERNET hFtpSession,LPCWSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpDeleteFileA(HINTERNET hConnect,LPCSTR lpszFileName);
extern __attribute__((dllimport)) WINBOOL FtpDeleteFileW(HINTERNET hConnect,LPCWSTR lpszFileName);
extern __attribute__((dllimport)) WINBOOL FtpRenameFileA(HINTERNET hConnect,LPCSTR lpszExisting,LPCSTR lpszNew);
extern __attribute__((dllimport)) WINBOOL FtpRenameFileW(HINTERNET hConnect,LPCWSTR lpszExisting,LPCWSTR lpszNew);
extern __attribute__((dllimport)) HINTERNET FtpOpenFileA(HINTERNET hConnect,LPCSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET FtpOpenFileW(HINTERNET hConnect,LPCWSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL FtpCreateDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpCreateDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpRemoveDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpRemoveDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpSetCurrentDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpSetCurrentDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory);
extern __attribute__((dllimport)) WINBOOL FtpGetCurrentDirectoryA(HINTERNET hConnect,LPSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory);
extern __attribute__((dllimport)) WINBOOL FtpGetCurrentDirectoryW(HINTERNET hConnect,LPWSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory);
extern __attribute__((dllimport)) WINBOOL FtpCommandA(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand);
extern __attribute__((dllimport)) WINBOOL FtpCommandW(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCWSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand);
extern __attribute__((dllimport)) DWORD FtpGetFileSize(HINTERNET hFile,LPDWORD lpdwFileSizeHigh);
typedef struct {
CHAR DisplayString[128 + 1];
DWORD GopherType;
DWORD SizeLow;
DWORD SizeHigh;
FILETIME LastModificationTime;
CHAR Locator[(1 + 128 + 1 + 256 + 1 + 256 + 1 + 5 + 1 + 1 + 2) + 1];
} GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA;
typedef struct {
WCHAR DisplayString[128 + 1];
DWORD GopherType;
DWORD SizeLow;
DWORD SizeHigh;
FILETIME LastModificationTime;
WCHAR Locator[(1 + 128 + 1 + 256 + 1 + 256 + 1 + 5 + 1 + 1 + 2) + 1];
} GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW;
typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
typedef struct {
LPCTSTR Comment;
LPCTSTR EmailAddress;
} GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
typedef struct {
FILETIME DateAndTime;
} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
typedef struct {
DWORD Ttl;
} GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE;
typedef struct {
INT Score;
} GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE;
typedef struct {
INT LowerBound;
INT UpperBound;
} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Site;
} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Organization;
} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Location;
} GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
typedef struct {
INT DegreesNorth;
INT MinutesNorth;
INT SecondsNorth;
INT DegreesEast;
INT MinutesEast;
INT SecondsEast;
} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
typedef struct {
INT Zone;
} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Provider;
} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Version;
} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR ShortAbstract;
LPCTSTR AbstractFile;
} GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR ContentType;
LPCTSTR Language;
DWORD Size;
} GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE;
typedef struct {
WINBOOL TreeWalk;
} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR QuestionType;
LPCTSTR QuestionText;
} GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE;
typedef struct {
LPCTSTR Text;
} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
typedef struct {
DWORD CategoryId;
DWORD AttributeId;
union {
GOPHER_ADMIN_ATTRIBUTE_TYPE Admin;
GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
GOPHER_SCORE_ATTRIBUTE_TYPE Score;
GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
GOPHER_SITE_ATTRIBUTE_TYPE Site;
GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization;
GOPHER_LOCATION_ATTRIBUTE_TYPE Location;
GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider;
GOPHER_VERSION_ATTRIBUTE_TYPE Version;
GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract;
GOPHER_VIEW_ATTRIBUTE_TYPE View;
GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
GOPHER_ASK_ATTRIBUTE_TYPE Ask;
GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown;
} AttributeType;
} GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE;
extern __attribute__((dllimport)) WINBOOL GopherCreateLocatorA(LPCSTR lpszHost,INTERNET_PORT nServerPort,LPCSTR lpszDisplayString,LPCSTR lpszSelectorString,DWORD dwGopherType,LPSTR lpszLocator,LPDWORD lpdwBufferLength);
extern __attribute__((dllimport)) WINBOOL GopherCreateLocatorW(LPCWSTR lpszHost,INTERNET_PORT nServerPort,LPCWSTR lpszDisplayString,LPCWSTR lpszSelectorString,DWORD dwGopherType,LPWSTR lpszLocator,LPDWORD lpdwBufferLength);
extern __attribute__((dllimport)) WINBOOL GopherGetLocatorTypeA(LPCSTR lpszLocator,LPDWORD lpdwGopherType);
extern __attribute__((dllimport)) WINBOOL GopherGetLocatorTypeW(LPCWSTR lpszLocator,LPDWORD lpdwGopherType);
extern __attribute__((dllimport)) HINTERNET GopherFindFirstFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszSearchString,LPGOPHER_FIND_DATAA lpFindData,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET GopherFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszSearchString,LPGOPHER_FIND_DATAW lpFindData,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET GopherOpenFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET GopherOpenFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext);
typedef WINBOOL ( *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE lpAttributeInfo,DWORD dwError);
extern __attribute__((dllimport)) WINBOOL GopherGetAttributeA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL GopherGetAttributeW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET HttpOpenRequestA(HINTERNET hConnect,LPCSTR lpszVerb,LPCSTR lpszObjectName,LPCSTR lpszVersion,LPCSTR lpszReferrer,LPCSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) HINTERNET HttpOpenRequestW(HINTERNET hConnect,LPCWSTR lpszVerb,LPCWSTR lpszObjectName,LPCWSTR lpszVersion,LPCWSTR lpszReferrer,LPCWSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL HttpAddRequestHeadersA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers);
extern __attribute__((dllimport)) WINBOOL HttpAddRequestHeadersW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers);
extern __attribute__((dllimport)) WINBOOL HttpSendRequestA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength);
extern __attribute__((dllimport)) WINBOOL HttpSendRequestW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength);
extern __attribute__((dllimport)) WINBOOL HttpSendRequestExA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersIn,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL HttpSendRequestExW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersIn,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL HttpEndRequestA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL HttpEndRequestW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext);
extern __attribute__((dllimport)) WINBOOL HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);
extern __attribute__((dllimport)) WINBOOL HttpQueryInfoW(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex);
extern __attribute__((dllimport)) WINBOOL InternetSetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData);
extern __attribute__((dllimport)) WINBOOL InternetSetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData);
extern __attribute__((dllimport)) WINBOOL InternetGetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize);
extern __attribute__((dllimport)) WINBOOL InternetGetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize);
extern __attribute__((dllimport)) DWORD InternetSetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved);
extern __attribute__((dllimport)) DWORD InternetSetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) DWORD InternetAttemptConnect(DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetCheckConnectionA(LPCSTR lpszUrl,DWORD dwFlags,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetCheckConnectionW(LPCWSTR lpszUrl,DWORD dwFlags,DWORD dwReserved);
DWORD InternetAuthNotifyCallback(DWORD_PTR dwContext,DWORD dwReturn,LPVOID lpReserved);
typedef DWORD ( *PFN_AUTH_NOTIFY) (DWORD_PTR,DWORD,LPVOID);
typedef struct {
DWORD cbStruct;
DWORD dwOptions;
PFN_AUTH_NOTIFY pfnNotify;
DWORD_PTR dwContext;
} INTERNET_AUTH_NOTIFY_DATA;
extern __attribute__((dllimport)) DWORD InternetConfirmZoneCrossing(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost);
extern __attribute__((dllimport)) WINBOOL ResumeSuspendedDownload(HINTERNET hRequest,DWORD dwResultCode);
extern __attribute__((dllimport)) DWORD InternetErrorDlg(HWND hWnd,HINTERNET hRequest,DWORD dwError,DWORD dwFlags,LPVOID *lppvData);
extern __attribute__((dllimport)) DWORD InternetConfirmZoneCrossingA(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost);
extern __attribute__((dllimport)) DWORD InternetConfirmZoneCrossingW(HWND hWnd,LPWSTR szUrlPrev,LPWSTR szUrlNew,WINBOOL bPost);
typedef struct _INTERNET_CACHE_ENTRY_INFOA {
DWORD dwStructSize;
LPSTR lpszSourceUrlName;
LPSTR lpszLocalFileName;
DWORD CacheEntryType;
DWORD dwUseCount;
DWORD dwHitRate;
DWORD dwSizeLow;
DWORD dwSizeHigh;
FILETIME LastModifiedTime;
FILETIME ExpireTime;
FILETIME LastAccessTime;
FILETIME LastSyncTime;
LPSTR lpHeaderInfo;
DWORD dwHeaderInfoSize;
LPSTR lpszFileExtension;
__extension__ union {
DWORD dwReserved;
DWORD dwExemptDelta;
};
} INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA;
typedef struct _INTERNET_CACHE_ENTRY_INFOW {
DWORD dwStructSize;
LPWSTR lpszSourceUrlName;
LPWSTR lpszLocalFileName;
DWORD CacheEntryType;
DWORD dwUseCount;
DWORD dwHitRate;
DWORD dwSizeLow;
DWORD dwSizeHigh;
FILETIME LastModifiedTime;
FILETIME ExpireTime;
FILETIME LastAccessTime;
FILETIME LastSyncTime;
LPWSTR lpHeaderInfo;
DWORD dwHeaderInfoSize;
LPWSTR lpszFileExtension;
__extension__ union {
DWORD dwReserved;
DWORD dwExemptDelta;
};
} INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW;
typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO;
typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO;
typedef struct _INTERNET_CACHE_TIMESTAMPS {
FILETIME ftExpires;
FILETIME ftLastModified;
} INTERNET_CACHE_TIMESTAMPS,*LPINTERNET_CACHE_TIMESTAMPS;
typedef LONGLONG GROUPID;
typedef struct _INTERNET_CACHE_GROUP_INFOA {
DWORD dwGroupSize;
DWORD dwGroupFlags;
DWORD dwGroupType;
DWORD dwDiskUsage;
DWORD dwDiskQuota;
DWORD dwOwnerStorage[4];
CHAR szGroupName[120];
} INTERNET_CACHE_GROUP_INFOA,*LPINTERNET_CACHE_GROUP_INFOA;
typedef struct _INTERNET_CACHE_GROUP_INFOW {
DWORD dwGroupSize;
DWORD dwGroupFlags;
DWORD dwGroupType;
DWORD dwDiskUsage;
DWORD dwDiskQuota;
DWORD dwOwnerStorage[4];
WCHAR szGroupName[120];
} INTERNET_CACHE_GROUP_INFOW,*LPINTERNET_CACHE_GROUP_INFOW;
typedef INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO;
typedef LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO;
extern __attribute__((dllimport)) WINBOOL CreateUrlCacheEntryA(LPCSTR lpszUrlName,DWORD dwExpectedFileSize,LPCSTR lpszFileExtension,LPSTR lpszFileName,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL CreateUrlCacheEntryW(LPCWSTR lpszUrlName,DWORD dwExpectedFileSize,LPCWSTR lpszFileExtension,LPWSTR lpszFileName,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL CommitUrlCacheEntryA(LPCSTR lpszUrlName,LPCSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPBYTE lpHeaderInfo,DWORD dwHeaderSize,LPCSTR lpszFileExtension,LPCSTR lpszOriginalUrl);
extern __attribute__((dllimport)) WINBOOL CommitUrlCacheEntryW(LPCWSTR lpszUrlName,LPCWSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPWSTR lpszHeaderInfo,DWORD dwHeaders,LPCWSTR lpszFileExtension,LPCWSTR lpszOriginalUrl);
extern __attribute__((dllimport)) WINBOOL RetrieveUrlCacheEntryFileA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL RetrieveUrlCacheEntryFileW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL UnlockUrlCacheEntryFileA(LPCSTR lpszUrlName,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL UnlockUrlCacheEntryFileW(LPCWSTR lpszUrlName,DWORD dwReserved);
extern __attribute__((dllimport)) HANDLE RetrieveUrlCacheEntryStreamA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved);
extern __attribute__((dllimport)) HANDLE RetrieveUrlCacheEntryStreamW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL ReadUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD dwLocation,LPVOID lpBuffer,LPDWORD lpdwLen,DWORD Reserved);
extern __attribute__((dllimport)) WINBOOL UnlockUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD Reserved);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) HANDLE FindFirstUrlCacheGroup(DWORD dwFlags,DWORD dwFilter,LPVOID lpSearchCondition,DWORD dwSearchCondition,GROUPID *lpGroupId,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL FindNextUrlCacheGroup(HANDLE hFind,GROUPID *lpGroupId,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPVOID lpReserved);
extern __attribute__((dllimport)) GROUPID CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheEntryInfoExA(LPCSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL GetUrlCacheEntryInfoExW(LPCWSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPWSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheEntryGroup(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL DeleteUrlCacheEntry(LPCSTR lpszUrlName);
extern __attribute__((dllimport)) DWORD InternetDial(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,LPDWORD lpdwConnection,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGoOnline(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,DWORD dwFieldControl);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,DWORD dwFieldControl);
extern __attribute__((dllimport)) GROUPID CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheEntryGroupA(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL SetUrlCacheEntryGroupW(LPCWSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) HANDLE FindFirstUrlCacheEntryExA(LPCSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) HANDLE FindFirstUrlCacheEntryExW(LPCWSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL FindNextUrlCacheEntryExA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) WINBOOL FindNextUrlCacheEntryExW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved);
extern __attribute__((dllimport)) HANDLE FindFirstUrlCacheEntryA(LPCSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) HANDLE FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) WINBOOL FindNextUrlCacheEntryA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) WINBOOL FindNextUrlCacheEntryW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo);
extern __attribute__((dllimport)) WINBOOL FindCloseUrlCache(HANDLE hEnumHandle);
extern __attribute__((dllimport)) WINBOOL DeleteUrlCacheEntryA(LPCSTR lpszUrlName);
extern __attribute__((dllimport)) WINBOOL DeleteUrlCacheEntryW(LPCWSTR lpszUrlName);
extern __attribute__((dllimport)) DWORD InternetDialA(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved);
extern __attribute__((dllimport)) DWORD InternetDialW(HWND hwndParent,LPWSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved);
extern __attribute__((dllimport)) DWORD InternetHangUp(DWORD_PTR dwConnection,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGoOnlineA(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetGoOnlineW(LPWSTR lpszURL,HWND hwndParent,DWORD dwFlags);
extern __attribute__((dllimport)) WINBOOL InternetAutodial(DWORD dwFlags,HWND hwndParent);
extern __attribute__((dllimport)) WINBOOL InternetAutodialHangup(DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetConnectedStateExA(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetConnectedStateExW(LPDWORD lpdwFlags,LPWSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved);
struct AutoProxyHelperFunctions;
typedef struct AutoProxyHelperVtbl {
WINBOOL ( *IsResolvable)(LPSTR lpszHost);
DWORD ( *GetIPAddress)(LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize);
DWORD ( *ResolveHostName)(LPSTR lpszHostName,LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize);
WINBOOL ( *IsInNet)(LPSTR lpszIPAddress,LPSTR lpszDest,LPSTR lpszMask);
} AutoProxyHelperVtbl;
typedef struct {
DWORD dwStructSize;
LPSTR lpszScriptBuffer;
DWORD dwScriptBufferSize;
} AUTO_PROXY_SCRIPT_BUFFER,*LPAUTO_PROXY_SCRIPT_BUFFER;
typedef struct AutoProxyHelperFunctions {
const struct AutoProxyHelperVtbl *lpVtbl;
} AutoProxyHelperFunctions;
typedef WINBOOL ( *pfnInternetInitializeAutoProxyDll)(DWORD dwVersion,LPSTR lpszDownloadedTempFile,LPSTR lpszMime,AutoProxyHelperFunctions *lpAutoProxyCallbacks,LPAUTO_PROXY_SCRIPT_BUFFER lpAutoProxyScriptBuffer);
typedef WINBOOL ( *pfnInternetDeInitializeAutoProxyDll)(LPSTR lpszMime,DWORD dwReserved);
typedef WINBOOL ( *pfnInternetGetProxyInfo)(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength);
extern __attribute__((dllimport)) WINBOOL InternetGetConnectedStateEx(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwNameLen,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetInitializeAutoProxyDll(DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetDeInitializeAutoProxyDll(LPSTR lpszMime,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetGetProxyInfo(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength);
extern __attribute__((dllimport)) WINBOOL DetectAutoProxyUrl(LPSTR lpszAutoProxyUrl,DWORD dwAutoProxyUrlLength,DWORD dwDetectFlags);
extern __attribute__((dllimport)) WINBOOL CreateMD5SSOHash(PWSTR pszChallengeInfo,PWSTR pwszRealm,PWSTR pwszTarget,PBYTE pbHexHash);
typedef DWORD ( *PFN_DIAL_HANDLER) (HWND,LPCSTR,DWORD,LPDWORD);
extern __attribute__((dllimport)) WINBOOL InternetSetDialState(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetSetDialStateA(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetSetDialStateW(LPCWSTR lpszConnectoid,DWORD dwState,DWORD dwReserved);
extern __attribute__((dllimport)) WINBOOL InternetSetPerSiteCookieDecisionA(LPCSTR pchHostName,DWORD dwDecision);
extern __attribute__((dllimport)) WINBOOL InternetSetPerSiteCookieDecisionW(LPCWSTR pchHostName,DWORD dwDecision);
extern __attribute__((dllimport)) WINBOOL InternetGetPerSiteCookieDecisionA(LPCSTR pchHostName,unsigned long *pResult);
extern __attribute__((dllimport)) WINBOOL InternetGetPerSiteCookieDecisionW(LPCWSTR pchHostName,unsigned long *pResult);
extern __attribute__((dllimport)) WINBOOL InternetClearAllPerSiteCookieDecisions();
extern __attribute__((dllimport)) WINBOOL InternetEnumPerSiteCookieDecisionA(LPSTR pszSiteName,unsigned long *pcSiteNameSize,unsigned long *pdwDecision,unsigned long dwIndex);
extern __attribute__((dllimport)) WINBOOL InternetEnumPerSiteCookieDecisionW(LPWSTR pszSiteName,unsigned long *pcSiteNameSize,unsigned long *pdwDecision,unsigned long dwIndex);
extern __attribute__((dllimport)) DWORD PrivacySetZonePreferenceW(DWORD dwZone,DWORD dwType,DWORD dwTemplate,LPCWSTR pszPreference);
extern __attribute__((dllimport)) DWORD PrivacyGetZonePreferenceW(DWORD dwZone,DWORD dwType,LPDWORD pdwTemplate,LPWSTR pszBuffer,LPDWORD pdwBufferLength);
#pragma pack(pop)
HANDLE CreateToolhelp32Snapshot(DWORD dwFlags,DWORD th32ProcessID);
typedef struct tagHEAPLIST32 {
SIZE_T dwSize;
DWORD th32ProcessID;
ULONG_PTR th32HeapID;
DWORD dwFlags;
} HEAPLIST32;
typedef HEAPLIST32 *PHEAPLIST32;
typedef HEAPLIST32 *LPHEAPLIST32;
WINBOOL Heap32ListFirst(HANDLE hSnapshot,LPHEAPLIST32 lphl);
WINBOOL Heap32ListNext(HANDLE hSnapshot,LPHEAPLIST32 lphl);
typedef struct tagHEAPENTRY32 {
SIZE_T dwSize;
HANDLE hHandle;
ULONG_PTR dwAddress;
SIZE_T dwBlockSize;
DWORD dwFlags;
DWORD dwLockCount;
DWORD dwResvd;
DWORD th32ProcessID;
ULONG_PTR th32HeapID;
} HEAPENTRY32;
typedef HEAPENTRY32 *PHEAPENTRY32;
typedef HEAPENTRY32 *LPHEAPENTRY32;
WINBOOL Heap32First(LPHEAPENTRY32 lphe,DWORD th32ProcessID,ULONG_PTR th32HeapID);
WINBOOL Heap32Next(LPHEAPENTRY32 lphe);
WINBOOL Toolhelp32ReadProcessMemory(DWORD th32ProcessID,LPCVOID lpBaseAddress,LPVOID lpBuffer,SIZE_T cbRead,SIZE_T *lpNumberOfBytesRead);
typedef struct tagPROCESSENTRY32W {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
WCHAR szExeFile[260];
} PROCESSENTRY32W;
typedef PROCESSENTRY32W *PPROCESSENTRY32W;
typedef PROCESSENTRY32W *LPPROCESSENTRY32W;
WINBOOL Process32FirstW(HANDLE hSnapshot,LPPROCESSENTRY32W lppe);
WINBOOL Process32NextW(HANDLE hSnapshot,LPPROCESSENTRY32W lppe);
typedef struct tagPROCESSENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
CHAR szExeFile[260];
} PROCESSENTRY32;
typedef PROCESSENTRY32 *PPROCESSENTRY32;
typedef PROCESSENTRY32 *LPPROCESSENTRY32;
WINBOOL Process32First(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);
WINBOOL Process32Next(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);
typedef struct tagTHREADENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ThreadID;
DWORD th32OwnerProcessID;
LONG tpBasePri;
LONG tpDeltaPri;
DWORD dwFlags;
} THREADENTRY32;
typedef THREADENTRY32 *PTHREADENTRY32;
typedef THREADENTRY32 *LPTHREADENTRY32;
WINBOOL Thread32First(HANDLE hSnapshot,LPTHREADENTRY32 lpte);
WINBOOL Thread32Next(HANDLE hSnapshot,LPTHREADENTRY32 lpte);
typedef struct tagMODULEENTRY32W {
DWORD dwSize;
DWORD th32ModuleID;
DWORD th32ProcessID;
DWORD GlblcntUsage;
DWORD ProccntUsage;
BYTE *modBaseAddr;
DWORD modBaseSize;
HMODULE hModule;
WCHAR szModule[255 + 1];
WCHAR szExePath[260];
} MODULEENTRY32W;
typedef MODULEENTRY32W *PMODULEENTRY32W;
typedef MODULEENTRY32W *LPMODULEENTRY32W;
WINBOOL Module32FirstW(HANDLE hSnapshot,LPMODULEENTRY32W lpme);
WINBOOL Module32NextW(HANDLE hSnapshot,LPMODULEENTRY32W lpme);
typedef struct tagMODULEENTRY32 {
DWORD dwSize;
DWORD th32ModuleID;
DWORD th32ProcessID;
DWORD GlblcntUsage;
DWORD ProccntUsage;
BYTE *modBaseAddr;
DWORD modBaseSize;
HMODULE hModule;
char szModule[255 + 1];
char szExePath[260];
} MODULEENTRY32;
typedef MODULEENTRY32 *PMODULEENTRY32;
typedef MODULEENTRY32 *LPMODULEENTRY32;
WINBOOL Module32First(HANDLE hSnapshot,LPMODULEENTRY32 lpme);
WINBOOL Module32Next(HANDLE hSnapshot,LPMODULEENTRY32 lpme);
WINBOOL EnumProcesses(DWORD *lpidProcess,DWORD cb,DWORD *cbNeeded);
WINBOOL EnumProcessModules(HANDLE hProcess,HMODULE *lphModule,DWORD cb,LPDWORD lpcbNeeded);
DWORD GetModuleBaseNameA(HANDLE hProcess,HMODULE hModule,LPSTR lpBaseName,DWORD nSize);
DWORD GetModuleBaseNameW(HANDLE hProcess,HMODULE hModule,LPWSTR lpBaseName,DWORD nSize);
DWORD GetModuleFileNameExA(HANDLE hProcess,HMODULE hModule,LPSTR lpFilename,DWORD nSize);
DWORD GetModuleFileNameExW(HANDLE hProcess,HMODULE hModule,LPWSTR lpFilename,DWORD nSize);
typedef struct _MODULEINFO {
LPVOID lpBaseOfDll;
DWORD SizeOfImage;
LPVOID EntryPoint;
} MODULEINFO,*LPMODULEINFO;
WINBOOL GetModuleInformation(HANDLE hProcess,HMODULE hModule,LPMODULEINFO lpmodinfo,DWORD cb);
WINBOOL EmptyWorkingSet(HANDLE hProcess);
WINBOOL QueryWorkingSet(HANDLE hProcess,PVOID pv,DWORD cb);
WINBOOL QueryWorkingSetEx(HANDLE hProcess,PVOID pv,DWORD cb);
WINBOOL InitializeProcessForWsWatch(HANDLE hProcess);
typedef struct _PSAPI_WS_WATCH_INFORMATION {
LPVOID FaultingPc;
LPVOID FaultingVa;
} PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION;
WINBOOL GetWsChanges(HANDLE hProcess,PPSAPI_WS_WATCH_INFORMATION lpWatchInfo,DWORD cb);
DWORD GetMappedFileNameW(HANDLE hProcess,LPVOID lpv,LPWSTR lpFilename,DWORD nSize);
DWORD GetMappedFileNameA(HANDLE hProcess,LPVOID lpv,LPSTR lpFilename,DWORD nSize);
WINBOOL EnumDeviceDrivers(LPVOID *lpImageBase,DWORD cb,LPDWORD lpcbNeeded);
DWORD GetDeviceDriverBaseNameA(LPVOID ImageBase,LPSTR lpBaseName,DWORD nSize);
DWORD GetDeviceDriverBaseNameW(LPVOID ImageBase,LPWSTR lpBaseName,DWORD nSize);
DWORD GetDeviceDriverFileNameA(LPVOID ImageBase,LPSTR lpFilename,DWORD nSize);
DWORD GetDeviceDriverFileNameW(LPVOID ImageBase,LPWSTR lpFilename,DWORD nSize);
typedef struct _PROCESS_MEMORY_COUNTERS {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
} PROCESS_MEMORY_COUNTERS;
typedef PROCESS_MEMORY_COUNTERS *PPROCESS_MEMORY_COUNTERS;
typedef struct _PROCESS_MEMORY_COUNTERS_EX {
DWORD cb;
DWORD PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
SIZE_T PrivateUsage;
} PROCESS_MEMORY_COUNTERS_EX;
typedef PROCESS_MEMORY_COUNTERS_EX *PPROCESS_MEMORY_COUNTERS_EX;
WINBOOL GetProcessMemoryInfo(HANDLE Process,PPROCESS_MEMORY_COUNTERS ppsmemCounters,DWORD cb);
typedef struct _PERFORMANCE_INFORMATION {
DWORD cb;
SIZE_T CommitTotal;
SIZE_T CommitLimit;
SIZE_T CommitPeak;
SIZE_T PhysicalTotal;
SIZE_T PhysicalAvailable;
SIZE_T SystemCache;
SIZE_T KernelTotal;
SIZE_T KernelPaged;
SIZE_T KernelNonpaged;
SIZE_T PageSize;
DWORD HandleCount;
DWORD ProcessCount;
DWORD ThreadCount;
} PERFORMANCE_INFORMATION,*PPERFORMANCE_INFORMATION,PERFORMACE_INFORMATION,*PPERFORMACE_INFORMATION;
WINBOOL GetPerformanceInfo (PPERFORMACE_INFORMATION pPerformanceInformation,DWORD cb);
typedef struct _ENUM_PAGE_FILE_INFORMATION {
DWORD cb;
DWORD Reserved;
SIZE_T TotalSize;
SIZE_T TotalInUse;
SIZE_T PeakUsage;
} ENUM_PAGE_FILE_INFORMATION,*PENUM_PAGE_FILE_INFORMATION;
typedef WINBOOL (*PENUM_PAGE_FILE_CALLBACKW) (LPVOID pContext,PENUM_PAGE_FILE_INFORMATION pPageFileInfo,LPCWSTR lpFilename);
typedef WINBOOL (*PENUM_PAGE_FILE_CALLBACKA) (LPVOID pContext,PENUM_PAGE_FILE_INFORMATION pPageFileInfo,LPCSTR lpFilename);
WINBOOL EnumPageFilesW (PENUM_PAGE_FILE_CALLBACKW pCallBackRoutine,LPVOID pContext);
WINBOOL EnumPageFilesA (PENUM_PAGE_FILE_CALLBACKA pCallBackRoutine,LPVOID pContext);
DWORD GetProcessImageFileNameA(HANDLE hProcess,LPSTR lpImageFileName,DWORD nSize);
DWORD GetProcessImageFileNameW(HANDLE hProcess,LPWSTR lpImageFileName,DWORD nSize);
typedef struct _PSAPI_WS_WATCH_INFORMATION_EX {
PSAPI_WS_WATCH_INFORMATION BasicInfo;
ULONG_PTR FaultingThreadId;
ULONG_PTR Flags;
} PSAPI_WS_WATCH_INFORMATION_EX, *PPSAPI_WS_WATCH_INFORMATION_EX;
WINBOOL GetWsChangesEx(
HANDLE hProcess,
PPSAPI_WS_WATCH_INFORMATION_EX lpWatchInfoEx,
DWORD cb
);
WINBOOL EnumProcessModulesEx(
HANDLE hProcess,
HMODULE *lphModule,
DWORD cb,
LPDWORD lpcbNeeded,
DWORD dwFilterFlag
);
typedef union _PSAPI_WORKING_SET_BLOCK {
ULONG_PTR Flags;
__extension__ struct {
ULONG_PTR Protection :5;
ULONG_PTR ShareCount :3;
ULONG_PTR Shared :1;
ULONG_PTR Reserved :3;
ULONG_PTR VirtualPage :52;
} ;
} PSAPI_WORKING_SET_BLOCK, *PPSAPI_WORKING_SET_BLOCK;
typedef struct _PSAPI_WORKING_SET_INFORMATION {
ULONG_PTR NumberOfEntries;
PSAPI_WORKING_SET_BLOCK WorkingSetInfo[1];
} PSAPI_WORKING_SET_INFORMATION, *PPSAPI_WORKING_SET_INFORMATION;
typedef union _PSAPI_WORKING_SET_EX_BLOCK {
ULONG_PTR Flags;
__extension__ struct {
ULONG_PTR Valid :1;
ULONG_PTR ShareCount :3;
ULONG_PTR Win32Protection :11;
ULONG_PTR Shared :1;
ULONG_PTR Node :6;
ULONG_PTR Locked :1;
ULONG_PTR LargePage :1;
} ;
} PSAPI_WORKING_SET_EX_BLOCK, *PPSAPI_WORKING_SET_EX_BLOCK;
typedef struct _PSAPI_WORKING_SET_EX_INFORMATION {
PVOID VirtualAddress;
PSAPI_WORKING_SET_EX_BLOCK VirtualAttributes;
} PSAPI_WORKING_SET_EX_INFORMATION, *PPSAPI_WORKING_SET_EX_INFORMATION;
typedef struct in6_addr {
union {
u_char Byte[16];
u_short Word[8];
} u;
} IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
typedef struct IEnumConnections IEnumConnections;
typedef struct IConnectionPoint IConnectionPoint;
typedef struct IEnumConnectionPoints IEnumConnectionPoints;
typedef struct IConnectionPointContainer IConnectionPointContainer;
typedef struct IClassFactory2 IClassFactory2;
typedef struct IProvideClassInfo IProvideClassInfo;
typedef struct IProvideClassInfo2 IProvideClassInfo2;
typedef struct IProvideMultipleClassInfo IProvideMultipleClassInfo;
typedef struct IOleControl IOleControl;
typedef struct IOleControlSite IOleControlSite;
typedef struct IPropertyPage IPropertyPage;
typedef struct IPropertyPage2 IPropertyPage2;
typedef struct IPropertyPageSite IPropertyPageSite;
typedef struct IPropertyNotifySink IPropertyNotifySink;
typedef struct ISpecifyPropertyPages ISpecifyPropertyPages;
typedef struct IPersistMemory IPersistMemory;
typedef struct IPersistStreamInit IPersistStreamInit;
typedef struct IPersistPropertyBag IPersistPropertyBag;
typedef struct ISimpleFrameSite ISimpleFrameSite;
typedef struct IFont IFont;
typedef struct IPicture IPicture;
typedef struct IPicture2 IPicture2;
typedef struct IFontEventsDisp IFontEventsDisp;
typedef struct IFontDisp IFontDisp;
typedef struct IPictureDisp IPictureDisp;
typedef struct IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
typedef struct IOleInPlaceSiteEx IOleInPlaceSiteEx;
typedef struct IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
typedef struct IViewObjectEx IViewObjectEx;
typedef struct IOleUndoUnit IOleUndoUnit;
typedef struct IOleParentUndoUnit IOleParentUndoUnit;
typedef struct IEnumOleUndoUnits IEnumOleUndoUnits;
typedef struct IOleUndoManager IOleUndoManager;
typedef struct IPointerInactive IPointerInactive;
typedef struct IObjectWithSite IObjectWithSite;
typedef struct IPerPropertyBrowsing IPerPropertyBrowsing;
typedef struct IPropertyBag2 IPropertyBag2;
typedef struct IPersistPropertyBag2 IPersistPropertyBag2;
typedef struct IAdviseSinkEx IAdviseSinkEx;
typedef struct IQuickActivate IQuickActivate;
extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
typedef enum tagUASFLAGS {
UAS_NORMAL = 0x0,
UAS_BLOCKED = 0x1,
UAS_NOPARENTENABLE = 0x2,
UAS_MASK = 0x3
} UASFLAGS;
typedef enum tagREADYSTATE {
READYSTATE_UNINITIALIZED = 0,
READYSTATE_LOADING = 1,
READYSTATE_LOADED = 2,
READYSTATE_INTERACTIVE = 3,
READYSTATE_COMPLETE = 4
} READYSTATE;
typedef IEnumConnections *PENUMCONNECTIONS;
typedef IEnumConnections *LPENUMCONNECTIONS;
typedef struct tagCONNECTDATA {
IUnknown *pUnk;
DWORD dwCookie;
} CONNECTDATA;
typedef struct tagCONNECTDATA *PCONNECTDATA;
typedef struct tagCONNECTDATA *LPCONNECTDATA;
extern const GUID IID_IEnumConnections;
typedef struct IEnumConnectionsVtbl {
HRESULT ( *QueryInterface)(
IEnumConnections *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumConnections *This);
ULONG ( *Release)(
IEnumConnections *This);
HRESULT ( *Next)(
IEnumConnections *This,
ULONG cConnections,
LPCONNECTDATA rgcd,
ULONG *pcFetched);
HRESULT ( *Skip)(
IEnumConnections *This,
ULONG cConnections);
HRESULT ( *Reset)(
IEnumConnections *This);
HRESULT ( *Clone)(
IEnumConnections *This,
IEnumConnections **ppEnum);
} IEnumConnectionsVtbl;
struct IEnumConnections {
IEnumConnectionsVtbl* lpVtbl;
};
HRESULT IEnumConnections_RemoteNext_Proxy(
IEnumConnections* This,
ULONG cConnections,
LPCONNECTDATA rgcd,
ULONG *pcFetched);
void IEnumConnections_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumConnections_Next_Proxy(
IEnumConnections* This,
ULONG cConnections,
LPCONNECTDATA rgcd,
ULONG *pcFetched);
HRESULT IEnumConnections_Next_Stub(
IEnumConnections* This,
ULONG cConnections,
LPCONNECTDATA rgcd,
ULONG *pcFetched);
typedef IConnectionPoint *PCONNECTIONPOINT;
typedef IConnectionPoint *LPCONNECTIONPOINT;
extern const GUID IID_IConnectionPoint;
typedef struct IConnectionPointVtbl {
HRESULT ( *QueryInterface)(
IConnectionPoint *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IConnectionPoint *This);
ULONG ( *Release)(
IConnectionPoint *This);
HRESULT ( *GetConnectionInterface)(
IConnectionPoint *This,
IID *pIID);
HRESULT ( *GetConnectionPointContainer)(
IConnectionPoint *This,
IConnectionPointContainer **ppCPC);
HRESULT ( *Advise)(
IConnectionPoint *This,
IUnknown *pUnkSink,
DWORD *pdwCookie);
HRESULT ( *Unadvise)(
IConnectionPoint *This,
DWORD dwCookie);
HRESULT ( *EnumConnections)(
IConnectionPoint *This,
IEnumConnections **ppEnum);
} IConnectionPointVtbl;
struct IConnectionPoint {
IConnectionPointVtbl* lpVtbl;
};
typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
extern const GUID IID_IEnumConnectionPoints;
typedef struct IEnumConnectionPointsVtbl {
HRESULT ( *QueryInterface)(
IEnumConnectionPoints *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumConnectionPoints *This);
ULONG ( *Release)(
IEnumConnectionPoints *This);
HRESULT ( *Next)(
IEnumConnectionPoints *This,
ULONG cConnections,
LPCONNECTIONPOINT *ppCP,
ULONG *pcFetched);
HRESULT ( *Skip)(
IEnumConnectionPoints *This,
ULONG cConnections);
HRESULT ( *Reset)(
IEnumConnectionPoints *This);
HRESULT ( *Clone)(
IEnumConnectionPoints *This,
IEnumConnectionPoints **ppEnum);
} IEnumConnectionPointsVtbl;
struct IEnumConnectionPoints {
IEnumConnectionPointsVtbl* lpVtbl;
};
HRESULT IEnumConnectionPoints_RemoteNext_Proxy(
IEnumConnectionPoints* This,
ULONG cConnections,
LPCONNECTIONPOINT *ppCP,
ULONG *pcFetched);
void IEnumConnectionPoints_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumConnectionPoints_Next_Proxy(
IEnumConnectionPoints* This,
ULONG cConnections,
LPCONNECTIONPOINT *ppCP,
ULONG *pcFetched);
HRESULT IEnumConnectionPoints_Next_Stub(
IEnumConnectionPoints* This,
ULONG cConnections,
LPCONNECTIONPOINT *ppCP,
ULONG *pcFetched);
typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
extern const GUID IID_IConnectionPointContainer;
typedef struct IConnectionPointContainerVtbl {
HRESULT ( *QueryInterface)(
IConnectionPointContainer *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IConnectionPointContainer *This);
ULONG ( *Release)(
IConnectionPointContainer *This);
HRESULT ( *EnumConnectionPoints)(
IConnectionPointContainer *This,
IEnumConnectionPoints **ppEnum);
HRESULT ( *FindConnectionPoint)(
IConnectionPointContainer *This,
const IID *const riid,
IConnectionPoint **ppCP);
} IConnectionPointContainerVtbl;
struct IConnectionPointContainer {
IConnectionPointContainerVtbl* lpVtbl;
};
typedef IClassFactory2 *LPCLASSFACTORY2;
typedef struct tagLICINFO {
LONG cbLicInfo;
WINBOOL fRuntimeKeyAvail;
WINBOOL fLicVerified;
} LICINFO;
typedef struct tagLICINFO *LPLICINFO;
extern const GUID IID_IClassFactory2;
typedef struct IClassFactory2Vtbl {
HRESULT ( *QueryInterface)(
IClassFactory2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IClassFactory2 *This);
ULONG ( *Release)(
IClassFactory2 *This);
HRESULT ( *CreateInstance)(
IClassFactory2 *This,
IUnknown *pUnkOuter,
const IID *const riid,
void **ppvObject);
HRESULT ( *LockServer)(
IClassFactory2 *This,
WINBOOL fLock);
HRESULT ( *GetLicInfo)(
IClassFactory2 *This,
LICINFO *pLicInfo);
HRESULT ( *RequestLicKey)(
IClassFactory2 *This,
DWORD dwReserved,
BSTR *pBstrKey);
HRESULT ( *CreateInstanceLic)(
IClassFactory2 *This,
IUnknown *pUnkOuter,
IUnknown *pUnkReserved,
const IID *const riid,
BSTR bstrKey,
PVOID *ppvObj);
} IClassFactory2Vtbl;
struct IClassFactory2 {
IClassFactory2Vtbl* lpVtbl;
};
HRESULT IClassFactory2_RemoteCreateInstanceLic_Proxy(
IClassFactory2* This,
const IID *const riid,
BSTR bstrKey,
IUnknown **ppvObj);
void IClassFactory2_RemoteCreateInstanceLic_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IClassFactory2_CreateInstanceLic_Proxy(
IClassFactory2* This,
IUnknown *pUnkOuter,
IUnknown *pUnkReserved,
const IID *const riid,
BSTR bstrKey,
PVOID *ppvObj);
HRESULT IClassFactory2_CreateInstanceLic_Stub(
IClassFactory2* This,
const IID *const riid,
BSTR bstrKey,
IUnknown **ppvObj);
typedef IProvideClassInfo *LPPROVIDECLASSINFO;
extern const GUID IID_IProvideClassInfo;
typedef struct IProvideClassInfoVtbl {
HRESULT ( *QueryInterface)(
IProvideClassInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProvideClassInfo *This);
ULONG ( *Release)(
IProvideClassInfo *This);
HRESULT ( *GetClassInfoA)(
IProvideClassInfo *This,
ITypeInfo **ppTI);
} IProvideClassInfoVtbl;
struct IProvideClassInfo {
IProvideClassInfoVtbl* lpVtbl;
};
typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
typedef enum tagGUIDKIND {
GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
} GUIDKIND;
extern const GUID IID_IProvideClassInfo2;
typedef struct IProvideClassInfo2Vtbl {
HRESULT ( *QueryInterface)(
IProvideClassInfo2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProvideClassInfo2 *This);
ULONG ( *Release)(
IProvideClassInfo2 *This);
HRESULT ( *GetClassInfoA)(
IProvideClassInfo2 *This,
ITypeInfo **ppTI);
HRESULT ( *GetGUID)(
IProvideClassInfo2 *This,
DWORD dwGuidKind,
GUID *pGUID);
} IProvideClassInfo2Vtbl;
struct IProvideClassInfo2 {
IProvideClassInfo2Vtbl* lpVtbl;
};
typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
extern const GUID IID_IProvideMultipleClassInfo;
typedef struct IProvideMultipleClassInfoVtbl {
HRESULT ( *QueryInterface)(
IProvideMultipleClassInfo *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IProvideMultipleClassInfo *This);
ULONG ( *Release)(
IProvideMultipleClassInfo *This);
HRESULT ( *GetClassInfoA)(
IProvideMultipleClassInfo *This,
ITypeInfo **ppTI);
HRESULT ( *GetGUID)(
IProvideMultipleClassInfo *This,
DWORD dwGuidKind,
GUID *pGUID);
HRESULT ( *GetMultiTypeInfoCount)(
IProvideMultipleClassInfo *This,
ULONG *pcti);
HRESULT ( *GetInfoOfIndex)(
IProvideMultipleClassInfo *This,
ULONG iti,
DWORD dwFlags,
ITypeInfo **pptiCoClass,
DWORD *pdwTIFlags,
ULONG *pcdispidReserved,
IID *piidPrimary,
IID *piidSource);
} IProvideMultipleClassInfoVtbl;
struct IProvideMultipleClassInfo {
IProvideMultipleClassInfoVtbl* lpVtbl;
};
typedef IOleControl *LPOLECONTROL;
typedef struct tagCONTROLINFO {
ULONG cb;
HACCEL hAccel;
USHORT cAccel;
DWORD dwFlags;
} CONTROLINFO;
typedef struct tagCONTROLINFO *LPCONTROLINFO;
typedef enum tagCTRLINFO {
CTRLINFO_EATS_RETURN = 1,
CTRLINFO_EATS_ESCAPE = 2
} CTRLINFO;
extern const GUID IID_IOleControl;
typedef struct IOleControlVtbl {
HRESULT ( *QueryInterface)(
IOleControl *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleControl *This);
ULONG ( *Release)(
IOleControl *This);
HRESULT ( *GetControlInfo)(
IOleControl *This,
CONTROLINFO *pCI);
HRESULT ( *OnMnemonic)(
IOleControl *This,
MSG *pMsg);
HRESULT ( *OnAmbientPropertyChange)(
IOleControl *This,
DISPID dispID);
HRESULT ( *FreezeEvents)(
IOleControl *This,
WINBOOL bFreeze);
} IOleControlVtbl;
struct IOleControl {
IOleControlVtbl* lpVtbl;
};
typedef IOleControlSite *LPOLECONTROLSITE;
typedef struct tagPOINTF {
FLOAT x;
FLOAT y;
} POINTF;
typedef struct tagPOINTF *LPPOINTF;
typedef enum tagXFORMCOORDS {
XFORMCOORDS_POSITION = 0x1,
XFORMCOORDS_SIZE = 0x2,
XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
XFORMCOORDS_EVENTCOMPAT = 0x10
} XFORMCOORDS;
extern const GUID IID_IOleControlSite;
typedef struct IOleControlSiteVtbl {
HRESULT ( *QueryInterface)(
IOleControlSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleControlSite *This);
ULONG ( *Release)(
IOleControlSite *This);
HRESULT ( *OnControlInfoChanged)(
IOleControlSite *This);
HRESULT ( *LockInPlaceActive)(
IOleControlSite *This,
WINBOOL fLock);
HRESULT ( *GetExtendedControl)(
IOleControlSite *This,
IDispatch **ppDisp);
HRESULT ( *TransformCoords)(
IOleControlSite *This,
POINTL *pPtlHimetric,
POINTF *pPtfContainer,
DWORD dwFlags);
HRESULT ( *TranslateAcceleratorA)(
IOleControlSite *This,
MSG *pMsg,
DWORD grfModifiers);
HRESULT ( *OnFocus)(
IOleControlSite *This,
WINBOOL fGotFocus);
HRESULT ( *ShowPropertyFrame)(
IOleControlSite *This);
} IOleControlSiteVtbl;
struct IOleControlSite {
IOleControlSiteVtbl* lpVtbl;
};
typedef IPropertyPage *LPPROPERTYPAGE;
typedef struct tagPROPPAGEINFO {
ULONG cb;
LPOLESTR pszTitle;
SIZE size;
LPOLESTR pszDocString;
LPOLESTR pszHelpFile;
DWORD dwHelpContext;
} PROPPAGEINFO;
typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
extern const GUID IID_IPropertyPage;
typedef struct IPropertyPageVtbl {
HRESULT ( *QueryInterface)(
IPropertyPage *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyPage *This);
ULONG ( *Release)(
IPropertyPage *This);
HRESULT ( *SetPageSite)(
IPropertyPage *This,
IPropertyPageSite *pPageSite);
HRESULT ( *Activate)(
IPropertyPage *This,
HWND hWndParent,
LPCRECT pRect,
WINBOOL bModal);
HRESULT ( *Deactivate)(
IPropertyPage *This);
HRESULT ( *GetPageInfo)(
IPropertyPage *This,
PROPPAGEINFO *pPageInfo);
HRESULT ( *SetObjects)(
IPropertyPage *This,
ULONG cObjects,
IUnknown **ppUnk);
HRESULT ( *Show)(
IPropertyPage *This,
UINT nCmdShow);
HRESULT ( *Move)(
IPropertyPage *This,
LPCRECT pRect);
HRESULT ( *IsPageDirty)(
IPropertyPage *This);
HRESULT ( *Apply)(
IPropertyPage *This);
HRESULT ( *Help)(
IPropertyPage *This,
LPCOLESTR pszHelpDir);
HRESULT ( *TranslateAcceleratorA)(
IPropertyPage *This,
MSG *pMsg);
} IPropertyPageVtbl;
struct IPropertyPage {
IPropertyPageVtbl* lpVtbl;
};
typedef IPropertyPage2 *LPPROPERTYPAGE2;
extern const GUID IID_IPropertyPage2;
typedef struct IPropertyPage2Vtbl {
HRESULT ( *QueryInterface)(
IPropertyPage2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyPage2 *This);
ULONG ( *Release)(
IPropertyPage2 *This);
HRESULT ( *SetPageSite)(
IPropertyPage2 *This,
IPropertyPageSite *pPageSite);
HRESULT ( *Activate)(
IPropertyPage2 *This,
HWND hWndParent,
LPCRECT pRect,
WINBOOL bModal);
HRESULT ( *Deactivate)(
IPropertyPage2 *This);
HRESULT ( *GetPageInfo)(
IPropertyPage2 *This,
PROPPAGEINFO *pPageInfo);
HRESULT ( *SetObjects)(
IPropertyPage2 *This,
ULONG cObjects,
IUnknown **ppUnk);
HRESULT ( *Show)(
IPropertyPage2 *This,
UINT nCmdShow);
HRESULT ( *Move)(
IPropertyPage2 *This,
LPCRECT pRect);
HRESULT ( *IsPageDirty)(
IPropertyPage2 *This);
HRESULT ( *Apply)(
IPropertyPage2 *This);
HRESULT ( *Help)(
IPropertyPage2 *This,
LPCOLESTR pszHelpDir);
HRESULT ( *TranslateAcceleratorA)(
IPropertyPage2 *This,
MSG *pMsg);
HRESULT ( *EditProperty)(
IPropertyPage2 *This,
DISPID dispID);
} IPropertyPage2Vtbl;
struct IPropertyPage2 {
IPropertyPage2Vtbl* lpVtbl;
};
typedef IPropertyPageSite *LPPROPERTYPAGESITE;
typedef enum tagPROPPAGESTATUS {
PROPPAGESTATUS_DIRTY = 0x1,
PROPPAGESTATUS_VALIDATE = 0x2,
PROPPAGESTATUS_CLEAN = 0x4
} PROPPAGESTATUS;
extern const GUID IID_IPropertyPageSite;
typedef struct IPropertyPageSiteVtbl {
HRESULT ( *QueryInterface)(
IPropertyPageSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyPageSite *This);
ULONG ( *Release)(
IPropertyPageSite *This);
HRESULT ( *OnStatusChange)(
IPropertyPageSite *This,
DWORD dwFlags);
HRESULT ( *GetLocaleID)(
IPropertyPageSite *This,
LCID *pLocaleID);
HRESULT ( *GetPageContainer)(
IPropertyPageSite *This,
IUnknown **ppUnk);
HRESULT ( *TranslateAcceleratorA)(
IPropertyPageSite *This,
MSG *pMsg);
} IPropertyPageSiteVtbl;
struct IPropertyPageSite {
IPropertyPageSiteVtbl* lpVtbl;
};
typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
extern const GUID IID_IPropertyNotifySink;
typedef struct IPropertyNotifySinkVtbl {
HRESULT ( *QueryInterface)(
IPropertyNotifySink *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyNotifySink *This);
ULONG ( *Release)(
IPropertyNotifySink *This);
HRESULT ( *OnChanged)(
IPropertyNotifySink *This,
DISPID dispID);
HRESULT ( *OnRequestEdit)(
IPropertyNotifySink *This,
DISPID dispID);
} IPropertyNotifySinkVtbl;
struct IPropertyNotifySink {
IPropertyNotifySinkVtbl* lpVtbl;
};
typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
typedef struct tagCAUUID {
ULONG cElems;
GUID *pElems;
} CAUUID;
typedef struct tagCAUUID *LPCAUUID;
extern const GUID IID_ISpecifyPropertyPages;
typedef struct ISpecifyPropertyPagesVtbl {
HRESULT ( *QueryInterface)(
ISpecifyPropertyPages *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISpecifyPropertyPages *This);
ULONG ( *Release)(
ISpecifyPropertyPages *This);
HRESULT ( *GetPages)(
ISpecifyPropertyPages *This,
CAUUID *pPages);
} ISpecifyPropertyPagesVtbl;
struct ISpecifyPropertyPages {
ISpecifyPropertyPagesVtbl* lpVtbl;
};
typedef IPersistMemory *LPPERSISTMEMORY;
extern const GUID IID_IPersistMemory;
typedef struct IPersistMemoryVtbl {
HRESULT ( *QueryInterface)(
IPersistMemory *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistMemory *This);
ULONG ( *Release)(
IPersistMemory *This);
HRESULT ( *GetClassID)(
IPersistMemory *This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistMemory *This);
HRESULT ( *Load)(
IPersistMemory *This,
LPVOID pMem,
ULONG cbSize);
HRESULT ( *Save)(
IPersistMemory *This,
LPVOID pMem,
WINBOOL fClearDirty,
ULONG cbSize);
HRESULT ( *GetSizeMax)(
IPersistMemory *This,
ULONG *pCbSize);
HRESULT ( *InitNew)(
IPersistMemory *This);
} IPersistMemoryVtbl;
struct IPersistMemory {
IPersistMemoryVtbl* lpVtbl;
};
HRESULT IPersistMemory_RemoteLoad_Proxy(
IPersistMemory* This,
BYTE *pMem,
ULONG cbSize);
void IPersistMemory_RemoteLoad_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistMemory_RemoteSave_Proxy(
IPersistMemory* This,
BYTE *pMem,
WINBOOL fClearDirty,
ULONG cbSize);
void IPersistMemory_RemoteSave_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IPersistMemory_Load_Proxy(
IPersistMemory* This,
LPVOID pMem,
ULONG cbSize);
HRESULT IPersistMemory_Load_Stub(
IPersistMemory* This,
BYTE *pMem,
ULONG cbSize);
HRESULT IPersistMemory_Save_Proxy(
IPersistMemory* This,
LPVOID pMem,
WINBOOL fClearDirty,
ULONG cbSize);
HRESULT IPersistMemory_Save_Stub(
IPersistMemory* This,
BYTE *pMem,
WINBOOL fClearDirty,
ULONG cbSize);
typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
extern const GUID IID_IPersistStreamInit;
typedef struct IPersistStreamInitVtbl {
HRESULT ( *QueryInterface)(
IPersistStreamInit *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistStreamInit *This);
ULONG ( *Release)(
IPersistStreamInit *This);
HRESULT ( *GetClassID)(
IPersistStreamInit *This,
CLSID *pClassID);
HRESULT ( *IsDirty)(
IPersistStreamInit *This);
HRESULT ( *Load)(
IPersistStreamInit *This,
LPSTREAM pStm);
HRESULT ( *Save)(
IPersistStreamInit *This,
LPSTREAM pStm,
WINBOOL fClearDirty);
HRESULT ( *GetSizeMax)(
IPersistStreamInit *This,
ULARGE_INTEGER *pCbSize);
HRESULT ( *InitNew)(
IPersistStreamInit *This);
} IPersistStreamInitVtbl;
struct IPersistStreamInit {
IPersistStreamInitVtbl* lpVtbl;
};
typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
extern const GUID IID_IPersistPropertyBag;
typedef struct IPersistPropertyBagVtbl {
HRESULT ( *QueryInterface)(
IPersistPropertyBag *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistPropertyBag *This);
ULONG ( *Release)(
IPersistPropertyBag *This);
HRESULT ( *GetClassID)(
IPersistPropertyBag *This,
CLSID *pClassID);
HRESULT ( *InitNew)(
IPersistPropertyBag *This);
HRESULT ( *Load)(
IPersistPropertyBag *This,
IPropertyBag *pPropBag,
IErrorLog *pErrorLog);
HRESULT ( *Save)(
IPersistPropertyBag *This,
IPropertyBag *pPropBag,
WINBOOL fClearDirty,
WINBOOL fSaveAllProperties);
} IPersistPropertyBagVtbl;
struct IPersistPropertyBag {
IPersistPropertyBagVtbl* lpVtbl;
};
typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
extern const GUID IID_ISimpleFrameSite;
typedef struct ISimpleFrameSiteVtbl {
HRESULT ( *QueryInterface)(
ISimpleFrameSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
ISimpleFrameSite *This);
ULONG ( *Release)(
ISimpleFrameSite *This);
HRESULT ( *PreMessageFilter)(
ISimpleFrameSite *This,
HWND hWnd,
UINT msg,
WPARAM wp,
LPARAM lp,
LRESULT *plResult,
DWORD *pdwCookie);
HRESULT ( *PostMessageFilter)(
ISimpleFrameSite *This,
HWND hWnd,
UINT msg,
WPARAM wp,
LPARAM lp,
LRESULT *plResult,
DWORD dwCookie);
} ISimpleFrameSiteVtbl;
struct ISimpleFrameSite {
ISimpleFrameSiteVtbl* lpVtbl;
};
typedef IFont *LPFONT;
typedef TEXTMETRICW TEXTMETRICOLE;
typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
extern const GUID IID_IFont;
typedef struct IFontVtbl {
HRESULT ( *QueryInterface)(
IFont *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IFont *This);
ULONG ( *Release)(
IFont *This);
HRESULT ( *get_Name)(
IFont *This,
BSTR *pName);
HRESULT ( *put_Name)(
IFont *This,
BSTR name);
HRESULT ( *get_Size)(
IFont *This,
CY *pSize);
HRESULT ( *put_Size)(
IFont *This,
CY size);
HRESULT ( *get_Bold)(
IFont *This,
WINBOOL *pBold);
HRESULT ( *put_Bold)(
IFont *This,
WINBOOL bold);
HRESULT ( *get_Italic)(
IFont *This,
WINBOOL *pItalic);
HRESULT ( *put_Italic)(
IFont *This,
WINBOOL italic);
HRESULT ( *get_Underline)(
IFont *This,
WINBOOL *pUnderline);
HRESULT ( *put_Underline)(
IFont *This,
WINBOOL underline);
HRESULT ( *get_Strikethrough)(
IFont *This,
WINBOOL *pStrikethrough);
HRESULT ( *put_Strikethrough)(
IFont *This,
WINBOOL strikethrough);
HRESULT ( *get_Weight)(
IFont *This,
SHORT *pWeight);
HRESULT ( *put_Weight)(
IFont *This,
SHORT weight);
HRESULT ( *get_Charset)(
IFont *This,
SHORT *pCharset);
HRESULT ( *put_Charset)(
IFont *This,
SHORT charset);
HRESULT ( *get_hFont)(
IFont *This,
HFONT *phFont);
HRESULT ( *Clone)(
IFont *This,
IFont **ppFont);
HRESULT ( *IsEqual)(
IFont *This,
IFont *pFontOther);
HRESULT ( *SetRatio)(
IFont *This,
LONG cyLogical,
LONG cyHimetric);
HRESULT ( *QueryTextMetrics)(
IFont *This,
TEXTMETRICOLE *pTM);
HRESULT ( *AddRefHfont)(
IFont *This,
HFONT hFont);
HRESULT ( *ReleaseHfont)(
IFont *This,
HFONT hFont);
HRESULT ( *SetHdc)(
IFont *This,
HDC hDC);
} IFontVtbl;
struct IFont {
IFontVtbl* lpVtbl;
};
typedef IPicture *LPPICTURE;
typedef enum tagPictureAttributes {
PICTURE_SCALABLE = 0x1,
PICTURE_TRANSPARENT = 0x2
} PICTUREATTRIBUTES;
typedef UINT OLE_HANDLE;
typedef LONG OLE_XPOS_HIMETRIC;
typedef LONG OLE_YPOS_HIMETRIC;
typedef LONG OLE_XSIZE_HIMETRIC;
typedef LONG OLE_YSIZE_HIMETRIC;
extern const GUID IID_IPicture;
typedef struct IPictureVtbl {
HRESULT ( *QueryInterface)(
IPicture *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPicture *This);
ULONG ( *Release)(
IPicture *This);
HRESULT ( *get_Handle)(
IPicture *This,
OLE_HANDLE *pHandle);
HRESULT ( *get_hPal)(
IPicture *This,
OLE_HANDLE *phPal);
HRESULT ( *get_Type)(
IPicture *This,
SHORT *pType);
HRESULT ( *get_Width)(
IPicture *This,
OLE_XSIZE_HIMETRIC *pWidth);
HRESULT ( *get_Height)(
IPicture *This,
OLE_YSIZE_HIMETRIC *pHeight);
HRESULT ( *Render)(
IPicture *This,
HDC hDC,
LONG x,
LONG y,
LONG cx,
LONG cy,
OLE_XPOS_HIMETRIC xSrc,
OLE_YPOS_HIMETRIC ySrc,
OLE_XSIZE_HIMETRIC cxSrc,
OLE_YSIZE_HIMETRIC cySrc,
LPCRECT pRcWBounds);
HRESULT ( *set_hPal)(
IPicture *This,
OLE_HANDLE hPal);
HRESULT ( *get_CurDC)(
IPicture *This,
HDC *phDC);
HRESULT ( *SelectPicture)(
IPicture *This,
HDC hDCIn,
HDC *phDCOut,
OLE_HANDLE *phBmpOut);
HRESULT ( *get_KeepOriginalFormat)(
IPicture *This,
WINBOOL *pKeep);
HRESULT ( *put_KeepOriginalFormat)(
IPicture *This,
WINBOOL keep);
HRESULT ( *PictureChanged)(
IPicture *This);
HRESULT ( *SaveAsFile)(
IPicture *This,
LPSTREAM pStream,
WINBOOL fSaveMemCopy,
LONG *pCbSize);
HRESULT ( *get_Attributes)(
IPicture *This,
DWORD *pDwAttr);
} IPictureVtbl;
struct IPicture {
IPictureVtbl* lpVtbl;
};
typedef IPicture2 *LPPICTURE2;
typedef UINT_PTR HHANDLE;
extern const GUID IID_IPicture2;
typedef struct IPicture2Vtbl {
HRESULT ( *QueryInterface)(
IPicture2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPicture2 *This);
ULONG ( *Release)(
IPicture2 *This);
HRESULT ( *get_Handle)(
IPicture2 *This,
HHANDLE *pHandle);
HRESULT ( *get_hPal)(
IPicture2 *This,
HHANDLE *phPal);
HRESULT ( *get_Type)(
IPicture2 *This,
SHORT *pType);
HRESULT ( *get_Width)(
IPicture2 *This,
OLE_XSIZE_HIMETRIC *pWidth);
HRESULT ( *get_Height)(
IPicture2 *This,
OLE_YSIZE_HIMETRIC *pHeight);
HRESULT ( *Render)(
IPicture2 *This,
HDC hDC,
LONG x,
LONG y,
LONG cx,
LONG cy,
OLE_XPOS_HIMETRIC xSrc,
OLE_YPOS_HIMETRIC ySrc,
OLE_XSIZE_HIMETRIC cxSrc,
OLE_YSIZE_HIMETRIC cySrc,
LPCRECT pRcWBounds);
HRESULT ( *set_hPal)(
IPicture2 *This,
HHANDLE hPal);
HRESULT ( *get_CurDC)(
IPicture2 *This,
HDC *phDC);
HRESULT ( *SelectPicture)(
IPicture2 *This,
HDC hDCIn,
HDC *phDCOut,
HHANDLE *phBmpOut);
HRESULT ( *get_KeepOriginalFormat)(
IPicture2 *This,
WINBOOL *pKeep);
HRESULT ( *put_KeepOriginalFormat)(
IPicture2 *This,
WINBOOL keep);
HRESULT ( *PictureChanged)(
IPicture2 *This);
HRESULT ( *SaveAsFile)(
IPicture2 *This,
LPSTREAM pStream,
WINBOOL fSaveMemCopy,
LONG *pCbSize);
HRESULT ( *get_Attributes)(
IPicture2 *This,
DWORD *pDwAttr);
} IPicture2Vtbl;
struct IPicture2 {
IPicture2Vtbl* lpVtbl;
};
typedef IFontEventsDisp *LPFONTEVENTS;
extern const GUID IID_IFontEventsDisp;
typedef struct IFontEventsDispVtbl {
HRESULT ( *QueryInterface)(
IFontEventsDisp *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IFontEventsDisp *This);
ULONG ( *Release)(
IFontEventsDisp *This);
HRESULT ( *GetTypeInfoCount)(
IFontEventsDisp *This,
UINT *pctinfo);
HRESULT ( *GetTypeInfo)(
IFontEventsDisp *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(
IFontEventsDisp *This,
const IID *const riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT ( *Invoke)(
IFontEventsDisp *This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
} IFontEventsDispVtbl;
struct IFontEventsDisp {
IFontEventsDispVtbl* lpVtbl;
};
typedef IFontDisp *LPFONTDISP;
extern const GUID IID_IFontDisp;
typedef struct IFontDispVtbl {
HRESULT ( *QueryInterface)(
IFontDisp *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IFontDisp *This);
ULONG ( *Release)(
IFontDisp *This);
HRESULT ( *GetTypeInfoCount)(
IFontDisp *This,
UINT *pctinfo);
HRESULT ( *GetTypeInfo)(
IFontDisp *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(
IFontDisp *This,
const IID *const riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT ( *Invoke)(
IFontDisp *This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
} IFontDispVtbl;
struct IFontDisp {
IFontDispVtbl* lpVtbl;
};
typedef IPictureDisp *LPPICTUREDISP;
extern const GUID IID_IPictureDisp;
typedef struct IPictureDispVtbl {
HRESULT ( *QueryInterface)(
IPictureDisp *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPictureDisp *This);
ULONG ( *Release)(
IPictureDisp *This);
HRESULT ( *GetTypeInfoCount)(
IPictureDisp *This,
UINT *pctinfo);
HRESULT ( *GetTypeInfo)(
IPictureDisp *This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT ( *GetIDsOfNames)(
IPictureDisp *This,
const IID *const riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT ( *Invoke)(
IPictureDisp *This,
DISPID dispIdMember,
const IID *const riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
} IPictureDispVtbl;
struct IPictureDisp {
IPictureDispVtbl* lpVtbl;
};
typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
extern const GUID IID_IOleInPlaceObjectWindowless;
typedef struct IOleInPlaceObjectWindowlessVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceObjectWindowless *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceObjectWindowless *This);
ULONG ( *Release)(
IOleInPlaceObjectWindowless *This);
HRESULT ( *GetWindow)(
IOleInPlaceObjectWindowless *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceObjectWindowless *This,
WINBOOL fEnterMode);
HRESULT ( *InPlaceDeactivate)(
IOleInPlaceObjectWindowless *This);
HRESULT ( *UIDeactivate)(
IOleInPlaceObjectWindowless *This);
HRESULT ( *SetObjectRects)(
IOleInPlaceObjectWindowless *This,
LPCRECT lprcPosRect,
LPCRECT lprcClipRect);
HRESULT ( *ReactivateAndUndo)(
IOleInPlaceObjectWindowless *This);
HRESULT ( *OnWindowMessage)(
IOleInPlaceObjectWindowless *This,
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult);
HRESULT ( *GetDropTarget)(
IOleInPlaceObjectWindowless *This,
IDropTarget **ppDropTarget);
} IOleInPlaceObjectWindowlessVtbl;
struct IOleInPlaceObjectWindowless {
IOleInPlaceObjectWindowlessVtbl* lpVtbl;
};
typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
typedef enum tagACTIVATEFLAGS {
ACTIVATE_WINDOWLESS = 1
} ACTIVATEFLAGS;
extern const GUID IID_IOleInPlaceSiteEx;
typedef struct IOleInPlaceSiteExVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceSiteEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceSiteEx *This);
ULONG ( *Release)(
IOleInPlaceSiteEx *This);
HRESULT ( *GetWindow)(
IOleInPlaceSiteEx *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceSiteEx *This,
WINBOOL fEnterMode);
HRESULT ( *CanInPlaceActivate)(
IOleInPlaceSiteEx *This);
HRESULT ( *OnInPlaceActivate)(
IOleInPlaceSiteEx *This);
HRESULT ( *OnUIActivate)(
IOleInPlaceSiteEx *This);
HRESULT ( *GetWindowContext)(
IOleInPlaceSiteEx *This,
IOleInPlaceFrame **ppFrame,
IOleInPlaceUIWindow **ppDoc,
LPRECT lprcPosRect,
LPRECT lprcClipRect,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
HRESULT ( *Scroll)(
IOleInPlaceSiteEx *This,
SIZE scrollExtant);
HRESULT ( *OnUIDeactivate)(
IOleInPlaceSiteEx *This,
WINBOOL fUndoable);
HRESULT ( *OnInPlaceDeactivate)(
IOleInPlaceSiteEx *This);
HRESULT ( *DiscardUndoState)(
IOleInPlaceSiteEx *This);
HRESULT ( *DeactivateAndUndo)(
IOleInPlaceSiteEx *This);
HRESULT ( *OnPosRectChange)(
IOleInPlaceSiteEx *This,
LPCRECT lprcPosRect);
HRESULT ( *OnInPlaceActivateEx)(
IOleInPlaceSiteEx *This,
WINBOOL *pfNoRedraw,
DWORD dwFlags);
HRESULT ( *OnInPlaceDeactivateEx)(
IOleInPlaceSiteEx *This,
WINBOOL fNoRedraw);
HRESULT ( *RequestUIActivate)(
IOleInPlaceSiteEx *This);
} IOleInPlaceSiteExVtbl;
struct IOleInPlaceSiteEx {
IOleInPlaceSiteExVtbl* lpVtbl;
};
typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
typedef enum tagOLEDCFLAGS {
OLEDC_NODRAW = 0x1,
OLEDC_PAINTBKGND = 0x2,
OLEDC_OFFSCREEN = 0x4
} OLEDCFLAGS;
extern const GUID IID_IOleInPlaceSiteWindowless;
typedef struct IOleInPlaceSiteWindowlessVtbl {
HRESULT ( *QueryInterface)(
IOleInPlaceSiteWindowless *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleInPlaceSiteWindowless *This);
ULONG ( *Release)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *GetWindow)(
IOleInPlaceSiteWindowless *This,
HWND *phwnd);
HRESULT ( *ContextSensitiveHelp)(
IOleInPlaceSiteWindowless *This,
WINBOOL fEnterMode);
HRESULT ( *CanInPlaceActivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *OnInPlaceActivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *OnUIActivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *GetWindowContext)(
IOleInPlaceSiteWindowless *This,
IOleInPlaceFrame **ppFrame,
IOleInPlaceUIWindow **ppDoc,
LPRECT lprcPosRect,
LPRECT lprcClipRect,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
HRESULT ( *Scroll)(
IOleInPlaceSiteWindowless *This,
SIZE scrollExtant);
HRESULT ( *OnUIDeactivate)(
IOleInPlaceSiteWindowless *This,
WINBOOL fUndoable);
HRESULT ( *OnInPlaceDeactivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *DiscardUndoState)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *DeactivateAndUndo)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *OnPosRectChange)(
IOleInPlaceSiteWindowless *This,
LPCRECT lprcPosRect);
HRESULT ( *OnInPlaceActivateEx)(
IOleInPlaceSiteWindowless *This,
WINBOOL *pfNoRedraw,
DWORD dwFlags);
HRESULT ( *OnInPlaceDeactivateEx)(
IOleInPlaceSiteWindowless *This,
WINBOOL fNoRedraw);
HRESULT ( *RequestUIActivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *CanWindowlessActivate)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *GetCapture)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *SetCapture)(
IOleInPlaceSiteWindowless *This,
WINBOOL fCapture);
HRESULT ( *GetFocus)(
IOleInPlaceSiteWindowless *This);
HRESULT ( *SetFocus)(
IOleInPlaceSiteWindowless *This,
WINBOOL fFocus);
HRESULT ( *GetDC)(
IOleInPlaceSiteWindowless *This,
LPCRECT pRect,
DWORD grfFlags,
HDC *phDC);
HRESULT ( *ReleaseDC)(
IOleInPlaceSiteWindowless *This,
HDC hDC);
HRESULT ( *InvalidateRect)(
IOleInPlaceSiteWindowless *This,
LPCRECT pRect,
WINBOOL fErase);
HRESULT ( *InvalidateRgn)(
IOleInPlaceSiteWindowless *This,
HRGN hRGN,
WINBOOL fErase);
HRESULT ( *ScrollRect)(
IOleInPlaceSiteWindowless *This,
INT dx,
INT dy,
LPCRECT pRectScroll,
LPCRECT pRectClip);
HRESULT ( *AdjustRect)(
IOleInPlaceSiteWindowless *This,
LPRECT prc);
HRESULT ( *OnDefWindowMessage)(
IOleInPlaceSiteWindowless *This,
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT *plResult);
} IOleInPlaceSiteWindowlessVtbl;
struct IOleInPlaceSiteWindowless {
IOleInPlaceSiteWindowlessVtbl* lpVtbl;
};
typedef IViewObjectEx *LPVIEWOBJECTEX;
typedef enum tagVIEWSTATUS {
VIEWSTATUS_OPAQUE = 1,
VIEWSTATUS_SOLIDBKGND = 2,
VIEWSTATUS_DVASPECTOPAQUE = 4,
VIEWSTATUS_DVASPECTTRANSPARENT = 8,
VIEWSTATUS_SURFACE = 16,
VIEWSTATUS_3DSURFACE = 32
} VIEWSTATUS;
typedef enum tagHITRESULT {
HITRESULT_OUTSIDE = 0,
HITRESULT_TRANSPARENT = 1,
HITRESULT_CLOSE = 2,
HITRESULT_HIT = 3
} HITRESULT;
typedef enum tagDVASPECT2 {
DVASPECT_OPAQUE = 16,
DVASPECT_TRANSPARENT = 32
} DVASPECT2;
typedef struct tagExtentInfo {
ULONG cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
typedef enum tagExtentMode {
DVEXTENT_CONTENT = 0,
DVEXTENT_INTEGRAL = 1
} DVEXTENTMODE;
typedef enum tagAspectInfoFlag {
DVASPECTINFOFLAG_CANOPTIMIZE = 1
} DVASPECTINFOFLAG;
typedef struct tagAspectInfo {
ULONG cb;
DWORD dwFlags;
} DVASPECTINFO;
extern const GUID IID_IViewObjectEx;
typedef struct IViewObjectExVtbl {
HRESULT ( *QueryInterface)(
IViewObjectEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IViewObjectEx *This);
ULONG ( *Release)(
IViewObjectEx *This);
HRESULT ( *Draw)(
IViewObjectEx *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hdcTargetDev,
HDC hdcDraw,
LPCRECTL lprcBounds,
LPCRECTL lprcWBounds,
WINBOOL ( *pfnContinue)(ULONG_PTR dwContinue),
ULONG_PTR dwContinue);
HRESULT ( *GetColorSet)(
IViewObjectEx *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DVTARGETDEVICE *ptd,
HDC hicTargetDev,
LOGPALETTE **ppColorSet);
HRESULT ( *Freeze)(
IViewObjectEx *This,
DWORD dwDrawAspect,
LONG lindex,
void *pvAspect,
DWORD *pdwFreeze);
HRESULT ( *Unfreeze)(
IViewObjectEx *This,
DWORD dwFreeze);
HRESULT ( *SetAdvise)(
IViewObjectEx *This,
DWORD aspects,
DWORD advf,
IAdviseSink *pAdvSink);
HRESULT ( *GetAdvise)(
IViewObjectEx *This,
DWORD *pAspects,
DWORD *pAdvf,
IAdviseSink **ppAdvSink);
HRESULT ( *GetExtent)(
IViewObjectEx *This,
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE *ptd,
LPSIZEL lpsizel);
HRESULT ( *GetRect)(
IViewObjectEx *This,
DWORD dwAspect,
LPRECTL pRect);
HRESULT ( *GetViewStatus)(
IViewObjectEx *This,
DWORD *pdwStatus);
HRESULT ( *QueryHitPoint)(
IViewObjectEx *This,
DWORD dwAspect,
LPCRECT pRectBounds,
POINT ptlLoc,
LONG lCloseHint,
DWORD *pHitResult);
HRESULT ( *QueryHitRect)(
IViewObjectEx *This,
DWORD dwAspect,
LPCRECT pRectBounds,
LPCRECT pRectLoc,
LONG lCloseHint,
DWORD *pHitResult);
HRESULT ( *GetNaturalExtent)(
IViewObjectEx *This,
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE *ptd,
HDC hicTargetDev,
DVEXTENTINFO *pExtentInfo,
LPSIZEL pSizel);
} IViewObjectExVtbl;
struct IViewObjectEx {
IViewObjectExVtbl* lpVtbl;
};
typedef IOleUndoUnit *LPOLEUNDOUNIT;
extern const GUID IID_IOleUndoUnit;
typedef struct IOleUndoUnitVtbl {
HRESULT ( *QueryInterface)(
IOleUndoUnit *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleUndoUnit *This);
ULONG ( *Release)(
IOleUndoUnit *This);
HRESULT ( *Do)(
IOleUndoUnit *This,
IOleUndoManager *pUndoManager);
HRESULT ( *GetDescription)(
IOleUndoUnit *This,
BSTR *pBstr);
HRESULT ( *GetUnitType)(
IOleUndoUnit *This,
CLSID *pClsid,
LONG *plID);
HRESULT ( *OnNextAdd)(
IOleUndoUnit *This);
} IOleUndoUnitVtbl;
struct IOleUndoUnit {
IOleUndoUnitVtbl* lpVtbl;
};
typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
extern const GUID IID_IOleParentUndoUnit;
typedef struct IOleParentUndoUnitVtbl {
HRESULT ( *QueryInterface)(
IOleParentUndoUnit *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleParentUndoUnit *This);
ULONG ( *Release)(
IOleParentUndoUnit *This);
HRESULT ( *Do)(
IOleParentUndoUnit *This,
IOleUndoManager *pUndoManager);
HRESULT ( *GetDescription)(
IOleParentUndoUnit *This,
BSTR *pBstr);
HRESULT ( *GetUnitType)(
IOleParentUndoUnit *This,
CLSID *pClsid,
LONG *plID);
HRESULT ( *OnNextAdd)(
IOleParentUndoUnit *This);
HRESULT ( *Open)(
IOleParentUndoUnit *This,
IOleParentUndoUnit *pPUU);
HRESULT ( *Close)(
IOleParentUndoUnit *This,
IOleParentUndoUnit *pPUU,
WINBOOL fCommit);
HRESULT ( *Add)(
IOleParentUndoUnit *This,
IOleUndoUnit *pUU);
HRESULT ( *FindUnit)(
IOleParentUndoUnit *This,
IOleUndoUnit *pUU);
HRESULT ( *GetParentState)(
IOleParentUndoUnit *This,
DWORD *pdwState);
} IOleParentUndoUnitVtbl;
struct IOleParentUndoUnit {
IOleParentUndoUnitVtbl* lpVtbl;
};
typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
extern const GUID IID_IEnumOleUndoUnits;
typedef struct IEnumOleUndoUnitsVtbl {
HRESULT ( *QueryInterface)(
IEnumOleUndoUnits *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IEnumOleUndoUnits *This);
ULONG ( *Release)(
IEnumOleUndoUnits *This);
HRESULT ( *Next)(
IEnumOleUndoUnits *This,
ULONG cElt,
IOleUndoUnit **rgElt,
ULONG *pcEltFetched);
HRESULT ( *Skip)(
IEnumOleUndoUnits *This,
ULONG cElt);
HRESULT ( *Reset)(
IEnumOleUndoUnits *This);
HRESULT ( *Clone)(
IEnumOleUndoUnits *This,
IEnumOleUndoUnits **ppEnum);
} IEnumOleUndoUnitsVtbl;
struct IEnumOleUndoUnits {
IEnumOleUndoUnitsVtbl* lpVtbl;
};
HRESULT IEnumOleUndoUnits_RemoteNext_Proxy(
IEnumOleUndoUnits* This,
ULONG cElt,
IOleUndoUnit **rgElt,
ULONG *pcEltFetched);
void IEnumOleUndoUnits_RemoteNext_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IEnumOleUndoUnits_Next_Proxy(
IEnumOleUndoUnits* This,
ULONG cElt,
IOleUndoUnit **rgElt,
ULONG *pcEltFetched);
HRESULT IEnumOleUndoUnits_Next_Stub(
IEnumOleUndoUnits* This,
ULONG cElt,
IOleUndoUnit **rgElt,
ULONG *pcEltFetched);
typedef IOleUndoManager *LPOLEUNDOMANAGER;
extern const GUID IID_IOleUndoManager;
typedef struct IOleUndoManagerVtbl {
HRESULT ( *QueryInterface)(
IOleUndoManager *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IOleUndoManager *This);
ULONG ( *Release)(
IOleUndoManager *This);
HRESULT ( *Open)(
IOleUndoManager *This,
IOleParentUndoUnit *pPUU);
HRESULT ( *Close)(
IOleUndoManager *This,
IOleParentUndoUnit *pPUU,
WINBOOL fCommit);
HRESULT ( *Add)(
IOleUndoManager *This,
IOleUndoUnit *pUU);
HRESULT ( *GetOpenParentState)(
IOleUndoManager *This,
DWORD *pdwState);
HRESULT ( *DiscardFrom)(
IOleUndoManager *This,
IOleUndoUnit *pUU);
HRESULT ( *UndoTo)(
IOleUndoManager *This,
IOleUndoUnit *pUU);
HRESULT ( *RedoTo)(
IOleUndoManager *This,
IOleUndoUnit *pUU);
HRESULT ( *EnumUndoable)(
IOleUndoManager *This,
IEnumOleUndoUnits **ppEnum);
HRESULT ( *EnumRedoable)(
IOleUndoManager *This,
IEnumOleUndoUnits **ppEnum);
HRESULT ( *GetLastUndoDescription)(
IOleUndoManager *This,
BSTR *pBstr);
HRESULT ( *GetLastRedoDescription)(
IOleUndoManager *This,
BSTR *pBstr);
HRESULT ( *Enable)(
IOleUndoManager *This,
WINBOOL fEnable);
} IOleUndoManagerVtbl;
struct IOleUndoManager {
IOleUndoManagerVtbl* lpVtbl;
};
typedef IPointerInactive *LPPOINTERINACTIVE;
typedef enum tagPOINTERINACTIVE {
POINTERINACTIVE_ACTIVATEONENTRY = 1,
POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;
extern const GUID IID_IPointerInactive;
typedef struct IPointerInactiveVtbl {
HRESULT ( *QueryInterface)(
IPointerInactive *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPointerInactive *This);
ULONG ( *Release)(
IPointerInactive *This);
HRESULT ( *GetActivationPolicy)(
IPointerInactive *This,
DWORD *pdwPolicy);
HRESULT ( *OnInactiveMouseMove)(
IPointerInactive *This,
LPCRECT pRectBounds,
LONG x,
LONG y,
DWORD grfKeyState);
HRESULT ( *OnInactiveSetCursor)(
IPointerInactive *This,
LPCRECT pRectBounds,
LONG x,
LONG y,
DWORD dwMouseMsg,
WINBOOL fSetAlways);
} IPointerInactiveVtbl;
struct IPointerInactive {
IPointerInactiveVtbl* lpVtbl;
};
typedef IObjectWithSite *LPOBJECTWITHSITE;
extern const GUID IID_IObjectWithSite;
typedef struct IObjectWithSiteVtbl {
HRESULT ( *QueryInterface)(
IObjectWithSite *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IObjectWithSite *This);
ULONG ( *Release)(
IObjectWithSite *This);
HRESULT ( *SetSite)(
IObjectWithSite *This,
IUnknown *pUnkSite);
HRESULT ( *GetSite)(
IObjectWithSite *This,
const IID *const riid,
void **ppvSite);
} IObjectWithSiteVtbl;
struct IObjectWithSite {
IObjectWithSiteVtbl* lpVtbl;
};
typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
typedef struct tagCALPOLESTR {
ULONG cElems;
LPOLESTR *pElems;
} CALPOLESTR;
typedef struct tagCALPOLESTR *LPCALPOLESTR;
typedef struct tagCADWORD {
ULONG cElems;
DWORD *pElems;
} CADWORD;
typedef struct tagCADWORD *LPCADWORD;
extern const GUID IID_IPerPropertyBrowsing;
typedef struct IPerPropertyBrowsingVtbl {
HRESULT ( *QueryInterface)(
IPerPropertyBrowsing *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPerPropertyBrowsing *This);
ULONG ( *Release)(
IPerPropertyBrowsing *This);
HRESULT ( *GetDisplayString)(
IPerPropertyBrowsing *This,
DISPID dispID,
BSTR *pBstr);
HRESULT ( *MapPropertyToPage)(
IPerPropertyBrowsing *This,
DISPID dispID,
CLSID *pClsid);
HRESULT ( *GetPredefinedStrings)(
IPerPropertyBrowsing *This,
DISPID dispID,
CALPOLESTR *pCaStringsOut,
CADWORD *pCaCookiesOut);
HRESULT ( *GetPredefinedValue)(
IPerPropertyBrowsing *This,
DISPID dispID,
DWORD dwCookie,
VARIANT *pVarOut);
} IPerPropertyBrowsingVtbl;
struct IPerPropertyBrowsing {
IPerPropertyBrowsingVtbl* lpVtbl;
};
typedef IPropertyBag2 *LPPROPERTYBAG2;
typedef enum tagPROPBAG2_TYPE {
PROPBAG2_TYPE_UNDEFINED = 0,
PROPBAG2_TYPE_DATA = 1,
PROPBAG2_TYPE_URL = 2,
PROPBAG2_TYPE_OBJECT = 3,
PROPBAG2_TYPE_STREAM = 4,
PROPBAG2_TYPE_STORAGE = 5,
PROPBAG2_TYPE_MONIKER = 6
} PROPBAG2_TYPE;
typedef struct tagPROPBAG2 {
DWORD dwType;
VARTYPE vt;
CLIPFORMAT cfType;
DWORD dwHint;
LPOLESTR pstrName;
CLSID clsid;
} PROPBAG2;
extern const GUID IID_IPropertyBag2;
typedef struct IPropertyBag2Vtbl {
HRESULT ( *QueryInterface)(
IPropertyBag2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPropertyBag2 *This);
ULONG ( *Release)(
IPropertyBag2 *This);
HRESULT ( *Read)(
IPropertyBag2 *This,
ULONG cProperties,
PROPBAG2 *pPropBag,
IErrorLog *pErrLog,
VARIANT *pvarValue,
HRESULT *phrError);
HRESULT ( *Write)(
IPropertyBag2 *This,
ULONG cProperties,
PROPBAG2 *pPropBag,
VARIANT *pvarValue);
HRESULT ( *CountProperties)(
IPropertyBag2 *This,
ULONG *pcProperties);
HRESULT ( *GetPropertyInfo)(
IPropertyBag2 *This,
ULONG iProperty,
ULONG cProperties,
PROPBAG2 *pPropBag,
ULONG *pcProperties);
HRESULT ( *LoadObject)(
IPropertyBag2 *This,
LPCOLESTR pstrName,
DWORD dwHint,
IUnknown *pUnkObject,
IErrorLog *pErrLog);
} IPropertyBag2Vtbl;
struct IPropertyBag2 {
IPropertyBag2Vtbl* lpVtbl;
};
typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
extern const GUID IID_IPersistPropertyBag2;
typedef struct IPersistPropertyBag2Vtbl {
HRESULT ( *QueryInterface)(
IPersistPropertyBag2 *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IPersistPropertyBag2 *This);
ULONG ( *Release)(
IPersistPropertyBag2 *This);
HRESULT ( *GetClassID)(
IPersistPropertyBag2 *This,
CLSID *pClassID);
HRESULT ( *InitNew)(
IPersistPropertyBag2 *This);
HRESULT ( *Load)(
IPersistPropertyBag2 *This,
IPropertyBag2 *pPropBag,
IErrorLog *pErrLog);
HRESULT ( *Save)(
IPersistPropertyBag2 *This,
IPropertyBag2 *pPropBag,
WINBOOL fClearDirty,
WINBOOL fSaveAllProperties);
HRESULT ( *IsDirty)(
IPersistPropertyBag2 *This);
} IPersistPropertyBag2Vtbl;
struct IPersistPropertyBag2 {
IPersistPropertyBag2Vtbl* lpVtbl;
};
typedef IAdviseSinkEx *LPADVISESINKEX;
extern const GUID IID_IAdviseSinkEx;
typedef struct IAdviseSinkExVtbl {
HRESULT ( *QueryInterface)(
IAdviseSinkEx *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IAdviseSinkEx *This);
ULONG ( *Release)(
IAdviseSinkEx *This);
void ( *OnDataChange)(
IAdviseSinkEx *This,
FORMATETC *pFormatetc,
STGMEDIUM *pStgmed);
void ( *OnViewChange)(
IAdviseSinkEx *This,
DWORD dwAspect,
LONG lindex);
void ( *OnRename)(
IAdviseSinkEx *This,
IMoniker *pmk);
void ( *OnSave)(
IAdviseSinkEx *This);
void ( *OnClose)(
IAdviseSinkEx *This);
void ( *OnViewStatusChange)(
IAdviseSinkEx *This,
DWORD dwViewStatus);
} IAdviseSinkExVtbl;
struct IAdviseSinkEx {
IAdviseSinkExVtbl* lpVtbl;
};
HRESULT IAdviseSinkEx_RemoteOnViewStatusChange_Proxy(
IAdviseSinkEx* This,
DWORD dwViewStatus);
void IAdviseSinkEx_RemoteOnViewStatusChange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
void IAdviseSinkEx_OnViewStatusChange_Proxy(
IAdviseSinkEx* This,
DWORD dwViewStatus);
HRESULT IAdviseSinkEx_OnViewStatusChange_Stub(
IAdviseSinkEx* This,
DWORD dwViewStatus);
typedef IQuickActivate *LPQUICKACTIVATE;
typedef enum tagQACONTAINERFLAGS {
QACONTAINER_SHOWHATCHING = 0x1,
QACONTAINER_SHOWGRABHANDLES = 0x2,
QACONTAINER_USERMODE = 0x4,
QACONTAINER_DISPLAYASDEFAULT = 0x8,
QACONTAINER_UIDEAD = 0x10,
QACONTAINER_AUTOCLIP = 0x20,
QACONTAINER_MESSAGEREFLECT = 0x40,
QACONTAINER_SUPPORTSMNEMONICS = 0x80
} QACONTAINERFLAGS;
typedef DWORD OLE_COLOR;
typedef struct tagQACONTAINER {
ULONG cbSize;
IOleClientSite *pClientSite;
IAdviseSinkEx *pAdviseSink;
IPropertyNotifySink *pPropertyNotifySink;
IUnknown *pUnkEventSink;
DWORD dwAmbientFlags;
OLE_COLOR colorFore;
OLE_COLOR colorBack;
IFont *pFont;
IOleUndoManager *pUndoMgr;
DWORD dwAppearance;
LONG lcid;
HPALETTE hpal;
IBindHost *pBindHost;
IOleControlSite *pOleControlSite;
IServiceProvider *pServiceProvider;
} QACONTAINER;
typedef struct tagQACONTROL {
ULONG cbSize;
DWORD dwMiscStatus;
DWORD dwViewStatus;
DWORD dwEventCookie;
DWORD dwPropNotifyCookie;
DWORD dwPointerActivationPolicy;
} QACONTROL;
extern const GUID IID_IQuickActivate;
typedef struct IQuickActivateVtbl {
HRESULT ( *QueryInterface)(
IQuickActivate *This,
const IID *const riid,
void **ppvObject);
ULONG ( *AddRef)(
IQuickActivate *This);
ULONG ( *Release)(
IQuickActivate *This);
HRESULT ( *QuickActivate)(
IQuickActivate *This,
QACONTAINER *pQaContainer,
QACONTROL *pQaControl);
HRESULT ( *SetContentExtent)(
IQuickActivate *This,
LPSIZEL pSizel);
HRESULT ( *GetContentExtent)(
IQuickActivate *This,
LPSIZEL pSizel);
} IQuickActivateVtbl;
struct IQuickActivate {
IQuickActivateVtbl* lpVtbl;
};
HRESULT IQuickActivate_RemoteQuickActivate_Proxy(
IQuickActivate* This,
QACONTAINER *pQaContainer,
QACONTROL *pQaControl);
void IQuickActivate_RemoteQuickActivate_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT IQuickActivate_QuickActivate_Proxy(
IQuickActivate* This,
QACONTAINER *pQaContainer,
QACONTROL *pQaControl);
HRESULT IQuickActivate_QuickActivate_Stub(
IQuickActivate* This,
QACONTAINER *pQaContainer,
QACONTROL *pQaControl);
ULONG BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void BSTR_UserFree (ULONG *, BSTR *);
ULONG HACCEL_UserSize (ULONG *, ULONG, HACCEL *);
unsigned char * HACCEL_UserMarshal (ULONG *, unsigned char *, HACCEL *);
unsigned char * HACCEL_UserUnmarshal(ULONG *, unsigned char *, HACCEL *);
void HACCEL_UserFree (ULONG *, HACCEL *);
ULONG HWND_UserSize (ULONG *, ULONG, HWND *);
unsigned char * HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
unsigned char * HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void HWND_UserFree (ULONG *, HWND *);
ULONG HFONT_UserSize (ULONG *, ULONG, HFONT *);
unsigned char * HFONT_UserMarshal (ULONG *, unsigned char *, HFONT *);
unsigned char * HFONT_UserUnmarshal(ULONG *, unsigned char *, HFONT *);
void HFONT_UserFree (ULONG *, HFONT *);
ULONG HDC_UserSize (ULONG *, ULONG, HDC *);
unsigned char * HDC_UserMarshal (ULONG *, unsigned char *, HDC *);
unsigned char * HDC_UserUnmarshal(ULONG *, unsigned char *, HDC *);
void HDC_UserFree (ULONG *, HDC *);
ULONG HRGN_UserSize (ULONG *, ULONG, HRGN *);
unsigned char * HRGN_UserMarshal (ULONG *, unsigned char *, HRGN *);
unsigned char * HRGN_UserUnmarshal(ULONG *, unsigned char *, HRGN *);
void HRGN_UserFree (ULONG *, HRGN *);
ULONG VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
unsigned char * VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
unsigned char * VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void VARIANT_UserFree (ULONG *, VARIANT *);
ULONG CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
unsigned char * CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
void CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
ULONG HPALETTE_UserSize (ULONG *, ULONG, HPALETTE *);
unsigned char * HPALETTE_UserMarshal (ULONG *, unsigned char *, HPALETTE *);
unsigned char * HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
void HPALETTE_UserFree (ULONG *, HPALETTE *);
extern RPC_IF_HANDLE INapTypes_v0_0_c_ifspec;
extern RPC_IF_HANDLE INapTypes_v0_0_s_ifspec;
typedef enum tagIsolationState {
isolationStateNotRestricted = 1,
isolationStateInProbation = 2,
isolationStateRestrictedAccess = 3
} IsolationState;
typedef enum tagExtendedIsolationState {
extendedIsolationStateNoData = 0x0,
extendedIsolationStateTransition = 0x1,
extendedIsolationStateInfected = 0x2,
extendedIsolationStateUnknown = 0x3
} ExtendedIsolationState;
typedef enum tagNapTracingLevel {
tracingLevelUndefined = 0,
tracingLevelBasic = 1,
tracingLevelAdvanced = 2,
tracingLevelDebug = 3
} NapTracingLevel;
typedef enum tagFailureCategory {
failureCategoryNone = 0,
failureCategoryOther = 1,
failureCategoryClientComponent = 2,
failureCategoryClientCommunication = 3,
failureCategoryServerComponent = 4,
failureCategoryServerCommunication = 5
} FailureCategory;
typedef enum tagFixupState {
fixupStateSuccess = 0,
fixupStateInProgress = 1,
fixupStateCouldNotUpdate = 2
} FixupState;
typedef enum tagNapNotifyType {
napNotifyTypeUnknown = 0,
napNotifyTypeServiceState = 1,
napNotifyTypeQuarState = 2
} NapNotifyType;
typedef enum tagRemoteConfigurationType {
remoteConfigTypeMachine = 1,
remoteConfigTypeConfigBlob = 2
} RemoteConfigurationType;
typedef FILETIME ProbationTime;
typedef UINT32 MessageId;
typedef UINT32 NapComponentId;
typedef NapComponentId SystemHealthEntityId;
typedef NapComponentId EnforcementEntityId;
typedef struct tagCountedString {
UINT16 length;
WCHAR *string;
} CountedString;
typedef CountedString StringCorrelationId;
typedef struct tagIsolationInfo {
IsolationState isolationState;
ProbationTime probEndTime;
CountedString failureUrl;
} IsolationInfo;
typedef struct tagIsolationInfoEx {
IsolationState isolationState;
ExtendedIsolationState extendedIsolationState;
ProbationTime probEndTime;
CountedString failureUrl;
} IsolationInfoEx;
typedef struct tagFailureCategoryMapping {
WINBOOL mappingCompliance[5];
} FailureCategoryMapping;
typedef UINT16 SystemHealthEntityCount;
typedef UINT16 EnforcementEntityCount;
typedef struct tagCorrelationId {
GUID connId;
FILETIME timeStamp;
} CorrelationId;
typedef GUID ConnectionId;
typedef UINT8 Percentage;
typedef struct tagResultCodes {
UINT16 count;
HRESULT *results;
} ResultCodes;
typedef struct tagIpv4Address {
BYTE addr[4];
} Ipv4Address;
typedef struct tagIpv6Address {
BYTE addr[16];
} Ipv6Address;
typedef struct tagFixupInfo {
FixupState state;
Percentage percentage;
ResultCodes resultCodes;
MessageId fixupMsgId;
} FixupInfo;
typedef struct tagSystemHealthAgentState {
SystemHealthEntityId id;
ResultCodes shaResultCodes;
FailureCategory failureCategory;
FixupInfo fixupInfo;
} SystemHealthAgentState;
typedef struct tagSoHAttribute {
UINT16 type;
UINT16 size;
BYTE *value;
} SoHAttribute;
typedef struct tagSoH {
UINT16 count;
SoHAttribute *attributes;
} SoH;
typedef struct tagSoH SoHRequest;
typedef struct tagSoH SoHResponse;
typedef struct tagNetworkSoH {
UINT16 size;
BYTE *data;
} NetworkSoH;
typedef struct tagNetworkSoH NetworkSoHRequest;
typedef struct tagNetworkSoH NetworkSoHResponse;
typedef struct tagPrivateData {
UINT16 size;
BYTE *data;
} PrivateData;
typedef struct tagNapComponentRegistrationInfo {
NapComponentId id;
CountedString friendlyName;
CountedString description;
CountedString version;
CountedString vendorName;
CLSID infoClsid;
CLSID configClsid;
FILETIME registrationDate;
UINT32 componentType;
} NapComponentRegistrationInfo;
typedef struct in_addr RASIPV4ADDR;
typedef struct in6_addr RASIPV6ADDR;
#pragma pack(push,4)
struct HRASCONN__ { int unused; }; typedef struct HRASCONN__ *HRASCONN;
struct tagRASCONNW {
DWORD dwSize;
HRASCONN hrasconn;
WCHAR szEntryName[256 + 1 ];
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szPhonebook [260 ];
DWORD dwSubEntry;
GUID guidEntry;
DWORD dwFlags;
LUID luid;
};
struct tagRASCONNA {
DWORD dwSize;
HRASCONN hrasconn;
CHAR szEntryName[256 + 1 ];
CHAR szDeviceType[16 + 1 ];
CHAR szDeviceName[128 + 1 ];
CHAR szPhonebook [260 ];
DWORD dwSubEntry;
GUID guidEntry;
DWORD dwFlags;
LUID luid;
};
enum tagRASCONNSTATE {
RASCS_OpenPort = 0,RASCS_PortOpened,RASCS_ConnectDevice,RASCS_DeviceConnected,RASCS_AllDevicesConnected,RASCS_Authenticate,
RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,RASCS_AuthChangePassword,RASCS_AuthProject,RASCS_AuthLinkSpeed,
RASCS_AuthAck,RASCS_ReAuthenticate,RASCS_Authenticated,RASCS_PrepareForCallback,RASCS_WaitForModemReset,RASCS_WaitForCallback,RASCS_Projected,
RASCS_StartAuthentication,RASCS_CallbackComplete,RASCS_LogonNetwork,RASCS_SubEntryConnected,
RASCS_SubEntryDisconnected,RASCS_Interactive = 0x1000,RASCS_RetryAuthentication,RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
RASCS_InvokeEapUI,RASCS_Connected = 0x2000,RASCS_Disconnected
};
struct tagRASCONNSTATUSW {
DWORD dwSize;
enum tagRASCONNSTATE rasconnstate;
DWORD dwError;
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szPhoneNumber[128 + 1 ];
};
struct tagRASCONNSTATUSA {
DWORD dwSize;
enum tagRASCONNSTATE rasconnstate;
DWORD dwError;
CHAR szDeviceType[16 + 1 ];
CHAR szDeviceName[128 + 1 ];
CHAR szPhoneNumber[128 + 1 ];
};
struct tagRASDIALPARAMSW {
DWORD dwSize;
WCHAR szEntryName[256 + 1 ];
WCHAR szPhoneNumber[128 + 1 ];
WCHAR szCallbackNumber[128 + 1 ];
WCHAR szUserName[256 + 1 ];
WCHAR szPassword[256 + 1 ];
WCHAR szDomain[15 + 1 ];
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
};
struct tagRASDIALPARAMSA {
DWORD dwSize;
CHAR szEntryName[256 + 1 ];
CHAR szPhoneNumber[128 + 1 ];
CHAR szCallbackNumber[128 + 1 ];
CHAR szUserName[256 + 1 ];
CHAR szPassword[256 + 1 ];
CHAR szDomain[15 + 1 ];
DWORD dwSubEntry;
ULONG_PTR dwCallbackId;
};
struct tagRASEAPINFO {
DWORD dwSizeofEapInfo;
BYTE *pbEapInfo;
};
struct tagRASDIALEXTENSIONS {
DWORD dwSize;
DWORD dwfOptions;
HWND hwndParent;
ULONG_PTR reserved;
ULONG_PTR reserved1;
struct tagRASEAPINFO RasEapInfo;
};
struct tagRASENTRYNAMEW {
DWORD dwSize;
WCHAR szEntryName[256 + 1 ];
DWORD dwFlags;
WCHAR szPhonebookPath[260 + 1];
};
struct tagRASENTRYNAMEA {
DWORD dwSize;
CHAR szEntryName[256 + 1 ];
DWORD dwFlags;
CHAR szPhonebookPath[260 + 1];
};
enum tagRASPROJECTION {
RASP_Amb = 0x10000,RASP_PppNbf = 0x803F,RASP_PppIpx = 0x802B,RASP_PppIp = 0x8021,
RASP_PppCcp = 0x80FD,RASP_PppLcp = 0xC021,RASP_Slip = 0x20000
};
struct tagRASAMBW {
DWORD dwSize;
DWORD dwError;
WCHAR szNetBiosError[16 + 1 ];
BYTE bLana;
};
struct tagRASAMBA {
DWORD dwSize;
DWORD dwError;
CHAR szNetBiosError[16 + 1 ];
BYTE bLana;
};
struct tagRASPPPNBFW {
DWORD dwSize;
DWORD dwError;
DWORD dwNetBiosError;
WCHAR szNetBiosError[16 + 1 ];
WCHAR szWorkstationName[16 + 1 ];
BYTE bLana;
};
struct tagRASPPPNBFA {
DWORD dwSize;
DWORD dwError;
DWORD dwNetBiosError;
CHAR szNetBiosError[16 + 1 ];
CHAR szWorkstationName[16 + 1 ];
BYTE bLana;
};
struct tagRASIPXW {
DWORD dwSize;
DWORD dwError;
WCHAR szIpxAddress[21 + 1 ];
};
struct tagRASPPPIPXA {
DWORD dwSize;
DWORD dwError;
CHAR szIpxAddress[21 + 1 ];
};
struct tagRASPPPIPW {
DWORD dwSize;
DWORD dwError;
WCHAR szIpAddress[15 + 1 ];
WCHAR szServerIpAddress[15 + 1 ];
DWORD dwOptions;
DWORD dwServerOptions;
};
struct tagRASPPPIPA {
DWORD dwSize;
DWORD dwError;
CHAR szIpAddress[15 + 1 ];
CHAR szServerIpAddress[15 + 1 ];
DWORD dwOptions;
DWORD dwServerOptions;
};
struct tagRASPPPLCPW {
DWORD dwSize;
WINBOOL fBundled;
DWORD dwError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwEapTypeId;
DWORD dwServerAuthenticationProtocol;
DWORD dwServerAuthenticationData;
DWORD dwServerEapTypeId;
WINBOOL fMultilink;
DWORD dwTerminateReason;
DWORD dwServerTerminateReason;
WCHAR szReplyMessage[1024];
DWORD dwOptions;
DWORD dwServerOptions;
};
struct tagRASPPPLCPA {
DWORD dwSize;
WINBOOL fBundled;
DWORD dwError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwEapTypeId;
DWORD dwServerAuthenticationProtocol;
DWORD dwServerAuthenticationData;
DWORD dwServerEapTypeId;
WINBOOL fMultilink;
DWORD dwTerminateReason;
DWORD dwServerTerminateReason;
CHAR szReplyMessage[1024];
DWORD dwOptions;
DWORD dwServerOptions;
};
struct tagRASSLIPW {
DWORD dwSize;
DWORD dwError;
WCHAR szIpAddress[15 + 1 ];
};
struct tagRASSLIPA {
DWORD dwSize;
DWORD dwError;
CHAR szIpAddress[15 + 1 ];
};
struct tagRASPPPCCP {
DWORD dwSize;
DWORD dwError;
DWORD dwCompressionAlgorithm;
DWORD dwOptions;
DWORD dwServerCompressionAlgorithm;
DWORD dwServerOptions;
};
typedef void ( *RASDIALFUNC)(UINT,enum tagRASCONNSTATE,DWORD);
typedef void ( *RASDIALFUNC1)(HRASCONN,UINT,enum tagRASCONNSTATE,DWORD,DWORD);
typedef DWORD ( *RASDIALFUNC2)(ULONG_PTR,DWORD,HRASCONN,UINT,enum tagRASCONNSTATE,DWORD,DWORD);
struct tagRASDEVINFOW {
DWORD dwSize;
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
};
struct tagRASDEVINFOA {
DWORD dwSize;
CHAR szDeviceType[16 + 1 ];
CHAR szDeviceName[128 + 1 ];
};
struct RASCTRYINFO {
DWORD dwSize;
DWORD dwCountryID;
DWORD dwNextCountryID;
DWORD dwCountryCode;
DWORD dwCountryNameOffset;
};
struct RASIPADDR {
BYTE a;
BYTE b;
BYTE c;
BYTE d;
};
struct tagRASENTRYA {
DWORD dwSize;
DWORD dwfOptions;
DWORD dwCountryID;
DWORD dwCountryCode;
CHAR szAreaCode[10 + 1 ];
CHAR szLocalPhoneNumber[128 + 1 ];
DWORD dwAlternateOffset;
struct RASIPADDR ipaddr;
struct RASIPADDR ipaddrDns;
struct RASIPADDR ipaddrDnsAlt;
struct RASIPADDR ipaddrWins;
struct RASIPADDR ipaddrWinsAlt;
DWORD dwFrameSize;
DWORD dwfNetProtocols;
DWORD dwFramingProtocol;
CHAR szScript[260 ];
CHAR szAutodialDll[260 ];
CHAR szAutodialFunc[260 ];
CHAR szDeviceType[16 + 1 ];
CHAR szDeviceName[128 + 1 ];
CHAR szX25PadType[32 + 1 ];
CHAR szX25Address[200 + 1 ];
CHAR szX25Facilities[200 + 1 ];
CHAR szX25UserData[200 + 1 ];
DWORD dwChannels;
DWORD dwReserved1;
DWORD dwReserved2;
DWORD dwSubEntries;
DWORD dwDialMode;
DWORD dwDialExtraPercent;
DWORD dwDialExtraSampleSeconds;
DWORD dwHangUpExtraPercent;
DWORD dwHangUpExtraSampleSeconds;
DWORD dwIdleDisconnectSeconds;
DWORD dwType;
DWORD dwEncryptionType;
DWORD dwCustomAuthKey;
GUID guidId;
CHAR szCustomDialDll[260];
DWORD dwVpnStrategy;
DWORD dwfOptions2;
DWORD dwfOptions3;
CHAR szDnsSuffix[256];
DWORD dwTcpWindowSize;
CHAR szPrerequisitePbk[260];
CHAR szPrerequisiteEntry[256 + 1];
DWORD dwRedialCount;
DWORD dwRedialPause;
};
struct tagRASENTRYW {
DWORD dwSize;
DWORD dwfOptions;
DWORD dwCountryID;
DWORD dwCountryCode;
WCHAR szAreaCode[10 + 1 ];
WCHAR szLocalPhoneNumber[128 + 1 ];
DWORD dwAlternateOffset;
struct RASIPADDR ipaddr;
struct RASIPADDR ipaddrDns;
struct RASIPADDR ipaddrDnsAlt;
struct RASIPADDR ipaddrWins;
struct RASIPADDR ipaddrWinsAlt;
DWORD dwFrameSize;
DWORD dwfNetProtocols;
DWORD dwFramingProtocol;
WCHAR szScript[260 ];
WCHAR szAutodialDll[260 ];
WCHAR szAutodialFunc[260 ];
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szX25PadType[32 + 1 ];
WCHAR szX25Address[200 + 1 ];
WCHAR szX25Facilities[200 + 1 ];
WCHAR szX25UserData[200 + 1 ];
DWORD dwChannels;
DWORD dwReserved1;
DWORD dwReserved2;
DWORD dwSubEntries;
DWORD dwDialMode;
DWORD dwDialExtraPercent;
DWORD dwDialExtraSampleSeconds;
DWORD dwHangUpExtraPercent;
DWORD dwHangUpExtraSampleSeconds;
DWORD dwIdleDisconnectSeconds;
DWORD dwType;
DWORD dwEncryptionType;
DWORD dwCustomAuthKey;
GUID guidId;
WCHAR szCustomDialDll[260];
DWORD dwVpnStrategy;
DWORD dwfOptions2;
DWORD dwfOptions3;
WCHAR szDnsSuffix[256];
DWORD dwTcpWindowSize;
WCHAR szPrerequisitePbk[260];
WCHAR szPrerequisiteEntry[256 + 1];
DWORD dwRedialCount;
DWORD dwRedialPause;
};
typedef WINBOOL ( *ORASADFUNC)(HWND,LPSTR,DWORD,LPDWORD);
struct tagRASADPARAMS {
DWORD dwSize;
HWND hwndOwner;
DWORD dwFlags;
LONG xDlg;
LONG yDlg;
};
typedef WINBOOL ( *RASADFUNCA)(LPSTR,LPSTR,struct tagRASADPARAMS*,LPDWORD);
typedef WINBOOL ( *RASADFUNCW)(LPWSTR,LPWSTR,struct tagRASADPARAMS*,LPDWORD);
struct tagRASSUBENTRYA {
DWORD dwSize;
DWORD dwfFlags;
CHAR szDeviceType[16 + 1 ];
CHAR szDeviceName[128 + 1 ];
CHAR szLocalPhoneNumber[128 + 1 ];
DWORD dwAlternateOffset;
};
struct tagRASSUBENTRYW {
DWORD dwSize;
DWORD dwfFlags;
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szLocalPhoneNumber[128 + 1 ];
DWORD dwAlternateOffset;
};
struct tagRASCREDENTIALSA {
DWORD dwSize;
DWORD dwMask;
CHAR szUserName[256 + 1 ];
CHAR szPassword[256 + 1 ];
CHAR szDomain[15 + 1 ];
};
struct tagRASCREDENTIALSW {
DWORD dwSize;
DWORD dwMask;
WCHAR szUserName[256 + 1 ];
WCHAR szPassword[256 + 1 ];
WCHAR szDomain[15 + 1 ];
};
struct tagRASAUTODIALENTRYA {
DWORD dwSize;
DWORD dwFlags;
DWORD dwDialingLocation;
CHAR szEntry[256 + 1];
};
struct tagRASAUTODIALENTRYW {
DWORD dwSize;
DWORD dwFlags;
DWORD dwDialingLocation;
WCHAR szEntry[256 + 1];
};
struct tagRASEAPUSERIDENTITYA {
CHAR szUserName[256 + 1 ];
DWORD dwSizeofEapInfo;
BYTE pbEapInfo[1 ];
};
struct tagRASEAPUSERIDENTITYW {
WCHAR szUserName[256 + 1 ];
DWORD dwSizeofEapInfo;
BYTE pbEapInfo[1 ];
};
typedef DWORD ( *PFNRASGETBUFFER) (PBYTE *ppBuffer,PDWORD pdwSize);
typedef DWORD ( *PFNRASFREEBUFFER) (PBYTE pBufer);
typedef DWORD ( *PFNRASSENDBUFFER) (HANDLE hPort,PBYTE pBuffer,DWORD dwSize);
typedef DWORD ( *PFNRASRECEIVEBUFFER) (HANDLE hPort,PBYTE pBuffer,PDWORD pdwSize,DWORD dwTimeOut,HANDLE hEvent);
typedef DWORD ( *PFNRASRETRIEVEBUFFER) (HANDLE hPort,PBYTE pBuffer,PDWORD pdwSize);
typedef DWORD ( *RasCustomScriptExecuteFn) (HANDLE hPort,LPCWSTR lpszPhonebook,LPCWSTR lpszEntryName,PFNRASGETBUFFER pfnRasGetBuffer,PFNRASFREEBUFFER pfnRasFreeBuffer,PFNRASSENDBUFFER pfnRasSendBuffer,PFNRASRECEIVEBUFFER pfnRasReceiveBuffer,PFNRASRETRIEVEBUFFER pfnRasRetrieveBuffer,HWND hWnd,struct tagRASDIALPARAMSA *pRasDialParams,PVOID pvReserved);
struct tagRASCOMMSETTINGS {
DWORD dwSize;
BYTE bParity;
BYTE bStop;
BYTE bByteSize;
BYTE bAlign;
};
typedef DWORD ( *PFNRASSETCOMMSETTINGS) (HANDLE hPort,struct tagRASCOMMSETTINGS *pRasCommSettings,PVOID pvReserved);
struct tagRASCUSTOMSCRIPTEXTENSIONS {
DWORD dwSize;
PFNRASSETCOMMSETTINGS pfnRasSetCommSettings;
};
DWORD RasDialA(struct tagRASDIALEXTENSIONS*,LPCSTR,struct tagRASDIALPARAMSA*,DWORD,LPVOID,HRASCONN*);
DWORD RasDialW(struct tagRASDIALEXTENSIONS*,LPCWSTR,struct tagRASDIALPARAMSW*,DWORD,LPVOID,HRASCONN*);
DWORD RasEnumConnectionsA(struct tagRASCONNA*,LPDWORD,LPDWORD);
DWORD RasEnumConnectionsW(struct tagRASCONNW*,LPDWORD,LPDWORD);
DWORD RasEnumEntriesA(LPCSTR,LPCSTR,struct tagRASENTRYNAMEA*,LPDWORD,LPDWORD);
DWORD RasEnumEntriesW(LPCWSTR,LPCWSTR,struct tagRASENTRYNAMEW*,LPDWORD,LPDWORD);
DWORD RasGetConnectStatusA(HRASCONN,struct tagRASCONNSTATUSA*);
DWORD RasGetConnectStatusW(HRASCONN,struct tagRASCONNSTATUSW*);
DWORD RasGetErrorStringA(UINT,LPSTR,DWORD);
DWORD RasGetErrorStringW(UINT,LPWSTR,DWORD);
DWORD RasHangUpA(HRASCONN);
DWORD RasHangUpW(HRASCONN);
DWORD RasGetProjectionInfoA(HRASCONN,enum tagRASPROJECTION,LPVOID,LPDWORD);
DWORD RasGetProjectionInfoW(HRASCONN,enum tagRASPROJECTION,LPVOID,LPDWORD);
DWORD RasCreatePhonebookEntryA(HWND,LPCSTR);
DWORD RasCreatePhonebookEntryW(HWND,LPCWSTR);
DWORD RasEditPhonebookEntryA(HWND,LPCSTR,LPCSTR);
DWORD RasEditPhonebookEntryW(HWND,LPCWSTR,LPCWSTR);
DWORD RasSetEntryDialParamsA(LPCSTR,struct tagRASDIALPARAMSA*,WINBOOL);
DWORD RasSetEntryDialParamsW(LPCWSTR,struct tagRASDIALPARAMSW*,WINBOOL);
DWORD RasGetEntryDialParamsA(LPCSTR,struct tagRASDIALPARAMSA*,LPBOOL);
DWORD RasGetEntryDialParamsW(LPCWSTR,struct tagRASDIALPARAMSW*,LPBOOL);
DWORD RasEnumDevicesA(struct tagRASDEVINFOA*,LPDWORD,LPDWORD);
DWORD RasEnumDevicesW(struct tagRASDEVINFOW*,LPDWORD,LPDWORD);
DWORD RasGetCountryInfoA(struct RASCTRYINFO*,LPDWORD);
DWORD RasGetCountryInfoW(struct RASCTRYINFO*,LPDWORD);
DWORD RasGetEntryPropertiesA(LPCSTR,LPCSTR,struct tagRASENTRYA*,LPDWORD,LPBYTE,LPDWORD);
DWORD RasGetEntryPropertiesW(LPCWSTR,LPCWSTR,struct tagRASENTRYW*,LPDWORD,LPBYTE,LPDWORD);
DWORD RasSetEntryPropertiesA(LPCSTR,LPCSTR,struct tagRASENTRYA*,DWORD,LPBYTE,DWORD);
DWORD RasSetEntryPropertiesW(LPCWSTR,LPCWSTR,struct tagRASENTRYW*,DWORD,LPBYTE,DWORD);
DWORD RasRenameEntryA(LPCSTR,LPCSTR,LPCSTR);
DWORD RasRenameEntryW(LPCWSTR,LPCWSTR,LPCWSTR);
DWORD RasDeleteEntryA(LPCSTR,LPCSTR);
DWORD RasDeleteEntryW(LPCWSTR,LPCWSTR);
DWORD RasValidateEntryNameA(LPCSTR,LPCSTR);
DWORD RasValidateEntryNameW(LPCWSTR,LPCWSTR);
DWORD RasConnectionNotificationA(HRASCONN,HANDLE,DWORD);
DWORD RasConnectionNotificationW(HRASCONN,HANDLE,DWORD);
DWORD RasGetSubEntryHandleA(HRASCONN,DWORD,HRASCONN*);
DWORD RasGetSubEntryHandleW(HRASCONN,DWORD,HRASCONN*);
DWORD RasGetCredentialsA(LPCSTR,LPCSTR,struct tagRASCREDENTIALSA*);
DWORD RasGetCredentialsW(LPCWSTR,LPCWSTR,struct tagRASCREDENTIALSW*);
DWORD RasSetCredentialsA(LPCSTR,LPCSTR,struct tagRASCREDENTIALSA*,WINBOOL);
DWORD RasSetCredentialsW(LPCWSTR,LPCWSTR,struct tagRASCREDENTIALSW*,WINBOOL);
DWORD RasGetSubEntryPropertiesA(LPCSTR,LPCSTR,DWORD,struct tagRASSUBENTRYA*,LPDWORD,LPBYTE,LPDWORD);
DWORD RasGetSubEntryPropertiesW(LPCWSTR,LPCWSTR,DWORD,struct tagRASSUBENTRYW*,LPDWORD,LPBYTE,LPDWORD);
DWORD RasSetSubEntryPropertiesA(LPCSTR,LPCSTR,DWORD,struct tagRASSUBENTRYA*,DWORD,LPBYTE,DWORD);
DWORD RasSetSubEntryPropertiesW(LPCWSTR,LPCWSTR,DWORD,struct tagRASSUBENTRYW*,DWORD,LPBYTE,DWORD);
DWORD RasGetAutodialAddressA(LPCSTR,LPDWORD,struct tagRASAUTODIALENTRYA*,LPDWORD,LPDWORD);
DWORD RasGetAutodialAddressW(LPCWSTR,LPDWORD,struct tagRASAUTODIALENTRYW*,LPDWORD,LPDWORD);
DWORD RasSetAutodialAddressA(LPCSTR,DWORD,struct tagRASAUTODIALENTRYA*,DWORD,DWORD);
DWORD RasSetAutodialAddressW(LPCWSTR,DWORD,struct tagRASAUTODIALENTRYW*,DWORD,DWORD);
DWORD RasEnumAutodialAddressesA(LPSTR *,LPDWORD,LPDWORD);
DWORD RasEnumAutodialAddressesW(LPWSTR *,LPDWORD,LPDWORD);
DWORD RasGetAutodialEnableA(DWORD,LPBOOL);
DWORD RasGetAutodialEnableW(DWORD,LPBOOL);
DWORD RasSetAutodialEnableA(DWORD,WINBOOL);
DWORD RasSetAutodialEnableW(DWORD,WINBOOL);
DWORD RasGetAutodialParamA(DWORD,LPVOID,LPDWORD);
DWORD RasGetAutodialParamW(DWORD,LPVOID,LPDWORD);
DWORD RasSetAutodialParamA(DWORD,LPVOID,DWORD);
DWORD RasSetAutodialParamW(DWORD,LPVOID,DWORD);
typedef struct _RAS_STATS {
DWORD dwSize;
DWORD dwBytesXmited;
DWORD dwBytesRcved;
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
DWORD dwBps;
DWORD dwConnectDuration;
} RAS_STATS,*PRAS_STATS;
typedef DWORD ( *RasCustomHangUpFn)(HRASCONN hRasConn);
typedef DWORD ( *RasCustomDialFn)(HINSTANCE hInstDll,struct tagRASDIALEXTENSIONS* lpRasDialExtensions,LPCWSTR lpszPhonebook,struct tagRASDIALPARAMSA* lpRasDialParams,DWORD dwNotifierType,LPVOID lpvNotifier,HRASCONN* lphRasConn,DWORD dwFlags);
typedef DWORD ( *RasCustomDeleteEntryNotifyFn)(LPCWSTR lpszPhonebook,LPCWSTR lpszEntry,DWORD dwFlags);
DWORD RasInvokeEapUI(HRASCONN,DWORD,struct tagRASDIALEXTENSIONS*,HWND);
DWORD RasGetLinkStatistics(HRASCONN hRasConn,DWORD dwSubEntry,RAS_STATS *lpStatistics);
DWORD RasGetConnectionStatistics(HRASCONN hRasConn,RAS_STATS *lpStatistics);
DWORD RasClearLinkStatistics(HRASCONN hRasConn,DWORD dwSubEntry);
DWORD RasClearConnectionStatistics(HRASCONN hRasConn);
DWORD RasGetEapUserDataA(HANDLE hToken,LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbEapData,DWORD *pdwSizeofEapData);
DWORD RasGetEapUserDataW(HANDLE hToken,LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbEapData,DWORD *pdwSizeofEapData);
DWORD RasSetEapUserDataA(HANDLE hToken,LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbEapData,DWORD dwSizeofEapData);
DWORD RasSetEapUserDataW(HANDLE hToken,LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbEapData,DWORD dwSizeofEapData);
DWORD RasGetCustomAuthDataA(LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbCustomAuthData,DWORD *pdwSizeofCustomAuthData);
DWORD RasGetCustomAuthDataW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbCustomAuthData,DWORD *pdwSizeofCustomAuthData);
DWORD RasSetCustomAuthDataA(LPCSTR pszPhonebook,LPCSTR pszEntry,BYTE *pbCustomAuthData,DWORD dwSizeofCustomAuthData);
DWORD RasSetCustomAuthDataW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,BYTE *pbCustomAuthData,DWORD dwSizeofCustomAuthData);
DWORD RasGetEapUserIdentityW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,DWORD dwFlags,HWND hwnd,struct tagRASEAPUSERIDENTITYW* *ppRasEapUserIdentity);
DWORD RasGetEapUserIdentityA(LPCSTR pszPhonebook,LPCSTR pszEntry,DWORD dwFlags,HWND hwnd,struct tagRASEAPUSERIDENTITYA* *ppRasEapUserIdentity);
void RasFreeEapUserIdentityW(struct tagRASEAPUSERIDENTITYW* pRasEapUserIdentity);
void RasFreeEapUserIdentityA(struct tagRASEAPUSERIDENTITYA* pRasEapUserIdentity);
DWORD RasDeleteSubEntryA(LPCSTR pszPhonebook,LPCSTR pszEntry,DWORD dwSubentryId);
DWORD RasDeleteSubEntryW(LPCWSTR pszPhonebook,LPCWSTR pszEntry,DWORD dwSubEntryId);
#pragma pack(pop)
typedef enum _ROUTER_INTERFACE_TYPE {
ROUTER_IF_TYPE_CLIENT,ROUTER_IF_TYPE_HOME_ROUTER,ROUTER_IF_TYPE_FULL_ROUTER,ROUTER_IF_TYPE_DEDICATED,ROUTER_IF_TYPE_INTERNAL,
ROUTER_IF_TYPE_LOOPBACK,ROUTER_IF_TYPE_TUNNEL1,ROUTER_IF_TYPE_DIALOUT
} ROUTER_INTERFACE_TYPE;
typedef enum _ROUTER_CONNECTION_STATE {
ROUTER_IF_STATE_UNREACHABLE,ROUTER_IF_STATE_DISCONNECTED,ROUTER_IF_STATE_CONNECTING,ROUTER_IF_STATE_CONNECTED
} ROUTER_CONNECTION_STATE;
typedef struct _MPR_INTERFACE_0 {
WCHAR wszInterfaceName[256 +1];
HANDLE hInterface;
WINBOOL fEnabled;
ROUTER_INTERFACE_TYPE dwIfType;
ROUTER_CONNECTION_STATE dwConnectionState;
DWORD fUnReachabilityReasons;
DWORD dwLastError;
} MPR_INTERFACE_0,*PMPR_INTERFACE_0;
typedef struct _MPR_IPINIP_INTERFACE_0 {
WCHAR wszFriendlyName[256 +1];
GUID Guid;
} MPR_IPINIP_INTERFACE_0,*PMPR_IPINIP_INTERFACE_0;
typedef struct _MPR_INTERFACE_1 {
WCHAR wszInterfaceName[256 +1];
HANDLE hInterface;
WINBOOL fEnabled;
ROUTER_INTERFACE_TYPE dwIfType;
ROUTER_CONNECTION_STATE dwConnectionState;
DWORD fUnReachabilityReasons;
DWORD dwLastError;
LPWSTR lpwsDialoutHoursRestriction;
} MPR_INTERFACE_1,*PMPR_INTERFACE_1;
typedef struct _MPR_INTERFACE_2 {
WCHAR wszInterfaceName[256 +1];
HANDLE hInterface;
WINBOOL fEnabled;
ROUTER_INTERFACE_TYPE dwIfType;
ROUTER_CONNECTION_STATE dwConnectionState;
DWORD fUnReachabilityReasons;
DWORD dwLastError;
DWORD dwfOptions;
WCHAR szLocalPhoneNumber[128 + 1 ];
PWCHAR szAlternates;
DWORD ipaddr;
DWORD ipaddrDns;
DWORD ipaddrDnsAlt;
DWORD ipaddrWins;
DWORD ipaddrWinsAlt;
DWORD dwfNetProtocols;
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szX25PadType[32 + 1 ];
WCHAR szX25Address[200 + 1 ];
WCHAR szX25Facilities[200 + 1 ];
WCHAR szX25UserData[200 + 1 ];
DWORD dwChannels;
DWORD dwSubEntries;
DWORD dwDialMode;
DWORD dwDialExtraPercent;
DWORD dwDialExtraSampleSeconds;
DWORD dwHangUpExtraPercent;
DWORD dwHangUpExtraSampleSeconds;
DWORD dwIdleDisconnectSeconds;
DWORD dwType;
DWORD dwEncryptionType;
DWORD dwCustomAuthKey;
DWORD dwCustomAuthDataSize;
LPBYTE lpbCustomAuthData;
GUID guidId;
DWORD dwVpnStrategy;
} MPR_INTERFACE_2,*PMPR_INTERFACE_2;
typedef struct _MPR_DEVICE_0 {
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
} MPR_DEVICE_0,*PMPR_DEVICE_0;
typedef struct _MPR_DEVICE_1 {
WCHAR szDeviceType[16 + 1 ];
WCHAR szDeviceName[128 + 1 ];
WCHAR szLocalPhoneNumber[128 + 1 ];
PWCHAR szAlternates;
} MPR_DEVICE_1,*PMPR_DEVICE_1;
typedef struct _MPR_CREDENTIALSEX_0 {
DWORD dwSize;
LPBYTE lpbCredentialsInfo;
} MPR_CREDENTIALSEX_0,*PMPR_CREDENTIALSEX_0;
typedef struct _MPR_CREDENTIALSEX_1 {
DWORD dwSize;
LPBYTE lpbCredentialsInfo;
} MPR_CREDENTIALSEX_1,*PMPR_CREDENTIALSEX_1;
typedef struct _MPR_TRANSPORT_0 {
DWORD dwTransportId;
HANDLE hTransport;
WCHAR wszTransportName[40 +1];
} MPR_TRANSPORT_0,*PMPR_TRANSPORT_0;
typedef struct _MPR_IFTRANSPORT_0
{
DWORD dwTransportId;
HANDLE hIfTransport;
WCHAR wszIfTransportName[40 +1];
}
MPR_IFTRANSPORT_0,*PMPR_IFTRANSPORT_0;
typedef struct _MPR_SERVER_0
{
WINBOOL fLanOnlyMode;
DWORD dwUpTime;
DWORD dwTotalPorts;
DWORD dwPortsInUse;
}
MPR_SERVER_0,*PMPR_SERVER_0;
typedef struct _MPR_SERVER_1 {
DWORD dwNumPptpPorts;
DWORD dwPptpPortFlags;
DWORD dwNumL2tpPorts;
DWORD dwL2tpPortFlags;
} MPR_SERVER_1,*PMPR_SERVER_1;
typedef enum _RAS_PORT_CONDITION {
RAS_PORT_NON_OPERATIONAL,RAS_PORT_DISCONNECTED,RAS_PORT_CALLING_BACK,RAS_PORT_LISTENING,RAS_PORT_AUTHENTICATING,RAS_PORT_AUTHENTICATED,
RAS_PORT_INITIALIZING
} RAS_PORT_CONDITION;
typedef enum _RAS_HARDWARE_CONDITION {
RAS_HARDWARE_OPERATIONAL,RAS_HARDWARE_FAILURE
} RAS_HARDWARE_CONDITION;
typedef struct _RAS_PORT_0 {
HANDLE hPort;
HANDLE hConnection;
RAS_PORT_CONDITION dwPortCondition;
DWORD dwTotalNumberOfCalls;
DWORD dwConnectDuration;
WCHAR wszPortName[16 + 1 ];
WCHAR wszMediaName[16 + 1 ];
WCHAR wszDeviceName[128 + 1 ];
WCHAR wszDeviceType[16 + 1 ];
} RAS_PORT_0,*PRAS_PORT_0;
typedef struct _RAS_PORT_1 {
HANDLE hPort;
HANDLE hConnection;
RAS_HARDWARE_CONDITION dwHardwareCondition;
DWORD dwLineSpeed;
DWORD dwBytesXmited;
DWORD dwBytesRcved;
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
} RAS_PORT_1,*PRAS_PORT_1;
typedef struct _PPP_NBFCP_INFO {
DWORD dwError;
WCHAR wszWksta[16 + 1 ];
} PPP_NBFCP_INFO;
typedef struct _PPP_IPCP_INFO {
DWORD dwError;
WCHAR wszAddress[15 + 1 ];
WCHAR wszRemoteAddress[15 + 1 ];
} PPP_IPCP_INFO;
typedef struct _PPP_IPCP_INFO2 {
DWORD dwError;
WCHAR wszAddress[15 + 1 ];
WCHAR wszRemoteAddress[15 + 1 ];
DWORD dwOptions;
DWORD dwRemoteOptions;
} PPP_IPCP_INFO2;
typedef struct _PPP_IPXCP_INFO {
DWORD dwError;
WCHAR wszAddress[22 + 1 ];
} PPP_IPXCP_INFO;
typedef struct _PPP_ATCP_INFO {
DWORD dwError;
WCHAR wszAddress[32 + 1 ];
} PPP_ATCP_INFO;
typedef struct _PPP_INFO {
PPP_NBFCP_INFO nbf;
PPP_IPCP_INFO ip;
PPP_IPXCP_INFO ipx;
PPP_ATCP_INFO at;
} PPP_INFO;
typedef struct _PPP_CCP_INFO {
DWORD dwError;
DWORD dwCompressionAlgorithm;
DWORD dwOptions;
DWORD dwRemoteCompressionAlgorithm;
DWORD dwRemoteOptions;
} PPP_CCP_INFO;
typedef struct _PPP_LCP_INFO {
DWORD dwError;
DWORD dwAuthenticationProtocol;
DWORD dwAuthenticationData;
DWORD dwRemoteAuthenticationProtocol;
DWORD dwRemoteAuthenticationData;
DWORD dwTerminateReason;
DWORD dwRemoteTerminateReason;
DWORD dwOptions;
DWORD dwRemoteOptions;
DWORD dwEapTypeId;
DWORD dwRemoteEapTypeId;
} PPP_LCP_INFO;
typedef struct _PPP_INFO_2 {
PPP_NBFCP_INFO nbf;
PPP_IPCP_INFO2 ip;
PPP_IPXCP_INFO ipx;
PPP_ATCP_INFO at;
PPP_CCP_INFO ccp;
PPP_LCP_INFO lcp;
} PPP_INFO_2;
typedef struct _RAS_CONNECTION_0 {
HANDLE hConnection;
HANDLE hInterface;
DWORD dwConnectDuration;
ROUTER_INTERFACE_TYPE dwInterfaceType;
DWORD dwConnectionFlags;
WCHAR wszInterfaceName[256 + 1 ];
WCHAR wszUserName[256 + 1 ];
WCHAR wszLogonDomain[15 + 1 ];
WCHAR wszRemoteComputer[16 + 1 ];
} RAS_CONNECTION_0,*PRAS_CONNECTION_0;
typedef struct _RAS_CONNECTION_1 {
HANDLE hConnection;
HANDLE hInterface;
PPP_INFO PppInfo;
DWORD dwBytesXmited;
DWORD dwBytesRcved;
DWORD dwFramesXmited;
DWORD dwFramesRcved;
DWORD dwCrcErr;
DWORD dwTimeoutErr;
DWORD dwAlignmentErr;
DWORD dwHardwareOverrunErr;
DWORD dwFramingErr;
DWORD dwBufferOverrunErr;
DWORD dwCompressionRatioIn;
DWORD dwCompressionRatioOut;
} RAS_CONNECTION_1,*PRAS_CONNECTION_1;
typedef struct _RAS_CONNECTION_2 {
HANDLE hConnection;
WCHAR wszUserName[256 + 1 ];
ROUTER_INTERFACE_TYPE dwInterfaceType;
GUID guid;
PPP_INFO_2 PppInfo2;
} RAS_CONNECTION_2,*PRAS_CONNECTION_2;
typedef struct _RAS_USER_0 {
BYTE bfPrivilege;
WCHAR wszPhoneNumber[128 + 1];
} RAS_USER_0,*PRAS_USER_0;
typedef struct _RAS_USER_1 {
BYTE bfPrivilege;
WCHAR wszPhoneNumber[128 + 1];
BYTE bfPrivilege2;
} RAS_USER_1,*PRAS_USER_1;
typedef HANDLE RAS_SERVER_HANDLE;
typedef HANDLE MPR_SERVER_HANDLE;
typedef HANDLE MIB_SERVER_HANDLE;
DWORD MprAdminConnectionEnum(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprAdminPortEnum(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hConnection,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprAdminConnectionGetInfo(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hConnection,LPBYTE *lplpbBuffer);
DWORD MprAdminPortGetInfo(RAS_SERVER_HANDLE hRasServer,DWORD dwLevel,HANDLE hPort,LPBYTE *lplpbBuffer);
DWORD MprAdminConnectionClearStats(RAS_SERVER_HANDLE hRasServer,HANDLE hConnection);
DWORD MprAdminPortClearStats(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
DWORD MprAdminPortReset(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
DWORD MprAdminPortDisconnect(RAS_SERVER_HANDLE hRasServer,HANDLE hPort);
WINBOOL MprAdminAcceptNewConnection(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1);
WINBOOL MprAdminAcceptNewConnection2(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1,RAS_CONNECTION_2 *pRasConnection2);
WINBOOL MprAdminAcceptNewLink (RAS_PORT_0 *pRasPort0,RAS_PORT_1 *pRasPort1);
void MprAdminConnectionHangupNotification(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1);
void MprAdminConnectionHangupNotification2(RAS_CONNECTION_0 *pRasConnection0,RAS_CONNECTION_1 *pRasConnection1,RAS_CONNECTION_2 *pRasConnection2);
DWORD MprAdminConnectionRemoveQuarantine(HANDLE hRasServer,HANDLE hRasConnection,WINBOOL fIsIpAddress);
void MprAdminLinkHangupNotification (RAS_PORT_0 *pRasPort0,RAS_PORT_1 *pRasPort1);
DWORD MprAdminGetIpAddressForUser (WCHAR *lpwszUserName,WCHAR *lpwszPortName,DWORD *lpdwIpAddress,WINBOOL *bNotifyRelease);
void MprAdminReleaseIpAddress (WCHAR *lpszUserName,WCHAR *lpszPortName,DWORD *lpdwIpAddress);
DWORD MprAdminInitializeDll(void);
DWORD MprAdminTerminateDll(void);
DWORD MprAdminUserGetInfo(const WCHAR *lpszServer,const WCHAR *lpszUser,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprAdminUserSetInfo(const WCHAR *lpszServer,const WCHAR *lpszUser,DWORD dwLevel,const LPBYTE lpbBuffer);
DWORD MprAdminSendUserMessage(MPR_SERVER_HANDLE hMprServer,HANDLE hConnection,LPWSTR lpwszMessage);
DWORD MprAdminGetPDCServer(const WCHAR *lpszDomain,const WCHAR *lpszServer,LPWSTR lpszPDCServer);
WINBOOL MprAdminIsServiceRunning(LPWSTR lpwsServerName);
DWORD MprAdminServerConnect(LPWSTR lpwsServerName,MPR_SERVER_HANDLE *phMprServer);
void MprAdminServerDisconnect(MPR_SERVER_HANDLE hMprServer);
DWORD MprAdminServerGetCredentials(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer);
DWORD MprAdminServerSetCredentials(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprAdminBufferFree(LPVOID pBuffer);
DWORD MprAdminGetErrorString(DWORD dwError,LPWSTR *lpwsErrorString);
DWORD MprAdminServerGetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer);
DWORD MprAdminServerSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprAdminEstablishDomainRasServer (PWCHAR pszDomain,PWCHAR pszMachine,WINBOOL bEnable);
DWORD MprAdminIsDomainRasServer (PWCHAR pszDomain,PWCHAR pszMachine,PBOOL pbIsRasServer);
DWORD MprAdminTransportCreate(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath);
DWORD MprAdminTransportSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize);
DWORD MprAdminTransportGetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwTransportId,LPBYTE *ppGlobalInfo,LPDWORD lpdwGlobalInfoSize,LPBYTE *ppClientInterfaceInfo,LPDWORD lpdwClientInterfaceInfoSize);
DWORD MprAdminDeviceEnum(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer,LPDWORD lpdwTotalEntries);
DWORD MprAdminInterfaceGetHandle(MPR_SERVER_HANDLE hMprServer,LPWSTR lpwsInterfaceName,HANDLE *phInterface,WINBOOL fIncludeClientInterfaces);
DWORD MprAdminInterfaceCreate(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer,HANDLE *phInterface);
DWORD MprAdminInterfaceGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE *lplpbBuffer);
DWORD MprAdminInterfaceSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprAdminInterfaceDelete(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
DWORD MprAdminInterfaceDeviceGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwIndex,DWORD dwLevel,LPBYTE *lplpBuffer);
DWORD MprAdminInterfaceDeviceSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwIndex,DWORD dwLevel,LPBYTE lplpBuffer);
DWORD MprAdminInterfaceTransportRemove(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId);
DWORD MprAdminInterfaceTransportAdd(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
DWORD MprAdminInterfaceTransportGetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE *ppInterfaceInfo,LPDWORD lpdwpInterfaceInfoSize);
DWORD MprAdminInterfaceTransportSetInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwTransportId,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
DWORD MprAdminInterfaceEnum(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE *lplpbBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprSetupIpInIpInterfaceFriendlyNameEnum(PWCHAR pwszMachineName,LPBYTE *lplpBuffer,LPDWORD lpdwEntriesRead);
DWORD MprSetupIpInIpInterfaceFriendlyNameFree(LPVOID lpBuffer);
DWORD MprSetupIpInIpInterfaceFriendlyNameCreate(PWCHAR pwszMachineName,PMPR_IPINIP_INTERFACE_0 pNameInformation);
DWORD MprSetupIpInIpInterfaceFriendlyNameDelete(PWCHAR pwszMachineName,GUID *pGuid);
DWORD MprAdminInterfaceSetCredentials(LPWSTR lpwsServer,LPWSTR lpwsInterfaceName,LPWSTR lpwsUserName,LPWSTR lpwsDomainName,LPWSTR lpwsPassword);
DWORD MprAdminInterfaceGetCredentials(LPWSTR lpwsServer,LPWSTR lpwsInterfaceName,LPWSTR lpwsUserName,LPWSTR lpwsPassword,LPWSTR lpwsDomainName);
DWORD MprAdminInterfaceSetCredentialsEx(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprAdminInterfaceGetCredentialsEx(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwLevel,LPBYTE *lplpbBuffer);
DWORD MprAdminInterfaceConnect(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,HANDLE hEvent,WINBOOL fSynchronous);
DWORD MprAdminInterfaceDisconnect(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
DWORD MprAdminInterfaceUpdateRoutes(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwProtocolId,HANDLE hEvent);
DWORD MprAdminInterfaceQueryUpdateResult(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface,DWORD dwProtocolId,LPDWORD lpdwUpdateResult);
DWORD MprAdminInterfaceUpdatePhonebookInfo(MPR_SERVER_HANDLE hMprServer,HANDLE hInterface);
DWORD MprAdminRegisterConnectionNotification(MPR_SERVER_HANDLE hMprServer,HANDLE hEventNotification);
DWORD MprAdminDeregisterConnectionNotification(MPR_SERVER_HANDLE hMprServer,HANDLE hEventNotification);
DWORD MprAdminMIBServerConnect(LPWSTR lpwsServerName,MIB_SERVER_HANDLE *phMibServer);
void MprAdminMIBServerDisconnect(MIB_SERVER_HANDLE hMibServer);
DWORD MprAdminMIBEntryCreate(MIB_SERVER_HANDLE hMibServer,DWORD dwPid,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
DWORD MprAdminMIBEntryDelete(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
DWORD MprAdminMIBEntrySet(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpEntry,DWORD dwEntrySize);
DWORD MprAdminMIBEntryGet(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
DWORD MprAdminMIBEntryGetFirst(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
DWORD MprAdminMIBEntryGetNext(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInEntry,DWORD dwInEntrySize,LPVOID *lplpOutEntry,LPDWORD lpOutEntrySize);
DWORD MprAdminMIBGetTrapInfo(MIB_SERVER_HANDLE hMibServer,DWORD dwProtocolId,DWORD dwRoutingPid,LPVOID lpInData,DWORD dwInDataSize,LPVOID *lplpOutData,LPDWORD lpOutDataSize);
DWORD MprAdminMIBSetTrapInfo(DWORD dwProtocolId,DWORD dwRoutingPid,HANDLE hEvent,LPVOID lpInData,DWORD dwInDataSize,LPVOID *lplpOutData,LPDWORD lpOutDataSize);
DWORD MprAdminMIBBufferFree(LPVOID pBuffer);
DWORD MprConfigServerInstall(DWORD dwLevel,PVOID pBuffer);
DWORD MprConfigServerConnect(LPWSTR lpwsServerName,HANDLE *phMprConfig);
void MprConfigServerDisconnect(HANDLE hMprConfig);
DWORD MprConfigServerRefresh(HANDLE hMprConfig);
DWORD MprConfigBufferFree(LPVOID pBuffer);
DWORD MprConfigServerGetInfo(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpbBuffer);
DWORD MprConfigServerSetInfo(MPR_SERVER_HANDLE hMprServer,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprConfigServerBackup(HANDLE hMprConfig,LPWSTR lpwsPath);
DWORD MprConfigServerRestore(HANDLE hMprConfig,LPWSTR lpwsPath);
DWORD MprConfigTransportCreate(HANDLE hMprConfig,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath,HANDLE *phRouterTransport);
DWORD MprConfigTransportDelete(HANDLE hMprConfig,HANDLE hRouterTransport);
DWORD MprConfigTransportGetHandle(HANDLE hMprConfig,DWORD dwTransportId,HANDLE *phRouterTransport);
DWORD MprConfigTransportSetInfo(HANDLE hMprConfig,HANDLE hRouterTransport,LPBYTE pGlobalInfo,DWORD dwGlobalInfoSize,LPBYTE pClientInterfaceInfo,DWORD dwClientInterfaceInfoSize,LPWSTR lpwsDLLPath);
DWORD MprConfigTransportGetInfo(HANDLE hMprConfig,HANDLE hRouterTransport,LPBYTE *ppGlobalInfo,LPDWORD lpdwGlobalInfoSize,LPBYTE *ppClientInterfaceInfo,LPDWORD lpdwClientInterfaceInfoSize,LPWSTR *lplpwsDLLPath);
DWORD MprConfigTransportEnum(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprConfigInterfaceCreate(HANDLE hMprConfig,DWORD dwLevel,LPBYTE lpbBuffer,HANDLE *phRouterInterface);
DWORD MprConfigInterfaceDelete(HANDLE hMprConfig,HANDLE hRouterInterface);
DWORD MprConfigInterfaceGetHandle(HANDLE hMprConfig,LPWSTR lpwsInterfaceName,HANDLE *phRouterInterface);
DWORD MprConfigInterfaceGetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE *lplpBuffer,LPDWORD lpdwBufferSize);
DWORD MprConfigInterfaceSetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE lpbBuffer);
DWORD MprConfigInterfaceEnum(HANDLE hMprConfig,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprConfigInterfaceTransportAdd(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwTransportId,LPWSTR lpwsTransportName,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize,HANDLE *phRouterIfTransport);
DWORD MprConfigInterfaceTransportRemove(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport);
DWORD MprConfigInterfaceTransportGetHandle(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwTransportId,HANDLE *phRouterIfTransport);
DWORD MprConfigInterfaceTransportGetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport,LPBYTE *ppInterfaceInfo,LPDWORD lpdwInterfaceInfoSize);
DWORD MprConfigInterfaceTransportSetInfo(HANDLE hMprConfig,HANDLE hRouterInterface,HANDLE hRouterIfTransport,LPBYTE pInterfaceInfo,DWORD dwInterfaceInfoSize);
DWORD MprConfigInterfaceTransportEnum(HANDLE hMprConfig,HANDLE hRouterInterface,DWORD dwLevel,LPBYTE *lplpBuffer,DWORD dwPrefMaxLen,LPDWORD lpdwEntriesRead,LPDWORD lpdwTotalEntries,LPDWORD lpdwResumeHandle);
DWORD MprConfigGetFriendlyName(HANDLE hMprConfig,PWCHAR pszGuidName,PWCHAR pszBuffer,DWORD dwBufferSize);
DWORD MprConfigGetGuidName(HANDLE hMprConfig,PWCHAR pszFriendlyName,PWCHAR pszBuffer,DWORD dwBufferSize);
DWORD MprInfoCreate(DWORD dwVersion,LPVOID *lplpNewHeader);
DWORD MprInfoDelete(LPVOID lpHeader);
DWORD MprInfoRemoveAll(LPVOID lpHeader,LPVOID *lplpNewHeader);
DWORD MprInfoDuplicate(LPVOID lpHeader,LPVOID *lplpNewHeader);
DWORD MprInfoBlockAdd(LPVOID lpHeader,DWORD dwInfoType,DWORD dwItemSize,DWORD dwItemCount,LPBYTE lpItemData,LPVOID *lplpNewHeader);
DWORD MprInfoBlockRemove(LPVOID lpHeader,DWORD dwInfoType,LPVOID *lplpNewHeader);
DWORD MprInfoBlockSet(LPVOID lpHeader,DWORD dwInfoType,DWORD dwItemSize,DWORD dwItemCount,LPBYTE lpItemData,LPVOID *lplpNewHeader);
DWORD MprInfoBlockFind(LPVOID lpHeader,DWORD dwInfoType,LPDWORD lpdwItemSize,LPDWORD lpdwItemCount,LPBYTE *lplpItemData);
DWORD MprInfoBlockQuerySize(LPVOID lpHeader);
typedef enum {
NldsInvalid,
NldsTentative,
NldsDuplicate,
NldsDeprecated,
NldsPreferred,
IpDadStateInvalid = 0,
IpDadStateTentative,
IpDadStateDuplicate,
IpDadStateDeprecated,
IpDadStatePreferred,
} NL_DAD_STATE;
typedef enum {
RouteProtocolOther = 1,
RouteProtocolLocal = 2,
RouteProtocolNetMgmt = 3,
RouteProtocolIcmp = 4,
RouteProtocolEgp = 5,
RouteProtocolGgp = 6,
RouteProtocolHello = 7,
RouteProtocolRip = 8,
RouteProtocolIsIs = 9,
RouteProtocolEsIs = 10,
RouteProtocolCisco = 11,
RouteProtocolBbn = 12,
RouteProtocolOspf = 13,
RouteProtocolBgp = 14,
MIB_IPPROTO_OTHER = 1, PROTO_IP_OTHER = 1,
MIB_IPPROTO_LOCAL = 2, PROTO_IP_LOCAL = 2,
MIB_IPPROTO_NETMGMT = 3, PROTO_IP_NETMGMT = 3,
MIB_IPPROTO_ICMP = 4, PROTO_IP_ICMP = 4,
MIB_IPPROTO_EGP = 5, PROTO_IP_EGP = 5,
MIB_IPPROTO_GGP = 6, PROTO_IP_GGP = 6,
MIB_IPPROTO_HELLO = 7, PROTO_IP_HELLO = 7,
MIB_IPPROTO_RIP = 8, PROTO_IP_RIP = 8,
MIB_IPPROTO_IS_IS = 9, PROTO_IP_IS_IS = 9,
MIB_IPPROTO_ES_IS = 10, PROTO_IP_ES_IS = 10,
MIB_IPPROTO_CISCO = 11, PROTO_IP_CISCO = 11,
MIB_IPPROTO_BBN = 12, PROTO_IP_BBN = 12,
MIB_IPPROTO_OSPF = 13, PROTO_IP_OSPF = 13,
MIB_IPPROTO_BGP = 14, PROTO_IP_BGP = 14,
MIB_IPPROTO_NT_AUTOSTATIC = 10002, PROTO_IP_NT_AUTOSTATIC = 10002,
MIB_IPPROTO_NT_STATIC = 10006, PROTO_IP_NT_STATIC = 10006,
MIB_IPPROTO_NT_STATIC_NON_DOD = 10007, PROTO_IP_NT_STATIC_NON_DOD = 10007
} NL_ROUTE_PROTOCOL,*PNL_ROUTE_PROTOCOL;
typedef enum {
IpPrefixOriginOther = 0,
IpPrefixOriginManual,
IpPrefixOriginWellKnown,
IpPrefixOriginDhcp,
IpPrefixOriginRouterAdvertisement,
IpPrefixOriginUnchanged = 16
} NL_PREFIX_ORIGIN;
typedef enum {
NlsoOther = 0,
NlsoManual,
NlsoWellKnown,
NlsoDhcp,
NlsoLinkLayerAddress,
NlsoRandom,
IpSuffixOriginOther = 0,
IpSuffixOriginManual,
IpSuffixOriginWellKnown,
IpSuffixOriginDhcp,
IpSuffixOriginLinkLayerAddress,
IpSuffixOriginRandom,
IpSuffixOriginUnchanged = 16
} NL_SUFFIX_ORIGIN;
typedef enum {
NlatUnspecified,
NlatUnicast,
NlatAnycast,
NlatMulticast,
NlatBroadcast,
NlatInvalid
} NL_ADDRESS_TYPE, *PNL_ADDRESS_TYPE;
typedef enum _NL_ROUTE_ORIGIN {
NlroManual,
NlroWellKnown,
NlroDHCP,
NlroRouterAdvertisement,
Nlro6to4,
} NL_ROUTE_ORIGIN, *PNL_ROUTE_ORIGIN;
typedef enum _NL_NEIGHBOR_STATE {
NlnsUnreachable,
NlnsIncomplete,
NlnsProbe,
NlnsDelay,
NlnsStale,
NlnsReachable,
NlnsPermanent,
NlnsMaximum,
} NL_NEIGHBOR_STATE, *PNL_NEIGHBOR_STATE;
typedef enum _NL_LINK_LOCAL_ADDRESS_BEHAVIOR {
LinkLocalAlwaysOff = 0,
LinkLocalDelayed,
LinkLocalAlwaysOn,
LinkLocalUnchanged = -1
} NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
typedef enum _NL_ROUTER_DISCOVERY_BEHAVIOR {
RouterDiscoveryDisabled = 0,
RouterDiscoveryEnabled,
RouterDiscoveryDhcp,
RouterDiscoveryUnchanged = -1
} NL_ROUTER_DISCOVERY_BEHAVIOR;
typedef enum _NL_BANDWIDTH_FLAG {
NlbwDisabled = 0,
NlbwEnabled,
NlbwUnchanged = -1
} NL_BANDWIDTH_FLAG, *PNL_BANDWIDTH_FLAG;
typedef enum _NL_INTERFACE_NETWORK_CATEGORY_STATE {
NlincCategoryUnknown = 0,
NlincPublic = 1,
NlincPrivate = 2,
NlincDomainAuthenticated = 3,
NlincCategoryStateMax
} NL_INTERFACE_NETWORK_CATEGORY_STATE, *PNL_INTERFACE_NETWORK_CATEGORY_STATE;
typedef struct _NL_INTERFACE_OFFLOAD_ROD {
BOOLEAN NlChecksumSupported : 1;
BOOLEAN NlOptionsSupported : 1;
BOOLEAN TlDatagramChecksumSupported : 1;
BOOLEAN TlStreamChecksumSupported : 1;
BOOLEAN TlStreamOptionsSupported : 1;
BOOLEAN FastPathCompatible : 1;
BOOLEAN TlLargeSendOffloadSupported : 1;
BOOLEAN TlGiantSendOffloadSupported : 1;
} NL_INTERFACE_OFFLOAD_ROD, *PNL_INTERFACE_OFFLOAD_ROD;
typedef struct _NL_PATH_BANDWIDTH_ROD {
ULONG64 Bandwidth;
ULONG64 Instability;
BOOLEAN BandwidthPeaked;
} NL_PATH_BANDWIDTH_ROD, *PNL_PATH_BANDWIDTH_ROD;
typedef enum _NL_NETWORK_CATEGORY {
NetworkCategoryPublic,
NetworkCategoryPrivate,
NetworkCategoryDomainAuthenticated,
NetworkCategoryUnchanged = -1,
NetworkCategoryUnknown = -1
} NL_NETWORK_CATEGORY,*PNL_NETWORK_CATEGORY;
typedef struct _NL_BANDWIDTH_INFORMATION {
ULONG64 Bandwidth;
ULONG64 Instability;
BOOLEAN BandwidthPeaked;
} NL_BANDWIDTH_INFORMATION, *PNL_BANDWIDTH_INFORMATION;
typedef ULONG IFTYPE;
typedef struct _MIB_OPAQUE_QUERY {
DWORD dwVarId;
DWORD rgdwVarIndex[1];
} MIB_OPAQUE_QUERY,*PMIB_OPAQUE_QUERY;
typedef struct _MIB_IFNUMBER {
DWORD dwValue;
} MIB_IFNUMBER,*PMIB_IFNUMBER;
typedef struct _MIB_IFROW {
WCHAR wszName[256];
DWORD dwIndex;
DWORD dwType;
DWORD dwMtu;
DWORD dwSpeed;
DWORD dwPhysAddrLen;
BYTE bPhysAddr[8];
DWORD dwAdminStatus;
DWORD dwOperStatus;
DWORD dwLastChange;
DWORD dwInOctets;
DWORD dwInUcastPkts;
DWORD dwInNUcastPkts;
DWORD dwInDiscards;
DWORD dwInErrors;
DWORD dwInUnknownProtos;
DWORD dwOutOctets;
DWORD dwOutUcastPkts;
DWORD dwOutNUcastPkts;
DWORD dwOutDiscards;
DWORD dwOutErrors;
DWORD dwOutQLen;
DWORD dwDescrLen;
BYTE bDescr[256];
} MIB_IFROW,*PMIB_IFROW;
typedef struct _MIB_IFTABLE {
DWORD dwNumEntries;
MIB_IFROW table[1];
} MIB_IFTABLE,*PMIB_IFTABLE;
typedef struct _MIBICMPSTATS {
DWORD dwMsgs;
DWORD dwErrors;
DWORD dwDestUnreachs;
DWORD dwTimeExcds;
DWORD dwParmProbs;
DWORD dwSrcQuenchs;
DWORD dwRedirects;
DWORD dwEchos;
DWORD dwEchoReps;
DWORD dwTimestamps;
DWORD dwTimestampReps;
DWORD dwAddrMasks;
DWORD dwAddrMaskReps;
} MIBICMPSTATS,*PMIBICMPSTATS;
typedef struct _MIBICMPINFO {
MIBICMPSTATS icmpInStats;
MIBICMPSTATS icmpOutStats;
} MIBICMPINFO;
typedef struct _MIB_ICMP {
MIBICMPINFO stats;
} MIB_ICMP,*PMIB_ICMP;
typedef enum {
ICMP6_DST_UNREACH = 1,ICMP6_PACKET_TOO_BIG = 2,ICMP6_TIME_EXCEEDED = 3,ICMP6_PARAM_PROB = 4,ICMP6_ECHO_REQUEST = 128,
ICMP6_ECHO_REPLY = 129,ICMP6_MEMBERSHIP_QUERY = 130,ICMP6_MEMBERSHIP_REPORT = 131,ICMP6_MEMBERSHIP_REDUCTION = 132,
ND_ROUTER_SOLICIT = 133,ND_ROUTER_ADVERT = 134,ND_NEIGHBOR_SOLICIT = 135,ND_NEIGHBOR_ADVERT = 136,ND_REDIRECT = 137
} ICMP6_TYPE,*PICMP6_TYPE;
typedef enum {
ICMP4_ECHO_REPLY = 0,ICMP4_DST_UNREACH = 3,ICMP4_SOURCE_QUENCH = 4,ICMP4_REDIRECT = 5,ICMP4_ECHO_REQUEST = 8,ICMP4_ROUTER_ADVERT = 9,
ICMP4_ROUTER_SOLICIT = 10,ICMP4_TIME_EXCEEDED = 11,ICMP4_PARAM_PROB = 12,ICMP4_TIMESTAMP_REQUEST = 13,ICMP4_TIMESTAMP_REPLY = 14,
ICMP4_MASK_REQUEST = 17,ICMP4_MASK_REPLY = 18
} ICMP4_TYPE,*PICMP4_TYPE;
typedef struct _MIBICMPSTATS_EX {
DWORD dwMsgs;
DWORD dwErrors;
DWORD rgdwTypeCount[256];
} MIBICMPSTATS_EX,*PMIBICMPSTATS_EX;
typedef struct _MIB_ICMP_EX {
MIBICMPSTATS_EX icmpInStats;
MIBICMPSTATS_EX icmpOutStats;
} MIB_ICMP_EX,*PMIB_ICMP_EX;
typedef struct _MIB_UDPSTATS {
DWORD dwInDatagrams;
DWORD dwNoPorts;
DWORD dwInErrors;
DWORD dwOutDatagrams;
DWORD dwNumAddrs;
} MIB_UDPSTATS,*PMIB_UDPSTATS;
typedef struct _MIB_UDPROW {
DWORD dwLocalAddr;
DWORD dwLocalPort;
} MIB_UDPROW,*PMIB_UDPROW;
typedef MIB_UDPROW MIB_UDPROW_BASIC,*PMIB_UDPROW_BASIC;
typedef struct _MIB_UDPROW_OWNER_PID {
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwOwningPid;
} MIB_UDPROW_OWNER_PID,*PMIB_UDPROW_OWNER_PID;
typedef struct _MIB_UDPROW_OWNER_MODULE {
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwOwningPid;
LARGE_INTEGER liCreateTimestamp;
__extension__ union {
__extension__ struct {
DWORD SpecificPortBind : 1;
};
DWORD dwFlags;
};
ULONGLONG OwningModuleInfo[16];
} MIB_UDPROW_OWNER_MODULE,*PMIB_UDPROW_OWNER_MODULE;
typedef struct _MIB_UDP6ROW_OWNER_PID {
UCHAR ucLocalAddr[16];
DWORD dwLocalScopeId;
DWORD dwLocalPort;
DWORD dwOwningPid;
} MIB_UDP6ROW_OWNER_PID,*PMIB_UDP6ROW_OWNER_PID;
typedef struct _MIB_UDP6ROW_OWNER_MODULE {
UCHAR ucLocalAddr[16];
DWORD dwLocalScopeId;
DWORD dwLocalPort;
DWORD dwOwningPid;
LARGE_INTEGER liCreateTimestamp;
__extension__ union {
__extension__ struct {
DWORD SpecificPortBind : 1;
};
DWORD dwFlags;
};
ULONGLONG OwningModuleInfo[16];
} MIB_UDP6ROW_OWNER_MODULE,*PMIB_UDP6ROW_OWNER_MODULE;
typedef struct _MIB_UDPTABLE {
DWORD dwNumEntries;
MIB_UDPROW table[1];
} MIB_UDPTABLE,*PMIB_UDPTABLE;
typedef MIB_UDPTABLE MIB_UDPTABLE_BASIC,*PMIB_UDPTABLE_BASIC;
typedef struct _MIB_UDPTABLE_OWNER_PID {
DWORD dwNumEntries;
MIB_UDPROW_OWNER_PID table[1];
} MIB_UDPTABLE_OWNER_PID,*PMIB_UDPTABLE_OWNER_PID;
typedef struct _MIB_UDPTABLE_OWNER_MODULE {
DWORD dwNumEntries;
MIB_UDPROW_OWNER_MODULE table[1];
} MIB_UDPTABLE_OWNER_MODULE,*PMIB_UDPTABLE_OWNER_MODULE;
typedef struct _MIB_UDP6TABLE_OWNER_PID {
DWORD dwNumEntries;
MIB_UDP6ROW_OWNER_PID table[1];
} MIB_UDP6TABLE_OWNER_PID,*PMIB_UDP6TABLE_OWNER_PID;
typedef struct _MIB_UDP6TABLE_OWNER_MODULE {
DWORD dwNumEntries;
MIB_UDP6ROW_OWNER_MODULE table[1];
} MIB_UDP6TABLE_OWNER_MODULE,*PMIB_UDP6TABLE_OWNER_MODULE;
typedef struct _MIB_TCPSTATS {
DWORD dwRtoAlgorithm;
DWORD dwRtoMin;
DWORD dwRtoMax;
DWORD dwMaxConn;
DWORD dwActiveOpens;
DWORD dwPassiveOpens;
DWORD dwAttemptFails;
DWORD dwEstabResets;
DWORD dwCurrEstab;
DWORD dwInSegs;
DWORD dwOutSegs;
DWORD dwRetransSegs;
DWORD dwInErrs;
DWORD dwOutRsts;
DWORD dwNumConns;
} MIB_TCPSTATS,*PMIB_TCPSTATS;
typedef enum _TCP_TABLE_CLASS {
TCP_TABLE_BASIC_LISTENER,
TCP_TABLE_BASIC_CONNECTIONS,
TCP_TABLE_BASIC_ALL,
TCP_TABLE_OWNER_PID_LISTENER,
TCP_TABLE_OWNER_PID_CONNECTIONS,
TCP_TABLE_OWNER_PID_ALL,
TCP_TABLE_OWNER_MODULE_LISTENER,
TCP_TABLE_OWNER_MODULE_CONNECTIONS,
TCP_TABLE_OWNER_MODULE_ALL
} TCP_TABLE_CLASS, *PTCP_TABLE_CLASS;
typedef struct _MIB_TCPROW {
DWORD dwState;
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwRemoteAddr;
DWORD dwRemotePort;
} MIB_TCPROW,*PMIB_TCPROW;
typedef MIB_TCPROW MIB_TCPROW_BASIC,*PMIB_TCPROW_BASIC;
typedef struct _MIB_TCPROW_OWNER_PID {
DWORD dwState;
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwRemoteAddr;
DWORD dwRemotePort;
DWORD dwOwningPid;
} MIB_TCPROW_OWNER_PID,*PMIB_TCPROW_OWNER_PID;
typedef struct _MIB_TCPROW_OWNER_MODULE {
DWORD dwState;
DWORD dwLocalAddr;
DWORD dwLocalPort;
DWORD dwRemoteAddr;
DWORD dwRemotePort;
DWORD dwOwningPid;
LARGE_INTEGER liCreateTimestamp;
ULONGLONG OwningModuleInfo[16];
} MIB_TCPROW_OWNER_MODULE,*PMIB_TCPROW_OWNER_MODULE;
typedef struct _MIB_TCP6ROW_OWNER_PID {
UCHAR ucLocalAddr[16];
DWORD dwLocalScopeId;
DWORD dwLocalPort;
UCHAR ucRemoteAddr[16];
DWORD dwRemoteScopeId;
DWORD dwRemotePort;
DWORD dwState;
DWORD dwOwningPid;
} MIB_TCP6ROW_OWNER_PID,*PMIB_TCP6ROW_OWNER_PID;
typedef struct _MIB_TCP6ROW_OWNER_MODULE {
UCHAR ucLocalAddr[16];
DWORD dwLocalScopeId;
DWORD dwLocalPort;
UCHAR ucRemoteAddr[16];
DWORD dwRemoteScopeId;
DWORD dwRemotePort;
DWORD dwState;
DWORD dwOwningPid;
LARGE_INTEGER liCreateTimestamp;
ULONGLONG OwningModuleInfo[16];
} MIB_TCP6ROW_OWNER_MODULE,*PMIB_TCP6ROW_OWNER_MODULE;
typedef struct _MIB_TCPTABLE {
DWORD dwNumEntries;
MIB_TCPROW table[1];
} MIB_TCPTABLE,*PMIB_TCPTABLE;
typedef MIB_TCPTABLE MIB_TCPTABLE_BASIC,*PMIB_TCPTABLE_BASIC;
typedef struct _MIB_TCPTABLE_OWNER_PID {
DWORD dwNumEntries;
MIB_TCPROW_OWNER_PID table[1];
} MIB_TCPTABLE_OWNER_PID,*PMIB_TCPTABLE_OWNER_PID;
typedef struct _MIB_TCPTABLE_OWNER_MODULE {
DWORD dwNumEntries;
MIB_TCPROW_OWNER_MODULE table[1];
} MIB_TCPTABLE_OWNER_MODULE,*PMIB_TCPTABLE_OWNER_MODULE;
typedef struct _MIB_TCP6TABLE_OWNER_PID {
DWORD dwNumEntries;
MIB_TCP6ROW_OWNER_PID table[1];
} MIB_TCP6TABLE_OWNER_PID,*PMIB_TCP6TABLE_OWNER_PID;
typedef struct _MIB_TCP6TABLE_OWNER_MODULE {
DWORD dwNumEntries;
MIB_TCP6ROW_OWNER_MODULE table[1];
} MIB_TCP6TABLE_OWNER_MODULE,*PMIB_TCP6TABLE_OWNER_MODULE;
typedef struct _MIB_IPSTATS {
DWORD dwForwarding;
DWORD dwDefaultTTL;
DWORD dwInReceives;
DWORD dwInHdrErrors;
DWORD dwInAddrErrors;
DWORD dwForwDatagrams;
DWORD dwInUnknownProtos;
DWORD dwInDiscards;
DWORD dwInDelivers;
DWORD dwOutRequests;
DWORD dwRoutingDiscards;
DWORD dwOutDiscards;
DWORD dwOutNoRoutes;
DWORD dwReasmTimeout;
DWORD dwReasmReqds;
DWORD dwReasmOks;
DWORD dwReasmFails;
DWORD dwFragOks;
DWORD dwFragFails;
DWORD dwFragCreates;
DWORD dwNumIf;
DWORD dwNumAddr;
DWORD dwNumRoutes;
} MIB_IPSTATS,*PMIB_IPSTATS;
typedef struct _MIB_IPADDRROW {
DWORD dwAddr;
DWORD dwIndex;
DWORD dwMask;
DWORD dwBCastAddr;
DWORD dwReasmSize;
unsigned short unused1;
unsigned short wType;
} MIB_IPADDRROW,*PMIB_IPADDRROW;
typedef struct _MIB_IPADDRTABLE {
DWORD dwNumEntries;
MIB_IPADDRROW table[1];
} MIB_IPADDRTABLE,*PMIB_IPADDRTABLE;
typedef struct _MIB_IPFORWARDNUMBER {
DWORD dwValue;
} MIB_IPFORWARDNUMBER,*PMIB_IPFORWARDNUMBER;
typedef struct _MIB_IPFORWARDROW {
DWORD dwForwardDest;
DWORD dwForwardMask;
DWORD dwForwardPolicy;
DWORD dwForwardNextHop;
DWORD dwForwardIfIndex;
DWORD dwForwardType;
DWORD dwForwardProto;
DWORD dwForwardAge;
DWORD dwForwardNextHopAS;
DWORD dwForwardMetric1;
DWORD dwForwardMetric2;
DWORD dwForwardMetric3;
DWORD dwForwardMetric4;
DWORD dwForwardMetric5;
} MIB_IPFORWARDROW,*PMIB_IPFORWARDROW;
typedef struct _MIB_IPFORWARDTABLE {
DWORD dwNumEntries;
MIB_IPFORWARDROW table[1];
} MIB_IPFORWARDTABLE,*PMIB_IPFORWARDTABLE;
typedef struct _MIB_IPNETROW {
DWORD dwIndex;
DWORD dwPhysAddrLen;
BYTE bPhysAddr[8];
DWORD dwAddr;
DWORD dwType;
} MIB_IPNETROW,*PMIB_IPNETROW;
typedef struct _MIB_IPNETTABLE {
DWORD dwNumEntries;
MIB_IPNETROW table[1];
} MIB_IPNETTABLE,*PMIB_IPNETTABLE;
typedef struct _MIB_IPMCAST_OIF {
DWORD dwOutIfIndex;
DWORD dwNextHopAddr;
DWORD dwReserved;
DWORD dwReserved1;
} MIB_IPMCAST_OIF,*PMIB_IPMCAST_OIF;
typedef struct _MIB_IPMCAST_MFE {
DWORD dwGroup;
DWORD dwSource;
DWORD dwSrcMask;
DWORD dwUpStrmNgbr;
DWORD dwInIfIndex;
DWORD dwInIfProtocol;
DWORD dwRouteProtocol;
DWORD dwRouteNetwork;
DWORD dwRouteMask;
ULONG ulUpTime;
ULONG ulExpiryTime;
ULONG ulTimeOut;
ULONG ulNumOutIf;
DWORD fFlags;
DWORD dwReserved;
MIB_IPMCAST_OIF rgmioOutInfo[1];
} MIB_IPMCAST_MFE,*PMIB_IPMCAST_MFE;
typedef struct _MIB_MFE_TABLE {
DWORD dwNumEntries;
MIB_IPMCAST_MFE table[1];
} MIB_MFE_TABLE,*PMIB_MFE_TABLE;
typedef struct _MIB_IPMCAST_OIF_STATS {
DWORD dwOutIfIndex;
DWORD dwNextHopAddr;
DWORD dwDialContext;
ULONG ulTtlTooLow;
ULONG ulFragNeeded;
ULONG ulOutPackets;
ULONG ulOutDiscards;
} MIB_IPMCAST_OIF_STATS,*PMIB_IPMCAST_OIF_STATS;
typedef struct _MIB_IPMCAST_MFE_STATS {
DWORD dwGroup;
DWORD dwSource;
DWORD dwSrcMask;
DWORD dwUpStrmNgbr;
DWORD dwInIfIndex;
DWORD dwInIfProtocol;
DWORD dwRouteProtocol;
DWORD dwRouteNetwork;
DWORD dwRouteMask;
ULONG ulUpTime;
ULONG ulExpiryTime;
ULONG ulNumOutIf;
ULONG ulInPkts;
ULONG ulInOctets;
ULONG ulPktsDifferentIf;
ULONG ulQueueOverflow;
MIB_IPMCAST_OIF_STATS rgmiosOutStats[1];
} MIB_IPMCAST_MFE_STATS,*PMIB_IPMCAST_MFE_STATS;
typedef struct _MIB_MFE_STATS_TABLE {
DWORD dwNumEntries;
MIB_IPMCAST_MFE_STATS table[1];
} MIB_MFE_STATS_TABLE,*PMIB_MFE_STATS_TABLE;
typedef struct _MIB_IPMCAST_MFE_STATS_EX {
DWORD dwGroup;
DWORD dwSource;
DWORD dwSrcMask;
DWORD dwUpStrmNgbr;
DWORD dwInIfIndex;
DWORD dwInIfProtocol;
DWORD dwRouteProtocol;
DWORD dwRouteNetwork;
DWORD dwRouteMask;
ULONG ulUpTime;
ULONG ulExpiryTime;
ULONG ulNumOutIf;
ULONG ulInPkts;
ULONG ulInOctets;
ULONG ulPktsDifferentIf;
ULONG ulQueueOverflow;
ULONG ulUninitMfe;
ULONG ulNegativeMfe;
ULONG ulInDiscards;
ULONG ulInHdrErrors;
ULONG ulTotalOutPackets;
MIB_IPMCAST_OIF_STATS rgmiosOutStats[1];
} MIB_IPMCAST_MFE_STATS_EX,*PMIB_IPMCAST_MFE_STATS_EX;
typedef struct _MIB_MFE_STATS_TABLE_EX {
DWORD dwNumEntries;
MIB_IPMCAST_MFE_STATS_EX table[1];
} MIB_MFE_STATS_TABLE_EX,*PMIB_MFE_STATS_TABLE_EX;
typedef struct _MIB_IPMCAST_GLOBAL {
DWORD dwEnable;
} MIB_IPMCAST_GLOBAL,*PMIB_IPMCAST_GLOBAL;
typedef struct _MIB_IPMCAST_IF_ENTRY {
DWORD dwIfIndex;
DWORD dwTtl;
DWORD dwProtocol;
DWORD dwRateLimit;
ULONG ulInMcastOctets;
ULONG ulOutMcastOctets;
} MIB_IPMCAST_IF_ENTRY,*PMIB_IPMCAST_IF_ENTRY;
typedef struct _MIB_IPMCAST_IF_TABLE {
DWORD dwNumEntries;
MIB_IPMCAST_IF_ENTRY table[1];
} MIB_IPMCAST_IF_TABLE,*PMIB_IPMCAST_IF_TABLE;
typedef struct _MIB_IPMCAST_BOUNDARY {
DWORD dwIfIndex;
DWORD dwGroupAddress;
DWORD dwGroupMask;
DWORD dwStatus;
} MIB_IPMCAST_BOUNDARY,*PMIB_IPMCAST_BOUNDARY;
typedef struct _MIB_IPMCAST_BOUNDARY_TABLE {
DWORD dwNumEntries;
MIB_IPMCAST_BOUNDARY table[1];
} MIB_IPMCAST_BOUNDARY_TABLE,*PMIB_IPMCAST_BOUNDARY_TABLE;
typedef struct {
DWORD dwGroupAddress;
DWORD dwGroupMask;
} MIB_BOUNDARYROW,*PMIB_BOUNDARYROW;
typedef struct {
DWORD dwTtl;
DWORD dwRateLimit;
} MIB_MCAST_LIMIT_ROW,*PMIB_MCAST_LIMIT_ROW;
typedef WCHAR SN_CHAR;
typedef SN_CHAR SCOPE_NAME_BUFFER[255 +1],*SCOPE_NAME;
typedef struct _MIB_IPMCAST_SCOPE {
DWORD dwGroupAddress;
DWORD dwGroupMask;
SCOPE_NAME_BUFFER snNameBuffer;
DWORD dwStatus;
} MIB_IPMCAST_SCOPE,*PMIB_IPMCAST_SCOPE;
typedef struct _MIB_IPDESTROW {
__extension__ union {
DWORD dwForwardDest;
DWORD dwForwardMask;
DWORD dwForwardPolicy;
DWORD dwForwardNextHop;
DWORD dwForwardIfIndex;
DWORD dwForwardType;
DWORD dwForwardProto;
DWORD dwForwardAge;
DWORD dwForwardNextHopAS;
DWORD dwForwardMetric1;
DWORD dwForwardMetric2;
DWORD dwForwardMetric3;
DWORD dwForwardMetric4;
DWORD dwForwardMetric5;
};
DWORD dwForwardPreference;
DWORD dwForwardViewSet;
} MIB_IPDESTROW,*PMIB_IPDESTROW;
typedef struct _MIB_IPDESTTABLE {
DWORD dwNumEntries;
MIB_IPDESTROW table[1];
} MIB_IPDESTTABLE,*PMIB_IPDESTTABLE;
typedef struct _MIB_BEST_IF {
DWORD dwDestAddr;
DWORD dwIfIndex;
} MIB_BEST_IF,*PMIB_BEST_IF;
typedef struct _MIB_PROXYARP {
DWORD dwAddress;
DWORD dwMask;
DWORD dwIfIndex;
} MIB_PROXYARP,*PMIB_PROXYARP;
typedef struct _MIB_IFSTATUS {
DWORD dwIfIndex;
DWORD dwAdminStatus;
DWORD dwOperationalStatus;
WINBOOL bMHbeatActive;
WINBOOL bMHbeatAlive;
} MIB_IFSTATUS,*PMIB_IFSTATUS;
typedef struct _MIB_ROUTESTATE {
WINBOOL bRoutesSetToStack;
} MIB_ROUTESTATE,*PMIB_ROUTESTATE;
typedef struct _MIB_OPAQUE_INFO {
DWORD dwId;
__extension__ union {
ULONGLONG ullAlign;
BYTE rgbyData[1];
};
} MIB_OPAQUE_INFO,*PMIB_OPAQUE_INFO;
typedef struct _TCPIP_OWNER_MODULE_BASIC_INFO {
PWCHAR pModuleName;
PWCHAR pModulePath;
} TCPIP_OWNER_MODULE_BASIC_INFO, *PTCPIP_OWNER_MODULE_BASIC_INFO;
typedef enum _UDP_TABLE_CLASS {
UDP_TABLE_BASIC,
UDP_TABLE_OWNER_PID,
UDP_TABLE_OWNER_MODULE
} UDP_TABLE_CLASS, *PUDP_TABLE_CLASS;
typedef enum _TCPIP_OWNER_MODULE_INFO_CLASS {
TCPIP_OWNER_MODULE_INFO_BASIC
} TCPIP_OWNER_MODULE_INFO_CLASS, *PTCPIP_OWNER_MODULE_INFO_CLASS;
typedef ULONG IPAddr;
typedef ULONG IPMask;
typedef ULONG IP_STATUS;
typedef struct in6_addr IPv6Addr;
typedef struct ip_option_information {
UCHAR Ttl;
UCHAR Tos;
UCHAR Flags;
UCHAR OptionsSize;
PUCHAR OptionsData;
} IP_OPTION_INFORMATION,*PIP_OPTION_INFORMATION;
typedef struct ip_option_information32 {
UCHAR Ttl;
UCHAR Tos;
UCHAR Flags;
UCHAR OptionsSize;
UCHAR *OptionsData;
} IP_OPTION_INFORMATION32,*PIP_OPTION_INFORMATION32;
typedef struct icmp_echo_reply {
IPAddr Address;
ULONG Status;
ULONG RoundTripTime;
USHORT DataSize;
USHORT Reserved;
PVOID Data;
struct ip_option_information Options;
} ICMP_ECHO_REPLY,*PICMP_ECHO_REPLY;
typedef struct icmp_echo_reply32 {
IPAddr Address;
ULONG Status;
ULONG RoundTripTime;
USHORT DataSize;
USHORT Reserved;
void *Data;
struct ip_option_information32 Options;
} ICMP_ECHO_REPLY32,*PICMP_ECHO_REPLY32;
typedef struct arp_send_reply {
IPAddr DestAddress;
IPAddr SrcAddress;
} ARP_SEND_REPLY,*PARP_SEND_REPLY;
typedef struct tcp_reserve_port_range {
USHORT UpperRange;
USHORT LowerRange;
} TCP_RESERVE_PORT_RANGE,*PTCP_RESERVE_PORT_RANGE;
typedef struct _IP_ADAPTER_INDEX_MAP {
ULONG Index;
WCHAR Name[128];
} IP_ADAPTER_INDEX_MAP,*PIP_ADAPTER_INDEX_MAP;
typedef struct _IP_INTERFACE_INFO {
LONG NumAdapters;
IP_ADAPTER_INDEX_MAP Adapter[1];
} IP_INTERFACE_INFO,*PIP_INTERFACE_INFO;
typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS {
ULONG NumAdapters;
IPAddr Address[1];
} IP_UNIDIRECTIONAL_ADAPTER_ADDRESS,*PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
typedef struct _IP_ADAPTER_ORDER_MAP {
ULONG NumAdapters;
ULONG AdapterOrder[1];
} IP_ADAPTER_ORDER_MAP,*PIP_ADAPTER_ORDER_MAP;
typedef struct _IP_MCAST_COUNTER_INFO {
ULONG64 InMcastOctets;
ULONG64 OutMcastOctets;
ULONG64 InMcastPkts;
ULONG64 OutMcastPkts;
} IP_MCAST_COUNTER_INFO,*PIP_MCAST_COUNTER_INFO;
typedef struct _IPV6_ADDRESS_EX {
USHORT sin6_port;
ULONG sin6_flowinfo;
USHORT sin6_addr[8];
ULONG sin6_scope_id;
} IPV6_ADDRESS_EX, *PIPV6_ADDRESS_EX;
#pragma pack(push,_CRT_PACKING)
typedef long clock_t;
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
extern __attribute__ ((__dllimport__)) int _daylight;
extern __attribute__ ((__dllimport__)) long _dstbias;
extern __attribute__ ((__dllimport__)) long _timezone;
extern __attribute__ ((__dllimport__)) char * _tzname[2];
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_daylight(int *_Daylight);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_dstbias(long *_Daylight_savings_bias);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_timezone(long *_Timezone);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _get_tzname(size_t *_ReturnValue,char *_Buffer,size_t _SizeInBytes,int _Index);
char *__attribute__((__cdecl__)) asctime(const struct tm *_Tm) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) asctime_s (char *_Buf,size_t _SizeInWords,const struct tm *_Tm);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ctime32(const __time32_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _ctime32_s (char *_Buf,size_t _SizeInBytes,const __time32_t *_Time);
clock_t __attribute__((__cdecl__)) clock(void);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _difftime32(__time32_t _Time1,__time32_t _Time2);
__attribute__ ((__dllimport__)) struct tm *__attribute__((__cdecl__)) _gmtime32(const __time32_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _gmtime32_s (struct tm *_Tm,const __time32_t *_Time);
__attribute__ ((__dllimport__)) struct tm *__attribute__((__cdecl__)) _localtime32(const __time32_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _localtime32_s (struct tm *_Tm,const __time32_t *_Time);
size_t __attribute__((__cdecl__)) strftime(char * __restrict__ _Buf,size_t _SizeInBytes,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _strftime_l(char * __restrict__ _Buf,size_t _Max_size,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strdate(char *_Buffer) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _strdate_s (char *_Buf,size_t _SizeInBytes);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _strtime(char *_Buffer) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _strtime_s (char *_Buf ,size_t _SizeInBytes);
__attribute__ ((__dllimport__)) __time32_t __attribute__((__cdecl__)) _time32(__time32_t *_Time);
__attribute__ ((__dllimport__)) __time32_t __attribute__((__cdecl__)) _mktime32(struct tm *_Tm);
__attribute__ ((__dllimport__)) __time32_t __attribute__((__cdecl__)) _mkgmtime32(struct tm *_Tm);
void __attribute__((__cdecl__)) tzset(void) ;
__attribute__ ((__dllimport__))
void __attribute__((__cdecl__)) _tzset(void);
__attribute__ ((__dllimport__)) double __attribute__((__cdecl__)) _difftime64(__time64_t _Time1,__time64_t _Time2);
__attribute__ ((__dllimport__)) char *__attribute__((__cdecl__)) _ctime64(const __time64_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _ctime64_s (char *_Buf,size_t _SizeInBytes,const __time64_t *_Time);
__attribute__ ((__dllimport__)) struct tm *__attribute__((__cdecl__)) _gmtime64(const __time64_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _gmtime64_s (struct tm *_Tm,const __time64_t *_Time);
__attribute__ ((__dllimport__)) struct tm *__attribute__((__cdecl__)) _localtime64(const __time64_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _localtime64_s (struct tm *_Tm,const __time64_t *_Time);
__attribute__ ((__dllimport__)) __time64_t __attribute__((__cdecl__)) _mktime64(struct tm *_Tm);
__attribute__ ((__dllimport__)) __time64_t __attribute__((__cdecl__)) _mkgmtime64(struct tm *_Tm);
__attribute__ ((__dllimport__)) __time64_t __attribute__((__cdecl__)) _time64(__time64_t *_Time);
unsigned __attribute__((__cdecl__)) _getsystime(struct tm *_Tm);
unsigned __attribute__((__cdecl__)) _setsystime(struct tm *_Tm,unsigned _MilliSec);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wasctime(const struct tm *_Tm);
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm);
wchar_t *__attribute__((__cdecl__)) _wctime32(const __time32_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time);
size_t __attribute__((__cdecl__)) wcsftime(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm);
__attribute__ ((__dllimport__)) size_t __attribute__((__cdecl__)) _wcsftime_l(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wstrdate(wchar_t *_Buffer) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wstrtime(wchar_t *_Buffer) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords);
__attribute__ ((__dllimport__)) wchar_t *__attribute__((__cdecl__)) _wctime64(const __time64_t *_Time) ;
__attribute__((dllimport)) errno_t __attribute__((__cdecl__)) _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time);
wchar_t *__attribute__((__cdecl__)) _wctime(const time_t *) ;
errno_t __attribute__((__cdecl__)) _wctime_s(wchar_t *, size_t, const time_t *);
static __inline time_t __attribute__((__cdecl__)) time(time_t *_Time) { return _time64(_Time); }
static __inline double __attribute__((__cdecl__)) difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }
static __inline struct tm *__attribute__((__cdecl__)) localtime(const time_t *_Time) { return _localtime64(_Time); }
static __inline errno_t __attribute__((__cdecl__)) localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); }
static __inline struct tm *__attribute__((__cdecl__)) gmtime(const time_t *_Time) { return _gmtime64(_Time); }
static __inline errno_t __attribute__((__cdecl__)) gmtime_s(struct tm *_Tm, const time_t *_Time) { return _gmtime64_s(_Tm, _Time); }
static __inline char *__attribute__((__cdecl__)) ctime(const time_t *_Time) { return _ctime64(_Time); }
static __inline errno_t __attribute__((__cdecl__)) ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) { return _ctime64_s(_Buf,_SizeInBytes,_Time); }
static __inline time_t __attribute__((__cdecl__)) mktime(struct tm *_Tm) { return _mktime64(_Tm); }
static __inline time_t __attribute__((__cdecl__)) _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); }
__attribute__ ((__dllimport__)) extern int daylight ;
__attribute__ ((__dllimport__)) extern long timezone ;
__attribute__ ((__dllimport__)) extern char *tzname[2] ;
void __attribute__((__cdecl__)) tzset(void) ;
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
extern int __attribute__((__cdecl__)) mingw_gettimeofday (struct timeval *p, struct timezone *z);
#pragma pack(pop)
#pragma pack(push,_CRT_PACKING)
struct __timeb32 {
__time32_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
struct timeb {
time_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
struct __timeb64 {
__time64_t time;
unsigned short millitm;
short timezone;
short dstflag;
};
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _ftime64(struct __timeb64 *_Time);
__attribute__ ((__dllimport__)) void __attribute__((__cdecl__)) _ftime32(struct __timeb32 *_Time);
struct timespec {
time_t tv_sec;
long tv_nsec;
};
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
void __attribute__((__cdecl__)) ftime (struct timeb *);
#pragma pack(pop)
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ftime32_s(struct __timeb32 *_Time);
__attribute__ ((__dllimport__)) errno_t __attribute__((__cdecl__)) _ftime64_s(struct __timeb64 *_Time);
typedef int clockid_t;
int __attribute__((__cdecl__)) nanosleep(const struct timespec *request, struct timespec *remain);
int __attribute__((__cdecl__)) clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain);
int __attribute__((__cdecl__)) clock_getres(clockid_t clock_id, struct timespec *res);
int __attribute__((__cdecl__)) clock_gettime(clockid_t clock_id, struct timespec *tp);
int __attribute__((__cdecl__)) clock_settime(clockid_t clock_id, const struct timespec *tp);
typedef UINT32 NET_IF_COMPARTMENT_ID, *PNET_IF_COMPARTMENT_ID;
typedef ULONG NET_IFINDEX, *PNET_IFINDEX;
typedef UINT16 NET_IFTYPE, *PNET_IFTYPE;
typedef NET_IFINDEX IF_INDEX, *PIF_INDEX;
typedef GUID NET_IF_NETWORK_GUID;
typedef enum _IF_OPER_STATUS {
IfOperStatusUp = 1,
IfOperStatusDown,
IfOperStatusTesting,
IfOperStatusUnknown,
IfOperStatusDormant,
IfOperStatusNotPresent,
IfOperStatusLowerLayerDown
} IF_OPER_STATUS;
typedef enum _NET_IF_OPER_STATUS {
NET_IF_OPER_STATUS_UP = 1,
NET_IF_OPER_STATUS_DOWN,
NET_IF_OPER_STATUS_TESTING,
NET_IF_OPER_STATUS_UNKNOWN,
NET_IF_OPER_STATUS_DORMANT,
NET_IF_OPER_STATUS_NOT_PRESENT,
NET_IF_OPER_STATUS_LOWER_LAYER_DOWN
} NET_IF_OPER_STATUS, *PNET_IF_OPER_STATUS;
typedef enum _NET_IF_ADMIN_STATUS {
NET_IF_ADMIN_STATUS_UP = 1,
NET_IF_ADMIN_STATUS_DOWN,
NET_IF_ADMIN_STATUS_TESTING
} NET_IF_ADMIN_STATUS, *PNET_IF_ADMIN_STATUS;
typedef enum _NET_IF_MEDIA_CONNECT_STATE {
MediaConnectStateUnknown,
MediaConnectStateConnected,
MediaConnectStateDisconnected
} NET_IF_MEDIA_CONNECT_STATE, *PNET_IF_MEDIA_CONNECT_STATE;
typedef enum _NET_IF_ACCESS_TYPE {
NET_IF_ACCESS_LOOPBACK = 1,
NET_IF_ACCESS_BROADCAST,
NET_IF_ACCESS_POINT_TO_POINT,
NET_IF_ACCESS_POINT_TO_MULTI_POINT,
NET_IF_ACCESS_MAXIMUM
} NET_IF_ACCESS_TYPE, *PNET_IF_ACCESS_TYPE;
typedef enum _NET_IF_CONNECTION_TYPE {
NET_IF_CONNECTION_DEDICATED = 1,
NET_IF_CONNECTION_PASSIVE,
NET_IF_CONNECTION_DEMAND,
NET_IF_CONNECTION_MAXIMUM
} NET_IF_CONNECTION_TYPE, *PNET_IF_CONNECTION_TYPE;
typedef enum _NET_IF_DIRECTION_TYPE {
NET_IF_DIRECTION_SENDRECEIVE,
NET_IF_DIRECTION_SENDONLY,
NET_IF_DIRECTION_RECEIVEONLY,
NET_IF_DIRECTION_MAXIMUM
} NET_IF_DIRECTION_TYPE, *PNET_IF_DIRECTION_TYPE;
typedef enum _NET_IF_MEDIA_DUPLEX_STATE {
MediaDuplexStateUnknown,
MediaDuplexStateHalf,
MediaDuplexStateFull
} NET_IF_MEDIA_DUPLEX_STATE, *PNET_IF_MEDIA_DUPLEX_STATE;
typedef enum _TUNNEL_TYPE {
TUNNEL_TYPE_NONE = 0,
TUNNEL_TYPE_OTHER = 1,
TUNNEL_TYPE_DIRECT = 2,
TUNNEL_TYPE_6TO4 = 11,
TUNNEL_TYPE_ISATAP = 13,
TUNNEL_TYPE_TEREDO = 14,
TUNNEL_TYPE_IPHTTPS = 15
} TUNNEL_TYPE, *PTUNNEL_TYPE;
typedef union _NET_LUID {
ULONG64 Value;
__extension__ struct {
ULONG64 Reserved :24;
ULONG64 NetLuidIndex :24;
ULONG64 IfType :16;
} Info;
} NET_LUID, *PNET_LUID;
typedef NET_LUID IF_LUID, *PIF_LUID;
typedef struct _IF_COUNTED_STRING_LH {
USHORT Length;
WCHAR String[256 + 1];
} IF_COUNTED_STRING_LH, *PIF_COUNTED_STRING_LH;
typedef IF_COUNTED_STRING_LH IF_COUNTED_STRING;
typedef IF_COUNTED_STRING *PIF_COUNTED_STRING;
typedef struct _IF_PHYSICAL_ADDRESS_LH {
USHORT Length;
UCHAR Address[32];
} IF_PHYSICAL_ADDRESS_LH, *PIF_PHYSICAL_ADDRESS_LH;
typedef IF_PHYSICAL_ADDRESS_LH IF_PHYSICAL_ADDRESS;
typedef IF_PHYSICAL_ADDRESS *PIF_PHYSICAL_ADDRESS;
typedef struct {
char String[4*4];
} IP_ADDRESS_STRING,*PIP_ADDRESS_STRING,IP_MASK_STRING,*PIP_MASK_STRING;
typedef struct _IP_ADDR_STRING {
struct _IP_ADDR_STRING *Next;
IP_ADDRESS_STRING IpAddress;
IP_MASK_STRING IpMask;
DWORD Context;
} IP_ADDR_STRING,*PIP_ADDR_STRING;
typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO *Next;
DWORD ComboIndex;
char AdapterName[256 + 4];
char Description[128 + 4];
UINT AddressLength;
BYTE Address[8];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
WINBOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} IP_ADAPTER_INFO,*PIP_ADAPTER_INFO;
typedef NL_PREFIX_ORIGIN IP_PREFIX_ORIGIN;
typedef NL_SUFFIX_ORIGIN IP_SUFFIX_ORIGIN;
typedef NL_DAD_STATE IP_DAD_STATE;
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_UNICAST_ADDRESS_XP *Next;
SOCKET_ADDRESS Address;
IP_PREFIX_ORIGIN PrefixOrigin;
IP_SUFFIX_ORIGIN SuffixOrigin;
IP_DAD_STATE DadState;
ULONG ValidLifetime;
ULONG PreferredLifetime;
ULONG LeaseLifetime;
} IP_ADAPTER_UNICAST_ADDRESS_XP,*PIP_ADAPTER_UNICAST_ADDRESS_XP;
typedef struct _IP_ADAPTER_UNICAST_ADDRESS_LH {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_UNICAST_ADDRESS_LH *Next;
SOCKET_ADDRESS Address;
IP_PREFIX_ORIGIN PrefixOrigin;
IP_SUFFIX_ORIGIN SuffixOrigin;
IP_DAD_STATE DadState;
ULONG ValidLifetime;
ULONG PreferredLifetime;
ULONG LeaseLifetime;
UINT8 OnLinkPrefixLength;
} IP_ADAPTER_UNICAST_ADDRESS_LH,*PIP_ADAPTER_UNICAST_ADDRESS_LH;
typedef IP_ADAPTER_UNICAST_ADDRESS_XP IP_ADAPTER_UNICAST_ADDRESS;
typedef IP_ADAPTER_UNICAST_ADDRESS_XP *PIP_ADAPTER_UNICAST_ADDRESS;
typedef struct _IP_ADAPTER_ANYCAST_ADDRESS_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_ANYCAST_ADDRESS_XP *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_ANYCAST_ADDRESS_XP,*PIP_ADAPTER_ANYCAST_ADDRESS_XP;
typedef IP_ADAPTER_ANYCAST_ADDRESS_XP IP_ADAPTER_ANYCAST_ADDRESS;
typedef IP_ADAPTER_ANYCAST_ADDRESS_XP *PIP_ADAPTER_ANYCAST_ADDRESS;
typedef struct _IP_ADAPTER_MULTICAST_ADDRESS_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_MULTICAST_ADDRESS_XP *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_MULTICAST_ADDRESS_XP,*PIP_ADAPTER_MULTICAST_ADDRESS_XP;
typedef IP_ADAPTER_MULTICAST_ADDRESS_XP IP_ADAPTER_MULTICAST_ADDRESS;
typedef IP_ADAPTER_MULTICAST_ADDRESS_XP *PIP_ADAPTER_MULTICAST_ADDRESS;
typedef struct _IP_ADAPTER_DNS_SERVER_ADDRESS_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Reserved;
};
};
struct _IP_ADAPTER_DNS_SERVER_ADDRESS_XP *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_DNS_SERVER_ADDRESS_XP,*PIP_ADAPTER_DNS_SERVER_ADDRESS_XP;
typedef IP_ADAPTER_DNS_SERVER_ADDRESS_XP IP_ADAPTER_DNS_SERVER_ADDRESS;
typedef IP_ADAPTER_DNS_SERVER_ADDRESS_XP *PIP_ADAPTER_DNS_SERVER_ADDRESS;
typedef struct _IP_ADAPTER_PREFIX_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Flags;
};
};
struct _IP_ADAPTER_PREFIX_XP *Next;
SOCKET_ADDRESS Address;
ULONG PrefixLength;
} IP_ADAPTER_PREFIX_XP,*PIP_ADAPTER_PREFIX_XP;
typedef IP_ADAPTER_PREFIX_XP IP_ADAPTER_PREFIX;
typedef IP_ADAPTER_PREFIX_XP *PIP_ADAPTER_PREFIX;
typedef struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Reserved;
};
};
struct _IP_ADAPTER_WINS_SERVER_ADDRESS_LH *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_WINS_SERVER_ADDRESS_LH,*PIP_ADAPTER_WINS_SERVER_ADDRESS_LH;
typedef struct _IP_ADAPTER_GATEWAY_ADDRESS_LH {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD Reserved;
};
};
struct _IP_ADAPTER_GATEWAY_ADDRESS_LH *Next;
SOCKET_ADDRESS Address;
} IP_ADAPTER_GATEWAY_ADDRESS_LH,*PIP_ADAPTER_GATEWAY_ADDRESS_LH;
typedef struct _IP_ADAPTER_DNS_SUFFIX {
struct _IP_ADAPTER_DNS_SUFFIX *Next;
WCHAR String[256];
} IP_ADAPTER_DNS_SUFFIX, *PIP_ADAPTER_DNS_SUFFIX;
typedef struct _IP_ADAPTER_ADDRESSES_LH {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
IF_INDEX IfIndex;
};
};
struct _IP_ADAPTER_ADDRESSES_LH *Next;
PCHAR AdapterName;
PIP_ADAPTER_UNICAST_ADDRESS_LH FirstUnicastAddress;
PIP_ADAPTER_ANYCAST_ADDRESS_XP FirstAnycastAddress;
PIP_ADAPTER_MULTICAST_ADDRESS_XP FirstMulticastAddress;
PIP_ADAPTER_DNS_SERVER_ADDRESS_XP FirstDnsServerAddress;
PWCHAR DnsSuffix;
PWCHAR Description;
PWCHAR FriendlyName;
BYTE PhysicalAddress[8];
ULONG PhysicalAddressLength;
__extension__ union {
ULONG Flags;
__extension__ struct {
ULONG DdnsEnabled : 1;
ULONG RegisterAdapterSuffix : 1;
ULONG Dhcpv4Enabled : 1;
ULONG ReceiveOnly : 1;
ULONG NoMulticast : 1;
ULONG Ipv6OtherStatefulConfig : 1;
ULONG NetbiosOverTcpipEnabled : 1;
ULONG Ipv4Enabled : 1;
ULONG Ipv6Enabled : 1;
ULONG Ipv6ManagedAddressConfigurationSupported : 1;
};
};
ULONG Mtu;
IFTYPE IfType;
IF_OPER_STATUS OperStatus;
IF_INDEX Ipv6IfIndex;
ULONG ZoneIndices[16];
PIP_ADAPTER_PREFIX_XP FirstPrefix;
ULONG64 TransmitLinkSpeed;
ULONG64 ReceiveLinkSpeed;
PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
PIP_ADAPTER_GATEWAY_ADDRESS_LH FirstGatewayAddress;
ULONG Ipv4Metric;
ULONG Ipv6Metric;
IF_LUID Luid;
SOCKET_ADDRESS Dhcpv4Server;
NET_IF_COMPARTMENT_ID CompartmentId;
NET_IF_NETWORK_GUID NetworkGuid;
NET_IF_CONNECTION_TYPE ConnectionType;
TUNNEL_TYPE TunnelType;
SOCKET_ADDRESS Dhcpv6Server;
BYTE Dhcpv6ClientDuid[130];
ULONG Dhcpv6ClientDuidLength;
ULONG Dhcpv6Iaid;
} IP_ADAPTER_ADDRESSES_LH, *PIP_ADAPTER_ADDRESSES_LH;
typedef struct _IP_ADAPTER_ADDRESSES_XP {
__extension__ union {
ULONGLONG Alignment;
__extension__ struct {
ULONG Length;
DWORD IfIndex;
};
};
struct _IP_ADAPTER_ADDRESSES_XP *Next;
PCHAR AdapterName;
PIP_ADAPTER_UNICAST_ADDRESS_XP FirstUnicastAddress;
PIP_ADAPTER_ANYCAST_ADDRESS_XP FirstAnycastAddress;
PIP_ADAPTER_MULTICAST_ADDRESS_XP FirstMulticastAddress;
PIP_ADAPTER_DNS_SERVER_ADDRESS_XP FirstDnsServerAddress;
PWCHAR DnsSuffix;
PWCHAR Description;
PWCHAR FriendlyName;
BYTE PhysicalAddress[8];
DWORD PhysicalAddressLength;
DWORD Flags;
DWORD Mtu;
DWORD IfType;
IF_OPER_STATUS OperStatus;
DWORD Ipv6IfIndex;
DWORD ZoneIndices[16];
PIP_ADAPTER_PREFIX_XP FirstPrefix;
} IP_ADAPTER_ADDRESSES_XP,*PIP_ADAPTER_ADDRESSES_XP;
typedef IP_ADAPTER_ADDRESSES_XP IP_ADAPTER_ADDRESSES;
typedef IP_ADAPTER_ADDRESSES_XP *PIP_ADAPTER_ADDRESSES;
typedef struct _IP_PER_ADAPTER_INFO {
UINT AutoconfigEnabled;
UINT AutoconfigActive;
PIP_ADDR_STRING CurrentDnsServer;
IP_ADDR_STRING DnsServerList;
} IP_PER_ADAPTER_INFO,*PIP_PER_ADAPTER_INFO;
typedef struct {
char HostName[128 + 4];
char DomainName[128 + 4];
PIP_ADDR_STRING CurrentDnsServer;
IP_ADDR_STRING DnsServerList;
UINT NodeType;
char ScopeId[256 + 4];
UINT EnableRouting;
UINT EnableProxy;
UINT EnableDns;
} FIXED_INFO,*PFIXED_INFO;
typedef struct ip_interface_name_info {
ULONG Index;
ULONG MediaType;
UCHAR ConnectionType;
UCHAR AccessType;
GUID DeviceGuid;
GUID InterfaceGuid;
} IP_INTERFACE_NAME_INFO,*PIP_INTERFACE_NAME_INFO;
DWORD GetNumberOfInterfaces (PDWORD pdwNumIf);
DWORD GetIfEntry (PMIB_IFROW pIfRow);
DWORD GetIfTable (PMIB_IFTABLE pIfTable, PULONG pdwSize, WINBOOL bOrder);
DWORD GetIpAddrTable (PMIB_IPADDRTABLE pIpAddrTable, PULONG pdwSize, WINBOOL bOrder);
ULONG GetIpNetTable (PMIB_IPNETTABLE IpNetTable, PULONG SizePointer, WINBOOL Order);
DWORD GetIpForwardTable (PMIB_IPFORWARDTABLE pIpForwardTable, PULONG pdwSize, WINBOOL bOrder);
ULONG GetTcpTable (PMIB_TCPTABLE TcpTable, PULONG SizePointer, WINBOOL Order);
DWORD GetExtendedTcpTable (PVOID pTcpTable, PDWORD pdwSize, WINBOOL bOrder, ULONG ulAf, TCP_TABLE_CLASS TableClass, ULONG Reserved);
DWORD GetOwnerModuleFromTcpEntry (PMIB_TCPROW_OWNER_MODULE pTcpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID pBuffer, PDWORD pdwSize);
ULONG GetUdpTable (PMIB_UDPTABLE UdpTable, PULONG SizePointer, WINBOOL Order);
DWORD GetExtendedUdpTable (PVOID pUdpTable, PDWORD pdwSize, WINBOOL bOrder, ULONG ulAf, UDP_TABLE_CLASS TableClass, ULONG Reserved);
DWORD GetOwnerModuleFromUdpEntry (PMIB_UDPROW_OWNER_MODULE pUdpEntry, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID pBuffer, PDWORD pdwSize);
DWORD AllocateAndGetTcpExTableFromStack (PVOID *ppTcpTable, WINBOOL bOrder, HANDLE hHeap, DWORD dwFlags, DWORD dwFamily);
DWORD AllocateAndGetUdpExTableFromStack (PVOID *ppUdpTable, WINBOOL bOrder, HANDLE hHeap, DWORD dwFlags, DWORD dwFamily);
DWORD GetOwnerModuleFromPidAndInfo (ULONG ulPid, ULONGLONG *pInfo, TCPIP_OWNER_MODULE_INFO_CLASS Class, PVOID pBuffer, PDWORD pdwSize);
ULONG GetIpStatistics (PMIB_IPSTATS Statistics);
ULONG GetIcmpStatistics (PMIB_ICMP Statistics);
ULONG GetTcpStatistics (PMIB_TCPSTATS Statistics);
ULONG GetUdpStatistics (PMIB_UDPSTATS Stats);
ULONG GetIpStatisticsEx (PMIB_IPSTATS Statistics, ULONG Family);
ULONG SetIpStatisticsEx (PMIB_IPSTATS Statistics, ULONG Family);
ULONG GetIcmpStatisticsEx (PMIB_ICMP_EX Statistics, ULONG Family);
ULONG GetTcpStatisticsEx (PMIB_TCPSTATS Statistics, ULONG Family);
ULONG GetUdpStatisticsEx (PMIB_UDPSTATS Statistics, ULONG Family);
DWORD SetIfEntry (PMIB_IFROW pIfRow);
DWORD CreateIpForwardEntry (PMIB_IPFORWARDROW pRoute);
DWORD SetIpForwardEntry (PMIB_IPFORWARDROW pRoute);
DWORD DeleteIpForwardEntry (PMIB_IPFORWARDROW pRoute);
DWORD SetIpStatistics (PMIB_IPSTATS pIpStats);
DWORD SetIpTTL (UINT nTTL);
DWORD CreateIpNetEntry (PMIB_IPNETROW pArpEntry);
DWORD SetIpNetEntry (PMIB_IPNETROW pArpEntry);
DWORD DeleteIpNetEntry (PMIB_IPNETROW pArpEntry);
DWORD FlushIpNetTable (DWORD dwIfIndex);
DWORD CreateProxyArpEntry (DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex);
DWORD DeleteProxyArpEntry (DWORD dwAddress, DWORD dwMask, DWORD dwIfIndex);
DWORD SetTcpEntry (PMIB_TCPROW pTcpRow);
DWORD GetInterfaceInfo (PIP_INTERFACE_INFO pIfTable, PULONG dwOutBufLen);
DWORD GetUniDirectionalAdapterInfo (PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo, PULONG dwOutBufLen);
DWORD NhpAllocateAndGetInterfaceInfoFromStack (IP_INTERFACE_NAME_INFO **ppTable, PDWORD pdwCount, WINBOOL bOrder, HANDLE hHeap, DWORD dwFlags);
DWORD GetBestInterface (IPAddr dwDestAddr, PDWORD pdwBestIfIndex);
DWORD GetBestInterfaceEx (struct sockaddr *pDestAddr, PDWORD pdwBestIfIndex);
DWORD GetBestRoute (DWORD dwDestAddr, DWORD dwSourceAddr, PMIB_IPFORWARDROW pBestRoute);
DWORD NotifyAddrChange (PHANDLE Handle, LPOVERLAPPED overlapped);
DWORD NotifyRouteChange (PHANDLE Handle, LPOVERLAPPED overlapped);
WINBOOL CancelIPChangeNotify (LPOVERLAPPED notifyOverlapped);
DWORD GetAdapterIndex (LPWSTR AdapterName, PULONG IfIndex);
DWORD AddIPAddress (IPAddr Address, IPMask IpMask, DWORD IfIndex, PULONG NTEContext, PULONG NTEInstance);
DWORD DeleteIPAddress (ULONG NTEContext);
DWORD GetNetworkParams (PFIXED_INFO pFixedInfo, PULONG pOutBufLen);
ULONG GetAdaptersInfo (PIP_ADAPTER_INFO AdapterInfo, PULONG SizePointer);
PIP_ADAPTER_ORDER_MAP GetAdapterOrderMap (void);
ULONG GetAdaptersAddresses (ULONG Family, ULONG Flags, PVOID Reserved, PIP_ADAPTER_ADDRESSES AdapterAddresses, PULONG SizePointer);
DWORD GetPerAdapterInfo (ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen);
DWORD IpReleaseAddress (PIP_ADAPTER_INDEX_MAP AdapterInfo);
DWORD IpRenewAddress (PIP_ADAPTER_INDEX_MAP AdapterInfo);
DWORD SendARP (IPAddr DestIP, IPAddr SrcIP, PVOID pMacAddr, PULONG PhyAddrLen);
WINBOOL GetRTTAndHopCount (IPAddr DestIpAddress, PULONG HopCount, ULONG MaxHops, PULONG RTT);
DWORD GetFriendlyIfIndex (DWORD IfIndex);
DWORD EnableRouter (HANDLE *pHandle, OVERLAPPED *pOverlapped);
DWORD UnenableRouter (OVERLAPPED *pOverlapped, LPDWORD lpdwEnableCount);
DWORD DisableMediaSense (HANDLE *pHandle, OVERLAPPED *pOverLapped);
DWORD RestoreMediaSense (OVERLAPPED *pOverlapped, LPDWORD lpdwEnableCount);
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING;
typedef struct _PEB_LDR_DATA {
BYTE Reserved1[8];
PVOID Reserved2[3];
LIST_ENTRY InMemoryOrderModuleList;
} PEB_LDR_DATA,*PPEB_LDR_DATA;
typedef struct _LDR_DATA_TABLE_ENTRY {
PVOID Reserved1[2];
LIST_ENTRY InMemoryOrderLinks;
PVOID Reserved2[2];
PVOID DllBase;
PVOID Reserved3[2];
UNICODE_STRING FullDllName;
BYTE Reserved4[8];
PVOID Reserved5[3];
__extension__ union {
ULONG CheckSum;
PVOID Reserved6;
};
ULONG TimeDateStamp;
} LDR_DATA_TABLE_ENTRY,*PLDR_DATA_TABLE_ENTRY;
typedef struct _RTL_USER_PROCESS_PARAMETERS {
BYTE Reserved1[16];
PVOID Reserved2[10];
UNICODE_STRING ImagePathName;
UNICODE_STRING CommandLine;
} RTL_USER_PROCESS_PARAMETERS,*PRTL_USER_PROCESS_PARAMETERS;
typedef void ( *PPS_POST_PROCESS_INIT_ROUTINE)(void);
typedef struct _PEB {
BYTE Reserved1[2];
BYTE BeingDebugged;
BYTE Reserved2[1];
PVOID Reserved3[2];
PPEB_LDR_DATA Ldr;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
PVOID Reserved4[3];
PVOID AtlThunkSListPtr;
PVOID Reserved5;
ULONG Reserved6;
PVOID Reserved7;
ULONG Reserved8;
ULONG AtlThunkSListPtr32;
PVOID Reserved9[45];
BYTE Reserved10[96];
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;
BYTE Reserved11[128];
PVOID Reserved12[1];
ULONG SessionId;
} PEB,*PPEB;
typedef struct _TEB {
PVOID Reserved1[12];
PPEB ProcessEnvironmentBlock;
PVOID Reserved2[399];
BYTE Reserved3[1952];
PVOID TlsSlots[64];
BYTE Reserved4[8];
PVOID Reserved5[26];
PVOID ReservedForOle;
PVOID Reserved6[4];
PVOID TlsExpansionSlots;
} TEB;
typedef TEB *PTEB;
typedef const char *PCSZ;
typedef struct _STRING {
USHORT Length;
USHORT MaximumLength;
PCHAR Buffer;
} STRING;
typedef STRING *PSTRING;
typedef STRING ANSI_STRING;
typedef PSTRING PANSI_STRING;
typedef PSTRING PCANSI_STRING;
typedef STRING OEM_STRING;
typedef PSTRING POEM_STRING;
typedef const STRING *PCOEM_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;
typedef struct _OBJECT_ATTRIBUTES {
ULONG Length;
ULONG pad1;
HANDLE RootDirectory;
PUNICODE_STRING ObjectName;
ULONG Attributes;
ULONG pad2;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
typedef struct _OBJECT_DATA_INFORMATION {
BOOLEAN InheritHandle;
BOOLEAN ProtectFromClose;
} OBJECT_DATA_INFORMATION, *POBJECT_DATA_INFORMATION;
typedef struct _OBJECT_BASIC_INFORMATION {
ULONG Attributes;
ACCESS_MASK GrantedAccess;
ULONG HandleCount;
ULONG PointerCount;
ULONG PagedPoolUsage;
ULONG NonPagedPoolUsage;
ULONG Reserved[3];
ULONG NameInformationLength;
ULONG TypeInformationLength;
ULONG SecurityDescriptorLength;
LARGE_INTEGER CreateTime;
} OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
typedef struct _OBJECT_NAME_INFORMATION {
UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
typedef struct _OBJECT_TYPE_INFORMATION {
UNICODE_STRING TypeName;
ULONG TotalNumberOfObjects;
ULONG TotalNumberOfHandles;
ULONG TotalPagedPoolUsage;
ULONG TotalNonPagedPoolUsage;
ULONG TotalNamePoolUsage;
ULONG TotalHandleTableUsage;
ULONG HighWaterNumberOfObjects;
ULONG HighWaterNumberOfHandles;
ULONG HighWaterPagedPoolUsage;
ULONG HighWaterNonPagedPoolUsage;
ULONG HighWaterNamePoolUsage;
ULONG HighWaterHandleTableUsage;
ULONG InvalidAttributes;
GENERIC_MAPPING GenericMapping;
ULONG ValidAccessMask;
BOOLEAN SecurityRequired;
BOOLEAN MaintainHandleCount;
ULONG PoolType;
ULONG DefaultPagedPoolCharge;
ULONG DefaultNonPagedPoolCharge;
} OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
typedef struct _OBJECT_ALL_INFORMATION {
ULONG NumberOfObjects;
OBJECT_TYPE_INFORMATION ObjectTypeInformation[1];
}OBJECT_ALL_INFORMATION, *POBJECT_ALL_INFORMATION;
typedef enum _FILE_INFORMATION_CLASS {
FileDirectoryInformation = 1,
FileFullDirectoryInformation,
FileBothDirectoryInformation,
FileBasicInformation,
FileStandardInformation,
FileInternalInformation,
FileEaInformation,
FileAccessInformation,
FileNameInformation,
FileRenameInformation,
FileLinkInformation,
FileNamesInformation,
FileDispositionInformation,
FilePositionInformation,
FileFullEaInformation,
FileModeInformation,
FileAlignmentInformation,
FileAllInformation,
FileAllocationInformation,
FileEndOfFileInformation,
FileAlternateNameInformation,
FileStreamInformation,
FilePipeInformation,
FilePipeLocalInformation,
FilePipeRemoteInformation,
FileMailslotQueryInformation,
FileMailslotSetInformation,
FileCompressionInformation,
FileObjectIdInformation,
FileCompletionInformation,
FileMoveClusterInformation,
FileQuotaInformation,
FileReparsePointInformation,
FileNetworkOpenInformation,
FileAttributeTagInformation,
FileTrackingInformation,
FileIdBothDirectoryInformation,
FileIdFullDirectoryInformation,
FileValidDataLengthInformation,
FileShortNameInformation = 40,
FileSfioReserveInformation = 44,
FileSfioVolumeInformation = 45,
FileHardLinkInformation = 46,
FileNormalizedNameInformation = 48,
FileIdGlobalTxDirectoryInformation = 50,
FileStandardLinkInformation = 54,
FileMaximumInformation
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
typedef struct _FILE_DIRECTORY_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
typedef struct _FILE_FULL_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
WCHAR FileName[1];
} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
typedef struct _FILE_ID_FULL_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
LARGE_INTEGER FileId;
WCHAR FileName[1];
} FILE_ID_FULL_DIR_INFORMATION, *PFILE_ID_FULL_DIR_INFORMATION;
typedef struct _FILE_BOTH_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
CHAR ShortNameLength;
WCHAR ShortName[12];
WCHAR FileName[1];
} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
typedef struct _FILE_ID_BOTH_DIR_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
CHAR ShortNameLength;
WCHAR ShortName[12];
LARGE_INTEGER FileId;
WCHAR FileName[1];
} FILE_ID_BOTH_DIR_INFORMATION, *PFILE_ID_BOTH_DIR_INFORMATION;
typedef struct _FILE_FULL_DIR_INFORMATION
FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
typedef struct _FILE_ID_FULL_DIR_INFORMATION
FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION;
typedef struct _FILE_BOTH_DIR_INFORMATION
FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION;
typedef struct _FILE_ID_BOTH_DIR_INFORMATION
FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION;
typedef struct _FILE_BASIC_INFORMATION {
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
ULONG FileAttributes;
} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
typedef struct _FILE_STANDARD_INFORMATION {
LARGE_INTEGER AllocationSize;
LARGE_INTEGER EndOfFile;
ULONG NumberOfLinks;
BOOLEAN DeletePending;
BOOLEAN Directory;
} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
typedef struct _FILE_EA_INFORMATION {
ULONG EaSize;
} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
typedef struct _FILE_ACCESS_INFORMATION {
ACCESS_MASK AccessFlags;
} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
typedef struct _FILE_LINK_INFORMATION {
BOOLEAN ReplaceIfExists;
HANDLE RootDirectory;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
typedef struct _FILE_NAME_INFORMATION {
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
typedef struct _FILE_RENAME_INFORMATION {
BOOLEAN ReplaceIfExists;
HANDLE RootDirectory;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
typedef struct _FILE_NAMES_INFORMATION {
ULONG NextEntryOffset;
ULONG FileIndex;
ULONG FileNameLength;
WCHAR FileName[1];
} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;
typedef struct _FILE_DISPOSITION_INFORMATION {
BOOLEAN DoDeleteFile;
} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
typedef struct _FILE_POSITION_INFORMATION {
LARGE_INTEGER CurrentByteOffset;
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
typedef struct _FILE_ALIGNMENT_INFORMATION {
ULONG AlignmentRequirement;
} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION;
typedef struct _FILE_ALLOCATION_INFORMATION {
LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
typedef struct _FILE_END_OF_FILE_INFORMATION {
LARGE_INTEGER EndOfFile;
} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
typedef struct _FILE_NETWORK_OPEN_INFORMATION {
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER AllocationSize;
LARGE_INTEGER EndOfFile;
ULONG FileAttributes;
} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
typedef struct _FILE_FULL_EA_INFORMATION {
ULONG NextEntryOffset;
UCHAR Flags;
UCHAR EaNameLength;
USHORT EaValueLength;
CHAR EaName[1];
} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
typedef struct _FILE_MODE_INFORMATION {
ULONG Mode;
} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
typedef struct _FILE_STREAM_INFORMATION {
ULONG NextEntryOffset;
ULONG StreamNameLength;
LARGE_INTEGER StreamSize;
LARGE_INTEGER StreamAllocationSize;
WCHAR StreamName[1];
} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;
typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {
ULONG FileAttributes;
ULONG ReparseTag;
} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
typedef struct _FILE_MAILSLOT_QUERY_INFORMATION {
ULONG MaximumMessageSize;
ULONG MailslotQuota;
ULONG NextMessageSize;
ULONG MessagesAvailable;
LARGE_INTEGER ReadTimeout;
} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION;
typedef struct _FILE_MAILSLOT_SET_INFORMATION {
LARGE_INTEGER ReadTimeout;
} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;
typedef struct _FILE_PIPE_LOCAL_INFORMATION {
ULONG NamedPipeType;
ULONG NamedPipeConfiguration;
ULONG MaximumInstances;
ULONG CurrentInstances;
ULONG InboundQuota;
ULONG ReadDataAvailable;
ULONG OutboundQuota;
ULONG WriteQuotaAvailable;
ULONG NamedPipeState;
ULONG NamedPipeEnd;
} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;
typedef struct _FILE_ALL_INFORMATION {
FILE_BASIC_INFORMATION BasicInformation;
FILE_STANDARD_INFORMATION StandardInformation;
FILE_INTERNAL_INFORMATION InternalInformation;
FILE_EA_INFORMATION EaInformation;
FILE_ACCESS_INFORMATION AccessInformation;
FILE_POSITION_INFORMATION PositionInformation;
FILE_MODE_INFORMATION ModeInformation;
FILE_ALIGNMENT_INFORMATION AlignmentInformation;
FILE_NAME_INFORMATION NameInformation;
} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
typedef enum _FSINFOCLASS {
FileFsVolumeInformation = 1,
FileFsLabelInformation,
FileFsSizeInformation,
FileFsDeviceInformation,
FileFsAttributeInformation,
FileFsControlInformation,
FileFsFullSizeInformation,
FileFsObjectIdInformation,
FileFsDriverPathInformation,
FileFsVolumeFlagsInformation,
FileFsMaximumInformation
} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
typedef struct _FILE_FS_VOLUME_INFORMATION {
LARGE_INTEGER VolumeCreationTime;
ULONG VolumeSerialNumber;
ULONG VolumeLabelLength;
BOOLEAN SupportsObjects;
WCHAR VolumeLabel[1];
} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
typedef struct _FILE_FS_LABEL_INFORMATION {
ULONG VolumeLabelLength;
WCHAR VolumeLabel[1];
} FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;
typedef struct _FILE_FS_SIZE_INFORMATION {
LARGE_INTEGER TotalAllocationUnits;
LARGE_INTEGER AvailableAllocationUnits;
ULONG SectorsPerAllocationUnit;
ULONG BytesPerSector;
} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
typedef struct _FILE_FS_DEVICE_INFORMATION {
DWORD DeviceType;
ULONG Characteristics;
} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
ULONG FileSystemAttributes;
ULONG MaximumComponentNameLength;
ULONG FileSystemNameLength;
WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
typedef struct _FILE_FS_FULL_SIZE_INFORMATION {
LARGE_INTEGER TotalAllocationUnits;
LARGE_INTEGER CallerAvailableAllocationUnits;
LARGE_INTEGER ActualAvailableAllocationUnits;
ULONG SectorsPerAllocationUnit;
ULONG BytesPerSector;
} FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION;
typedef struct _FILE_FS_OBJECTID_INFORMATION {
UCHAR ObjectId[16];
UCHAR ExtendedInfo[48];
} FILE_FS_OBJECTID_INFORMATION, *PFILE_FS_OBJECTID_INFORMATION;
typedef struct _IO_STATUS_BLOCK {
__extension__ union {
NTSTATUS Status;
PVOID Pointer;
};
ULONG_PTR Information;
} IO_STATUS_BLOCK,*PIO_STATUS_BLOCK;
typedef void ( *PIO_APC_ROUTINE)(PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG Reserved);
typedef struct _VM_COUNTERS {
SIZE_T PeakVirtualSize;
SIZE_T VirtualSize;
ULONG PageFaultCount;
SIZE_T PeakWorkingSetSize;
SIZE_T WorkingSetSize;
SIZE_T QuotaPeakPagedPoolUsage;
SIZE_T QuotaPagedPoolUsage;
SIZE_T QuotaPeakNonPagedPoolUsage;
SIZE_T QuotaNonPagedPoolUsage;
SIZE_T PagefileUsage;
SIZE_T PeakPagefileUsage;
} VM_COUNTERS, *PVM_COUNTERS;
typedef enum _THREAD_STATE {
StateInitialized = 0,
StateReady, StateRunning, StateStandby, StateTerminated,
StateWait, StateTransition,
StateUnknown
} THREAD_STATE;
typedef struct _CLIENT_ID {
HANDLE UniqueProcess;
HANDLE UniqueThread;
} CLIENT_ID, *PCLIENT_ID;
typedef LONG KPRIORITY;
typedef enum _KWAIT_REASON {
Executive = 0,
FreePage, PageIn, PoolAllocation, DelayExecution,
Suspended, UserRequest, WrExecutive, WrFreePage, WrPageIn,
WrPoolAllocation, WrDelayExecution, WrSuspended,
WrUserRequest, WrEventPair, WrQueue, WrLpcReceive,
WrLpcReply, WrVirtualMemory, WrPageOut, WrRendezvous,
Spare2, Spare3, Spare4, Spare5, Spare6, WrKernel,
MaximumWaitReason
} KWAIT_REASON;
typedef struct _SYSTEM_THREADS
{
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER CreateTime;
ULONG WaitTime;
PVOID StartAddress;
CLIENT_ID ClientId;
KPRIORITY Priority;
KPRIORITY BasePriority;
ULONG ContextSwitchCount;
THREAD_STATE State;
KWAIT_REASON WaitReason;
} SYSTEM_THREADS, *PSYSTEM_THREADS;
typedef struct _PROCESS_BASIC_INFORMATION {
NTSTATUS ExitStatus;
PPEB PebBaseAddress;
KAFFINITY AffinityMask;
KPRIORITY BasePriority;
ULONG_PTR UniqueProcessId;
ULONG_PTR InheritedFromUniqueProcessId;
} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
typedef struct _KERNEL_USER_TIMES {
FILETIME CreateTime;
FILETIME ExitTime;
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {
LARGE_INTEGER IdleTime;
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER Reserved1[2];
ULONG Reserved2;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION,*PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
typedef struct _SYSTEM_PROCESS_INFORMATION {
ULONG NextEntryOffset;
ULONG NumberOfThreads;
LARGE_INTEGER Reserved[3];
LARGE_INTEGER CreateTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER KernelTime;
UNICODE_STRING ImageName;
KPRIORITY BasePriority;
HANDLE UniqueProcessId;
HANDLE InheritedFromUniqueProcessId;
ULONG HandleCount;
ULONG SessionId;
ULONG PageDirectoryBase;
VM_COUNTERS VirtualMemoryCounters;
SIZE_T PrivatePageCount;
IO_COUNTERS IoCounters;
} SYSTEM_PROCESS_INFORMATION,*PSYSTEM_PROCESS_INFORMATION;
typedef struct _SYSTEM_THREAD_INFORMATION {
LARGE_INTEGER Reserved1[3];
ULONG Reserved2;
PVOID StartAddress;
CLIENT_ID ClientId;
KPRIORITY Priority;
LONG BasePriority;
ULONG Reserved3;
ULONG ThreadState;
ULONG WaitReason;
} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
ULONG RegistryQuotaAllowed;
ULONG RegistryQuotaUsed;
PVOID Reserved1;
} SYSTEM_REGISTRY_QUOTA_INFORMATION,*PSYSTEM_REGISTRY_QUOTA_INFORMATION;
typedef struct _SYSTEM_BASIC_INFORMATION {
BYTE Reserved1[4];
ULONG MaximumIncrement;
ULONG PhysicalPageSize;
ULONG NumberOfPhysicalPages;
ULONG LowestPhysicalPage;
ULONG HighestPhysicalPage;
ULONG AllocationGranularity;
ULONG_PTR LowestUserAddress;
ULONG_PTR HighestUserAddress;
ULONG_PTR ActiveProcessors;
CCHAR NumberOfProcessors;
} SYSTEM_BASIC_INFORMATION,*PSYSTEM_BASIC_INFORMATION;
typedef struct _SYSTEM_PROCESSOR_INFORMATION {
USHORT ProcessorArchitecture;
USHORT ProcessorLevel;
USHORT ProcessorRevision;
USHORT Unknown;
ULONG FeatureBits;
} SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
typedef struct _SYSTEM_TIMEOFDAY_INFORMATION {
LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime;
LARGE_INTEGER TimeZoneBias;
ULONG CurrentTimeZoneId;
BYTE Reserved1[20];
} SYSTEM_TIMEOFDAY_INFORMATION,*PSYSTEM_TIMEOFDAY_INFORMATION;
typedef struct _SYSTEM_PERFORMANCE_INFORMATION {
LARGE_INTEGER IdleTime;
LARGE_INTEGER ReadTransferCount;
LARGE_INTEGER WriteTransferCount;
LARGE_INTEGER OtherTransferCount;
ULONG ReadOperationCount;
ULONG WriteOperationCount;
ULONG OtherOperationCount;
ULONG AvailablePages;
ULONG TotalCommittedPages;
ULONG TotalCommitLimit;
ULONG PeakCommitment;
ULONG PageFaults;
ULONG WriteCopyFaults;
ULONG TransitionFaults;
ULONG CacheTransitionFaults;
ULONG DemandZeroFaults;
ULONG PagesRead;
ULONG PageReadIos;
ULONG CacheReads;
ULONG CacheIos;
ULONG PagefilePagesWritten;
ULONG PagefilePageWriteIos;
ULONG MappedFilePagesWritten;
ULONG MappedFilePageWriteIos;
ULONG PagedPoolUsage;
ULONG NonPagedPoolUsage;
ULONG PagedPoolAllocs;
ULONG PagedPoolFrees;
ULONG NonPagedPoolAllocs;
ULONG NonPagedPoolFrees;
ULONG TotalFreeSystemPtes;
ULONG SystemCodePage;
ULONG TotalSystemDriverPages;
ULONG TotalSystemCodePages;
ULONG SmallNonPagedLookasideListAllocateHits;
ULONG SmallPagedLookasideListAllocateHits;
ULONG Reserved3;
ULONG MmSystemCachePage;
ULONG PagedPoolPage;
ULONG SystemDriverPage;
ULONG FastReadNoWait;
ULONG FastReadWait;
ULONG FastReadResourceMiss;
ULONG FastReadNotPossible;
ULONG FastMdlReadNoWait;
ULONG FastMdlReadWait;
ULONG FastMdlReadResourceMiss;
ULONG FastMdlReadNotPossible;
ULONG MapDataNoWait;
ULONG MapDataWait;
ULONG MapDataNoWaitMiss;
ULONG MapDataWaitMiss;
ULONG PinMappedDataCount;
ULONG PinReadNoWait;
ULONG PinReadWait;
ULONG PinReadNoWaitMiss;
ULONG PinReadWaitMiss;
ULONG CopyReadNoWait;
ULONG CopyReadWait;
ULONG CopyReadNoWaitMiss;
ULONG CopyReadWaitMiss;
ULONG MdlReadNoWait;
ULONG MdlReadWait;
ULONG MdlReadNoWaitMiss;
ULONG MdlReadWaitMiss;
ULONG ReadAheadIos;
ULONG LazyWriteIos;
ULONG LazyWritePages;
ULONG DataFlushes;
ULONG DataPages;
ULONG ContextSwitches;
ULONG FirstLevelTbFills;
ULONG SecondLevelTbFills;
ULONG SystemCalls;
} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
typedef struct _SYSTEM_EXCEPTION_INFORMATION {
BYTE Reserved1[16];
} SYSTEM_EXCEPTION_INFORMATION,*PSYSTEM_EXCEPTION_INFORMATION;
typedef struct _SYSTEM_LOOKASIDE_INFORMATION {
BYTE Reserved1[32];
} SYSTEM_LOOKASIDE_INFORMATION,*PSYSTEM_LOOKASIDE_INFORMATION;
typedef struct _SYSTEM_INTERRUPT_INFORMATION {
BYTE Reserved1[24];
} SYSTEM_INTERRUPT_INFORMATION,*PSYSTEM_INTERRUPT_INFORMATION;
typedef struct _SYSTEM_POLICY_INFORMATION {
PVOID Reserved1[2];
ULONG Reserved2[3];
} SYSTEM_POLICY_INFORMATION, *PSYSTEM_POLICY_INFORMATION;
typedef struct _SYSTEM_HANDLE_ENTRY {
ULONG OwnerPid;
BYTE ObjectType;
BYTE HandleFlags;
USHORT HandleValue;
PVOID ObjectPointer;
ULONG AccessMask;
} SYSTEM_HANDLE_ENTRY, *PSYSTEM_HANDLE_ENTRY;
typedef struct _SYSTEM_HANDLE_INFORMATION {
ULONG Count;
SYSTEM_HANDLE_ENTRY Handle[1];
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
typedef struct _SYSTEM_PAGEFILE_INFORMATION {
ULONG NextEntryOffset;
ULONG CurrentSize;
ULONG TotalUsed;
ULONG PeakUsed;
UNICODE_STRING FileName;
} SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
typedef struct _PUBLIC_OBJECT_BASIC_INFORMATION {
ULONG Attributes;
ACCESS_MASK GrantedAccess;
ULONG HandleCount;
ULONG PointerCount;
ULONG Reserved[10];
} PUBLIC_OBJECT_BASIC_INFORMATION, *PPUBLIC_OBJECT_BASIC_INFORMATION;
typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION {
UNICODE_STRING TypeName;
ULONG Reserved[22];
} PUBLIC_OBJECT_TYPE_INFORMATION, *PPUBLIC_OBJECT_TYPE_INFORMATION;
typedef enum _PROCESSINFOCLASS {
ProcessBasicInformation,
ProcessQuotaLimits,
ProcessIoCounters,
ProcessVmCounters,
ProcessTimes,
ProcessBasePriority,
ProcessRaisePriority,
ProcessDebugPort,
ProcessExceptionPort,
ProcessAccessToken,
ProcessLdtInformation,
ProcessLdtSize,
ProcessDefaultHardErrorMode,
ProcessIoPortHandlers,
ProcessPooledUsageAndLimits,
ProcessWorkingSetWatch,
ProcessUserModeIOPL,
ProcessEnableAlignmentFaultFixup,
ProcessPriorityClass,
ProcessWx86Information,
ProcessHandleCount,
ProcessAffinityMask,
ProcessPriorityBoost,
ProcessDeviceMap,
ProcessSessionInformation,
ProcessForegroundInformation,
ProcessWow64Information,
ProcessImageFileName,
ProcessLUIDDeviceMapsEnabled,
ProcessBreakOnTermination,
ProcessDebugObjectHandle,
ProcessDebugFlags,
ProcessHandleTracing,
ProcessIoPriority,
ProcessExecuteFlags,
ProcessTlsInformation,
ProcessCookie,
ProcessImageInformation,
ProcessCycleTime,
ProcessPagePriority,
ProcessInstrumentationCallback,
ProcessThreadStackAllocation,
ProcessWorkingSetWatchEx,
ProcessImageFileNameWin32,
ProcessImageFileMapping,
ProcessAffinityUpdateMode,
ProcessMemoryAllocationMode,
ProcessGroupInformation,
ProcessTokenVirtualizationEnabled,
ProcessConsoleHostProcess,
ProcessWindowInformation,
MaxProcessInfoClass
} PROCESSINFOCLASS;
typedef enum _THREADINFOCLASS {
ThreadBasicInformation,
ThreadTimes,
ThreadPriority,
ThreadBasePriority,
ThreadAffinityMask,
ThreadImpersonationToken,
ThreadDescriptorTableEntry,
ThreadEnableAlignmentFaultFixup,
ThreadEventPair,
ThreadQuerySetWin32StartAddress,
ThreadZeroTlsCell,
ThreadPerformanceCount,
ThreadAmILastThread,
ThreadIdealProcessor,
ThreadPriorityBoost,
ThreadSetTlsArrayAddress,
ThreadIsIoPending,
ThreadHideFromDebugger
} THREADINFOCLASS;
typedef struct _SYSTEM_CODEINTEGRITY_INFORMATION {
ULONG Length;
ULONG CodeIntegrityOptions;
} SYSTEM_CODEINTEGRITY_INFORMATION, *PSYSTEM_CODEINTEGRITY_INFORMATION;
typedef enum _SYSTEM_INFORMATION_CLASS {
SystemBasicInformation = 0,
SystemProcessorInformation = 1,
SystemPerformanceInformation = 2,
SystemTimeOfDayInformation = 3,
SystemProcessInformation = 5,
SystemProcessorPerformanceInformation = 8,
SystemHandleInformation = 16,
SystemPagefileInformation = 18,
SystemInterruptInformation = 23,
SystemExceptionInformation = 33,
SystemRegistryQuotaInformation = 37,
SystemLookasideInformation = 45
} SYSTEM_INFORMATION_CLASS;
typedef enum _OBJECT_INFORMATION_CLASS {
ObjectBasicInformation,
ObjectNameInformation,
ObjectTypeInformation,
ObjectAllInformation,
ObjectDataInformation
} OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS;
typedef struct _KEY_VALUE_ENTRY {
PUNICODE_STRING ValueName;
ULONG DataLength;
ULONG DataOffset;
ULONG Type;
} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
typedef enum _KEY_SET_INFORMATION_CLASS {
KeyWriteTimeInformation,
KeyWow64FlagsInformation,
KeyControlFlagsInformation,
KeySetVirtualizationInformation,
KeySetDebugInformation,
KeySetHandleTagsInformation,
MaxKeySetInfoClass
} KEY_SET_INFORMATION_CLASS;
NTSTATUS NtClose(HANDLE Handle);
NTSTATUS NtCreateFile(PHANDLE FileHandle,ACCESS_MASK DesiredAccess,POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,PLARGE_INTEGER AllocationSize,ULONG FileAttributes,ULONG ShareAccess,ULONG CreateDisposition,ULONG CreateOptions,PVOID EaBuffer,ULONG EaLength);
NTSTATUS NtOpenFile(PHANDLE FileHandle,ACCESS_MASK DesiredAccess,POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,ULONG ShareAccess,ULONG OpenOptions);
NTSTATUS NtRenameKey(HANDLE KeyHandle, PUNICODE_STRING NewName);
NTSTATUS NtNotifyChangeMultipleKeys(HANDLE MasterKeyHandle, ULONG Count, OBJECT_ATTRIBUTES SubordinateObjects[], HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG CompletionFilter, BOOLEAN WatchTree, PVOID Buffer, ULONG BufferSize, BOOLEAN Asynchronous);
NTSTATUS NtQueryMultipleValueKey(HANDLE KeyHandle, PKEY_VALUE_ENTRY ValueEntries, ULONG EntryCount, PVOID ValueBuffer, PULONG BufferLength, PULONG RequiredBufferLength);
NTSTATUS NtSetInformationKey(HANDLE KeyHandle, KEY_SET_INFORMATION_CLASS KeySetInformationClass, PVOID KeySetInformation, ULONG KeySetInformationLength);
NTSTATUS NtFsControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID OutputBuffer,ULONG OutputBufferLength);
NTSTATUS NtDeviceIoControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID OutputBuffer,ULONG OutputBufferLength);
NTSTATUS NtWaitForSingleObject(HANDLE Handle,BOOLEAN Alertable,PLARGE_INTEGER Timeout);
BOOLEAN RtlIsNameLegalDOS8Dot3(PUNICODE_STRING Name,POEM_STRING OemName,PBOOLEAN NameContainsSpaces);
ULONG RtlNtStatusToDosError (NTSTATUS Status);
NTSTATUS NtQueryInformationProcess(HANDLE ProcessHandle,PROCESSINFOCLASS ProcessInformationClass,PVOID ProcessInformation,ULONG ProcessInformationLength,PULONG ReturnLength);
NTSTATUS NtQueryInformationThread(HANDLE ThreadHandle,THREADINFOCLASS ThreadInformationClass,PVOID ThreadInformation,ULONG ThreadInformationLength,PULONG ReturnLength);
NTSTATUS NtQueryInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass);
NTSTATUS NtQueryObject(HANDLE Handle,OBJECT_INFORMATION_CLASS ObjectInformationClass,PVOID ObjectInformation,ULONG ObjectInformationLength,PULONG ReturnLength);
NTSTATUS NtQuerySystemInformation(SYSTEM_INFORMATION_CLASS SystemInformationClass,PVOID SystemInformation,ULONG SystemInformationLength,PULONG ReturnLength);
NTSTATUS NtQuerySystemTime(PLARGE_INTEGER SystemTime);
NTSTATUS NtQueryVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FS_INFORMATION_CLASS FsInformationClass);
NTSTATUS NtSetInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass);
NTSTATUS NtSetInformationProcess(HANDLE ProcessHandle, PROCESSINFOCLASS ProcessInformationClass, PVOID ProcessInformation, ULONG ProcessInformationLength);
NTSTATUS NtSetVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass);
NTSTATUS RtlLocalTimeToSystemTime(PLARGE_INTEGER LocalTime,PLARGE_INTEGER SystemTime);
BOOLEAN RtlTimeToSecondsSince1970(PLARGE_INTEGER Time,PULONG ElapsedSeconds);
void RtlFreeAnsiString(PANSI_STRING AnsiString);
void RtlFreeUnicodeString(PUNICODE_STRING UnicodeString);
void RtlFreeOemString(POEM_STRING OemString);
void RtlInitString (PSTRING DestinationString,PCSZ SourceString);
NTSTATUS RtlInitStringEx(PSTRING DestinationString, PCSZ SourceString);
void RtlInitAnsiString(PANSI_STRING DestinationString,PCSZ SourceString);
NTSTATUS RtlInitAnsiStringEx(PANSI_STRING DestinationString, PCSZ SourceString);
void RtlInitUnicodeString(PUNICODE_STRING DestinationString,PCWSTR SourceString);
NTSTATUS RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString,PCANSI_STRING SourceString,BOOLEAN AllocateDestinationString);
NTSTATUS RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString,PCUNICODE_STRING SourceString,BOOLEAN AllocateDestinationString);
NTSTATUS RtlUnicodeStringToOemString(POEM_STRING DestinationString,PCUNICODE_STRING SourceString,BOOLEAN AllocateDestinationString);
NTSTATUS RtlUnicodeToMultiByteSize(PULONG BytesInMultiByteString,PWCH UnicodeString,ULONG BytesInUnicodeString);
NTSTATUS RtlCharToInteger (PCSZ String,ULONG Base,PULONG Value);
NTSTATUS RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString,PSID Sid,BOOLEAN AllocateDestinationString);
ULONG RtlUniform(PULONG Seed);
void RtlUnwind (PVOID TargetFrame,PVOID TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue);
BOOL RtlDosPathNameToNtPathName_U(PCWSTR DosPathName, PUNICODE_STRING NtPathName, PCWSTR *NtFileNamePart, void *DirectoryInfo);
BOOLEAN RtlPrefixUnicodeString(PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInSensitive);
BOOLEAN RtlCreateUnicodeStringFromAsciiz(PUNICODE_STRING target, LPCSTR src);
typedef NTSTATUS ( *PRTL_HEAP_COMMIT_ROUTINE) (PVOID Base, PVOID *CommitAddress, PSIZE_T CommitSize);
typedef struct _RTL_HEAP_PARAMETERS {
ULONG Length;
SIZE_T SegmentReserve;
SIZE_T SegmentCommit;
SIZE_T DeCommitFreeBlockThreshold;
SIZE_T DeCommitTotalFreeThreshold;
SIZE_T MaximumAllocationSize;
SIZE_T VirtualMemoryThreshold;
SIZE_T InitialCommit;
SIZE_T InitialReserve;
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine;
SIZE_T Reserved[ 2 ];
} RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS;
BOOLEAN RtlFreeHeap(PVOID HeapHandle, ULONG Flags, PVOID HeapBase);
PVOID RtlAllocateHeap(PVOID HeapHandle, ULONG Flags, SIZE_T Size);
PVOID RtlCreateHeap(ULONG Flags, PVOID HeapBase, SIZE_T ReserveSize, SIZE_T CommitSize, PVOID Lock, PRTL_HEAP_PARAMETERS Parameters);
PVOID RtlDestroyHeap(PVOID HeapHandle);
typedef enum _WINSTATIONINFOCLASS {
WinStationInformation = 8
} WINSTATIONINFOCLASS;
typedef struct _WINSTATIONINFORMATIONW {
BYTE Reserved2[70];
ULONG LogonId;
BYTE Reserved3[1140];
} WINSTATIONINFORMATIONW,*PWINSTATIONINFORMATIONW;
typedef BOOLEAN ( *PWINSTATIONQUERYINFORMATIONW)(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG);
#pragma pack(push,8)
extern const GUID IID_IPropertyFrame;
extern const GUID CLSID_CFontPropPage;
extern const GUID CLSID_CColorPropPage;
extern const GUID CLSID_CPicturePropPage;
extern const GUID CLSID_PersistPropset;
extern const GUID CLSID_ConvertVBX;
extern const GUID CLSID_StdFont;
extern const GUID CLSID_StdPicture;
extern const GUID GUID_HIMETRIC;
extern const GUID GUID_COLOR;
extern const GUID GUID_XPOSPIXEL;
extern const GUID GUID_YPOSPIXEL;
extern const GUID GUID_XSIZEPIXEL;
extern const GUID GUID_YSIZEPIXEL;
extern const GUID GUID_XPOS;
extern const GUID GUID_YPOS;
extern const GUID GUID_XSIZE;
extern const GUID GUID_YSIZE;
extern const GUID GUID_OPTIONVALUEEXCLUSIVE;
extern const GUID GUID_CHECKVALUEEXCLUSIVE;
extern const GUID GUID_FONTNAME;
extern const GUID GUID_FONTSIZE;
extern const GUID GUID_FONTBOLD;
extern const GUID GUID_FONTITALIC;
extern const GUID GUID_FONTUNDERSCORE;
extern const GUID GUID_FONTSTRIKETHROUGH;
extern const GUID GUID_HANDLE;
typedef struct tagOCPFIPARAMS {
ULONG cbStructSize;
HWND hWndOwner;
int x;
int y;
LPCOLESTR lpszCaption;
ULONG cObjects;
LPUNKNOWN *lplpUnk;
ULONG cPages;
CLSID *lpPages;
LCID lcid;
DISPID dispidInitialProperty;
} OCPFIPARAMS,*LPOCPFIPARAMS;
typedef struct tagFONTDESC {
UINT cbSizeofstruct;
LPOLESTR lpstrName;
CY cySize;
SHORT sWeight;
SHORT sCharset;
WINBOOL fItalic;
WINBOOL fUnderline;
WINBOOL fStrikethrough;
} FONTDESC,*LPFONTDESC;
typedef struct tagPICTDESC {
UINT cbSizeofstruct;
UINT picType;
__extension__ union {
struct {
HBITMAP hbitmap;
HPALETTE hpal;
} bmp;
struct {
HMETAFILE hmeta;
int xExt;
int yExt;
} wmf;
struct {
HICON hicon;
} icon;
struct {
HENHMETAFILE hemf;
} emf;
} ;
} PICTDESC,*LPPICTDESC;
typedef long OLE_XPOS_PIXELS;
typedef long OLE_YPOS_PIXELS;
typedef long OLE_XSIZE_PIXELS;
typedef long OLE_YSIZE_PIXELS;
typedef float OLE_XPOS_CONTAINER;
typedef float OLE_YPOS_CONTAINER;
typedef float OLE_XSIZE_CONTAINER;
typedef float OLE_YSIZE_CONTAINER;
typedef enum {
triUnchecked = 0,triChecked = 1,triGray = 2
} OLE_TRISTATE;
typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
typedef VARIANT_BOOL OLE_CANCELBOOL;
typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
extern HRESULT DllRegisterServer(void);
extern HRESULT DllUnregisterServer(void);
extern __attribute__((dllimport)) HRESULT OleCreatePropertyFrame(HWND hwndOwner,UINT x,UINT y,LPCOLESTR lpszCaption,ULONG cObjects,LPUNKNOWN *ppUnk,ULONG cPages,LPCLSID pPageClsID,LCID lcid,DWORD dwReserved,LPVOID pvReserved);
extern __attribute__((dllimport)) HRESULT OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams);
extern __attribute__((dllimport)) HRESULT OleTranslateColor(OLE_COLOR clr,HPALETTE hpal,COLORREF *lpcolorref);
extern __attribute__((dllimport)) HRESULT OleCreateFontIndirect(LPFONTDESC lpFontDesc,const IID *const riid,LPVOID *lplpvObj);
extern __attribute__((dllimport)) HRESULT OleCreatePictureIndirect(LPPICTDESC lpPictDesc,const IID *const riid,WINBOOL fOwn,LPVOID *lplpvObj);
extern __attribute__((dllimport)) HRESULT OleLoadPicture(LPSTREAM lpstream,LONG lSize,WINBOOL fRunmode,const IID *const riid,LPVOID *lplpvObj);
extern __attribute__((dllimport)) HRESULT OleLoadPictureEx(LPSTREAM lpstream,LONG lSize,WINBOOL fRunmode,const IID *const riid,DWORD xSizeDesired,DWORD ySizeDesired,DWORD dwFlags,LPVOID *lplpvObj);
extern __attribute__((dllimport)) HRESULT OleLoadPicturePath(LPOLESTR szURLorPath,LPUNKNOWN punkCaller,DWORD dwReserved,OLE_COLOR clrReserved,const IID *const riid,LPVOID *ppvRet);
extern __attribute__((dllimport)) HRESULT OleLoadPictureFile(VARIANT varFileName,LPDISPATCH *lplpdispPicture);
extern __attribute__((dllimport)) HRESULT OleLoadPictureFileEx(VARIANT varFileName,DWORD xSizeDesired,DWORD ySizeDesired,DWORD dwFlags,LPDISPATCH *lplpdispPicture);
extern __attribute__((dllimport)) HRESULT OleSavePictureFile(LPDISPATCH lpdispPicture,BSTR bstrFileName);
extern __attribute__((dllimport)) HCURSOR OleIconToCursor(HINSTANCE hinstExe,HICON hIcon);
#pragma pack(pop)