diff options
Diffstat (limited to 'win32/include')
58 files changed, 20345 insertions, 20345 deletions
diff --git a/win32/include/assert.h b/win32/include/assert.h index b0916c3..959c803 100644 --- a/win32/include/assert.h +++ b/win32/include/assert.h @@ -1,71 +1,71 @@ -/*
- * assert.h
- *
- * Define the assert macro for debug output.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _ASSERT_H_
-#define _ASSERT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef NDEBUG
-
-/*
- * If not debugging, assert does nothing.
- */
-#define assert(x) ((void)0)
-
-#else /* debugging enabled */
-
-/*
- * CRTDLL nicely supplies a function which does the actual output and
- * call to abort.
- */
-void _assert (const char*, const char*, int)
-#ifdef __GNUC__
- __attribute__ ((noreturn))
-#endif
- ;
-
-/*
- * Definition of the assert macro.
- */
-#define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__))
-#endif /* NDEBUG */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _ASSERT_H_ */
-
+/* + * assert.h + * + * Define the assert macro for debug output. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _ASSERT_H_ +#define _ASSERT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef NDEBUG + +/* + * If not debugging, assert does nothing. + */ +#define assert(x) ((void)0) + +#else /* debugging enabled */ + +/* + * CRTDLL nicely supplies a function which does the actual output and + * call to abort. + */ +void _assert (const char*, const char*, int) +#ifdef __GNUC__ + __attribute__ ((noreturn)) +#endif + ; + +/* + * Definition of the assert macro. + */ +#define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__)) +#endif /* NDEBUG */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _ASSERT_H_ */ + diff --git a/win32/include/conio.h b/win32/include/conio.h index 180d19d..c1f4151 100644 --- a/win32/include/conio.h +++ b/win32/include/conio.h @@ -1,159 +1,159 @@ -/* A conio implementation for Mingw/Dev-C++.
- *
- * Written by:
- * Hongli Lai <hongli@telekabel.nl>
- * tkorrovi <tkorrovi@altavista.net> on 2002/02/26.
- * Andrew Westcott <ajwestco@users.sourceforge.net>
- *
- * Offered for use in the public domain without any warranty.
- */
-
-#ifndef _CONIO_H_
-#define _CONIO_H_
-
-
-#include <stdio.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BLINK 0
-
-typedef enum
-{
- BLACK,
- BLUE,
- GREEN,
- CYAN,
- RED,
- MAGENTA,
- BROWN,
- LIGHTGRAY,
- DARKGRAY,
- LIGHTBLUE,
- LIGHTGREEN,
- LIGHTCYAN,
- LIGHTRED,
- LIGHTMAGENTA,
- YELLOW,
- WHITE
-} COLORS;
-
-
-#define cgets _cgets
-#define cprintf _cprintf
-#define cputs _cputs
-#define cscanf _cscanf
-#define ScreenClear clrscr
-
-/* blinkvideo */
-
-void clreol (void);
-void clrscr (void);
-
-int _conio_gettext (int left, int top, int right, int bottom,
- char *str);
-/* _conio_kbhit */
-
-void delline (void);
-
-/* gettextinfo */
-void gotoxy(int x, int y);
-/*
-highvideo
-insline
-intensevideo
-lowvideo
-movetext
-normvideo
-*/
-
-void puttext (int left, int top, int right, int bottom, char *str);
-
-// Screen Variables
-
-/* ScreenCols
-ScreenGetChar
-ScreenGetCursor
-ScreenMode
-ScreenPutChar
-ScreenPutString
-ScreenRetrieve
-ScreenRows
-ScreenSetCursor
-ScreenUpdate
-ScreenUpdateLine
-ScreenVisualBell
-_set_screen_lines */
-
-void _setcursortype (int type);
-
-void textattr (int _attr);
-
-void textbackground (int color);
-
-void textcolor (int color);
-
-/* textmode */
-
-int wherex (void);
-
-int wherey (void);
-
-/* window */
-
-
-
-/* The code below was part of Mingw's conio.h */
-/*
- * conio.h
- *
- * Low level console I/O functions. Pretty please try to use the ANSI
- * standard ones if you are writing new code.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-char* _cgets (char*);
-int _cprintf (const char*, ...);
-int _cputs (const char*);
-int _cscanf (char*, ...);
-
-int _getch (void);
-int _getche (void);
-int _kbhit (void);
-int _putch (int);
-int _ungetch (int);
-
-
-int getch (void);
-int getche (void);
-int kbhit (void);
-int putch (int);
-int ungetch (int);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CONIO_H_ */
+/* A conio implementation for Mingw/Dev-C++. + * + * Written by: + * Hongli Lai <hongli@telekabel.nl> + * tkorrovi <tkorrovi@altavista.net> on 2002/02/26. + * Andrew Westcott <ajwestco@users.sourceforge.net> + * + * Offered for use in the public domain without any warranty. + */ + +#ifndef _CONIO_H_ +#define _CONIO_H_ + + +#include <stdio.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define BLINK 0 + +typedef enum +{ + BLACK, + BLUE, + GREEN, + CYAN, + RED, + MAGENTA, + BROWN, + LIGHTGRAY, + DARKGRAY, + LIGHTBLUE, + LIGHTGREEN, + LIGHTCYAN, + LIGHTRED, + LIGHTMAGENTA, + YELLOW, + WHITE +} COLORS; + + +#define cgets _cgets +#define cprintf _cprintf +#define cputs _cputs +#define cscanf _cscanf +#define ScreenClear clrscr + +/* blinkvideo */ + +void clreol (void); +void clrscr (void); + +int _conio_gettext (int left, int top, int right, int bottom, + char *str); +/* _conio_kbhit */ + +void delline (void); + +/* gettextinfo */ +void gotoxy(int x, int y); +/* +highvideo +insline +intensevideo +lowvideo +movetext +normvideo +*/ + +void puttext (int left, int top, int right, int bottom, char *str); + +// Screen Variables + +/* ScreenCols +ScreenGetChar +ScreenGetCursor +ScreenMode +ScreenPutChar +ScreenPutString +ScreenRetrieve +ScreenRows +ScreenSetCursor +ScreenUpdate +ScreenUpdateLine +ScreenVisualBell +_set_screen_lines */ + +void _setcursortype (int type); + +void textattr (int _attr); + +void textbackground (int color); + +void textcolor (int color); + +/* textmode */ + +int wherex (void); + +int wherey (void); + +/* window */ + + + +/* The code below was part of Mingw's conio.h */ +/* + * conio.h + * + * Low level console I/O functions. Pretty please try to use the ANSI + * standard ones if you are writing new code. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +char* _cgets (char*); +int _cprintf (const char*, ...); +int _cputs (const char*); +int _cscanf (char*, ...); + +int _getch (void); +int _getche (void); +int _kbhit (void); +int _putch (int); +int _ungetch (int); + + +int getch (void); +int getche (void); +int kbhit (void); +int putch (int); +int ungetch (int); + + +#ifdef __cplusplus +} +#endif + +#endif /* _CONIO_H_ */ diff --git a/win32/include/ctype.h b/win32/include/ctype.h index 586ff59..0c416a6 100644 --- a/win32/include/ctype.h +++ b/win32/include/ctype.h @@ -1,232 +1,232 @@ -/*
- * ctype.h
- *
- * Functions for testing character types and converting characters.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _CTYPE_H_
-#define _CTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
- */
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008 /* HT LF VT FF CR SP */
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-#define _BLANK 0x0040 /* this is SP only, not SP and HT as in C99 */
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int isalnum(int);
-int isalpha(int);
-int iscntrl(int);
-int isdigit(int);
-int isgraph(int);
-int islower(int);
-int isprint(int);
-int ispunct(int);
-int isspace(int);
-int isupper(int);
-int isxdigit(int);
-
-#ifndef __STRICT_ANSI__
-int _isctype (int, int);
-#endif
-
-/* These are the ANSI versions, with correct checking of argument */
-int tolower(int);
-int toupper(int);
-
-/*
- * NOTE: The above are not old name type wrappers, but functions exported
- * explicitly by MSVCRT/CRTDLL. However, underscored versions are also
- * exported.
- */
-#ifndef __STRICT_ANSI__
-/*
- * These are the cheap non-std versions: The return values are undefined
- * if the argument is not ASCII char or is not of appropriate case
- */
-int _tolower(int);
-int _toupper(int);
-#endif
-
-/* Also defined in stdlib.h */
-#ifndef MB_CUR_MAX
-# ifdef __MSVCRT__
-# define MB_CUR_MAX __mb_cur_max
- __MINGW_IMPORT int __mb_cur_max;
-# else /* not __MSVCRT */
-# define MB_CUR_MAX __mb_cur_max_dll
- __MINGW_IMPORT int __mb_cur_max_dll;
-# endif /* not __MSVCRT */
-#endif /* MB_CUR_MAX */
-
-__MINGW_IMPORT unsigned short _ctype[];
-#ifdef __MSVCRT__
-__MINGW_IMPORT unsigned short* _pctype;
-#else /* CRTDLL */
-__MINGW_IMPORT unsigned short* _pctype_dll;
-#define _pctype _pctype_dll
-#endif
-
-/*
- * Use inlines here rather than macros, because macros will upset
- * C++ usage (eg, ::isalnum), and so usually get undefined
- *
- * According to standard for SB chars, these function are defined only
- * for input values representable by unsigned char or EOF.
- * Thus, there is no range test.
- * This reproduces behaviour of MSVCRT.dll lib implemention for SB chars.
- *
- * If no MB char support is needed, these can be simplified even
- * more by command line define -DMB_CUR_MAX=1. The compiler will then
- * optimise away the constant condition.
- */
-
-
-#if ! (defined (__NO_CTYPE_INLINES) || defined (__STRICT_ANSI__ ))
-/* use simple lookup if SB locale, else _isctype() */
-#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask))
-extern __inline__ int isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));}
-extern __inline__ int isalpha(int c) {return __ISCTYPE(c, _ALPHA);}
-extern __inline__ int iscntrl(int c) {return __ISCTYPE(c, _CONTROL);}
-extern __inline__ int isdigit(int c) {return __ISCTYPE(c, _DIGIT);}
-extern __inline__ int isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));}
-extern __inline__ int islower(int c) {return __ISCTYPE(c, _LOWER);}
-extern __inline__ int isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-extern __inline__ int ispunct(int c) {return __ISCTYPE(c, _PUNCT);}
-extern __inline__ int isspace(int c) {return __ISCTYPE(c, _SPACE);}
-extern __inline__ int isupper(int c) {return __ISCTYPE(c, _UPPER);}
-extern __inline__ int isxdigit(int c) {return __ISCTYPE(c, _HEX);}
-
-/* these reproduce behaviour of lib underscored versions */
-extern __inline__ int _tolower(int c) {return ( c -'A'+'a');}
-extern __inline__ int _toupper(int c) {return ( c -'a'+'A');}
-
-/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only
- if we only want C-locale. */
-
-#endif /* _NO_CTYPE_INLINES */
-
-/* Wide character equivalents */
-
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
-
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
-#endif
-
-int iswalnum(wint_t);
-int iswalpha(wint_t);
-int iswascii(wint_t);
-int iswcntrl(wint_t);
-int iswctype(wint_t, wctype_t);
-int is_wctype(wint_t, wctype_t); /* Obsolete! */
-int iswdigit(wint_t);
-int iswgraph(wint_t);
-int iswlower(wint_t);
-int iswprint(wint_t);
-int iswpunct(wint_t);
-int iswspace(wint_t);
-int iswupper(wint_t);
-int iswxdigit(wint_t);
-
-wchar_t towlower(wchar_t);
-wchar_t towupper(wchar_t);
-
-int isleadbyte (int);
-
-/* Also in wctype.h */
-#if ! (defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-extern __inline__ int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-extern __inline__ int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-extern __inline__ int iswascii(wint_t wc) {return (((unsigned)wc & 0x7F) ==0);}
-extern __inline__ int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-extern __inline__ int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-extern __inline__ int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-extern __inline__ int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-extern __inline__ int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-extern __inline__ int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-extern __inline__ int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-extern __inline__ int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-extern __inline__ int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-extern __inline__ int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
-
-#ifndef __STRICT_ANSI__
-int __isascii (int);
-int __toascii (int);
-int __iscsymf (int); /* Valid first character in C symbol */
-int __iscsym (int); /* Valid character in C symbol (after first) */
-
-#ifndef __NO_CTYPE_INLINES
-extern __inline__ int __isascii(int c) {return (((unsigned)c & ~0x7F) == 0);}
-extern __inline__ int __toascii(int c) {return (c & 0x7F);}
-extern __inline__ int __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
-extern __inline__ int __iscsym(int c) {return (isalnum(c) || (c == '_'));}
-#endif /* __NO_CTYPE_INLINES */
-
-#ifndef _NO_OLDNAMES
-int isascii (int);
-int toascii (int);
-int iscsymf (int);
-int iscsym (int);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _CTYPE_H_ */
-
+/* + * ctype.h + * + * Functions for testing character types and converting characters. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _CTYPE_H_ +#define _CTYPE_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#define __need_wint_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + + +/* + * The following flags are used to tell iswctype and _isctype what character + * types you are looking for. + */ +#define _UPPER 0x0001 +#define _LOWER 0x0002 +#define _DIGIT 0x0004 +#define _SPACE 0x0008 /* HT LF VT FF CR SP */ +#define _PUNCT 0x0010 +#define _CONTROL 0x0020 +#define _BLANK 0x0040 /* this is SP only, not SP and HT as in C99 */ +#define _HEX 0x0080 +#define _LEADBYTE 0x8000 + +#define _ALPHA 0x0103 + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +int isalnum(int); +int isalpha(int); +int iscntrl(int); +int isdigit(int); +int isgraph(int); +int islower(int); +int isprint(int); +int ispunct(int); +int isspace(int); +int isupper(int); +int isxdigit(int); + +#ifndef __STRICT_ANSI__ +int _isctype (int, int); +#endif + +/* These are the ANSI versions, with correct checking of argument */ +int tolower(int); +int toupper(int); + +/* + * NOTE: The above are not old name type wrappers, but functions exported + * explicitly by MSVCRT/CRTDLL. However, underscored versions are also + * exported. + */ +#ifndef __STRICT_ANSI__ +/* + * These are the cheap non-std versions: The return values are undefined + * if the argument is not ASCII char or is not of appropriate case + */ +int _tolower(int); +int _toupper(int); +#endif + +/* Also defined in stdlib.h */ +#ifndef MB_CUR_MAX +# ifdef __MSVCRT__ +# define MB_CUR_MAX __mb_cur_max + __MINGW_IMPORT int __mb_cur_max; +# else /* not __MSVCRT */ +# define MB_CUR_MAX __mb_cur_max_dll + __MINGW_IMPORT int __mb_cur_max_dll; +# endif /* not __MSVCRT */ +#endif /* MB_CUR_MAX */ + +__MINGW_IMPORT unsigned short _ctype[]; +#ifdef __MSVCRT__ +__MINGW_IMPORT unsigned short* _pctype; +#else /* CRTDLL */ +__MINGW_IMPORT unsigned short* _pctype_dll; +#define _pctype _pctype_dll +#endif + +/* + * Use inlines here rather than macros, because macros will upset + * C++ usage (eg, ::isalnum), and so usually get undefined + * + * According to standard for SB chars, these function are defined only + * for input values representable by unsigned char or EOF. + * Thus, there is no range test. + * This reproduces behaviour of MSVCRT.dll lib implemention for SB chars. + * + * If no MB char support is needed, these can be simplified even + * more by command line define -DMB_CUR_MAX=1. The compiler will then + * optimise away the constant condition. + */ + + +#if ! (defined (__NO_CTYPE_INLINES) || defined (__STRICT_ANSI__ )) +/* use simple lookup if SB locale, else _isctype() */ +#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask)) +extern __inline__ int isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));} +extern __inline__ int isalpha(int c) {return __ISCTYPE(c, _ALPHA);} +extern __inline__ int iscntrl(int c) {return __ISCTYPE(c, _CONTROL);} +extern __inline__ int isdigit(int c) {return __ISCTYPE(c, _DIGIT);} +extern __inline__ int isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));} +extern __inline__ int islower(int c) {return __ISCTYPE(c, _LOWER);} +extern __inline__ int isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));} +extern __inline__ int ispunct(int c) {return __ISCTYPE(c, _PUNCT);} +extern __inline__ int isspace(int c) {return __ISCTYPE(c, _SPACE);} +extern __inline__ int isupper(int c) {return __ISCTYPE(c, _UPPER);} +extern __inline__ int isxdigit(int c) {return __ISCTYPE(c, _HEX);} + +/* these reproduce behaviour of lib underscored versions */ +extern __inline__ int _tolower(int c) {return ( c -'A'+'a');} +extern __inline__ int _toupper(int c) {return ( c -'a'+'A');} + +/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only + if we only want C-locale. */ + +#endif /* _NO_CTYPE_INLINES */ + +/* Wide character equivalents */ + +#ifndef WEOF +#define WEOF (wchar_t)(0xFFFF) +#endif + +#ifndef _WCTYPE_T_DEFINED +typedef wchar_t wctype_t; +#define _WCTYPE_T_DEFINED +#endif + +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswascii(wint_t); +int iswcntrl(wint_t); +int iswctype(wint_t, wctype_t); +int is_wctype(wint_t, wctype_t); /* Obsolete! */ +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); + +wchar_t towlower(wchar_t); +wchar_t towupper(wchar_t); + +int isleadbyte (int); + +/* Also in wctype.h */ +#if ! (defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) +#define __WCTYPE_INLINES_DEFINED +extern __inline__ int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} +extern __inline__ int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} +extern __inline__ int iswascii(wint_t wc) {return (((unsigned)wc & 0x7F) ==0);} +extern __inline__ int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} +extern __inline__ int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} +extern __inline__ int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} +extern __inline__ int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} +extern __inline__ int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} +extern __inline__ int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} +extern __inline__ int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} +extern __inline__ int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} +extern __inline__ int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} +extern __inline__ int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} +#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ + +#ifndef __STRICT_ANSI__ +int __isascii (int); +int __toascii (int); +int __iscsymf (int); /* Valid first character in C symbol */ +int __iscsym (int); /* Valid character in C symbol (after first) */ + +#ifndef __NO_CTYPE_INLINES +extern __inline__ int __isascii(int c) {return (((unsigned)c & ~0x7F) == 0);} +extern __inline__ int __toascii(int c) {return (c & 0x7F);} +extern __inline__ int __iscsymf(int c) {return (isalpha(c) || (c == '_'));} +extern __inline__ int __iscsym(int c) {return (isalnum(c) || (c == '_'));} +#endif /* __NO_CTYPE_INLINES */ + +#ifndef _NO_OLDNAMES +int isascii (int); +int toascii (int); +int iscsymf (int); +int iscsym (int); +#endif /* Not _NO_OLDNAMES */ + +#endif /* Not __STRICT_ANSI__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _CTYPE_H_ */ + diff --git a/win32/include/dir.h b/win32/include/dir.h index 638e08b..d759a0a 100644 --- a/win32/include/dir.h +++ b/win32/include/dir.h @@ -1,26 +1,26 @@ -/*
- * dir.h
- *
- * This file OBSOLESCENT and only provided for backward compatibility.
- * Please use io.h instead.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Mumit Khan <khan@xraylith.wisc.edu>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#include <io.h>
-
+/* + * dir.h + * + * This file OBSOLESCENT and only provided for backward compatibility. + * Please use io.h instead. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * Mumit Khan <khan@xraylith.wisc.edu> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#include <io.h> + diff --git a/win32/include/direct.h b/win32/include/direct.h index 705625d..925f4c5 100644 --- a/win32/include/direct.h +++ b/win32/include/direct.h @@ -1,95 +1,95 @@ -/*
- * direct.h
- *
- * Functions for manipulating paths and directories (included from io.h)
- * plus functions for setting the current drive.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _DIRECT_H_
-#define _DIRECT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _DISKFREE_T_DEFINED
-/* needed by _getdiskfree (also in dos.h) */
-struct _diskfree_t {
- unsigned total_clusters;
- unsigned avail_clusters;
- unsigned sectors_per_cluster;
- unsigned bytes_per_sector;
-};
-#define _DISKFREE_T_DEFINED
-#endif
-
-/*
- * You really shouldn't be using these. Use the Win32 API functions instead.
- * However, it does make it easier to port older code.
- */
-int _getdrive (void);
-unsigned long _getdrives(void);
-int _chdrive (int);
-char* _getdcwd (int, char*, int);
-unsigned _getdiskfree (unsigned, struct _diskfree_t *);
-
-#ifndef _NO_OLDNAMES
-# define diskfree_t _diskfree_t
-#endif
-
-#ifndef _WDIRECT_DEFINED
-/* wide character versions. Also in wchar.h */
-#ifdef __MSVCRT__
-int _wchdir(const wchar_t*);
-wchar_t* _wgetcwd(wchar_t*, int);
-wchar_t* _wgetdcwd(int, wchar_t*, int);
-int _wmkdir(const wchar_t*);
-int _wrmdir(const wchar_t*);
-#endif /* __MSVCRT__ */
-#define _WDIRECT_DEFINED
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DIRECT_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * direct.h + * + * Functions for manipulating paths and directories (included from io.h) + * plus functions for setting the current drive. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _DIRECT_H_ +#define _DIRECT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +#include <io.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _DISKFREE_T_DEFINED +/* needed by _getdiskfree (also in dos.h) */ +struct _diskfree_t { + unsigned total_clusters; + unsigned avail_clusters; + unsigned sectors_per_cluster; + unsigned bytes_per_sector; +}; +#define _DISKFREE_T_DEFINED +#endif + +/* + * You really shouldn't be using these. Use the Win32 API functions instead. + * However, it does make it easier to port older code. + */ +int _getdrive (void); +unsigned long _getdrives(void); +int _chdrive (int); +char* _getdcwd (int, char*, int); +unsigned _getdiskfree (unsigned, struct _diskfree_t *); + +#ifndef _NO_OLDNAMES +# define diskfree_t _diskfree_t +#endif + +#ifndef _WDIRECT_DEFINED +/* wide character versions. Also in wchar.h */ +#ifdef __MSVCRT__ +int _wchdir(const wchar_t*); +wchar_t* _wgetcwd(wchar_t*, int); +wchar_t* _wgetdcwd(int, wchar_t*, int); +int _wmkdir(const wchar_t*); +int _wrmdir(const wchar_t*); +#endif /* __MSVCRT__ */ +#define _WDIRECT_DEFINED +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _DIRECT_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/dirent.h b/win32/include/dirent.h index 4143f3e..41c3dd7 100644 --- a/win32/include/dirent.h +++ b/win32/include/dirent.h @@ -1,96 +1,96 @@ -/*
- * DIRENT.H (formerly DIRLIB.H)
- *
- * by M. J. Weinstein Released to public domain 1-Jan-89
- *
- * Because I have heard that this feature (opendir, readdir, closedir)
- * it so useful for programmers coming from UNIX or attempting to port
- * UNIX code, and because it is reasonably light weight, I have included
- * it in the Mingw32 package. I have also added an implementation of
- * rewinddir, seekdir and telldir.
- * - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * This code is distributed in the hope that is will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includeds but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct dirent
-{
- long d_ino; /* Always zero. */
- unsigned short d_reclen; /* Always zero. */
- unsigned short d_namlen; /* Length of name in d_name. */
- char* d_name; /* File name. */
- /* NOTE: The name in the dirent structure points to the name in the
- * finddata_t structure in the DIR. */
-};
-
-/*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- */
-typedef struct
-{
- /* disk transfer area for this dir */
- struct _finddata_t dd_dta;
-
- /* dirent struct to return from dir (NOTE: this makes this thread
- * safe as long as only one thread uses a particular DIR struct at
- * a time) */
- struct dirent dd_dir;
-
- /* _findnext handle */
- long dd_handle;
-
- /*
- * Status of search:
- * 0 = not started yet (next entry to read is first entry)
- * -1 = off the end
- * positive = 0 based index of next entry
- */
- short dd_stat;
-
- /* given path for dir with search pattern (struct is extended) */
- char dd_name[1];
-} DIR;
-
-
-DIR* opendir (const char*);
-struct dirent* readdir (DIR*);
-int closedir (DIR*);
-void rewinddir (DIR*);
-long telldir (DIR*);
-void seekdir (DIR*, long);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DIRENT_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * DIRENT.H (formerly DIRLIB.H) + * + * by M. J. Weinstein Released to public domain 1-Jan-89 + * + * Because I have heard that this feature (opendir, readdir, closedir) + * it so useful for programmers coming from UNIX or attempting to port + * UNIX code, and because it is reasonably light weight, I have included + * it in the Mingw32 package. I have also added an implementation of + * rewinddir, seekdir and telldir. + * - Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * This code is distributed in the hope that is will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includeds but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _DIRENT_H_ +#define _DIRENT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#include <io.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +struct dirent +{ + long d_ino; /* Always zero. */ + unsigned short d_reclen; /* Always zero. */ + unsigned short d_namlen; /* Length of name in d_name. */ + char* d_name; /* File name. */ + /* NOTE: The name in the dirent structure points to the name in the + * finddata_t structure in the DIR. */ +}; + +/* + * This is an internal data structure. Good programmers will not use it + * except as an argument to one of the functions below. + */ +typedef struct +{ + /* disk transfer area for this dir */ + struct _finddata_t dd_dta; + + /* dirent struct to return from dir (NOTE: this makes this thread + * safe as long as only one thread uses a particular DIR struct at + * a time) */ + struct dirent dd_dir; + + /* _findnext handle */ + long dd_handle; + + /* + * Status of search: + * 0 = not started yet (next entry to read is first entry) + * -1 = off the end + * positive = 0 based index of next entry + */ + short dd_stat; + + /* given path for dir with search pattern (struct is extended) */ + char dd_name[1]; +} DIR; + + +DIR* opendir (const char*); +struct dirent* readdir (DIR*); +int closedir (DIR*); +void rewinddir (DIR*); +long telldir (DIR*); +void seekdir (DIR*, long); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _DIRENT_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/dos.h b/win32/include/dos.h index c436f6b..2cb380f 100644 --- a/win32/include/dos.h +++ b/win32/include/dos.h @@ -1,110 +1,110 @@ -/*
- * dos.h
- *
- * DOS-specific functions and structures.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _DOS_H_
-#define _DOS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/* For DOS file attributes */
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */
-#ifndef __DECLSPEC_SUPPORTED
-extern unsigned int *__imp__basemajor_dll;
-extern unsigned int *__imp__baseminor_dll;
-extern unsigned int *__imp__baseversion_dll;
-extern unsigned int *__imp__osmajor_dll;
-extern unsigned int *__imp__osminor_dll;
-extern unsigned int *__imp__osmode_dll;
-
-#define _basemajor (*__imp__basemajor_dll)
-#define _baseminor (*__imp__baseminor_dll)
-#define _baseversion (*__imp__baseversion_dll)
-#define _osmajor (*__imp__osmajor_dll)
-#define _osminor (*__imp__osminor_dll)
-#define _osmode (*__imp__osmode_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT unsigned int _basemajor_dll;
-__MINGW_IMPORT unsigned int _baseminor_dll;
-__MINGW_IMPORT unsigned int _baseversion_dll;
-__MINGW_IMPORT unsigned int _osmajor_dll;
-__MINGW_IMPORT unsigned int _osminor_dll;
-__MINGW_IMPORT unsigned int _osmode_dll;
-
-#define _basemajor _basemajor_dll
-#define _baseminor _baseminor_dll
-#define _baseversion _baseversion_dll
-#define _osmajor _osmajor_dll
-#define _osminor _osminor_dll
-#define _osmode _osmode_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
-
-#ifndef _DISKFREE_T_DEFINED
-/* needed by _getdiskfree (also in direct.h) */
-struct _diskfree_t {
- unsigned total_clusters;
- unsigned avail_clusters;
- unsigned sectors_per_cluster;
- unsigned bytes_per_sector;
-};
-#define _DISKFREE_T_DEFINED
-#endif
-
-unsigned _getdiskfree (unsigned, struct _diskfree_t *);
-
-#ifndef _NO_OLDNAMES
-# define diskfree_t _diskfree_t
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DOS_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * dos.h + * + * DOS-specific functions and structures. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _DOS_H_ +#define _DOS_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +/* For DOS file attributes */ +#include <io.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */ +#ifndef __DECLSPEC_SUPPORTED +extern unsigned int *__imp__basemajor_dll; +extern unsigned int *__imp__baseminor_dll; +extern unsigned int *__imp__baseversion_dll; +extern unsigned int *__imp__osmajor_dll; +extern unsigned int *__imp__osminor_dll; +extern unsigned int *__imp__osmode_dll; + +#define _basemajor (*__imp__basemajor_dll) +#define _baseminor (*__imp__baseminor_dll) +#define _baseversion (*__imp__baseversion_dll) +#define _osmajor (*__imp__osmajor_dll) +#define _osminor (*__imp__osminor_dll) +#define _osmode (*__imp__osmode_dll) + +#else /* __DECLSPEC_SUPPORTED */ + +__MINGW_IMPORT unsigned int _basemajor_dll; +__MINGW_IMPORT unsigned int _baseminor_dll; +__MINGW_IMPORT unsigned int _baseversion_dll; +__MINGW_IMPORT unsigned int _osmajor_dll; +__MINGW_IMPORT unsigned int _osminor_dll; +__MINGW_IMPORT unsigned int _osmode_dll; + +#define _basemajor _basemajor_dll +#define _baseminor _baseminor_dll +#define _baseversion _baseversion_dll +#define _osmajor _osmajor_dll +#define _osminor _osminor_dll +#define _osmode _osmode_dll + +#endif /* __DECLSPEC_SUPPORTED */ +#endif /* ! __MSVCRT__ */ + +#ifndef _DISKFREE_T_DEFINED +/* needed by _getdiskfree (also in direct.h) */ +struct _diskfree_t { + unsigned total_clusters; + unsigned avail_clusters; + unsigned sectors_per_cluster; + unsigned bytes_per_sector; +}; +#define _DISKFREE_T_DEFINED +#endif + +unsigned _getdiskfree (unsigned, struct _diskfree_t *); + +#ifndef _NO_OLDNAMES +# define diskfree_t _diskfree_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _DOS_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/errno.h b/win32/include/errno.h index 26c13b3..b41a70e 100644 --- a/win32/include/errno.h +++ b/win32/include/errno.h @@ -1,117 +1,117 @@ -/*
- * errno.h
- *
- * Error numbers and access to error reporting.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _ERRNO_H_
-#define _ERRNO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Error numbers.
- * TODO: Can't be sure of some of these assignments, I guessed from the
- * names given by strerror and the defines in the Cygnus errno.h. A lot
- * of the names from the Cygnus errno.h are not represented, and a few
- * of the descriptions returned by strerror do not obviously match
- * their error naming.
- */
-#define EPERM 1 /* Operation not permitted */
-#define ENOFILE 2 /* No such file or directory */
-#define ENOENT 2
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted function call */
-#define EIO 5 /* Input/output error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file descriptor */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Resource temporarily unavailable */
-#define ENOMEM 12 /* Not enough space */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-/* 15 - Unknown Error */
-#define EBUSY 16 /* strerror reports "Resource device" */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Improper link (cross-device link?) */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* Too many open files in system */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Inappropriate I/O control operation */
-/* 26 - Unknown Error */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Domain error (math functions) */
-#define ERANGE 34 /* Result too large (possibly too small) */
-/* 35 - Unknown Error */
-#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */
-#define EDEADLK 36
-/* 37 - Unknown Error */
-#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */
-#define ENOLCK 39 /* No locks available (46 in Cyg?) */
-#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */
-#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */
-#define EILSEQ 42 /* Illegal byte sequence */
-
-/*
- * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the
- * sockets.h header provided with windows32api-0.1.2.
- * You should go and put an #if 0 ... #endif around the whole block
- * of errors (look at the comment above them).
- */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see
- * stdlib.h.
- */
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
-int* _errno(void);
-#define errno (*_errno())
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _ERRNO_H_ */
+/* + * errno.h + * + * Error numbers and access to error reporting. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _ERRNO_H_ +#define _ERRNO_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * Error numbers. + * TODO: Can't be sure of some of these assignments, I guessed from the + * names given by strerror and the defines in the Cygnus errno.h. A lot + * of the names from the Cygnus errno.h are not represented, and a few + * of the descriptions returned by strerror do not obviously match + * their error naming. + */ +#define EPERM 1 /* Operation not permitted */ +#define ENOFILE 2 /* No such file or directory */ +#define ENOENT 2 +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted function call */ +#define EIO 5 /* Input/output error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Arg list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file descriptor */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Resource temporarily unavailable */ +#define ENOMEM 12 /* Not enough space */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +/* 15 - Unknown Error */ +#define EBUSY 16 /* strerror reports "Resource device" */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Improper link (cross-device link?) */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* Too many open files in system */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Inappropriate I/O control operation */ +/* 26 - Unknown Error */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Domain error (math functions) */ +#define ERANGE 34 /* Result too large (possibly too small) */ +/* 35 - Unknown Error */ +#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */ +#define EDEADLK 36 +/* 37 - Unknown Error */ +#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */ +#define ENOLCK 39 /* No locks available (46 in Cyg?) */ +#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */ +#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */ +#define EILSEQ 42 /* Illegal byte sequence */ + +/* + * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the + * sockets.h header provided with windows32api-0.1.2. + * You should go and put an #if 0 ... #endif around the whole block + * of errors (look at the comment above them). + */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see + * stdlib.h. + */ +#ifdef _UWIN +#undef errno +extern int errno; +#else +int* _errno(void); +#define errno (*_errno()) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _ERRNO_H_ */ diff --git a/win32/include/excpt.h b/win32/include/excpt.h index a9596ab..7746124 100644 --- a/win32/include/excpt.h +++ b/win32/include/excpt.h @@ -1,20 +1,20 @@ -#ifndef _EXCPT_H
-#define _EXCPT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-/* FIXME: This will make some code compile. The programs will most
- likely crash when an exception is raised, but at least they will
- compile. */
-#ifdef __GNUC__
-#define __try
-#define __except(x) if (0) /* don't execute handler */
-#define __finally
-
-#define _try __try
-#define _except __except
-#define _finally __finally
-#endif
-
-#endif
+#ifndef _EXCPT_H +#define _EXCPT_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +/* FIXME: This will make some code compile. The programs will most + likely crash when an exception is raised, but at least they will + compile. */ +#ifdef __GNUC__ +#define __try +#define __except(x) if (0) /* don't execute handler */ +#define __finally + +#define _try __try +#define _except __except +#define _finally __finally +#endif + +#endif diff --git a/win32/include/fcntl.h b/win32/include/fcntl.h index f028470..32f4a90 100644 --- a/win32/include/fcntl.h +++ b/win32/include/fcntl.h @@ -1,135 +1,135 @@ -/*
- * fcntl.h
- *
- * Access constants for _open. Note that the permissions constants are
- * in sys/stat.h (ick).
- *
- * This code is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _FCNTL_H_
-#define _FCNTL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * It appears that fcntl.h should include io.h for compatibility...
- */
-#include <io.h>
-
-/* Specifiy one of these flags to define the access mode. */
-#define _O_RDONLY 0
-#define _O_WRONLY 1
-#define _O_RDWR 2
-
-/* Mask for access mode bits in the _open flags. */
-#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR)
-
-#define _O_APPEND 0x0008 /* Writes will add to the end of the file. */
-
-#define _O_RANDOM 0x0010
-#define _O_SEQUENTIAL 0x0020
-#define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing.
- * WARNING: Even if not created by _open! */
-#define _O_NOINHERIT 0x0080
-
-#define _O_CREAT 0x0100 /* Create the file if it does not exist. */
-#define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */
-#define _O_EXCL 0x0400 /* Open only if the file does not exist. */
-
-/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */
-#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */
-#define _O_BINARY 0x8000 /* Input and output is not translated. */
-#define _O_RAW _O_BINARY
-
-#ifndef _NO_OLDNAMES
-
-/* POSIX/Non-ANSI names for increased portability */
-#define O_RDONLY _O_RDONLY
-#define O_WRONLY _O_WRONLY
-#define O_RDWR _O_RDWR
-#define O_ACCMODE _O_ACCMODE
-#define O_APPEND _O_APPEND
-#define O_CREAT _O_CREAT
-#define O_TRUNC _O_TRUNC
-#define O_EXCL _O_EXCL
-#define O_TEXT _O_TEXT
-#define O_BINARY _O_BINARY
-#define O_TEMPORARY _O_TEMPORARY
-#define O_NOINHERIT _O_NOINHERIT
-#define O_SEQENTIAL _O_SEQUENTIAL
-#define O_RANDOM _O_RANDOM
-
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifndef RC_INVOKED
-
-/*
- * This variable determines the default file mode.
- * TODO: Which flags work?
- */
-#ifndef __DECLSPEC_SUPPORTED
-
-#ifdef __MSVCRT__
-extern unsigned int* __imp__fmode;
-#define _fmode (*__imp__fmode)
-#else
-/* CRTDLL */
-extern unsigned int* __imp__fmode_dll;
-#define _fmode (*__imp__fmode_dll)
-#endif
-
-#else /* __DECLSPEC_SUPPORTED */
-
-#ifdef __MSVCRT__
-__MINGW_IMPORT unsigned int _fmode;
-#else /* ! __MSVCRT__ */
-__MINGW_IMPORT unsigned int _fmode_dll;
-#define _fmode _fmode_dll
-#endif /* ! __MSVCRT__ */
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int _setmode (int, int);
-
-#ifndef _NO_OLDNAMES
-int setmode (int, int);
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _FCNTL_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * fcntl.h + * + * Access constants for _open. Note that the permissions constants are + * in sys/stat.h (ick). + * + * This code is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _FCNTL_H_ +#define _FCNTL_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * It appears that fcntl.h should include io.h for compatibility... + */ +#include <io.h> + +/* Specifiy one of these flags to define the access mode. */ +#define _O_RDONLY 0 +#define _O_WRONLY 1 +#define _O_RDWR 2 + +/* Mask for access mode bits in the _open flags. */ +#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) + +#define _O_APPEND 0x0008 /* Writes will add to the end of the file. */ + +#define _O_RANDOM 0x0010 +#define _O_SEQUENTIAL 0x0020 +#define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing. + * WARNING: Even if not created by _open! */ +#define _O_NOINHERIT 0x0080 + +#define _O_CREAT 0x0100 /* Create the file if it does not exist. */ +#define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */ +#define _O_EXCL 0x0400 /* Open only if the file does not exist. */ + +/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */ +#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */ +#define _O_BINARY 0x8000 /* Input and output is not translated. */ +#define _O_RAW _O_BINARY + +#ifndef _NO_OLDNAMES + +/* POSIX/Non-ANSI names for increased portability */ +#define O_RDONLY _O_RDONLY +#define O_WRONLY _O_WRONLY +#define O_RDWR _O_RDWR +#define O_ACCMODE _O_ACCMODE +#define O_APPEND _O_APPEND +#define O_CREAT _O_CREAT +#define O_TRUNC _O_TRUNC +#define O_EXCL _O_EXCL +#define O_TEXT _O_TEXT +#define O_BINARY _O_BINARY +#define O_TEMPORARY _O_TEMPORARY +#define O_NOINHERIT _O_NOINHERIT +#define O_SEQENTIAL _O_SEQUENTIAL +#define O_RANDOM _O_RANDOM + +#endif /* Not _NO_OLDNAMES */ + + +#ifndef RC_INVOKED + +/* + * This variable determines the default file mode. + * TODO: Which flags work? + */ +#ifndef __DECLSPEC_SUPPORTED + +#ifdef __MSVCRT__ +extern unsigned int* __imp__fmode; +#define _fmode (*__imp__fmode) +#else +/* CRTDLL */ +extern unsigned int* __imp__fmode_dll; +#define _fmode (*__imp__fmode_dll) +#endif + +#else /* __DECLSPEC_SUPPORTED */ + +#ifdef __MSVCRT__ +__MINGW_IMPORT unsigned int _fmode; +#else /* ! __MSVCRT__ */ +__MINGW_IMPORT unsigned int _fmode_dll; +#define _fmode _fmode_dll +#endif /* ! __MSVCRT__ */ + +#endif /* __DECLSPEC_SUPPORTED */ + + +#ifdef __cplusplus +extern "C" { +#endif + +int _setmode (int, int); + +#ifndef _NO_OLDNAMES +int setmode (int, int); +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _FCNTL_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/fenv.h b/win32/include/fenv.h index c25b4b4..ddc43df 100644 --- a/win32/include/fenv.h +++ b/win32/include/fenv.h @@ -1,85 +1,85 @@ -#ifndef _FENV_H
-#define _FENV_H
-
-/*
- For now, support only for the basic abstraction of flags that are
- either set or clear. fexcept_t could be structure that holds more info
- about the fp environment.
-*/
-typedef unsigned short fexcept_t;
-
-/* This 28-byte struct represents the entire floating point
- environment as stored by fnstenv or fstenv */
-typedef struct
-{
- unsigned short __control_word;
- unsigned short __unused0;
- unsigned short __status_word;
- unsigned short __unused1;
- unsigned short __tag_word;
- unsigned short __unused2;
- unsigned int __ip_offset; /* instruction pointer offset */
- unsigned short __ip_selector;
- unsigned short __opcode;
- unsigned int __data_offset;
- unsigned short __data_selector;
- unsigned short __unused3;
-} fenv_t;
-
-
-/* FPU status word exception flags */
-#define FE_INVALID 0x01
-#define FE_DENORMAL 0x02
-#define FE_DIVBYZERO 0x04
-#define FE_OVERFLOW 0x08
-#define FE_UNDERFLOW 0x10
-#define FE_INEXACT 0x20
-#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \
- | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
-
-/* FPU control word rounding flags */
-#define FE_TONEAREST 0x0000
-#define FE_DOWNWARD 0x0400
-#define FE_UPWARD 0x0800
-#define FE_TOWARDZERO 0x0c00
-
-
-/* The default floating point environment */
-#define FE_DFL_ENV ((const fenv_t *)-1)
-
-
-#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/*TODO: Some of these could be inlined */
-/* 7.6.2 Exception */
-
-extern int feclearexcept (int);
-extern int fegetexceptflag (fexcept_t * flagp, int excepts);
-extern int feraiseexcept (int excepts );
-extern int fesetexceptflag (const fexcept_t *, int);
-extern int fetestexcept (int excepts);
-
-
-/* 7.6.3 Rounding */
-
-extern int fegetround (void);
-extern int fesetround (int mode);
-
-
-/* 7.6.4 Environment */
-
-extern int fegetenv (fenv_t * envp);
-extern int fesetenv (const fenv_t * );
-extern int feupdateenv (const fenv_t *);
-extern int feholdexcept (fenv_t *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Not RC_INVOKED */
-
-#endif /* ndef _FENV_H */
+#ifndef _FENV_H +#define _FENV_H + +/* + For now, support only for the basic abstraction of flags that are + either set or clear. fexcept_t could be structure that holds more info + about the fp environment. +*/ +typedef unsigned short fexcept_t; + +/* This 28-byte struct represents the entire floating point + environment as stored by fnstenv or fstenv */ +typedef struct +{ + unsigned short __control_word; + unsigned short __unused0; + unsigned short __status_word; + unsigned short __unused1; + unsigned short __tag_word; + unsigned short __unused2; + unsigned int __ip_offset; /* instruction pointer offset */ + unsigned short __ip_selector; + unsigned short __opcode; + unsigned int __data_offset; + unsigned short __data_selector; + unsigned short __unused3; +} fenv_t; + + +/* FPU status word exception flags */ +#define FE_INVALID 0x01 +#define FE_DENORMAL 0x02 +#define FE_DIVBYZERO 0x04 +#define FE_OVERFLOW 0x08 +#define FE_UNDERFLOW 0x10 +#define FE_INEXACT 0x20 +#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \ + | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +/* FPU control word rounding flags */ +#define FE_TONEAREST 0x0000 +#define FE_DOWNWARD 0x0400 +#define FE_UPWARD 0x0800 +#define FE_TOWARDZERO 0x0c00 + + +/* The default floating point environment */ +#define FE_DFL_ENV ((const fenv_t *)-1) + + +#ifndef RC_INVOKED +#ifdef __cplusplus +extern "C" { +#endif + + +/*TODO: Some of these could be inlined */ +/* 7.6.2 Exception */ + +extern int feclearexcept (int); +extern int fegetexceptflag (fexcept_t * flagp, int excepts); +extern int feraiseexcept (int excepts ); +extern int fesetexceptflag (const fexcept_t *, int); +extern int fetestexcept (int excepts); + + +/* 7.6.3 Rounding */ + +extern int fegetround (void); +extern int fesetround (int mode); + + +/* 7.6.4 Environment */ + +extern int fegetenv (fenv_t * envp); +extern int fesetenv (const fenv_t * ); +extern int feupdateenv (const fenv_t *); +extern int feholdexcept (fenv_t *); + +#ifdef __cplusplus +} +#endif +#endif /* Not RC_INVOKED */ + +#endif /* ndef _FENV_H */ diff --git a/win32/include/float.h b/win32/include/float.h index 7aeb59a..a6fb6db 100644 --- a/win32/include/float.h +++ b/win32/include/float.h @@ -1,224 +1,224 @@ -/*
- * float.h
- *
- * Constants related to floating point arithmetic.
- *
- * Also included here are some non-ANSI bits for accessing the floating
- * point controller.
- *
- * NOTE: GCC provides float.h, and it is probably more accurate than this,
- * but it doesn't include the non-standard stuff for accessing the
- * fp controller. (TODO: Move those bits elsewhere?) Thus it is
- * probably not a good idea to use the GCC supplied version instead
- * of this header.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _FLOAT_H_
-#define _FLOAT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define FLT_ROUNDS 1
-#define FLT_GUARD 1
-#define FLT_NORMALIZE 1
-
-/*
- * The characteristics of float.
- */
-
-/* The radix for floating point representation. */
-#define FLT_RADIX 2
-
-/* Decimal digits of precision. */
-#define FLT_DIG 6
-
-/* Smallest number such that 1+x != 1 */
-#define FLT_EPSILON 1.19209290e-07F
-
-/* The number of base FLT_RADIX digits in the mantissa. */
-#define FLT_MANT_DIG 24
-
-/* The maximum floating point number. */
-#define FLT_MAX 3.40282347e+38F
-
-/* Maximum n such that FLT_RADIX^n - 1 is representable. */
-#define FLT_MAX_EXP 128
-
-/* Maximum n such that 10^n is representable. */
-#define FLT_MAX_10_EXP 38
-
-/* Minimum normalized floating-point number. */
-#define FLT_MIN 1.17549435e-38F
-
-/* Minimum n such that FLT_RADIX^n is a normalized number. */
-#define FLT_MIN_EXP (-125)
-
-/* Minimum n such that 10^n is a normalized number. */
-#define FLT_MIN_10_EXP (-37)
-
-
-/*
- * The characteristics of double.
- */
-#define DBL_DIG 15
-#define DBL_EPSILON 1.1102230246251568e-16
-#define DBL_MANT_DIG 53
-#define DBL_MAX 1.7976931348623157e+308
-#define DBL_MAX_EXP 1024
-#define DBL_MAX_10_EXP 308
-#define DBL_MIN 2.2250738585072014e-308
-#define DBL_MIN_EXP (-1021)
-#define DBL_MIN_10_EXP (-307)
-
-
-/*
- * The characteristics of long double.
- * NOTE: long double is the same as double.
- */
-#define LDBL_DIG 15
-#define LDBL_EPSILON 1.1102230246251568e-16L
-#define LDBL_MANT_DIG 53
-#define LDBL_MAX 1.7976931348623157e+308L
-#define LDBL_MAX_EXP 1024
-#define LDBL_MAX_10_EXP 308
-#define LDBL_MIN 2.2250738585072014e-308L
-#define LDBL_MIN_EXP (-1021)
-#define LDBL_MIN_10_EXP (-307)
-
-
-/*
- * Functions and definitions for controlling the FPU.
- */
-#ifndef __STRICT_ANSI__
-
-/* TODO: These constants are only valid for x86 machines */
-
-/* Control word masks for unMask */
-#define _MCW_EM 0x0008001F /* Error masks */
-#define _MCW_IC 0x00040000 /* Infinity */
-#define _MCW_RC 0x00000300 /* Rounding */
-#define _MCW_PC 0x00030000 /* Precision */
-
-/* Control word values for unNew (use with related unMask above) */
-#define _EM_INVALID 0x00000010
-#define _EM_DENORMAL 0x00080000
-#define _EM_ZERODIVIDE 0x00000008
-#define _EM_OVERFLOW 0x00000004
-#define _EM_UNDERFLOW 0x00000002
-#define _EM_INEXACT 0x00000001
-#define _IC_AFFINE 0x00040000
-#define _IC_PROJECTIVE 0x00000000
-#define _RC_CHOP 0x00000300
-#define _RC_UP 0x00000200
-#define _RC_DOWN 0x00000100
-#define _RC_NEAR 0x00000000
-#define _PC_24 0x00020000
-#define _PC_53 0x00010000
-#define _PC_64 0x00000000
-
-/* These are also defined in Mingw math.h, needed to work around
- GCC build issues. */
-/* Return values for fpclass. */
-#ifndef __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED 1
-#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
-#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
-#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
-#define _FPCLASS_NN 0x0008 /* Negative Normal */
-#define _FPCLASS_ND 0x0010 /* Negative Denormal */
-#define _FPCLASS_NZ 0x0020 /* Negative Zero */
-#define _FPCLASS_PZ 0x0040 /* Positive Zero */
-#define _FPCLASS_PD 0x0080 /* Positive Denormal */
-#define _FPCLASS_PN 0x0100 /* Positive Normal */
-#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
-#endif /* __MINGW_FPCLASS_DEFINED */
-
-/* invalid subconditions (_SW_INVALID also set) */
-#define _SW_UNEMULATED 0x0040 /* unemulated instruction */
-#define _SW_SQRTNEG 0x0080 /* square root of a neg number */
-#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */
-#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */
-
-/* Floating point error signals and return codes */
-#define _FPE_INVALID 0x81
-#define _FPE_DENORMAL 0x82
-#define _FPE_ZERODIVIDE 0x83
-#define _FPE_OVERFLOW 0x84
-#define _FPE_UNDERFLOW 0x85
-#define _FPE_INEXACT 0x86
-#define _FPE_UNEMULATED 0x87
-#define _FPE_SQRTNEG 0x88
-#define _FPE_STACKOVERFLOW 0x8a
-#define _FPE_STACKUNDERFLOW 0x8b
-#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask),
- * i.e. change the bits in unMask to have the values they have in unNew,
- * leaving other bits unchanged. */
-unsigned int _controlfp (unsigned int unNew, unsigned int unMask);
-unsigned int _control87 (unsigned int unNew, unsigned int unMask);
-
-
-unsigned int _clearfp (void); /* Clear the FPU status word */
-unsigned int _statusfp (void); /* Report the FPU status word */
-#define _clear87 _clearfp
-#define _status87 _statusfp
-
-void _fpreset (void); /* Reset the FPU */
-void fpreset (void);
-
-/* Global 'variable' for the current floating point error code. */
-int * __fpecode(void);
-#define _fpecode (*(__fpecode()))
-
-/*
- * IEEE recommended functions
- */
-
-double _chgsign (double);
-double _copysign (double, double);
-double _logb (double);
-double _nextafter (double, double);
-double _scalb (double, long);
-
-int _finite (double);
-int _fpclass (double);
-int _isnan (double);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#endif /* _FLOAT_H_ */
-
+/* + * float.h + * + * Constants related to floating point arithmetic. + * + * Also included here are some non-ANSI bits for accessing the floating + * point controller. + * + * NOTE: GCC provides float.h, and it is probably more accurate than this, + * but it doesn't include the non-standard stuff for accessing the + * fp controller. (TODO: Move those bits elsewhere?) Thus it is + * probably not a good idea to use the GCC supplied version instead + * of this header. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _FLOAT_H_ +#define _FLOAT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define FLT_ROUNDS 1 +#define FLT_GUARD 1 +#define FLT_NORMALIZE 1 + +/* + * The characteristics of float. + */ + +/* The radix for floating point representation. */ +#define FLT_RADIX 2 + +/* Decimal digits of precision. */ +#define FLT_DIG 6 + +/* Smallest number such that 1+x != 1 */ +#define FLT_EPSILON 1.19209290e-07F + +/* The number of base FLT_RADIX digits in the mantissa. */ +#define FLT_MANT_DIG 24 + +/* The maximum floating point number. */ +#define FLT_MAX 3.40282347e+38F + +/* Maximum n such that FLT_RADIX^n - 1 is representable. */ +#define FLT_MAX_EXP 128 + +/* Maximum n such that 10^n is representable. */ +#define FLT_MAX_10_EXP 38 + +/* Minimum normalized floating-point number. */ +#define FLT_MIN 1.17549435e-38F + +/* Minimum n such that FLT_RADIX^n is a normalized number. */ +#define FLT_MIN_EXP (-125) + +/* Minimum n such that 10^n is a normalized number. */ +#define FLT_MIN_10_EXP (-37) + + +/* + * The characteristics of double. + */ +#define DBL_DIG 15 +#define DBL_EPSILON 1.1102230246251568e-16 +#define DBL_MANT_DIG 53 +#define DBL_MAX 1.7976931348623157e+308 +#define DBL_MAX_EXP 1024 +#define DBL_MAX_10_EXP 308 +#define DBL_MIN 2.2250738585072014e-308 +#define DBL_MIN_EXP (-1021) +#define DBL_MIN_10_EXP (-307) + + +/* + * The characteristics of long double. + * NOTE: long double is the same as double. + */ +#define LDBL_DIG 15 +#define LDBL_EPSILON 1.1102230246251568e-16L +#define LDBL_MANT_DIG 53 +#define LDBL_MAX 1.7976931348623157e+308L +#define LDBL_MAX_EXP 1024 +#define LDBL_MAX_10_EXP 308 +#define LDBL_MIN 2.2250738585072014e-308L +#define LDBL_MIN_EXP (-1021) +#define LDBL_MIN_10_EXP (-307) + + +/* + * Functions and definitions for controlling the FPU. + */ +#ifndef __STRICT_ANSI__ + +/* TODO: These constants are only valid for x86 machines */ + +/* Control word masks for unMask */ +#define _MCW_EM 0x0008001F /* Error masks */ +#define _MCW_IC 0x00040000 /* Infinity */ +#define _MCW_RC 0x00000300 /* Rounding */ +#define _MCW_PC 0x00030000 /* Precision */ + +/* Control word values for unNew (use with related unMask above) */ +#define _EM_INVALID 0x00000010 +#define _EM_DENORMAL 0x00080000 +#define _EM_ZERODIVIDE 0x00000008 +#define _EM_OVERFLOW 0x00000004 +#define _EM_UNDERFLOW 0x00000002 +#define _EM_INEXACT 0x00000001 +#define _IC_AFFINE 0x00040000 +#define _IC_PROJECTIVE 0x00000000 +#define _RC_CHOP 0x00000300 +#define _RC_UP 0x00000200 +#define _RC_DOWN 0x00000100 +#define _RC_NEAR 0x00000000 +#define _PC_24 0x00020000 +#define _PC_53 0x00010000 +#define _PC_64 0x00000000 + +/* These are also defined in Mingw math.h, needed to work around + GCC build issues. */ +/* Return values for fpclass. */ +#ifndef __MINGW_FPCLASS_DEFINED +#define __MINGW_FPCLASS_DEFINED 1 +#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ +#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ +#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ +#define _FPCLASS_NN 0x0008 /* Negative Normal */ +#define _FPCLASS_ND 0x0010 /* Negative Denormal */ +#define _FPCLASS_NZ 0x0020 /* Negative Zero */ +#define _FPCLASS_PZ 0x0040 /* Positive Zero */ +#define _FPCLASS_PD 0x0080 /* Positive Denormal */ +#define _FPCLASS_PN 0x0100 /* Positive Normal */ +#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ +#endif /* __MINGW_FPCLASS_DEFINED */ + +/* invalid subconditions (_SW_INVALID also set) */ +#define _SW_UNEMULATED 0x0040 /* unemulated instruction */ +#define _SW_SQRTNEG 0x0080 /* square root of a neg number */ +#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */ +#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */ + +/* Floating point error signals and return codes */ +#define _FPE_INVALID 0x81 +#define _FPE_DENORMAL 0x82 +#define _FPE_ZERODIVIDE 0x83 +#define _FPE_OVERFLOW 0x84 +#define _FPE_UNDERFLOW 0x85 +#define _FPE_INEXACT 0x86 +#define _FPE_UNEMULATED 0x87 +#define _FPE_SQRTNEG 0x88 +#define _FPE_STACKOVERFLOW 0x8a +#define _FPE_STACKUNDERFLOW 0x8b +#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask), + * i.e. change the bits in unMask to have the values they have in unNew, + * leaving other bits unchanged. */ +unsigned int _controlfp (unsigned int unNew, unsigned int unMask); +unsigned int _control87 (unsigned int unNew, unsigned int unMask); + + +unsigned int _clearfp (void); /* Clear the FPU status word */ +unsigned int _statusfp (void); /* Report the FPU status word */ +#define _clear87 _clearfp +#define _status87 _statusfp + +void _fpreset (void); /* Reset the FPU */ +void fpreset (void); + +/* Global 'variable' for the current floating point error code. */ +int * __fpecode(void); +#define _fpecode (*(__fpecode())) + +/* + * IEEE recommended functions + */ + +double _chgsign (double); +double _copysign (double, double); +double _logb (double); +double _nextafter (double, double); +double _scalb (double, long); + +int _finite (double); +int _fpclass (double); +int _isnan (double); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not __STRICT_ANSI__ */ + +#endif /* _FLOAT_H_ */ + diff --git a/win32/include/inttypes.h b/win32/include/inttypes.h index f6e0bd1..74944f1 100644 --- a/win32/include/inttypes.h +++ b/win32/include/inttypes.h @@ -1,275 +1,275 @@ -/* 7.8 Format conversion of integer types <inttypes.h> */
-
-#ifndef _INTTYPES_H
-#define _INTTYPES_H
-
-#include <stdint.h>
-#define __need_wchar_t
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- intmax_t quot;
- intmax_t rem;
- } imaxdiv_t;
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-
-/* 7.8.1 Macros for format specifiers
- *
- * MS runtime does not yet understand C9x standard "ll"
- * length specifier. It appears to treat "ll" as "l".
- * The non-standard I64 length specifier causes warning in GCC,
- * but understood by MS runtime functions.
- */
-
-/* fprintf macros for signed types */
-#define PRId8 "d"
-#define PRId16 "d"
-#define PRId32 "d"
-#define PRId64 "I64d"
-
-#define PRIdLEAST8 "d"
-#define PRIdLEAST16 "d"
-#define PRIdLEAST32 "d"
-#define PRIdLEAST64 "I64d"
-
-#define PRIdFAST8 "d"
-#define PRIdFAST16 "d"
-#define PRIdFAST32 "d"
-#define PRIdFAST64 "I64d"
-
-#define PRIdMAX "I64d"
-#define PRIdPTR "d"
-
-#define PRIi8 "i"
-#define PRIi16 "i"
-#define PRIi32 "i"
-#define PRIi64 "I64i"
-
-#define PRIiLEAST8 "i"
-#define PRIiLEAST16 "i"
-#define PRIiLEAST32 "i"
-#define PRIiLEAST64 "I64i"
-
-#define PRIiFAST8 "i"
-#define PRIiFAST16 "i"
-#define PRIiFAST32 "i"
-#define PRIiFAST64 "I64i"
-
-#define PRIiMAX "I64i"
-#define PRIiPTR "i"
-
-#define PRIo8 "o"
-#define PRIo16 "o"
-#define PRIo32 "o"
-#define PRIo64 "I64o"
-
-#define PRIoLEAST8 "o"
-#define PRIoLEAST16 "o"
-#define PRIoLEAST32 "o"
-#define PRIoLEAST64 "I64o"
-
-#define PRIoFAST8 "o"
-#define PRIoFAST16 "o"
-#define PRIoFAST32 "o"
-#define PRIoFAST64 "I64o"
-
-#define PRIoMAX "I64o"
-
-#define PRIoPTR "o"
-
-/* fprintf macros for unsigned types */
-#define PRIu8 "u"
-#define PRIu16 "u"
-#define PRIu32 "u"
-#define PRIu64 "I64u"
-
-
-#define PRIuLEAST8 "u"
-#define PRIuLEAST16 "u"
-#define PRIuLEAST32 "u"
-#define PRIuLEAST64 "I64u"
-
-#define PRIuFAST8 "u"
-#define PRIuFAST16 "u"
-#define PRIuFAST32 "u"
-#define PRIuFAST64 "I64u"
-
-#define PRIuMAX "I64u"
-#define PRIuPTR "u"
-
-#define PRIx8 "x"
-#define PRIx16 "x"
-#define PRIx32 "x"
-#define PRIx64 "I64x"
-
-#define PRIxLEAST8 "x"
-#define PRIxLEAST16 "x"
-#define PRIxLEAST32 "x"
-#define PRIxLEAST64 "I64x"
-
-#define PRIxFAST8 "x"
-#define PRIxFAST16 "x"
-#define PRIxFAST32 "x"
-#define PRIxFAST64 "I64x"
-
-#define PRIxMAX "I64x"
-#define PRIxPTR "x"
-
-#define PRIX8 "X"
-#define PRIX16 "X"
-#define PRIX32 "X"
-#define PRIX64 "I64X"
-
-#define PRIXLEAST8 "X"
-#define PRIXLEAST16 "X"
-#define PRIXLEAST32 "X"
-#define PRIXLEAST64 "I64X"
-
-#define PRIXFAST8 "X"
-#define PRIXFAST16 "X"
-#define PRIXFAST32 "X"
-#define PRIXFAST64 "I64X"
-
-#define PRIXMAX "I64X"
-#define PRIXPTR "X"
-
-/*
- * fscanf macros for signed int types
- * NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t
- * (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have
- * no length identifiers
- */
-
-#define SCNd16 "hd"
-#define SCNd32 "d"
-#define SCNd64 "I64d"
-
-#define SCNdLEAST16 "hd"
-#define SCNdLEAST32 "d"
-#define SCNdLEAST64 "I64d"
-
-#define SCNdFAST16 "hd"
-#define SCNdFAST32 "d"
-#define SCNdFAST64 "I64d"
-
-#define SCNdMAX "I64d"
-#define SCNdPTR "d"
-
-#define SCNi16 "hi"
-#define SCNi32 "i"
-#define SCNi64 "I64i"
-
-#define SCNiLEAST16 "hi"
-#define SCNiLEAST32 "i"
-#define SCNiLEAST64 "I64i"
-
-#define SCNiFAST16 "hi"
-#define SCNiFAST32 "i"
-#define SCNiFAST64 "I64i"
-
-#define SCNiMAX "I64i"
-#define SCNiPTR "i"
-
-#define SCNo16 "ho"
-#define SCNo32 "o"
-#define SCNo64 "I64o"
-
-#define SCNoLEAST16 "ho"
-#define SCNoLEAST32 "o"
-#define SCNoLEAST64 "I64o"
-
-#define SCNoFAST16 "ho"
-#define SCNoFAST32 "o"
-#define SCNoFAST64 "I64o"
-
-#define SCNoMAX "I64o"
-#define SCNoPTR "o"
-
-#define SCNx16 "hx"
-#define SCNx32 "x"
-#define SCNx64 "I64x"
-
-#define SCNxLEAST16 "hx"
-#define SCNxLEAST32 "x"
-#define SCNxLEAST64 "I64x"
-
-#define SCNxFAST16 "hx"
-#define SCNxFAST32 "x"
-#define SCNxFAST64 "I64x"
-
-#define SCNxMAX "I64x"
-#define SCNxPTR "x"
-
-
-/* fscanf macros for unsigned int types */
-
-#define SCNu16 "hu"
-#define SCNu32 "u"
-#define SCNu64 "I64u"
-
-#define SCNuLEAST16 "hu"
-#define SCNuLEAST32 "u"
-#define SCNuLEAST64 "I64u"
-
-#define SCNuFAST16 "hu"
-#define SCNuFAST32 "u"
-#define SCNuFAST64 "I64u"
-
-#define SCNuMAX "I64u"
-#define SCNuPTR "u"
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/*
- * no length modifier for char types prior to C9x
- * MS runtime scanf appears to treat "hh" as "h"
- */
-
-/* signed char */
-#define SCNd8 "hhd"
-#define SCNdLEAST8 "hhd"
-#define SCNdFAST8 "hhd"
-
-#define SCNi8 "hhi"
-#define SCNiLEAST8 "hhi"
-#define SCNiFAST8 "hhi"
-
-#define SCNo8 "hho"
-#define SCNoLEAST8 "hho"
-#define SCNoFAST8 "hho"
-
-#define SCNx8 "hhx"
-#define SCNxLEAST8 "hhx"
-#define SCNxFAST8 "hhx"
-
-/* unsigned char */
-#define SCNu8 "hhu"
-#define SCNuLEAST8 "hhu"
-#define SCNuFAST8 "hhu"
-#endif /* __STDC_VERSION__ >= 199901 */
-
-#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
-
-extern inline intmax_t imaxabs (intmax_t j)
- {return (j >= 0 ? j : -j);}
-imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom);
-
-/* 7.8.2 Conversion functions for greatest-width integer types */
-
-intmax_t strtoimax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
-uintmax_t strtoumax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
-
-intmax_t wcstoimax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
- int base);
-uintmax_t wcstoumax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
- int base);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ndef _INTTYPES_H */
+/* 7.8 Format conversion of integer types <inttypes.h> */ + +#ifndef _INTTYPES_H +#define _INTTYPES_H + +#include <stdint.h> +#define __need_wchar_t +#include <stddef.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + intmax_t quot; + intmax_t rem; + } imaxdiv_t; + +#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) + +/* 7.8.1 Macros for format specifiers + * + * MS runtime does not yet understand C9x standard "ll" + * length specifier. It appears to treat "ll" as "l". + * The non-standard I64 length specifier causes warning in GCC, + * but understood by MS runtime functions. + */ + +/* fprintf macros for signed types */ +#define PRId8 "d" +#define PRId16 "d" +#define PRId32 "d" +#define PRId64 "I64d" + +#define PRIdLEAST8 "d" +#define PRIdLEAST16 "d" +#define PRIdLEAST32 "d" +#define PRIdLEAST64 "I64d" + +#define PRIdFAST8 "d" +#define PRIdFAST16 "d" +#define PRIdFAST32 "d" +#define PRIdFAST64 "I64d" + +#define PRIdMAX "I64d" +#define PRIdPTR "d" + +#define PRIi8 "i" +#define PRIi16 "i" +#define PRIi32 "i" +#define PRIi64 "I64i" + +#define PRIiLEAST8 "i" +#define PRIiLEAST16 "i" +#define PRIiLEAST32 "i" +#define PRIiLEAST64 "I64i" + +#define PRIiFAST8 "i" +#define PRIiFAST16 "i" +#define PRIiFAST32 "i" +#define PRIiFAST64 "I64i" + +#define PRIiMAX "I64i" +#define PRIiPTR "i" + +#define PRIo8 "o" +#define PRIo16 "o" +#define PRIo32 "o" +#define PRIo64 "I64o" + +#define PRIoLEAST8 "o" +#define PRIoLEAST16 "o" +#define PRIoLEAST32 "o" +#define PRIoLEAST64 "I64o" + +#define PRIoFAST8 "o" +#define PRIoFAST16 "o" +#define PRIoFAST32 "o" +#define PRIoFAST64 "I64o" + +#define PRIoMAX "I64o" + +#define PRIoPTR "o" + +/* fprintf macros for unsigned types */ +#define PRIu8 "u" +#define PRIu16 "u" +#define PRIu32 "u" +#define PRIu64 "I64u" + + +#define PRIuLEAST8 "u" +#define PRIuLEAST16 "u" +#define PRIuLEAST32 "u" +#define PRIuLEAST64 "I64u" + +#define PRIuFAST8 "u" +#define PRIuFAST16 "u" +#define PRIuFAST32 "u" +#define PRIuFAST64 "I64u" + +#define PRIuMAX "I64u" +#define PRIuPTR "u" + +#define PRIx8 "x" +#define PRIx16 "x" +#define PRIx32 "x" +#define PRIx64 "I64x" + +#define PRIxLEAST8 "x" +#define PRIxLEAST16 "x" +#define PRIxLEAST32 "x" +#define PRIxLEAST64 "I64x" + +#define PRIxFAST8 "x" +#define PRIxFAST16 "x" +#define PRIxFAST32 "x" +#define PRIxFAST64 "I64x" + +#define PRIxMAX "I64x" +#define PRIxPTR "x" + +#define PRIX8 "X" +#define PRIX16 "X" +#define PRIX32 "X" +#define PRIX64 "I64X" + +#define PRIXLEAST8 "X" +#define PRIXLEAST16 "X" +#define PRIXLEAST32 "X" +#define PRIXLEAST64 "I64X" + +#define PRIXFAST8 "X" +#define PRIXFAST16 "X" +#define PRIXFAST32 "X" +#define PRIXFAST64 "I64X" + +#define PRIXMAX "I64X" +#define PRIXPTR "X" + +/* + * fscanf macros for signed int types + * NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t + * (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have + * no length identifiers + */ + +#define SCNd16 "hd" +#define SCNd32 "d" +#define SCNd64 "I64d" + +#define SCNdLEAST16 "hd" +#define SCNdLEAST32 "d" +#define SCNdLEAST64 "I64d" + +#define SCNdFAST16 "hd" +#define SCNdFAST32 "d" +#define SCNdFAST64 "I64d" + +#define SCNdMAX "I64d" +#define SCNdPTR "d" + +#define SCNi16 "hi" +#define SCNi32 "i" +#define SCNi64 "I64i" + +#define SCNiLEAST16 "hi" +#define SCNiLEAST32 "i" +#define SCNiLEAST64 "I64i" + +#define SCNiFAST16 "hi" +#define SCNiFAST32 "i" +#define SCNiFAST64 "I64i" + +#define SCNiMAX "I64i" +#define SCNiPTR "i" + +#define SCNo16 "ho" +#define SCNo32 "o" +#define SCNo64 "I64o" + +#define SCNoLEAST16 "ho" +#define SCNoLEAST32 "o" +#define SCNoLEAST64 "I64o" + +#define SCNoFAST16 "ho" +#define SCNoFAST32 "o" +#define SCNoFAST64 "I64o" + +#define SCNoMAX "I64o" +#define SCNoPTR "o" + +#define SCNx16 "hx" +#define SCNx32 "x" +#define SCNx64 "I64x" + +#define SCNxLEAST16 "hx" +#define SCNxLEAST32 "x" +#define SCNxLEAST64 "I64x" + +#define SCNxFAST16 "hx" +#define SCNxFAST32 "x" +#define SCNxFAST64 "I64x" + +#define SCNxMAX "I64x" +#define SCNxPTR "x" + + +/* fscanf macros for unsigned int types */ + +#define SCNu16 "hu" +#define SCNu32 "u" +#define SCNu64 "I64u" + +#define SCNuLEAST16 "hu" +#define SCNuLEAST32 "u" +#define SCNuLEAST64 "I64u" + +#define SCNuFAST16 "hu" +#define SCNuFAST32 "u" +#define SCNuFAST64 "I64u" + +#define SCNuMAX "I64u" +#define SCNuPTR "u" + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +/* + * no length modifier for char types prior to C9x + * MS runtime scanf appears to treat "hh" as "h" + */ + +/* signed char */ +#define SCNd8 "hhd" +#define SCNdLEAST8 "hhd" +#define SCNdFAST8 "hhd" + +#define SCNi8 "hhi" +#define SCNiLEAST8 "hhi" +#define SCNiFAST8 "hhi" + +#define SCNo8 "hho" +#define SCNoLEAST8 "hho" +#define SCNoFAST8 "hho" + +#define SCNx8 "hhx" +#define SCNxLEAST8 "hhx" +#define SCNxFAST8 "hhx" + +/* unsigned char */ +#define SCNu8 "hhu" +#define SCNuLEAST8 "hhu" +#define SCNuFAST8 "hhu" +#endif /* __STDC_VERSION__ >= 199901 */ + +#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */ + +extern inline intmax_t imaxabs (intmax_t j) + {return (j >= 0 ? j : -j);} +imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom); + +/* 7.8.2 Conversion functions for greatest-width integer types */ + +intmax_t strtoimax (const char* __restrict__ nptr, char** __restrict__ endptr, int base); +uintmax_t strtoumax (const char* __restrict__ nptr, char** __restrict__ endptr, int base); + +intmax_t wcstoimax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr, + int base); +uintmax_t wcstoumax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr, + int base); + +#ifdef __cplusplus +} +#endif + +#endif /* ndef _INTTYPES_H */ diff --git a/win32/include/io.h b/win32/include/io.h index 6887220..8d5115e 100644 --- a/win32/include/io.h +++ b/win32/include/io.h @@ -1,296 +1,296 @@ -/*
- * io.h
- *
- * System level I/O functions and types.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _IO_H_
-#define _IO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* We need the definition of FILE anyway... */
-#include <stdio.h>
-
-/* MSVC's io.h contains the stuff from dir.h, so I will too.
- * NOTE: This also defines off_t, the file offset type, through
- * an inclusion of sys/types.h */
-#ifndef __STRICT_ANSI__
-
-#include <sys/types.h> /* To get time_t. */
-
-/*
- * Attributes of files as returned by _findfirst et al.
- */
-#define _A_NORMAL 0x00000000
-#define _A_RDONLY 0x00000001
-#define _A_HIDDEN 0x00000002
-#define _A_SYSTEM 0x00000004
-#define _A_VOLID 0x00000008
-#define _A_SUBDIR 0x00000010
-#define _A_ARCH 0x00000020
-
-
-#ifndef RC_INVOKED
-
-#ifndef _FSIZE_T_DEFINED
-typedef unsigned long _fsize_t;
-#define _FSIZE_T_DEFINED
-#endif
-
-/*
- * The following structure is filled in by _findfirst or _findnext when
- * they succeed in finding a match.
- */
-struct _finddata_t
-{
- unsigned attrib; /* Attributes, see constants above. */
- time_t time_create;
- time_t time_access; /* always midnight local time */
- time_t time_write;
- _fsize_t size;
- char name[FILENAME_MAX]; /* may include spaces. */
-};
-
-struct _finddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- char name[FILENAME_MAX];
-};
-
-
-#ifndef _WFINDDATA_T_DEFINED
-struct _wfinddata_t {
- unsigned attrib;
- time_t time_create; /* -1 for FAT file systems */
- time_t time_access; /* -1 for FAT file systems */
- time_t time_write;
- _fsize_t size;
- wchar_t name[FILENAME_MAX]; /* may include spaces. */
-};
-struct _wfinddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- wchar_t name[FILENAME_MAX];
-};
-
-#define _WFINDDATA_T_DEFINED
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Functions for searching for files. _findfirst returns -1 if no match
- * is found. Otherwise it returns a handle to be used in _findnext and
- * _findclose calls. _findnext also returns -1 if no match could be found,
- * and 0 if a match was found. Call _findclose when you are finished.
- */
-int _findfirst (const char*, struct _finddata_t*);
-int _findnext (int, struct _finddata_t*);
-int _findclose (int);
-
-int _chdir (const char*);
-char* _getcwd (char*, int);
-int _mkdir (const char*);
-char* _mktemp (char*);
-int _rmdir (const char*);
-
-
-#ifdef __MSVCRT__
-__int64 _filelengthi64(int);
-long _findfirsti64(const char*, struct _finddatai64_t*);
-int _findnexti64(long, struct _finddatai64_t*);
-__int64 _lseeki64(int, __int64, int);
-__int64 _telli64(int);
-#endif /* __MSVCRT__ */
-
-
-#ifndef _NO_OLDNAMES
-
-#ifndef _UWIN
-int chdir (const char*);
-char* getcwd (char*, int);
-int mkdir (const char*);
-char* mktemp (char*);
-int rmdir (const char*);
-#endif /* _UWIN */
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not __STRICT_ANSI__ */
-
-/* TODO: Maximum number of open handles has not been tested, I just set
- * it the same as FOPEN_MAX. */
-#define HANDLE_MAX FOPEN_MAX
-
-
-/* Some defines for _access nAccessMode (MS doesn't define them, but
- * it doesn't seem to hurt to add them). */
-#define F_OK 0 /* Check for file existence */
-#define X_OK 1 /* Check for execute permission. */
-#define W_OK 2 /* Check for write permission */
-#define R_OK 4 /* Check for read permission */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int _access (const char*, int);
-int _chsize (int, long);
-int _close (int);
-int _commit(int);
-
-/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
- * the "owner write permission" bit (on FAT). */
-int _creat (const char*, unsigned);
-
-int _dup (int);
-int _dup2 (int, int);
-long _filelength (int);
-int _fileno (FILE*);
-long _get_osfhandle (int);
-int _isatty (int);
-
-/* In a very odd turn of events this function is excluded from those
- * files which define _STREAM_COMPAT. This is required in order to
- * build GNU libio because of a conflict with _eof in streambuf.h
- * line 107. Actually I might just be able to change the name of
- * the enum member in streambuf.h... we'll see. TODO */
-#ifndef _STREAM_COMPAT
-int _eof (int);
-#endif
-
-/* LK_... locking commands defined in sys/locking.h. */
-int _locking (int, int, long);
-
-long _lseek (int, long, int);
-
-/* Optional third argument is unsigned unPermissions. */
-int _open (const char*, int, ...);
-
-int _open_osfhandle (long, int);
-int _pipe (int *, unsigned int, int);
-int _read (int, void*, unsigned int);
-
-/* SH_... flags for nShFlags defined in share.h
- * Optional fourth argument is unsigned unPermissions */
-int _sopen (const char*, int, int, ...);
-
-long _tell (int);
-/* Should umask be in sys/stat.h and/or sys/types.h instead? */
-int _umask (int);
-int _unlink (const char*);
-int _write (int, const void*, unsigned int);
-
-/* Wide character versions. Also declared in wchar.h. */
-/* Not in crtdll.dll */
-#if !defined (_WIO_DEFINED)
-#if defined (__MSVCRT__)
-int _waccess(const wchar_t*, int);
-int _wchmod(const wchar_t*, int);
-int _wcreat(const wchar_t*, int);
-long _wfindfirst(wchar_t*, struct _wfinddata_t*);
-int _wfindnext(long, struct _wfinddata_t *);
-int _wunlink(const wchar_t*);
-int _wopen(const wchar_t*, int, ...);
-int _wsopen(const wchar_t*, int, int, ...);
-wchar_t * _wmktemp(wchar_t*);
-long _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
-int _wfindnexti64(long, struct _wfinddatai64_t*);
-#endif /* defined (__MSVCRT__) */
-#define _WIO_DEFINED
-#endif /* _WIO_DEFINED */
-
-#ifndef _NO_OLDNAMES
-/*
- * Non-underscored versions of non-ANSI functions to improve portability.
- * These functions live in libmoldname.a.
- */
-
-#ifndef _UWIN
-int access (const char*, int);
-int chsize (int, long );
-int close (int);
-int creat (const char*, int);
-int dup (int);
-int dup2 (int, int);
-int eof (int);
-long filelength (int);
-int fileno (FILE*);
-int isatty (int);
-long lseek (int, long, int);
-int open (const char*, int, ...);
-int read (int, void*, unsigned int);
-int sopen (const char*, int, int, ...);
-long tell (int);
-int umask (int);
-int unlink (const char*);
-int write (int, const void*, unsigned int);
-#endif /* _UWIN */
-
-/* Wide character versions. Also declared in wchar.h. */
-/* Where do these live? Not in libmoldname.a nor in libmsvcrt.a */
-#if 0
-int waccess(const wchar_t *, int);
-int wchmod(const wchar_t *, int);
-int wcreat(const wchar_t *, int);
-long wfindfirst(wchar_t *, struct _wfinddata_t *);
-int wfindnext(long, struct _wfinddata_t *);
-int wunlink(const wchar_t *);
-int wrename(const wchar_t *, const wchar_t *);
-int wopen(const wchar_t *, int, ...);
-int wsopen(const wchar_t *, int, int, ...);
-wchar_t * wmktemp(wchar_t *);
-#endif
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _IO_H_ not defined */
-
-#endif /* Not strict ANSI */
-
+/* + * io.h + * + * System level I/O functions and types. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _IO_H_ +#define _IO_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* We need the definition of FILE anyway... */ +#include <stdio.h> + +/* MSVC's io.h contains the stuff from dir.h, so I will too. + * NOTE: This also defines off_t, the file offset type, through + * an inclusion of sys/types.h */ +#ifndef __STRICT_ANSI__ + +#include <sys/types.h> /* To get time_t. */ + +/* + * Attributes of files as returned by _findfirst et al. + */ +#define _A_NORMAL 0x00000000 +#define _A_RDONLY 0x00000001 +#define _A_HIDDEN 0x00000002 +#define _A_SYSTEM 0x00000004 +#define _A_VOLID 0x00000008 +#define _A_SUBDIR 0x00000010 +#define _A_ARCH 0x00000020 + + +#ifndef RC_INVOKED + +#ifndef _FSIZE_T_DEFINED +typedef unsigned long _fsize_t; +#define _FSIZE_T_DEFINED +#endif + +/* + * The following structure is filled in by _findfirst or _findnext when + * they succeed in finding a match. + */ +struct _finddata_t +{ + unsigned attrib; /* Attributes, see constants above. */ + time_t time_create; + time_t time_access; /* always midnight local time */ + time_t time_write; + _fsize_t size; + char name[FILENAME_MAX]; /* may include spaces. */ +}; + +struct _finddatai64_t { + unsigned attrib; + time_t time_create; + time_t time_access; + time_t time_write; + __int64 size; + char name[FILENAME_MAX]; +}; + + +#ifndef _WFINDDATA_T_DEFINED +struct _wfinddata_t { + unsigned attrib; + time_t time_create; /* -1 for FAT file systems */ + time_t time_access; /* -1 for FAT file systems */ + time_t time_write; + _fsize_t size; + wchar_t name[FILENAME_MAX]; /* may include spaces. */ +}; +struct _wfinddatai64_t { + unsigned attrib; + time_t time_create; + time_t time_access; + time_t time_write; + __int64 size; + wchar_t name[FILENAME_MAX]; +}; + +#define _WFINDDATA_T_DEFINED +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Functions for searching for files. _findfirst returns -1 if no match + * is found. Otherwise it returns a handle to be used in _findnext and + * _findclose calls. _findnext also returns -1 if no match could be found, + * and 0 if a match was found. Call _findclose when you are finished. + */ +int _findfirst (const char*, struct _finddata_t*); +int _findnext (int, struct _finddata_t*); +int _findclose (int); + +int _chdir (const char*); +char* _getcwd (char*, int); +int _mkdir (const char*); +char* _mktemp (char*); +int _rmdir (const char*); + + +#ifdef __MSVCRT__ +__int64 _filelengthi64(int); +long _findfirsti64(const char*, struct _finddatai64_t*); +int _findnexti64(long, struct _finddatai64_t*); +__int64 _lseeki64(int, __int64, int); +__int64 _telli64(int); +#endif /* __MSVCRT__ */ + + +#ifndef _NO_OLDNAMES + +#ifndef _UWIN +int chdir (const char*); +char* getcwd (char*, int); +int mkdir (const char*); +char* mktemp (char*); +int rmdir (const char*); +#endif /* _UWIN */ + +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not __STRICT_ANSI__ */ + +/* TODO: Maximum number of open handles has not been tested, I just set + * it the same as FOPEN_MAX. */ +#define HANDLE_MAX FOPEN_MAX + + +/* Some defines for _access nAccessMode (MS doesn't define them, but + * it doesn't seem to hurt to add them). */ +#define F_OK 0 /* Check for file existence */ +#define X_OK 1 /* Check for execute permission. */ +#define W_OK 2 /* Check for write permission */ +#define R_OK 4 /* Check for read permission */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +int _access (const char*, int); +int _chsize (int, long); +int _close (int); +int _commit(int); + +/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80), + * the "owner write permission" bit (on FAT). */ +int _creat (const char*, unsigned); + +int _dup (int); +int _dup2 (int, int); +long _filelength (int); +int _fileno (FILE*); +long _get_osfhandle (int); +int _isatty (int); + +/* In a very odd turn of events this function is excluded from those + * files which define _STREAM_COMPAT. This is required in order to + * build GNU libio because of a conflict with _eof in streambuf.h + * line 107. Actually I might just be able to change the name of + * the enum member in streambuf.h... we'll see. TODO */ +#ifndef _STREAM_COMPAT +int _eof (int); +#endif + +/* LK_... locking commands defined in sys/locking.h. */ +int _locking (int, int, long); + +long _lseek (int, long, int); + +/* Optional third argument is unsigned unPermissions. */ +int _open (const char*, int, ...); + +int _open_osfhandle (long, int); +int _pipe (int *, unsigned int, int); +int _read (int, void*, unsigned int); + +/* SH_... flags for nShFlags defined in share.h + * Optional fourth argument is unsigned unPermissions */ +int _sopen (const char*, int, int, ...); + +long _tell (int); +/* Should umask be in sys/stat.h and/or sys/types.h instead? */ +int _umask (int); +int _unlink (const char*); +int _write (int, const void*, unsigned int); + +/* Wide character versions. Also declared in wchar.h. */ +/* Not in crtdll.dll */ +#if !defined (_WIO_DEFINED) +#if defined (__MSVCRT__) +int _waccess(const wchar_t*, int); +int _wchmod(const wchar_t*, int); +int _wcreat(const wchar_t*, int); +long _wfindfirst(wchar_t*, struct _wfinddata_t*); +int _wfindnext(long, struct _wfinddata_t *); +int _wunlink(const wchar_t*); +int _wopen(const wchar_t*, int, ...); +int _wsopen(const wchar_t*, int, int, ...); +wchar_t * _wmktemp(wchar_t*); +long _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*); +int _wfindnexti64(long, struct _wfinddatai64_t*); +#endif /* defined (__MSVCRT__) */ +#define _WIO_DEFINED +#endif /* _WIO_DEFINED */ + +#ifndef _NO_OLDNAMES +/* + * Non-underscored versions of non-ANSI functions to improve portability. + * These functions live in libmoldname.a. + */ + +#ifndef _UWIN +int access (const char*, int); +int chsize (int, long ); +int close (int); +int creat (const char*, int); +int dup (int); +int dup2 (int, int); +int eof (int); +long filelength (int); +int fileno (FILE*); +int isatty (int); +long lseek (int, long, int); +int open (const char*, int, ...); +int read (int, void*, unsigned int); +int sopen (const char*, int, int, ...); +long tell (int); +int umask (int); +int unlink (const char*); +int write (int, const void*, unsigned int); +#endif /* _UWIN */ + +/* Wide character versions. Also declared in wchar.h. */ +/* Where do these live? Not in libmoldname.a nor in libmsvcrt.a */ +#if 0 +int waccess(const wchar_t *, int); +int wchmod(const wchar_t *, int); +int wcreat(const wchar_t *, int); +long wfindfirst(wchar_t *, struct _wfinddata_t *); +int wfindnext(long, struct _wfinddata_t *); +int wunlink(const wchar_t *); +int wrename(const wchar_t *, const wchar_t *); +int wopen(const wchar_t *, int, ...); +int wsopen(const wchar_t *, int, int, ...); +wchar_t * wmktemp(wchar_t *); +#endif + +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* _IO_H_ not defined */ + +#endif /* Not strict ANSI */ + diff --git a/win32/include/limits.h b/win32/include/limits.h index 20a2094..5dc6025 100644 --- a/win32/include/limits.h +++ b/win32/include/limits.h @@ -1,115 +1,115 @@ -/*
- * limits.h
- *
- * Defines constants for the sizes of integral types.
- *
- * NOTE: GCC should supply a version of this header and it should be safe to
- * use that version instead of this one (maybe safer).
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _LIMITS_H_
-#define _LIMITS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * File system limits
- *
- * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the
- * same as FILENAME_MAX and FOPEN_MAX from stdio.h?
- * NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
- * required for the NUL. TODO: Test?
- */
-#define PATH_MAX (259)
-
-/*
- * Characteristics of the char data type.
- *
- * TODO: Is MB_LEN_MAX correct?
- */
-#define CHAR_BIT 8
-#define MB_LEN_MAX 2
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 127
-
-#define UCHAR_MAX 255
-
-/* TODO: Is this safe? I think it might just be testing the preprocessor,
- * not the compiler itself... */
-#if ('\x80' < 0)
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
-#else
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
-#endif
-
-/*
- * Maximum and minimum values for ints.
- */
-#define INT_MAX 2147483647
-#define INT_MIN (-INT_MAX-1)
-
-#define UINT_MAX 0xffffffff
-
-/*
- * Maximum and minimum values for shorts.
- */
-#define SHRT_MAX 32767
-#define SHRT_MIN (-SHRT_MAX-1)
-
-#define USHRT_MAX 0xffff
-
-/*
- * Maximum and minimum values for longs and unsigned longs.
- *
- * TODO: This is not correct for Alphas, which have 64 bit longs.
- */
-#define LONG_MAX 2147483647L
-
-#define LONG_MIN (-LONG_MAX-1)
-
-#define ULONG_MAX 0xffffffffUL
-
-
-/*
- * The GNU C compiler also allows 'long long int'
- */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-
-#define LONG_LONG_MAX 9223372036854775807LL
-#define LONG_LONG_MIN (-LONG_LONG_MAX-1)
-
-#define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1)
-
-/* ISO C9x macro names */
-#define LLONG_MAX LONG_LONG_MAX
-#define LLONG_MIN LONG_LONG_MIN
-#define ULLONG_MAX ULONG_LONG_MAX
-
-#endif /* Not Strict ANSI and GNU C compiler */
-
-
-#endif /* not _LIMITS_H_ */
+/* + * limits.h + * + * Defines constants for the sizes of integral types. + * + * NOTE: GCC should supply a version of this header and it should be safe to + * use that version instead of this one (maybe safer). + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _LIMITS_H_ +#define _LIMITS_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * File system limits + * + * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the + * same as FILENAME_MAX and FOPEN_MAX from stdio.h? + * NOTE: Apparently the actual size of PATH_MAX is 260, but a space is + * required for the NUL. TODO: Test? + */ +#define PATH_MAX (259) + +/* + * Characteristics of the char data type. + * + * TODO: Is MB_LEN_MAX correct? + */ +#define CHAR_BIT 8 +#define MB_LEN_MAX 2 + +#define SCHAR_MIN (-128) +#define SCHAR_MAX 127 + +#define UCHAR_MAX 255 + +/* TODO: Is this safe? I think it might just be testing the preprocessor, + * not the compiler itself... */ +#if ('\x80' < 0) +#define CHAR_MIN SCHAR_MIN +#define CHAR_MAX SCHAR_MAX +#else +#define CHAR_MIN 0 +#define CHAR_MAX UCHAR_MAX +#endif + +/* + * Maximum and minimum values for ints. + */ +#define INT_MAX 2147483647 +#define INT_MIN (-INT_MAX-1) + +#define UINT_MAX 0xffffffff + +/* + * Maximum and minimum values for shorts. + */ +#define SHRT_MAX 32767 +#define SHRT_MIN (-SHRT_MAX-1) + +#define USHRT_MAX 0xffff + +/* + * Maximum and minimum values for longs and unsigned longs. + * + * TODO: This is not correct for Alphas, which have 64 bit longs. + */ +#define LONG_MAX 2147483647L + +#define LONG_MIN (-LONG_MAX-1) + +#define ULONG_MAX 0xffffffffUL + + +/* + * The GNU C compiler also allows 'long long int' + */ +#if !defined(__STRICT_ANSI__) && defined(__GNUC__) + +#define LONG_LONG_MAX 9223372036854775807LL +#define LONG_LONG_MIN (-LONG_LONG_MAX-1) + +#define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1) + +/* ISO C9x macro names */ +#define LLONG_MAX LONG_LONG_MAX +#define LLONG_MIN LONG_LONG_MIN +#define ULLONG_MAX ULONG_LONG_MAX + +#endif /* Not Strict ANSI and GNU C compiler */ + + +#endif /* not _LIMITS_H_ */ diff --git a/win32/include/locale.h b/win32/include/locale.h index 9fbcd70..d0da14d 100644 --- a/win32/include/locale.h +++ b/win32/include/locale.h @@ -1,100 +1,100 @@ -/*
- * locale.h
- *
- * Functions and types for localization (ie. changing the appearance of
- * output based on the standards of a certain country).
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _LOCALE_H_
-#define _LOCALE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * NOTE: I have tried to test this, but I am limited by my knowledge of
- * locale issues. The structure does not bomb if you look at the
- * values, and 'decimal_point' even seems to be correct. But the
- * rest of the values are, by default, not particularly useful
- * (read meaningless and not related to the international settings
- * of the system).
- */
-
-#define LC_ALL 0
-#define LC_COLLATE 1
-#define LC_CTYPE 2
-#define LC_MONETARY 3
-#define LC_NUMERIC 4
-#define LC_TIME 5
-#define LC_MIN LC_ALL
-#define LC_MAX LC_TIME
-
-#ifndef RC_INVOKED
-
-/*
- * The structure returned by 'localeconv'.
- */
-struct lconv
-{
- char* decimal_point;
- char* thousands_sep;
- char* grouping;
- char* int_curr_symbol;
- char* currency_symbol;
- char* mon_decimal_point;
- char* mon_thousands_sep;
- char* mon_grouping;
- char* positive_sign;
- char* negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-char* setlocale (int, const char*);
-struct lconv* localeconv (void);
-
-#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */
-# define __need_wchar_t
-# include <stddef.h>
- wchar_t* _wsetlocale(int, const wchar_t*);
-# define _WLOCALE_DEFINED
-#endif /* ndef _WLOCALE_DEFINED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _LOCALE_H_ */
-
+/* + * locale.h + * + * Functions and types for localization (ie. changing the appearance of + * output based on the standards of a certain country). + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _LOCALE_H_ +#define _LOCALE_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * NOTE: I have tried to test this, but I am limited by my knowledge of + * locale issues. The structure does not bomb if you look at the + * values, and 'decimal_point' even seems to be correct. But the + * rest of the values are, by default, not particularly useful + * (read meaningless and not related to the international settings + * of the system). + */ + +#define LC_ALL 0 +#define LC_COLLATE 1 +#define LC_CTYPE 2 +#define LC_MONETARY 3 +#define LC_NUMERIC 4 +#define LC_TIME 5 +#define LC_MIN LC_ALL +#define LC_MAX LC_TIME + +#ifndef RC_INVOKED + +/* + * The structure returned by 'localeconv'. + */ +struct lconv +{ + char* decimal_point; + char* thousands_sep; + char* grouping; + char* int_curr_symbol; + char* currency_symbol; + char* mon_decimal_point; + char* mon_thousands_sep; + char* mon_grouping; + char* positive_sign; + char* negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; +}; + +#ifdef __cplusplus +extern "C" { +#endif + +char* setlocale (int, const char*); +struct lconv* localeconv (void); + +#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */ +# define __need_wchar_t +# include <stddef.h> + wchar_t* _wsetlocale(int, const wchar_t*); +# define _WLOCALE_DEFINED +#endif /* ndef _WLOCALE_DEFINED */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _LOCALE_H_ */ + diff --git a/win32/include/malloc.h b/win32/include/malloc.h index 1816d69..ca42596 100644 --- a/win32/include/malloc.h +++ b/win32/include/malloc.h @@ -1,87 +1,87 @@ -/*
- * malloc.h
- *
- * Support for programs which want to use malloc.h to get memory management
- * functions. Unless you absolutely need some of these functions and they are
- * not in the ANSI headers you should use the ANSI standard header files
- * instead.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _MALLOC_H_
-#define _MALLOC_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <stdlib.h>
-
-#ifndef RC_INVOKED
-
-/*
- * The structure used to walk through the heap with _heapwalk.
- */
-typedef struct _heapinfo
-{
- int* _pentry;
- size_t _size;
- int _useflag;
-} _HEAPINFO;
-
-/* Values for _heapinfo.useflag */
-#define _USEDENTRY 0
-#define _FREEENTRY 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- The _heap* memory allocation functions are supported on NT
- but not W9x. On latter, they always set errno to ENOSYS.
-*/
-int _heapwalk (_HEAPINFO*);
-
-#ifndef _NO_OLDNAMES
-int heapwalk (_HEAPINFO*);
-#endif /* Not _NO_OLDNAMES */
-
-int _heapchk (void); /* Verify heap integrety. */
-int _heapmin (void); /* Return unused heap to the OS. */
-int _heapset (unsigned int);
-
-size_t _msize (void*);
-size_t _get_sbh_threshold (void);
-int _set_sbh_threshold (size_t);
-void * _expand (void*, size_t);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* RC_INVOKED */
-
-#endif /* Not _MALLOC_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * malloc.h + * + * Support for programs which want to use malloc.h to get memory management + * functions. Unless you absolutely need some of these functions and they are + * not in the ANSI headers you should use the ANSI standard header files + * instead. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _MALLOC_H_ +#define _MALLOC_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#include <stdlib.h> + +#ifndef RC_INVOKED + +/* + * The structure used to walk through the heap with _heapwalk. + */ +typedef struct _heapinfo +{ + int* _pentry; + size_t _size; + int _useflag; +} _HEAPINFO; + +/* Values for _heapinfo.useflag */ +#define _USEDENTRY 0 +#define _FREEENTRY 1 + +#ifdef __cplusplus +extern "C" { +#endif +/* + The _heap* memory allocation functions are supported on NT + but not W9x. On latter, they always set errno to ENOSYS. +*/ +int _heapwalk (_HEAPINFO*); + +#ifndef _NO_OLDNAMES +int heapwalk (_HEAPINFO*); +#endif /* Not _NO_OLDNAMES */ + +int _heapchk (void); /* Verify heap integrety. */ +int _heapmin (void); /* Return unused heap to the OS. */ +int _heapset (unsigned int); + +size_t _msize (void*); +size_t _get_sbh_threshold (void); +int _set_sbh_threshold (size_t); +void * _expand (void*, size_t); + +#ifdef __cplusplus +} +#endif + +#endif /* RC_INVOKED */ + +#endif /* Not _MALLOC_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/math.h b/win32/include/math.h index 72210e9..ffb133a 100644 --- a/win32/include/math.h +++ b/win32/include/math.h @@ -1,438 +1,438 @@ -/*
- * math.h
- *
- * Mathematical functions.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _MATH_H_
-#define _MATH_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Types for the _exception structure.
- */
-
-#define _DOMAIN 1 /* domain error in argument */
-#define _SING 2 /* singularity */
-#define _OVERFLOW 3 /* range overflow */
-#define _UNDERFLOW 4 /* range underflow */
-#define _TLOSS 5 /* total loss of precision */
-#define _PLOSS 6 /* partial loss of precision */
-
-/*
- * Exception types with non-ANSI names for compatibility.
- */
-
-#ifndef __STRICT_ANSI__
-#ifndef _NO_OLDNAMES
-
-#define DOMAIN _DOMAIN
-#define SING _SING
-#define OVERFLOW _OVERFLOW
-#define UNDERFLOW _UNDERFLOW
-#define TLOSS _TLOSS
-#define PLOSS _PLOSS
-
-#endif /* Not _NO_OLDNAMES */
-#endif /* Not __STRICT_ANSI__ */
-
-
-/* These are also defined in Mingw float.h; needed here as well to work
- around GCC build issues. */
-#ifndef __STRICT_ANSI__
-#ifndef __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED 1
-/* IEEE 754 classication */
-#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
-#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
-#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
-#define _FPCLASS_NN 0x0008 /* Negative Normal */
-#define _FPCLASS_ND 0x0010 /* Negative Denormal */
-#define _FPCLASS_NZ 0x0020 /* Negative Zero */
-#define _FPCLASS_PZ 0x0040 /* Positive Zero */
-#define _FPCLASS_PD 0x0080 /* Positive Denormal */
-#define _FPCLASS_PN 0x0100 /* Positive Normal */
-#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
-#endif /* __MINGW_FPCLASS_DEFINED */
-#endif /* Not __STRICT_ANSI__ */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * HUGE_VAL is returned by strtod when the value would overflow the
- * representation of 'double'. There are other uses as well.
- *
- * __imp__HUGE is a pointer to the actual variable _HUGE in
- * MSVCRT.DLL. If we used _HUGE directly we would get a pointer
- * to a thunk function.
- *
- * NOTE: The CRTDLL version uses _HUGE_dll instead.
- */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-#ifdef __MSVCRT__
-extern double* __imp__HUGE;
-#define HUGE_VAL (*__imp__HUGE)
-#else
-/* CRTDLL */
-extern double* __imp__HUGE_dll;
-#define HUGE_VAL (*__imp__HUGE_dll)
-#endif
-
-#else /* __DECLSPEC_SUPPORTED */
-
-#ifdef __MSVCRT__
-__MINGW_IMPORT double _HUGE;
-#define HUGE_VAL _HUGE
-#else
-/* CRTDLL */
-__MINGW_IMPORT double _HUGE_dll;
-#define HUGE_VAL _HUGE_dll
-#endif
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-struct _exception
-{
- int type;
- char *name;
- double arg1;
- double arg2;
- double retval;
-};
-
-
-double sin (double);
-double cos (double);
-double tan (double);
-double sinh (double);
-double cosh (double);
-double tanh (double);
-double asin (double);
-double acos (double);
-double atan (double);
-double atan2 (double, double);
-double exp (double);
-double log (double);
-double log10 (double);
-double pow (double, double);
-double sqrt (double);
-double ceil (double);
-double floor (double);
-double fabs (double);
-double ldexp (double, int);
-double frexp (double, int*);
-double modf (double, double*);
-double fmod (double, double);
-
-
-#ifndef __STRICT_ANSI__
-
-/* Complex number (for cabs) */
-struct _complex
-{
- double x; /* Real part */
- double y; /* Imaginary part */
-};
-
-double _cabs (struct _complex);
-double _hypot (double, double);
-double _j0 (double);
-double _j1 (double);
-double _jn (int, double);
-double _y0 (double);
-double _y1 (double);
-double _yn (int, double);
-int _matherr (struct _exception *);
-
-/* These are also declared in Mingw float.h; needed here as well to work
- around GCC build issues. */
-/* BEGIN FLOAT.H COPY */
-/*
- * IEEE recommended functions
- */
-
-double _chgsign (double);
-double _copysign (double, double);
-double _logb (double);
-double _nextafter (double, double);
-double _scalb (double, long);
-
-int _finite (double);
-int _fpclass (double);
-int _isnan (double);
-
-/* END FLOAT.H COPY */
-
-#if !defined (_NO_OLDNAMES) \
- || (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L )
-
-/*
- * Non-underscored versions of non-ANSI functions. These reside in
- * liboldnames.a. They are now also ISO C99 standand names.
- * Provided for extra portability.
- */
-
-double cabs (struct _complex);
-double hypot (double, double);
-double j0 (double);
-double j1 (double);
-double jn (int, double);
-double y0 (double);
-double y1 (double);
-double yn (int, double);
-
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Not RC_INVOKED */
-
-
-#ifndef __NO_ISOCEXT
-
-#define INFINITY HUGE_VAL
-#define NAN (0.0F/0.0F)
-
-/*
- Return values for fpclassify.
- These are based on Intel x87 fpu condition codes
- in the high byte of status word and differ from
- the return values for MS IEEE 754 extension _fpclass()
-*/
-#define FP_NAN 0x0100
-#define FP_NORMAL 0x0400
-#define FP_INFINITE (FP_NAN | FP_NORMAL)
-#define FP_ZERO 0x4000
-#define FP_SUBNORMAL (FP_NORMAL | FP_ZERO)
-/* 0x0200 is signbit mask */
-
-#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-double nan(const char *tagp);
-float nanf(const char *tagp);
-
-#ifndef __STRICT_ANSI__
-#define nan() nan("")
-#define nanf() nanf("")
-#endif
-
-
-/*
- We can't inline float, because we want to ensure truncation
- to semantic type before classification. If we extend to long
- double, we will also need to make double extern only.
- (A normal long double value might become subnormal when
- converted to double, and zero when converted to float.)
-*/
-extern __inline__ int __fpclassify (double x){
- unsigned short sw;
- __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
- return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
-
-extern int __fpclassifyf (float);
-
-#define fpclassify(x) ((sizeof(x) == sizeof(float)) ? __fpclassifyf(x) \
- : __fpclassify(x))
-
-/* We don't need to worry about trucation here:
- A NaN stays a NaN. */
-
-extern __inline__ int __isnan (double _x)
-{
- unsigned short sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (sw) : "t" (_x));
- return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-extern __inline__ int __isnanf (float _x)
-{
- unsigned short sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (sw) : "t" (_x));
- return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-#define isnan(x) ((sizeof(x) == sizeof(float)) ? __isnanf(x) \
- : __isnan(x))
-
-
-#define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
-#define isinf(x) (fpclassify(x) == FP_INFINITE)
-#define isnormal(x) (fpclassify(x) == FP_NORMAL)
-
-
-extern __inline__ int __signbit (double x) {
- unsigned short stw;
- __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return stw & 0x0200;
-}
-
-extern __inline__ int __signbitf (float x) {
- unsigned short stw;
- __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return stw & 0x0200;
-}
-
-#define signbit(x) ((sizeof(x) == sizeof(float)) ? __signbitf(x) \
- : __signbit(x))
-/*
- * With these functions, comparisons involving quiet NaNs set the FP
- * condition code to "unordered". The IEEE floating-point spec
- * dictates that the result of floating-point comparisons should be
- * false whenever a NaN is involved, with the exception of the !=,
- * which always returns true.
- */
-
-#if __GNUC__ >= 3
-
-#define isgreater(x, y) __builtin_isgreater(x, y)
-#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
-#define isless(x, y) __builtin_isless(x, y)
-#define islessequal(x, y) __builtin_islessequal(x, y)
-#define islessgreater(x, y) __builtin_islessgreater(x, y)
-#define isunordered(x, y) __builtin_isunordered(x, y)
-
-#else
-/* helper */
-extern __inline__ int __fp_unordered_compare (double x, double y){
- unsigned short retval;
- __asm__ ("fucom %%st(1);"
- "fnstsw;": "=a" (retval) : "t" (x), "u" (y));
- return retval;
-}
-
-#define isgreater(x, y) ((__fp_unordered_compare(x, y) \
- & 0x4500) == 0)
-#define isless(x, y) ((__fp_unordered_compare (y, x) \
- & 0x4500) == 0)
-#define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \
- & FP_INFINITE) == 0)
-#define islessequal(x, y) ((__fp_unordered_compare(y, x) \
- & FP_INFINITE) == 0)
-#define islessgreater(x, y) ((__fp_unordered_compare(x, y) \
- & FP_SUBNORMAL) == 0)
-#define isunordered(x, y) ((__fp_unordered_compare(x, y) \
- & 0x4500) == 0x4500)
-
-#endif
-
-/* round, using fpu control word settings */
-extern __inline__ double rint (double x)
-{
- double retval;
- __asm__ ("frndint;": "=t" (retval) : "0" (x));
- return retval;
-}
-
-extern __inline__ float rintf (float x)
-{
- float retval;
- __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
- return retval;
-}
-
-/* round away from zero, regardless of fpu control word settings */
-extern double round (double);
-extern float roundf (float);
-
-/* round towards zero, regardless of fpu control word settings */
-extern double trunc (double);
-extern float truncf (float);
-
-
-/* fmax and fmin.
- NaN arguments are treated as missing data: if one argument is a NaN and the other numeric, then the
- these functions choose the numeric value.
-*/
-
-extern double fmax (double, double);
-extern double fmin (double, double);
-extern float fmaxf (float, float);
-float fminf (float, float);
-
-/* return x * y + z as a ternary op */
-extern double fma (double, double, double);
-extern float fmaf (float, float, float);
-
-/* one lonely transcendental */
-extern double log2 (double _x);
-extern float log2f (float _x);
-
-/* The underscored versions are in MSVCRT.dll.
- The stubs for these are in libmingwex.a */
-
-double copysign (double, double);
-float copysignf (float, float);
-double logb (double);
-float logbf (float);
-double nextafter (double, double);
-float nextafterf (float, float);
-double scalb (double, long);
-float scalbf (float, long);
-
-#if !defined (__STRICT_ANSI__) /* inline using non-ANSI functions */
-extern __inline__ double copysign (double x, double y)
- { return _copysign(x, y); }
-extern __inline__ float copysignf (float x, float y)
- { return _copysign(x, y); }
-extern __inline__ double logb (double x)
- { return _logb(x); }
-extern __inline__ float logbf (float x)
- { return _logb(x); }
-extern __inline__ double nextafter(double x, double y)
- { return _nextafter(x, y); }
-extern __inline__ float nextafterf(float x, float y)
- { return _nextafter(x, y); }
-extern __inline__ double scalb (double x, long i)
- { return _scalb (x, i); }
-extern __inline__ float scalbf (float x, long i)
- { return _scalb(x, i); }
-#endif /* (__STRICT_ANSI__) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Not RC_INVOKED */
-
-#endif /* __NO_ISOCEXT */
-
-#endif /* Not _MATH_H_ */
-
+/* + * math.h + * + * Mathematical functions. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _MATH_H_ +#define _MATH_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * Types for the _exception structure. + */ + +#define _DOMAIN 1 /* domain error in argument */ +#define _SING 2 /* singularity */ +#define _OVERFLOW 3 /* range overflow */ +#define _UNDERFLOW 4 /* range underflow */ +#define _TLOSS 5 /* total loss of precision */ +#define _PLOSS 6 /* partial loss of precision */ + +/* + * Exception types with non-ANSI names for compatibility. + */ + +#ifndef __STRICT_ANSI__ +#ifndef _NO_OLDNAMES + +#define DOMAIN _DOMAIN +#define SING _SING +#define OVERFLOW _OVERFLOW +#define UNDERFLOW _UNDERFLOW +#define TLOSS _TLOSS +#define PLOSS _PLOSS + +#endif /* Not _NO_OLDNAMES */ +#endif /* Not __STRICT_ANSI__ */ + + +/* These are also defined in Mingw float.h; needed here as well to work + around GCC build issues. */ +#ifndef __STRICT_ANSI__ +#ifndef __MINGW_FPCLASS_DEFINED +#define __MINGW_FPCLASS_DEFINED 1 +/* IEEE 754 classication */ +#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ +#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ +#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ +#define _FPCLASS_NN 0x0008 /* Negative Normal */ +#define _FPCLASS_ND 0x0010 /* Negative Denormal */ +#define _FPCLASS_NZ 0x0020 /* Negative Zero */ +#define _FPCLASS_PZ 0x0040 /* Positive Zero */ +#define _FPCLASS_PD 0x0080 /* Positive Denormal */ +#define _FPCLASS_PN 0x0100 /* Positive Normal */ +#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ +#endif /* __MINGW_FPCLASS_DEFINED */ +#endif /* Not __STRICT_ANSI__ */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * HUGE_VAL is returned by strtod when the value would overflow the + * representation of 'double'. There are other uses as well. + * + * __imp__HUGE is a pointer to the actual variable _HUGE in + * MSVCRT.DLL. If we used _HUGE directly we would get a pointer + * to a thunk function. + * + * NOTE: The CRTDLL version uses _HUGE_dll instead. + */ + +#ifndef __DECLSPEC_SUPPORTED + +#ifdef __MSVCRT__ +extern double* __imp__HUGE; +#define HUGE_VAL (*__imp__HUGE) +#else +/* CRTDLL */ +extern double* __imp__HUGE_dll; +#define HUGE_VAL (*__imp__HUGE_dll) +#endif + +#else /* __DECLSPEC_SUPPORTED */ + +#ifdef __MSVCRT__ +__MINGW_IMPORT double _HUGE; +#define HUGE_VAL _HUGE +#else +/* CRTDLL */ +__MINGW_IMPORT double _HUGE_dll; +#define HUGE_VAL _HUGE_dll +#endif + +#endif /* __DECLSPEC_SUPPORTED */ + +struct _exception +{ + int type; + char *name; + double arg1; + double arg2; + double retval; +}; + + +double sin (double); +double cos (double); +double tan (double); +double sinh (double); +double cosh (double); +double tanh (double); +double asin (double); +double acos (double); +double atan (double); +double atan2 (double, double); +double exp (double); +double log (double); +double log10 (double); +double pow (double, double); +double sqrt (double); +double ceil (double); +double floor (double); +double fabs (double); +double ldexp (double, int); +double frexp (double, int*); +double modf (double, double*); +double fmod (double, double); + + +#ifndef __STRICT_ANSI__ + +/* Complex number (for cabs) */ +struct _complex +{ + double x; /* Real part */ + double y; /* Imaginary part */ +}; + +double _cabs (struct _complex); +double _hypot (double, double); +double _j0 (double); +double _j1 (double); +double _jn (int, double); +double _y0 (double); +double _y1 (double); +double _yn (int, double); +int _matherr (struct _exception *); + +/* These are also declared in Mingw float.h; needed here as well to work + around GCC build issues. */ +/* BEGIN FLOAT.H COPY */ +/* + * IEEE recommended functions + */ + +double _chgsign (double); +double _copysign (double, double); +double _logb (double); +double _nextafter (double, double); +double _scalb (double, long); + +int _finite (double); +int _fpclass (double); +int _isnan (double); + +/* END FLOAT.H COPY */ + +#if !defined (_NO_OLDNAMES) \ + || (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L ) + +/* + * Non-underscored versions of non-ANSI functions. These reside in + * liboldnames.a. They are now also ISO C99 standand names. + * Provided for extra portability. + */ + +double cabs (struct _complex); +double hypot (double, double); +double j0 (double); +double j1 (double); +double jn (int, double); +double y0 (double); +double y1 (double); +double yn (int, double); + +#endif /* Not _NO_OLDNAMES */ + +#endif /* Not __STRICT_ANSI__ */ + +#ifdef __cplusplus +} +#endif +#endif /* Not RC_INVOKED */ + + +#ifndef __NO_ISOCEXT + +#define INFINITY HUGE_VAL +#define NAN (0.0F/0.0F) + +/* + Return values for fpclassify. + These are based on Intel x87 fpu condition codes + in the high byte of status word and differ from + the return values for MS IEEE 754 extension _fpclass() +*/ +#define FP_NAN 0x0100 +#define FP_NORMAL 0x0400 +#define FP_INFINITE (FP_NAN | FP_NORMAL) +#define FP_ZERO 0x4000 +#define FP_SUBNORMAL (FP_NORMAL | FP_ZERO) +/* 0x0200 is signbit mask */ + +#ifndef RC_INVOKED +#ifdef __cplusplus +extern "C" { +#endif + +double nan(const char *tagp); +float nanf(const char *tagp); + +#ifndef __STRICT_ANSI__ +#define nan() nan("") +#define nanf() nanf("") +#endif + + +/* + We can't inline float, because we want to ensure truncation + to semantic type before classification. If we extend to long + double, we will also need to make double extern only. + (A normal long double value might become subnormal when + converted to double, and zero when converted to float.) +*/ +extern __inline__ int __fpclassify (double x){ + unsigned short sw; + __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); + return sw & (FP_NAN | FP_NORMAL | FP_ZERO ); +} + +extern int __fpclassifyf (float); + +#define fpclassify(x) ((sizeof(x) == sizeof(float)) ? __fpclassifyf(x) \ + : __fpclassify(x)) + +/* We don't need to worry about trucation here: + A NaN stays a NaN. */ + +extern __inline__ int __isnan (double _x) +{ + unsigned short sw; + __asm__ ("fxam;" + "fstsw %%ax": "=a" (sw) : "t" (_x)); + return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) + == FP_NAN; +} + +extern __inline__ int __isnanf (float _x) +{ + unsigned short sw; + __asm__ ("fxam;" + "fstsw %%ax": "=a" (sw) : "t" (_x)); + return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) + == FP_NAN; +} + +#define isnan(x) ((sizeof(x) == sizeof(float)) ? __isnanf(x) \ + : __isnan(x)) + + +#define isfinite(x) ((fpclassify(x) & FP_NAN) == 0) +#define isinf(x) (fpclassify(x) == FP_INFINITE) +#define isnormal(x) (fpclassify(x) == FP_NORMAL) + + +extern __inline__ int __signbit (double x) { + unsigned short stw; + __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); + return stw & 0x0200; +} + +extern __inline__ int __signbitf (float x) { + unsigned short stw; + __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); + return stw & 0x0200; +} + +#define signbit(x) ((sizeof(x) == sizeof(float)) ? __signbitf(x) \ + : __signbit(x)) +/* + * With these functions, comparisons involving quiet NaNs set the FP + * condition code to "unordered". The IEEE floating-point spec + * dictates that the result of floating-point comparisons should be + * false whenever a NaN is involved, with the exception of the !=, + * which always returns true. + */ + +#if __GNUC__ >= 3 + +#define isgreater(x, y) __builtin_isgreater(x, y) +#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) +#define isless(x, y) __builtin_isless(x, y) +#define islessequal(x, y) __builtin_islessequal(x, y) +#define islessgreater(x, y) __builtin_islessgreater(x, y) +#define isunordered(x, y) __builtin_isunordered(x, y) + +#else +/* helper */ +extern __inline__ int __fp_unordered_compare (double x, double y){ + unsigned short retval; + __asm__ ("fucom %%st(1);" + "fnstsw;": "=a" (retval) : "t" (x), "u" (y)); + return retval; +} + +#define isgreater(x, y) ((__fp_unordered_compare(x, y) \ + & 0x4500) == 0) +#define isless(x, y) ((__fp_unordered_compare (y, x) \ + & 0x4500) == 0) +#define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \ + & FP_INFINITE) == 0) +#define islessequal(x, y) ((__fp_unordered_compare(y, x) \ + & FP_INFINITE) == 0) +#define islessgreater(x, y) ((__fp_unordered_compare(x, y) \ + & FP_SUBNORMAL) == 0) +#define isunordered(x, y) ((__fp_unordered_compare(x, y) \ + & 0x4500) == 0x4500) + +#endif + +/* round, using fpu control word settings */ +extern __inline__ double rint (double x) +{ + double retval; + __asm__ ("frndint;": "=t" (retval) : "0" (x)); + return retval; +} + +extern __inline__ float rintf (float x) +{ + float retval; + __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); + return retval; +} + +/* round away from zero, regardless of fpu control word settings */ +extern double round (double); +extern float roundf (float); + +/* round towards zero, regardless of fpu control word settings */ +extern double trunc (double); +extern float truncf (float); + + +/* fmax and fmin. + NaN arguments are treated as missing data: if one argument is a NaN and the other numeric, then the + these functions choose the numeric value. +*/ + +extern double fmax (double, double); +extern double fmin (double, double); +extern float fmaxf (float, float); +float fminf (float, float); + +/* return x * y + z as a ternary op */ +extern double fma (double, double, double); +extern float fmaf (float, float, float); + +/* one lonely transcendental */ +extern double log2 (double _x); +extern float log2f (float _x); + +/* The underscored versions are in MSVCRT.dll. + The stubs for these are in libmingwex.a */ + +double copysign (double, double); +float copysignf (float, float); +double logb (double); +float logbf (float); +double nextafter (double, double); +float nextafterf (float, float); +double scalb (double, long); +float scalbf (float, long); + +#if !defined (__STRICT_ANSI__) /* inline using non-ANSI functions */ +extern __inline__ double copysign (double x, double y) + { return _copysign(x, y); } +extern __inline__ float copysignf (float x, float y) + { return _copysign(x, y); } +extern __inline__ double logb (double x) + { return _logb(x); } +extern __inline__ float logbf (float x) + { return _logb(x); } +extern __inline__ double nextafter(double x, double y) + { return _nextafter(x, y); } +extern __inline__ float nextafterf(float x, float y) + { return _nextafter(x, y); } +extern __inline__ double scalb (double x, long i) + { return _scalb (x, i); } +extern __inline__ float scalbf (float x, long i) + { return _scalb(x, i); } +#endif /* (__STRICT_ANSI__) */ + +#ifdef __cplusplus +} +#endif +#endif /* Not RC_INVOKED */ + +#endif /* __NO_ISOCEXT */ + +#endif /* Not _MATH_H_ */ + diff --git a/win32/include/mem.h b/win32/include/mem.h index fcad7c9..20c8fa4 100644 --- a/win32/include/mem.h +++ b/win32/include/mem.h @@ -1,8 +1,8 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * mem.h maps to string.h
- */
-#ifndef __STRICT_ANSI__
-#include <string.h>
-#endif
+/* + * This file is part of the Mingw32 package. + * + * mem.h maps to string.h + */ +#ifndef __STRICT_ANSI__ +#include <string.h> +#endif diff --git a/win32/include/memory.h b/win32/include/memory.h index d0ed8ad..e0c91d6 100644 --- a/win32/include/memory.h +++ b/win32/include/memory.h @@ -1,9 +1,9 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * memory.h maps to the standard string.h header.
- */
-#ifndef __STRICT_ANSI__
-#include <string.h>
-#endif
-
+/* + * This file is part of the Mingw32 package. + * + * memory.h maps to the standard string.h header. + */ +#ifndef __STRICT_ANSI__ +#include <string.h> +#endif + diff --git a/win32/include/process.h b/win32/include/process.h index 238783a..3d764df 100644 --- a/win32/include/process.h +++ b/win32/include/process.h @@ -1,158 +1,158 @@ -/*
- * process.h
- *
- * Function calls for spawning child processes.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _PROCESS_H_
-#define _PROCESS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* Includes a definition of _pid_t and pid_t */
-#include <sys/types.h>
-
-/*
- * Constants for cwait actions.
- * Obsolete for Win32.
- */
-#define _WAIT_CHILD 0
-#define _WAIT_GRANDCHILD 1
-
-#ifndef _NO_OLDNAMES
-#define WAIT_CHILD _WAIT_CHILD
-#define WAIT_GRANDCHILD _WAIT_GRANDCHILD
-#endif /* Not _NO_OLDNAMES */
-
-/*
- * Mode constants for spawn functions.
- */
-#define _P_WAIT 0
-#define _P_NOWAIT 1
-#define _P_OVERLAY 2
-#define _OLD_P_OVERLAY _P_OVERLAY
-#define _P_NOWAITO 3
-#define _P_DETACH 4
-
-#ifndef _NO_OLDNAMES
-#define P_WAIT _P_WAIT
-#define P_NOWAIT _P_NOWAIT
-#define P_OVERLAY _P_OVERLAY
-#define OLD_P_OVERLAY _OLD_P_OVERLAY
-#define P_NOWAITO _P_NOWAITO
-#define P_DETACH _P_DETACH
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void _cexit(void);
-void _c_exit(void);
-
-int _cwait (int*, _pid_t, int);
-
-_pid_t _getpid(void);
-
-int _execl (const char*, const char*, ...);
-int _execle (const char*, const char*, ...);
-int _execlp (const char*, const char*, ...);
-int _execlpe (const char*, const char*, ...);
-int _execv (const char*, char* const*);
-int _execve (const char*, char* const*, char* const*);
-int _execvp (const char*, char* const*);
-int _execvpe (const char*, char* const*, char* const*);
-
-int _spawnl (int, const char*, const char*, ...);
-int _spawnle (int, const char*, const char*, ...);
-int _spawnlp (int, const char*, const char*, ...);
-int _spawnlpe (int, const char*, const char*, ...);
-int _spawnv (int, const char*, char* const*);
-int _spawnve (int, const char*, char* const*, char* const*);
-int _spawnvp (int, const char*, char* const*);
-int _spawnvpe (int, const char*, char* const*, char* const*);
-
-/*
- * The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
- * They are provided by MSVCRT.
- *
- * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread,
- * making for race conditions if you are not careful. Basically you have to
- * make sure that no-one is going to do *anything* with the thread handle
- * after the thread calls _endthread or returns from the thread function.
- *
- * NOTE: No old names for these functions. Use the underscore.
- */
-unsigned long
- _beginthread (void (*)(void *), unsigned, void*);
-void _endthread (void);
-
-#ifdef __MSVCRT__
-unsigned long
- _beginthreadex (void *, unsigned, unsigned (__stdcall *) (void *),
- void*, unsigned, unsigned*);
-void _endthreadex (unsigned);
-#endif
-
-
-#ifndef _NO_OLDNAMES
-/*
- * Functions without the leading underscore, for portability. These functions
- * live in liboldnames.a.
- */
-int cwait (int*, pid_t, int);
-pid_t getpid (void);
-int execl (const char*, const char*, ...);
-int execle (const char*, const char*, ...);
-int execlp (const char*, const char*, ...);
-int execlpe (const char*, const char*, ...);
-int execv (const char*, char* const*);
-int execve (const char*, char* const*, char* const*);
-int execvp (const char*, char* const*);
-int execvpe (const char*, char* const*, char* const*);
-int spawnl (int, const char*, const char*, ...);
-int spawnle (int, const char*, const char*, ...);
-int spawnlp (int, const char*, const char*, ...);
-int spawnlpe (int, const char*, const char*, ...);
-int spawnv (int, const char*, char* const*);
-int spawnve (int, const char*, char* const*, char* const*);
-int spawnvp (int, const char*, char* const*);
-int spawnvpe (int, const char*, char* const*, char* const*);
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _PROCESS_H_ not defined */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * process.h + * + * Function calls for spawning child processes. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _PROCESS_H_ +#define _PROCESS_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* Includes a definition of _pid_t and pid_t */ +#include <sys/types.h> + +/* + * Constants for cwait actions. + * Obsolete for Win32. + */ +#define _WAIT_CHILD 0 +#define _WAIT_GRANDCHILD 1 + +#ifndef _NO_OLDNAMES +#define WAIT_CHILD _WAIT_CHILD +#define WAIT_GRANDCHILD _WAIT_GRANDCHILD +#endif /* Not _NO_OLDNAMES */ + +/* + * Mode constants for spawn functions. + */ +#define _P_WAIT 0 +#define _P_NOWAIT 1 +#define _P_OVERLAY 2 +#define _OLD_P_OVERLAY _P_OVERLAY +#define _P_NOWAITO 3 +#define _P_DETACH 4 + +#ifndef _NO_OLDNAMES +#define P_WAIT _P_WAIT +#define P_NOWAIT _P_NOWAIT +#define P_OVERLAY _P_OVERLAY +#define OLD_P_OVERLAY _OLD_P_OVERLAY +#define P_NOWAITO _P_NOWAITO +#define P_DETACH _P_DETACH +#endif /* Not _NO_OLDNAMES */ + + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +void _cexit(void); +void _c_exit(void); + +int _cwait (int*, _pid_t, int); + +_pid_t _getpid(void); + +int _execl (const char*, const char*, ...); +int _execle (const char*, const char*, ...); +int _execlp (const char*, const char*, ...); +int _execlpe (const char*, const char*, ...); +int _execv (const char*, char* const*); +int _execve (const char*, char* const*, char* const*); +int _execvp (const char*, char* const*); +int _execvpe (const char*, char* const*, char* const*); + +int _spawnl (int, const char*, const char*, ...); +int _spawnle (int, const char*, const char*, ...); +int _spawnlp (int, const char*, const char*, ...); +int _spawnlpe (int, const char*, const char*, ...); +int _spawnv (int, const char*, char* const*); +int _spawnve (int, const char*, char* const*, char* const*); +int _spawnvp (int, const char*, char* const*); +int _spawnvpe (int, const char*, char* const*, char* const*); + +/* + * The functions _beginthreadex and _endthreadex are not provided by CRTDLL. + * They are provided by MSVCRT. + * + * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread, + * making for race conditions if you are not careful. Basically you have to + * make sure that no-one is going to do *anything* with the thread handle + * after the thread calls _endthread or returns from the thread function. + * + * NOTE: No old names for these functions. Use the underscore. + */ +unsigned long + _beginthread (void (*)(void *), unsigned, void*); +void _endthread (void); + +#ifdef __MSVCRT__ +unsigned long + _beginthreadex (void *, unsigned, unsigned (__stdcall *) (void *), + void*, unsigned, unsigned*); +void _endthreadex (unsigned); +#endif + + +#ifndef _NO_OLDNAMES +/* + * Functions without the leading underscore, for portability. These functions + * live in liboldnames.a. + */ +int cwait (int*, pid_t, int); +pid_t getpid (void); +int execl (const char*, const char*, ...); +int execle (const char*, const char*, ...); +int execlp (const char*, const char*, ...); +int execlpe (const char*, const char*, ...); +int execv (const char*, char* const*); +int execve (const char*, char* const*, char* const*); +int execvp (const char*, char* const*); +int execvpe (const char*, char* const*, char* const*); +int spawnl (int, const char*, const char*, ...); +int spawnle (int, const char*, const char*, ...); +int spawnlp (int, const char*, const char*, ...); +int spawnlpe (int, const char*, const char*, ...); +int spawnv (int, const char*, char* const*); +int spawnve (int, const char*, char* const*, char* const*); +int spawnvp (int, const char*, char* const*); +int spawnvpe (int, const char*, char* const*, char* const*); +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* _PROCESS_H_ not defined */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/setjmp.h b/win32/include/setjmp.h index 6e60a34..0d9897e 100644 --- a/win32/include/setjmp.h +++ b/win32/include/setjmp.h @@ -1,72 +1,72 @@ -/*
- * setjmp.h
- *
- * Declarations supporting setjmp and longjump, a method for avoiding
- * the normal function call return sequence. (Bleah!)
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _SETJMP_H_
-#define _SETJMP_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The buffer used by setjmp to store the information used by longjmp
- * to perform it's evil goto-like work. The size of this buffer was
- * determined through experimentation; it's contents are a mystery.
- * NOTE: This was determined on an i386 (actually a Pentium). The
- * contents could be different on an Alpha or something else.
- */
-#define _JBLEN 16
-#define _JBTYPE int
-typedef _JBTYPE jmp_buf[_JBLEN];
-
-/*
- * The function provided by CRTDLL which appears to do the actual work
- * of setjmp.
- */
-int _setjmp (jmp_buf);
-
-#define setjmp(x) _setjmp(x)
-
-/*
- * Return to the last setjmp call and act as if setjmp had returned
- * nVal (which had better be non-zero!).
- */
-void longjmp (jmp_buf, int);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _SETJMP_H_ */
-
+/* + * setjmp.h + * + * Declarations supporting setjmp and longjump, a method for avoiding + * the normal function call return sequence. (Bleah!) + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _SETJMP_H_ +#define _SETJMP_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The buffer used by setjmp to store the information used by longjmp + * to perform it's evil goto-like work. The size of this buffer was + * determined through experimentation; it's contents are a mystery. + * NOTE: This was determined on an i386 (actually a Pentium). The + * contents could be different on an Alpha or something else. + */ +#define _JBLEN 16 +#define _JBTYPE int +typedef _JBTYPE jmp_buf[_JBLEN]; + +/* + * The function provided by CRTDLL which appears to do the actual work + * of setjmp. + */ +int _setjmp (jmp_buf); + +#define setjmp(x) _setjmp(x) + +/* + * Return to the last setjmp call and act as if setjmp had returned + * nVal (which had better be non-zero!). + */ +void longjmp (jmp_buf, int); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _SETJMP_H_ */ + diff --git a/win32/include/share.h b/win32/include/share.h index 871dbeb..dd5bd45 100644 --- a/win32/include/share.h +++ b/win32/include/share.h @@ -1,44 +1,44 @@ -/*
- * share.h
- *
- * Constants for file sharing functions.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _SHARE_H_
-#define _SHARE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define SH_COMPAT 0x00 /* Compatibility */
-#define SH_DENYRW 0x10 /* Deny read/write */
-#define SH_DENYWR 0x20 /* Deny write */
-#define SH_DENYRD 0x30 /* Deny read */
-#define SH_DENYNO 0x40 /* Deny nothing */
-
-#endif /* Not _SHARE_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * share.h + * + * Constants for file sharing functions. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _SHARE_H_ +#define _SHARE_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define SH_COMPAT 0x00 /* Compatibility */ +#define SH_DENYRW 0x10 /* Deny read/write */ +#define SH_DENYWR 0x20 /* Deny write */ +#define SH_DENYRD 0x30 /* Deny read */ +#define SH_DENYNO 0x40 /* Deny nothing */ + +#endif /* Not _SHARE_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/signal.h b/win32/include/signal.h index 3ed6002..4eced96 100644 --- a/win32/include/signal.h +++ b/win32/include/signal.h @@ -1,111 +1,111 @@ -/*
- * signal.h
- *
- * A way to set handlers for exceptional conditions (also known as signals).
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _SIGNAL_H_
-#define _SIGNAL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * The actual signal values. Using other values with signal
- * produces a SIG_ERR return value.
- *
- * NOTE: SIGINT is produced when the user presses Ctrl-C.
- * SIGILL has not been tested.
- * SIGFPE doesn't seem to work?
- * SIGSEGV does not catch writing to a NULL pointer (that shuts down
- * your app; can you say "segmentation violation core dump"?).
- * SIGTERM comes from what kind of termination request exactly?
- * SIGBREAK is indeed produced by pressing Ctrl-Break.
- * SIGABRT is produced by calling abort.
- * TODO: The above results may be related to not installing an appropriate
- * structured exception handling frame. Results may be better if I ever
- * manage to get the SEH stuff down.
- */
-#define SIGINT 2 /* Interactive attention */
-#define SIGILL 4 /* Illegal instruction */
-#define SIGFPE 8 /* Floating point error */
-#define SIGSEGV 11 /* Segmentation violation */
-#define SIGTERM 15 /* Termination request */
-#define SIGBREAK 21 /* Control-break */
-#define SIGABRT 22 /* Abnormal termination (abort) */
-
-#define NSIG 23 /* maximum signal number + 1 */
-
-#ifndef RC_INVOKED
-
-#ifndef _SIG_ATOMIC_T_DEFINED
-typedef int sig_atomic_t;
-#define _SIG_ATOMIC_T_DEFINED
-#endif
-
-/*
- * The prototypes (below) are the easy part. The hard part is figuring
- * out what signals are available and what numbers they are assigned
- * along with appropriate values of SIG_DFL and SIG_IGN.
- */
-
-/*
- * A pointer to a signal handler function. A signal handler takes a
- * single int, which is the signal it handles.
- */
-typedef void (*__p_sig_fn_t)(int);
-
-/*
- * These are special values of signal handler pointers which are
- * used to send a signal to the default handler (SIG_DFL), ignore
- * the signal (SIG_IGN), or indicate an error return (SIG_ERR).
- */
-#define SIG_DFL ((__p_sig_fn_t) 0)
-#define SIG_IGN ((__p_sig_fn_t) 1)
-#define SIG_ERR ((__p_sig_fn_t) -1)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Call signal to set the signal handler for signal sig to the
- * function pointed to by handler. Returns a pointer to the
- * previous handler, or SIG_ERR if an error occurs. Initially
- * unhandled signals defined above will return SIG_DFL.
- */
-__p_sig_fn_t signal(int, __p_sig_fn_t);
-
-/*
- * Raise the signal indicated by sig. Returns non-zero on success.
- */
-int raise (int);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _SIGNAL_H_ */
-
+/* + * signal.h + * + * A way to set handlers for exceptional conditions (also known as signals). + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _SIGNAL_H_ +#define _SIGNAL_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * The actual signal values. Using other values with signal + * produces a SIG_ERR return value. + * + * NOTE: SIGINT is produced when the user presses Ctrl-C. + * SIGILL has not been tested. + * SIGFPE doesn't seem to work? + * SIGSEGV does not catch writing to a NULL pointer (that shuts down + * your app; can you say "segmentation violation core dump"?). + * SIGTERM comes from what kind of termination request exactly? + * SIGBREAK is indeed produced by pressing Ctrl-Break. + * SIGABRT is produced by calling abort. + * TODO: The above results may be related to not installing an appropriate + * structured exception handling frame. Results may be better if I ever + * manage to get the SEH stuff down. + */ +#define SIGINT 2 /* Interactive attention */ +#define SIGILL 4 /* Illegal instruction */ +#define SIGFPE 8 /* Floating point error */ +#define SIGSEGV 11 /* Segmentation violation */ +#define SIGTERM 15 /* Termination request */ +#define SIGBREAK 21 /* Control-break */ +#define SIGABRT 22 /* Abnormal termination (abort) */ + +#define NSIG 23 /* maximum signal number + 1 */ + +#ifndef RC_INVOKED + +#ifndef _SIG_ATOMIC_T_DEFINED +typedef int sig_atomic_t; +#define _SIG_ATOMIC_T_DEFINED +#endif + +/* + * The prototypes (below) are the easy part. The hard part is figuring + * out what signals are available and what numbers they are assigned + * along with appropriate values of SIG_DFL and SIG_IGN. + */ + +/* + * A pointer to a signal handler function. A signal handler takes a + * single int, which is the signal it handles. + */ +typedef void (*__p_sig_fn_t)(int); + +/* + * These are special values of signal handler pointers which are + * used to send a signal to the default handler (SIG_DFL), ignore + * the signal (SIG_IGN), or indicate an error return (SIG_ERR). + */ +#define SIG_DFL ((__p_sig_fn_t) 0) +#define SIG_IGN ((__p_sig_fn_t) 1) +#define SIG_ERR ((__p_sig_fn_t) -1) + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Call signal to set the signal handler for signal sig to the + * function pointed to by handler. Returns a pointer to the + * previous handler, or SIG_ERR if an error occurs. Initially + * unhandled signals defined above will return SIG_DFL. + */ +__p_sig_fn_t signal(int, __p_sig_fn_t); + +/* + * Raise the signal indicated by sig. Returns non-zero on success. + */ +int raise (int); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _SIGNAL_H_ */ + diff --git a/win32/include/stdint.h b/win32/include/stdint.h index ed3bfbf..71c6708 100644 --- a/win32/include/stdint.h +++ b/win32/include/stdint.h @@ -1,184 +1,184 @@ -/* ISO C9x 7.18 Integer types <stdint.h>
- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Date: 2000-12-02
- */
-
-
-#ifndef _STDINT_H
-#define _STDINT_H
-
-/* 7.18.1.1 Exact-width integer types */
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef int int32_t;
-typedef unsigned uint32_t;
-typedef long long int64_t;
-typedef unsigned long long uint64_t;
-
-/* 7.18.1.2 Minimum-width integer types */
-typedef signed char int_least8_t;
-typedef unsigned char uint_least8_t;
-typedef short int_least16_t;
-typedef unsigned short uint_least16_t;
-typedef int int_least32_t;
-typedef unsigned uint_least32_t;
-typedef long long int_least64_t;
-typedef unsigned long long uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types
- * Not actually guaranteed to be fastest for all purposes
- * Here we use the exact-width types for 8 and 16-bit ints.
- */
-typedef char int_fast8_t;
-typedef unsigned char uint_fast8_t;
-typedef short int_fast16_t;
-typedef unsigned short uint_fast16_t;
-typedef int int_fast32_t;
-typedef unsigned int uint_fast32_t;
-typedef long long int_fast64_t;
-typedef unsigned long long uint_fast64_t;
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-typedef int intptr_t;
-typedef unsigned uintptr_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-typedef long long intmax_t;
-typedef unsigned long long uintmax_t;
-
-/* 7.18.2 Limits of specified-width integer types */
-#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
-
-/* 7.18.2.1 Limits of exact-width integer types */
-#define INT8_MIN (-128)
-#define INT16_MIN (-32768)
-#define INT32_MIN (-2147483647 - 1)
-#define INT64_MIN (-9223372036854775807LL - 1)
-
-#define INT8_MAX 127
-#define INT16_MAX 32767
-#define INT32_MAX 2147483647
-#define INT64_MAX 9223372036854775807LL
-
-#define UINT8_MAX 0xff /* 255U */
-#define UINT16_MAX 0xffff /* 65535U */
-#define UINT32_MAX 0xffffffff /* 4294967295U */
-#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST64_MIN INT64_MIN
-
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MAX INT64_MAX
-
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-#define INT_FAST8_MIN INT8_MIN
-#define INT_FAST16_MIN INT16_MIN
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST64_MIN INT64_MIN
-
-#define INT_FAST8_MAX INT8_MAX
-#define INT_FAST16_MAX INT16_MAX
-#define INT_FAST32_MAX INT32_MAX
-#define INT_FAST64_MAX INT64_MAX
-
-#define UINT_FAST8_MAX UINT8_MAX
-#define UINT_FAST16_MAX UINT16_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-#define UINT_FAST64_MAX UINT64_MAX
-
-/* 7.18.2.4 Limits of integer types capable of holding
- object pointers */
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
-/* 7.18.3 Limits of other integer types */
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-
-#define SIG_ATOMIC_MIN INT32_MIN
-#define SIG_ATOMIC_MAX INT32_MAX
-
-#define SIZE_MAX UINT32_MAX
-
-#ifndef WCHAR_MIN /* also in wchar.h */
-#define WCHAR_MIN 0
-#define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */
-#endif
-
-/*
- * wint_t is unsigned int in __MINGW32__,
- * but unsigned short in MS runtime
- */
-#define WINT_MIN 0
-#define WINT_MAX UINT32_MAX
-
-#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
-
-
-/* 7.18.4 Macros for integer constants */
-#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
-
-/* 7.18.4.1 Macros for minimum-width integer constants
-
- Accoding to Douglas Gwyn <gwyn@arl.mil>:
- "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
- 9899:1999 as initially published, the expansion was required
- to be an integer constant of precisely matching type, which
- is impossible to accomplish for the shorter types on most
- platforms, because C99 provides no standard way to designate
- an integer constant with width less than that of type int.
- TC1 changed this to require just an integer constant
- *expression* with *promoted* type."
-
- The trick used here is from Clive D W Feather.
-*/
-
-#define INT8_C(val) (INT_LEAST8_MAX-INT_LEAST8_MAX+(val))
-#define INT16_C(val) (INT_LEAST16_MAX-INT_LEAST16_MAX+(val))
-#define INT32_C(val) (INT_LEAST32_MAX-INT_LEAST32_MAX+(val))
-#define INT64_C(val) (INT_LEAST64_MAX-INT_LEAST64_MAX+(val))
-
-#define UINT8_C(val) (UINT_LEAST8_MAX-UINT_LEAST8_MAX+(val))
-#define UINT16_C(val) (UINT_LEAST16_MAX-UINT_LEAST16_MAX+(val))
-#define UINT32_C(val) (UINT_LEAST32_MAX-UINT_LEAST32_MAX+(val))
-#define UINT64_C(val) (UINT_LEAST64_MAX-UINT_LEAST64_MAX+(val))
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-#define INTMAX_C(val) (INTMAX_MAX-INTMAX_MAX+(val))
-#define UINTMAX_C(val) (UINTMAX_MAX-UINTMAX_MAX+(val))
-
-#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
-
-#endif
+/* ISO C9x 7.18 Integer types <stdint.h> + * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794) + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz> + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Date: 2000-12-02 + */ + + +#ifndef _STDINT_H +#define _STDINT_H + +/* 7.18.1.1 Exact-width integer types */ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef short int16_t; +typedef unsigned short uint16_t; +typedef int int32_t; +typedef unsigned uint32_t; +typedef long long int64_t; +typedef unsigned long long uint64_t; + +/* 7.18.1.2 Minimum-width integer types */ +typedef signed char int_least8_t; +typedef unsigned char uint_least8_t; +typedef short int_least16_t; +typedef unsigned short uint_least16_t; +typedef int int_least32_t; +typedef unsigned uint_least32_t; +typedef long long int_least64_t; +typedef unsigned long long uint_least64_t; + +/* 7.18.1.3 Fastest minimum-width integer types + * Not actually guaranteed to be fastest for all purposes + * Here we use the exact-width types for 8 and 16-bit ints. + */ +typedef char int_fast8_t; +typedef unsigned char uint_fast8_t; +typedef short int_fast16_t; +typedef unsigned short uint_fast16_t; +typedef int int_fast32_t; +typedef unsigned int uint_fast32_t; +typedef long long int_fast64_t; +typedef unsigned long long uint_fast64_t; + +/* 7.18.1.4 Integer types capable of holding object pointers */ +typedef int intptr_t; +typedef unsigned uintptr_t; + +/* 7.18.1.5 Greatest-width integer types */ +typedef long long intmax_t; +typedef unsigned long long uintmax_t; + +/* 7.18.2 Limits of specified-width integer types */ +#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS) + +/* 7.18.2.1 Limits of exact-width integer types */ +#define INT8_MIN (-128) +#define INT16_MIN (-32768) +#define INT32_MIN (-2147483647 - 1) +#define INT64_MIN (-9223372036854775807LL - 1) + +#define INT8_MAX 127 +#define INT16_MAX 32767 +#define INT32_MAX 2147483647 +#define INT64_MAX 9223372036854775807LL + +#define UINT8_MAX 0xff /* 255U */ +#define UINT16_MAX 0xffff /* 65535U */ +#define UINT32_MAX 0xffffffff /* 4294967295U */ +#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */ + +/* 7.18.2.2 Limits of minimum-width integer types */ +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST64_MIN INT64_MIN + +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MAX INT64_MAX + +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +/* 7.18.2.3 Limits of fastest minimum-width integer types */ +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST64_MIN INT64_MIN + +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MAX INT64_MAX + +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +/* 7.18.2.4 Limits of integer types capable of holding + object pointers */ +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX + +/* 7.18.2.5 Limits of greatest-width integer types */ +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +/* 7.18.3 Limits of other integer types */ +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX + +#define SIG_ATOMIC_MIN INT32_MIN +#define SIG_ATOMIC_MAX INT32_MAX + +#define SIZE_MAX UINT32_MAX + +#ifndef WCHAR_MIN /* also in wchar.h */ +#define WCHAR_MIN 0 +#define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */ +#endif + +/* + * wint_t is unsigned int in __MINGW32__, + * but unsigned short in MS runtime + */ +#define WINT_MIN 0 +#define WINT_MAX UINT32_MAX + +#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */ + + +/* 7.18.4 Macros for integer constants */ +#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS) + +/* 7.18.4.1 Macros for minimum-width integer constants + + Accoding to Douglas Gwyn <gwyn@arl.mil>: + "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC + 9899:1999 as initially published, the expansion was required + to be an integer constant of precisely matching type, which + is impossible to accomplish for the shorter types on most + platforms, because C99 provides no standard way to designate + an integer constant with width less than that of type int. + TC1 changed this to require just an integer constant + *expression* with *promoted* type." + + The trick used here is from Clive D W Feather. +*/ + +#define INT8_C(val) (INT_LEAST8_MAX-INT_LEAST8_MAX+(val)) +#define INT16_C(val) (INT_LEAST16_MAX-INT_LEAST16_MAX+(val)) +#define INT32_C(val) (INT_LEAST32_MAX-INT_LEAST32_MAX+(val)) +#define INT64_C(val) (INT_LEAST64_MAX-INT_LEAST64_MAX+(val)) + +#define UINT8_C(val) (UINT_LEAST8_MAX-UINT_LEAST8_MAX+(val)) +#define UINT16_C(val) (UINT_LEAST16_MAX-UINT_LEAST16_MAX+(val)) +#define UINT32_C(val) (UINT_LEAST32_MAX-UINT_LEAST32_MAX+(val)) +#define UINT64_C(val) (UINT_LEAST64_MAX-UINT_LEAST64_MAX+(val)) + +/* 7.18.4.2 Macros for greatest-width integer constants */ +#define INTMAX_C(val) (INTMAX_MAX-INTMAX_MAX+(val)) +#define UINTMAX_C(val) (UINTMAX_MAX-UINTMAX_MAX+(val)) + +#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */ + +#endif diff --git a/win32/include/stdio.h b/win32/include/stdio.h index 83647d8..2d97e66 100644 --- a/win32/include/stdio.h +++ b/win32/include/stdio.h @@ -1,413 +1,413 @@ -/*
- * stdio.h
- *
- * Definitions of types and prototypes of functions for standard input and
- * output.
- *
- * NOTE: The file manipulation functions provided by Microsoft seem to
- * work with either slash (/) or backslash (\) as the path separator.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _STDIO_H_
-#define _STDIO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_size_t
-#define __need_NULL
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-
-/* Flags for the iobuf structure */
-#define _IOREAD 1
-#define _IOWRT 2
-#define _IORW 0x0080 /* opened as "r+w" */
-
-
-/*
- * The three standard file pointers provided by the run time library.
- * NOTE: These will go to the bit-bucket silently in GUI applications!
- */
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-/* Returned by various functions on end of file condition or error. */
-#define EOF (-1)
-
-/*
- * The maximum length of a file name. You should use GetVolumeInformation
- * instead of this constant. But hey, this works.
- *
- * NOTE: This is used in the structure _finddata_t (see io.h) so changing it
- * is probably not a good idea.
- */
-#define FILENAME_MAX (260)
-
-/*
- * The maximum number of files that may be open at once. I have set this to
- * a conservative number. The actual value may be higher.
- */
-#define FOPEN_MAX (20)
-
-/* After creating this many names, tmpnam and tmpfile return NULL */
-#define TMP_MAX 32767
-/*
- * Tmpnam, tmpfile and, sometimes, _tempnam try to create
- * temp files in the root directory of the current drive
- * (not in pwd, as suggested by some older MS doc's).
- * Redefining these macros does not effect the CRT functions.
- */
-#define _P_tmpdir "\\"
-#define _wP_tmpdir L"\\"
-
-/*
- * The maximum size of name (including NUL) that will be put in the user
- * supplied buffer caName for tmpnam.
- * Inferred from the size of the static buffer returned by tmpnam
- * when passed a NULL argument. May actually be smaller.
- */
-#define L_tmpnam (16)
-
-#define _IOFBF 0x0000
-#define _IOLBF 0x0040
-#define _IONBF 0x0004
-
-/*
- * The buffer size as used by setbuf such that it is equivalent to
- * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ).
- */
-#define BUFSIZ 512
-
-/* Constants for nOrigin indicating the position relative to which fseek
- * sets the file position. Enclosed in ifdefs because io.h could also
- * define them. (Though not anymore since io.h includes this file now.) */
-#ifndef SEEK_SET
-#define SEEK_SET (0)
-#endif
-
-#ifndef SEEK_CUR
-#define SEEK_CUR (1)
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END (2)
-#endif
-
-
-#ifndef RC_INVOKED
-
-/*
- * I used to include stdarg.h at this point, in order to allow for the
- * functions later on in the file which use va_list. That conflicts with
- * using stdio.h and varargs.h in the same file, so I do the typedef myself.
- */
-#ifndef _VA_LIST
-#define _VA_LIST
-#if defined __GNUC__ && __GNUC__ >= 3
-typedef __builtin_va_list va_list;
-#else
-typedef char* va_list;
-#endif
-#endif
-/*
- * The structure underlying the FILE type.
- *
- * I still believe that nobody in their right mind should make use of the
- * internals of this structure. Provided by Pedro A. Aranda Gutiirrez
- * <paag@tid.es>.
- */
-#ifndef _FILE_DEFINED
-#define _FILE_DEFINED
-typedef struct _iobuf
-{
- char* _ptr;
- int _cnt;
- char* _base;
- int _flag;
- int _file;
- int _charbuf;
- int _bufsiz;
- char* _tmpfname;
-} FILE;
-#endif /* Not _FILE_DEFINED */
-
-
-/*
- * The standard file handles
- */
-#ifndef __DECLSPEC_SUPPORTED
-
-extern FILE (*__imp__iob)[]; /* A pointer to an array of FILE */
-
-#define _iob (*__imp__iob) /* An array of FILE */
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT FILE _iob[]; /* An array of FILE imported from DLL. */
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#define stdin (&_iob[STDIN_FILENO])
-#define stdout (&_iob[STDOUT_FILENO])
-#define stderr (&_iob[STDERR_FILENO])
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * File Operations
- */
-FILE* fopen (const char*, const char*);
-FILE* freopen (const char*, const char*, FILE*);
-int fflush (FILE*);
-int fclose (FILE*);
-/* MS puts remove & rename (but not wide versions) in io.h also */
-int remove (const char*);
-int rename (const char*, const char*);
-FILE* tmpfile (void);
-char* tmpnam (char*);
-char* _tempnam (const char*, const char*);
-
-#ifndef NO_OLDNAMES
-char* tempnam (const char*, const char*);
-#endif
-
-int setvbuf (FILE*, char*, int, size_t);
-
-void setbuf (FILE*, char*);
-
-/*
- * Formatted Output
- */
-
-int fprintf (FILE*, const char*, ...);
-int printf (const char*, ...);
-int sprintf (char*, const char*, ...);
-int _snprintf (char*, size_t, const char*, ...);
-int vfprintf (FILE*, const char*, va_list);
-int vprintf (const char*, va_list);
-int vsprintf (char*, const char*, va_list);
-int _vsnprintf (char*, size_t, const char*, va_list);
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int snprintf(char* s, size_t n, const char* format, ...);
-extern inline int vsnprintf (char* s, size_t n, const char* format,
- va_list arg)
- { return _vsnprintf ( s, n, format, arg); }
-#endif
-
-/*
- * Formatted Input
- */
-
-int fscanf (FILE*, const char*, ...);
-int scanf (const char*, ...);
-int sscanf (const char*, const char*, ...);
-/*
- * Character Input and Output Functions
- */
-
-int fgetc (FILE*);
-char* fgets (char*, int, FILE*);
-int fputc (int, FILE*);
-int fputs (const char*, FILE*);
-int getc (FILE*);
-int getchar (void);
-char* gets (char*);
-int putc (int, FILE*);
-int putchar (int);
-int puts (const char*);
-int ungetc (int, FILE*);
-
-/*
- * Direct Input and Output Functions
- */
-
-size_t fread (void*, size_t, size_t, FILE*);
-size_t fwrite (const void*, size_t, size_t, FILE*);
-
-/*
- * File Positioning Functions
- */
-
-int fseek (FILE*, long, int);
-long ftell (FILE*);
-void rewind (FILE*);
-
-#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */
-/*
- * Workaround for limitations on win9x where a file contents are
- * not zero'd out if you seek past the end and then write.
- */
-
-int __mingw_fseek (FILE *, long, int);
-int __mingw_fwrite (const void*, size_t, size_t, FILE*);
-#define fseek(fp, offset, whence) __mingw_fseek(fp, offset, whence)
-#define fwrite(buffer, size, count, fp) __mingw_fwrite(buffer, size, count, fp)
-#endif /* __USE_MINGW_FSEEK */
-
-
-/*
- * An opaque data type used for storing file positions... The contents of
- * this type are unknown, but we (the compiler) need to know the size
- * because the programmer using fgetpos and fsetpos will be setting aside
- * storage for fpos_t structres. Actually I tested using a byte array and
- * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL).
- * Perhaps an unsigned long? TODO? It's definitely a 64-bit number in
- * MSVCRT however, and for now `long long' will do.
- */
-#ifdef __MSVCRT__
-typedef long long fpos_t;
-#else
-typedef long fpos_t;
-#endif
-
-int fgetpos (FILE*, fpos_t*);
-int fsetpos (FILE*, const fpos_t*);
-
-/*
- * Error Functions
- */
-
-void clearerr (FILE*);
-int feof (FILE*);
-int ferror (FILE*);
-void perror (const char*);
-
-
-#ifndef __STRICT_ANSI__
-/*
- * Pipes
- */
-FILE* _popen (const char*, const char*);
-int _pclose (FILE*);
-
-#ifndef NO_OLDNAMES
-FILE* popen (const char*, const char*);
-int pclose (FILE*);
-#endif
-
-/*
- * Other Non ANSI functions
- */
-int _flushall (void);
-int _fgetchar (void);
-int _fputchar (int);
-FILE* _fdopen (int, const char*);
-int _fileno (FILE*);
-
-#ifndef _NO_OLDNAMES
-int fgetchar (void);
-int fputchar (int);
-FILE* fdopen (int, const char*);
-int fileno (FILE*);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-/* Wide versions */
-
-#ifndef _WSTDIO_DEFINED
-/* also in wchar.h - keep in sync */
-int fwprintf (FILE*, const wchar_t*, ...);
-int wprintf (const wchar_t*, ...);
-int swprintf (wchar_t*, const wchar_t*, ...);
-int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-int vfwprintf (FILE*, const wchar_t*, va_list);
-int vwprintf (const wchar_t*, va_list);
-int vswprintf (wchar_t*, const wchar_t*, va_list);
-int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list);
-int fwscanf (FILE*, const wchar_t*, ...);
-int wscanf (const wchar_t*, ...);
-int swscanf (const wchar_t*, const wchar_t*, ...);
-wint_t fgetwc (FILE*);
-wint_t fputwc (wchar_t, FILE*);
-wint_t ungetwc (wchar_t, FILE*);
-#ifdef __MSVCRT__
-wchar_t* fgetws (wchar_t*, int, FILE*);
-int fputws (const wchar_t*, FILE*);
-wint_t getwc (FILE*);
-wint_t getwchar (void);
-wchar_t* _getws (wchar_t*);
-wint_t putwc (wint_t, FILE*);
-int _putws (const wchar_t*);
-wint_t putwchar (wint_t);
-FILE* _wfopen (const wchar_t*, const wchar_t*);
-FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
-FILE* _wfsopen (const wchar_t*, const wchar_t*, int);
-wchar_t* _wtmpnam (wchar_t*);
-wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
-int _wrename (const wchar_t*, const wchar_t*);
-int _wremove (const wchar_t*);
-void _wperror (const wchar_t*);
-FILE* _wpopen (const wchar_t*, const wchar_t*);
-#endif /* __MSVCRT__ */
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
-extern inline int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
- va_list arg)
- { return _vsnwprintf ( s, n, format, arg); }
-#endif
-
-#define _WSTDIO_DEFINED
-#endif /* _WSTDIO_DEFINED */
-
-#ifndef __STRICT_ANSI__
-#ifdef __MSVCRT__
-#ifndef NO_OLDNAMES
-FILE* wpopen (const wchar_t*, const wchar_t*);
-#endif /* not NO_OLDNAMES */
-#endif /* MSVCRT runtime */
-
-/*
- * Other Non ANSI wide functions
- */
-wint_t _fgetwchar (void);
-wint_t _fputwchar (wint_t);
-int _getw (FILE*);
-int _putw (int, FILE*);
-
-#ifndef _NO_OLDNAMES
-wint_t fgetwchar (void);
-wint_t fputwchar (wint_t);
-int getw (FILE*);
-int putw (int, FILE*);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* __STRICT_ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _STDIO_H_ */
+/* + * stdio.h + * + * Definitions of types and prototypes of functions for standard input and + * output. + * + * NOTE: The file manipulation functions provided by Microsoft seem to + * work with either slash (/) or backslash (\) as the path separator. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _STDIO_H_ +#define _STDIO_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_size_t +#define __need_NULL +#define __need_wchar_t +#define __need_wint_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + + +/* Flags for the iobuf structure */ +#define _IOREAD 1 +#define _IOWRT 2 +#define _IORW 0x0080 /* opened as "r+w" */ + + +/* + * The three standard file pointers provided by the run time library. + * NOTE: These will go to the bit-bucket silently in GUI applications! + */ +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +/* Returned by various functions on end of file condition or error. */ +#define EOF (-1) + +/* + * The maximum length of a file name. You should use GetVolumeInformation + * instead of this constant. But hey, this works. + * + * NOTE: This is used in the structure _finddata_t (see io.h) so changing it + * is probably not a good idea. + */ +#define FILENAME_MAX (260) + +/* + * The maximum number of files that may be open at once. I have set this to + * a conservative number. The actual value may be higher. + */ +#define FOPEN_MAX (20) + +/* After creating this many names, tmpnam and tmpfile return NULL */ +#define TMP_MAX 32767 +/* + * Tmpnam, tmpfile and, sometimes, _tempnam try to create + * temp files in the root directory of the current drive + * (not in pwd, as suggested by some older MS doc's). + * Redefining these macros does not effect the CRT functions. + */ +#define _P_tmpdir "\\" +#define _wP_tmpdir L"\\" + +/* + * The maximum size of name (including NUL) that will be put in the user + * supplied buffer caName for tmpnam. + * Inferred from the size of the static buffer returned by tmpnam + * when passed a NULL argument. May actually be smaller. + */ +#define L_tmpnam (16) + +#define _IOFBF 0x0000 +#define _IOLBF 0x0040 +#define _IONBF 0x0004 + +/* + * The buffer size as used by setbuf such that it is equivalent to + * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ). + */ +#define BUFSIZ 512 + +/* Constants for nOrigin indicating the position relative to which fseek + * sets the file position. Enclosed in ifdefs because io.h could also + * define them. (Though not anymore since io.h includes this file now.) */ +#ifndef SEEK_SET +#define SEEK_SET (0) +#endif + +#ifndef SEEK_CUR +#define SEEK_CUR (1) +#endif + +#ifndef SEEK_END +#define SEEK_END (2) +#endif + + +#ifndef RC_INVOKED + +/* + * I used to include stdarg.h at this point, in order to allow for the + * functions later on in the file which use va_list. That conflicts with + * using stdio.h and varargs.h in the same file, so I do the typedef myself. + */ +#ifndef _VA_LIST +#define _VA_LIST +#if defined __GNUC__ && __GNUC__ >= 3 +typedef __builtin_va_list va_list; +#else +typedef char* va_list; +#endif +#endif +/* + * The structure underlying the FILE type. + * + * I still believe that nobody in their right mind should make use of the + * internals of this structure. Provided by Pedro A. Aranda Gutiirrez + * <paag@tid.es>. + */ +#ifndef _FILE_DEFINED +#define _FILE_DEFINED +typedef struct _iobuf +{ + char* _ptr; + int _cnt; + char* _base; + int _flag; + int _file; + int _charbuf; + int _bufsiz; + char* _tmpfname; +} FILE; +#endif /* Not _FILE_DEFINED */ + + +/* + * The standard file handles + */ +#ifndef __DECLSPEC_SUPPORTED + +extern FILE (*__imp__iob)[]; /* A pointer to an array of FILE */ + +#define _iob (*__imp__iob) /* An array of FILE */ + +#else /* __DECLSPEC_SUPPORTED */ + +__MINGW_IMPORT FILE _iob[]; /* An array of FILE imported from DLL. */ + +#endif /* __DECLSPEC_SUPPORTED */ + +#define stdin (&_iob[STDIN_FILENO]) +#define stdout (&_iob[STDOUT_FILENO]) +#define stderr (&_iob[STDERR_FILENO]) + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * File Operations + */ +FILE* fopen (const char*, const char*); +FILE* freopen (const char*, const char*, FILE*); +int fflush (FILE*); +int fclose (FILE*); +/* MS puts remove & rename (but not wide versions) in io.h also */ +int remove (const char*); +int rename (const char*, const char*); +FILE* tmpfile (void); +char* tmpnam (char*); +char* _tempnam (const char*, const char*); + +#ifndef NO_OLDNAMES +char* tempnam (const char*, const char*); +#endif + +int setvbuf (FILE*, char*, int, size_t); + +void setbuf (FILE*, char*); + +/* + * Formatted Output + */ + +int fprintf (FILE*, const char*, ...); +int printf (const char*, ...); +int sprintf (char*, const char*, ...); +int _snprintf (char*, size_t, const char*, ...); +int vfprintf (FILE*, const char*, va_list); +int vprintf (const char*, va_list); +int vsprintf (char*, const char*, va_list); +int _vsnprintf (char*, size_t, const char*, va_list); + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ +int snprintf(char* s, size_t n, const char* format, ...); +extern inline int vsnprintf (char* s, size_t n, const char* format, + va_list arg) + { return _vsnprintf ( s, n, format, arg); } +#endif + +/* + * Formatted Input + */ + +int fscanf (FILE*, const char*, ...); +int scanf (const char*, ...); +int sscanf (const char*, const char*, ...); +/* + * Character Input and Output Functions + */ + +int fgetc (FILE*); +char* fgets (char*, int, FILE*); +int fputc (int, FILE*); +int fputs (const char*, FILE*); +int getc (FILE*); +int getchar (void); +char* gets (char*); +int putc (int, FILE*); +int putchar (int); +int puts (const char*); +int ungetc (int, FILE*); + +/* + * Direct Input and Output Functions + */ + +size_t fread (void*, size_t, size_t, FILE*); +size_t fwrite (const void*, size_t, size_t, FILE*); + +/* + * File Positioning Functions + */ + +int fseek (FILE*, long, int); +long ftell (FILE*); +void rewind (FILE*); + +#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */ +/* + * Workaround for limitations on win9x where a file contents are + * not zero'd out if you seek past the end and then write. + */ + +int __mingw_fseek (FILE *, long, int); +int __mingw_fwrite (const void*, size_t, size_t, FILE*); +#define fseek(fp, offset, whence) __mingw_fseek(fp, offset, whence) +#define fwrite(buffer, size, count, fp) __mingw_fwrite(buffer, size, count, fp) +#endif /* __USE_MINGW_FSEEK */ + + +/* + * An opaque data type used for storing file positions... The contents of + * this type are unknown, but we (the compiler) need to know the size + * because the programmer using fgetpos and fsetpos will be setting aside + * storage for fpos_t structres. Actually I tested using a byte array and + * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL). + * Perhaps an unsigned long? TODO? It's definitely a 64-bit number in + * MSVCRT however, and for now `long long' will do. + */ +#ifdef __MSVCRT__ +typedef long long fpos_t; +#else +typedef long fpos_t; +#endif + +int fgetpos (FILE*, fpos_t*); +int fsetpos (FILE*, const fpos_t*); + +/* + * Error Functions + */ + +void clearerr (FILE*); +int feof (FILE*); +int ferror (FILE*); +void perror (const char*); + + +#ifndef __STRICT_ANSI__ +/* + * Pipes + */ +FILE* _popen (const char*, const char*); +int _pclose (FILE*); + +#ifndef NO_OLDNAMES +FILE* popen (const char*, const char*); +int pclose (FILE*); +#endif + +/* + * Other Non ANSI functions + */ +int _flushall (void); +int _fgetchar (void); +int _fputchar (int); +FILE* _fdopen (int, const char*); +int _fileno (FILE*); + +#ifndef _NO_OLDNAMES +int fgetchar (void); +int fputchar (int); +FILE* fdopen (int, const char*); +int fileno (FILE*); +#endif /* Not _NO_OLDNAMES */ + +#endif /* Not __STRICT_ANSI__ */ + +/* Wide versions */ + +#ifndef _WSTDIO_DEFINED +/* also in wchar.h - keep in sync */ +int fwprintf (FILE*, const wchar_t*, ...); +int wprintf (const wchar_t*, ...); +int swprintf (wchar_t*, const wchar_t*, ...); +int _snwprintf (wchar_t*, size_t, const wchar_t*, ...); +int vfwprintf (FILE*, const wchar_t*, va_list); +int vwprintf (const wchar_t*, va_list); +int vswprintf (wchar_t*, const wchar_t*, va_list); +int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list); +int fwscanf (FILE*, const wchar_t*, ...); +int wscanf (const wchar_t*, ...); +int swscanf (const wchar_t*, const wchar_t*, ...); +wint_t fgetwc (FILE*); +wint_t fputwc (wchar_t, FILE*); +wint_t ungetwc (wchar_t, FILE*); +#ifdef __MSVCRT__ +wchar_t* fgetws (wchar_t*, int, FILE*); +int fputws (const wchar_t*, FILE*); +wint_t getwc (FILE*); +wint_t getwchar (void); +wchar_t* _getws (wchar_t*); +wint_t putwc (wint_t, FILE*); +int _putws (const wchar_t*); +wint_t putwchar (wint_t); +FILE* _wfopen (const wchar_t*, const wchar_t*); +FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*); +FILE* _wfsopen (const wchar_t*, const wchar_t*, int); +wchar_t* _wtmpnam (wchar_t*); +wchar_t* _wtempnam (const wchar_t*, const wchar_t*); +int _wrename (const wchar_t*, const wchar_t*); +int _wremove (const wchar_t*); +void _wperror (const wchar_t*); +FILE* _wpopen (const wchar_t*, const wchar_t*); +#endif /* __MSVCRT__ */ + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ +int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...); +extern inline int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, + va_list arg) + { return _vsnwprintf ( s, n, format, arg); } +#endif + +#define _WSTDIO_DEFINED +#endif /* _WSTDIO_DEFINED */ + +#ifndef __STRICT_ANSI__ +#ifdef __MSVCRT__ +#ifndef NO_OLDNAMES +FILE* wpopen (const wchar_t*, const wchar_t*); +#endif /* not NO_OLDNAMES */ +#endif /* MSVCRT runtime */ + +/* + * Other Non ANSI wide functions + */ +wint_t _fgetwchar (void); +wint_t _fputwchar (wint_t); +int _getw (FILE*); +int _putw (int, FILE*); + +#ifndef _NO_OLDNAMES +wint_t fgetwchar (void); +wint_t fputwchar (wint_t); +int getw (FILE*); +int putw (int, FILE*); +#endif /* Not _NO_OLDNAMES */ + +#endif /* __STRICT_ANSI */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* _STDIO_H_ */ diff --git a/win32/include/stdlib.h b/win32/include/stdlib.h index 9a55740..37fae48 100644 --- a/win32/include/stdlib.h +++ b/win32/include/stdlib.h @@ -1,482 +1,482 @@ -/*
- * stdlib.h
- *
- * Definitions for common types, variables, and functions.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _STDLIB_H_
-#define _STDLIB_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* RC_INVOKED */
-
-/*
- * RAND_MAX is the maximum value that may be returned by rand.
- * The minimum is zero.
- */
-#define RAND_MAX 0x7FFF
-
-/*
- * These values may be used as exit status codes.
- */
-#define EXIT_SUCCESS 0
-#define EXIT_FAILURE 1
-
-/*
- * Definitions for path name functions.
- * NOTE: All of these values have simply been chosen to be conservatively high.
- * Remember that with long file names we can no longer depend on
- * extensions being short.
- */
-#ifndef __STRICT_ANSI__
-
-#ifndef MAX_PATH
-#define MAX_PATH (260)
-#endif
-
-#define _MAX_PATH MAX_PATH
-#define _MAX_DRIVE (3)
-#define _MAX_DIR 256
-#define _MAX_FNAME 256
-#define _MAX_EXT 256
-
-#endif /* Not __STRICT_ANSI__ */
-
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This seems like a convenient place to declare these variables, which
- * give programs using WinMain (or main for that matter) access to main-ish
- * argc and argv. environ is a pointer to a table of environment variables.
- * NOTE: Strings in _argv and environ are ANSI strings.
- */
-extern int _argc;
-extern char** _argv;
-
-/* imports from runtime dll of the above variables */
-#ifdef __MSVCRT__
-
-extern int* __p___argc(void);
-extern char*** __p___argv(void);
-extern wchar_t*** __p___wargv(void);
-
-#define __argc (*__p___argc())
-#define __argv (*__p___argv())
-#define __wargv (*__p___wargv())
-
-#else /* !MSVCRT */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int* __imp___argc_dll;
-extern char*** __imp___argv_dll;
-#define __argc (*__imp___argc_dll)
-#define __argv (*__imp___argv_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int __argc_dll;
-__MINGW_IMPORT char** __argv_dll;
-#define __argc __argc_dll
-#define __argv __argv_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* __MSVCRT */
-
-/*
- * Also defined in ctype.h.
- */
-
-#ifndef MB_CUR_MAX
-# ifdef __MSVCRT__
-# define MB_CUR_MAX __mb_cur_max
- __MINGW_IMPORT int __mb_cur_max;
-# else /* not __MSVCRT */
-# define MB_CUR_MAX __mb_cur_max_dll
- __MINGW_IMPORT int __mb_cur_max_dll;
-# endif /* not __MSVCRT */
-#endif /* MB_CUR_MAX */
-
-/*
- * MS likes to declare errno in stdlib.h as well.
- */
-
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
-int* _errno(void);
-#define errno (*_errno())
-#endif
-int* __doserrno(void);
-#define _doserrno (*__doserrno())
-
-/*
- * Use environ from the DLL, not as a global.
- */
-
-#ifdef __MSVCRT__
- extern char *** __p__environ(void);
- extern wchar_t *** __p__wenviron(void);
-# define _environ (*__p__environ())
-# define _wenviron (*__p__wenviron())
-#else /* ! __MSVCRT__ */
-# ifndef __DECLSPEC_SUPPORTED
- extern char *** __imp__environ_dll;
-# define _environ (*__imp__environ_dll)
-# else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT char ** _environ_dll;
-# define _environ _environ_dll
-# endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
-
-#define environ _environ
-
-#ifdef __MSVCRT__
-/* One of the MSVCRTxx libraries */
-
-#ifndef __DECLSPEC_SUPPORTED
- extern int* __imp__sys_nerr;
-# define sys_nerr (*__imp__sys_nerr)
-#else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT int _sys_nerr;
-# ifndef _UWIN
-# define sys_nerr _sys_nerr
-# endif /* _UWIN */
-#endif /* __DECLSPEC_SUPPORTED */
-
-#else /* ! __MSVCRT__ */
-
-/* CRTDLL run time library */
-
-#ifndef __DECLSPEC_SUPPORTED
- extern int* __imp__sys_nerr_dll;
-# define sys_nerr (*__imp__sys_nerr_dll)
-#else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT int _sys_nerr_dll;
-# define sys_nerr _sys_nerr_dll
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* ! __MSVCRT__ */
-
-#ifndef __DECLSPEC_SUPPORTED
-extern char*** __imp__sys_errlist;
-#define sys_errlist (*__imp__sys_errlist)
-#else /* __DECLSPEC_SUPPORTED */
-__MINGW_IMPORT char* _sys_errlist[];
-#ifndef _UWIN
-#define sys_errlist _sys_errlist
-#endif /* _UWIN */
-#endif /* __DECLSPEC_SUPPORTED */
-
-/*
- * OS version and such constants.
- */
-#ifndef __STRICT_ANSI__
-
-#ifdef __MSVCRT__
-/* msvcrtxx.dll */
-
-extern unsigned int* __p__osver(void);
-extern unsigned int* __p__winver(void);
-extern unsigned int* __p__winmajor(void);
-extern unsigned int* __p__winminor(void);
-
-#define _osver (*__p__osver())
-#define _winver (*__p__winver())
-#define _winmajor (*__p__winmajor())
-#define _winminor (*__p__winminor())
-
-#else
-/* Not msvcrtxx.dll, thus crtdll.dll */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern unsigned int* _imp___osver_dll;
-extern unsigned int* _imp___winver_dll;
-extern unsigned int* _imp___winmajor_dll;
-extern unsigned int* _imp___winminor_dll;
-
-#define _osver (*_imp___osver_dll)
-#define _winver (*_imp___winver_dll)
-#define _winmajor (*_imp___winmajor_dll)
-#define _winminor (*_imp___winminor_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT unsigned int _osver_dll;
-__MINGW_IMPORT unsigned int _winver_dll;
-__MINGW_IMPORT unsigned int _winmajor_dll;
-__MINGW_IMPORT unsigned int _winminor_dll;
-
-#define _osver _osver_dll
-#define _winver _winver_dll
-#define _winmajor _winmajor_dll
-#define _winminor _winminor_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif
-
-#if defined __MSVCRT__
-/* although the _pgmptr is exported as DATA,
- * be safe and use the access function __p__pgmptr() to get it. */
-char** __p__pgmptr(void);
-#define _pgmptr (*__p__pgmptr())
-wchar_t** __p__wpgmptr(void);
-#define _wpgmptr (*__p__wpgmptr())
-#else /* ! __MSVCRT__ */
-# ifndef __DECLSPEC_SUPPORTED
- extern char** __imp__pgmptr_dll;
-# define _pgmptr (*__imp__pgmptr_dll)
-# else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT char* _pgmptr_dll;
-# define _pgmptr _pgmptr_dll
-# endif /* __DECLSPEC_SUPPORTED */
-/* no wide version in CRTDLL */
-#endif /* __MSVCRT__ */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#ifdef __GNUC__
-#define _ATTRIB_NORETURN __attribute__ ((noreturn))
-#else /* Not __GNUC__ */
-#define _ATTRIB_NORETURN
-#endif /* __GNUC__ */
-
-double atof (const char*);
-int atoi (const char*);
-long atol (const char*);
-int _wtoi (const wchar_t *);
-long _wtol (const wchar_t *);
-
-double strtod (const char*, char**);
-#if !defined __NO_ISOCEXT /* extern stubs in static libmingwex.a */
-extern __inline__ float strtof (const char *nptr, char **endptr)
- { return (strtod (nptr, endptr));}
-#endif /* __NO_ISOCEXT */
-
-long strtol (const char*, char**, int);
-unsigned long strtoul (const char*, char**, int);
-
-#ifndef _WSTDLIB_DEFINED
-/* also declared in wchar.h */
-double wcstod (const wchar_t*, wchar_t**);
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
-{ return (wcstod(nptr, endptr)); }
-#endif /* __NO_ISOCEXT */
-
-long wcstol (const wchar_t*, wchar_t**, int);
-unsigned long wcstoul (const wchar_t*, wchar_t**, int);
-#define _WSTDLIB_DEFINED
-#endif
-
-size_t wcstombs (char*, const wchar_t*, size_t);
-int wctomb (char*, wchar_t);
-
-int mblen (const char*, size_t);
-size_t mbstowcs (wchar_t*, const char*, size_t);
-int mbtowc (wchar_t*, const char*, size_t);
-
-int rand (void);
-void srand (unsigned int);
-
-void* calloc (size_t, size_t);
-void* malloc (size_t);
-void* realloc (void*, size_t);
-void free (void*);
-
-void abort (void) _ATTRIB_NORETURN;
-void exit (int) _ATTRIB_NORETURN;
-int atexit (void (*)(void));
-
-int system (const char*);
-char* getenv (const char*);
-
-void* bsearch (const void*, const void*, size_t, size_t,
- int (*)(const void*, const void*));
-void qsort (const void*, size_t, size_t,
- int (*)(const void*, const void*));
-
-int abs (int);
-long labs (long);
-
-/*
- * div_t and ldiv_t are structures used to return the results of div and
- * ldiv.
- *
- * NOTE: div and ldiv appear not to work correctly unless
- * -fno-pcc-struct-return is specified. This is included in the
- * mingw32 specs file.
- */
-typedef struct { int quot, rem; } div_t;
-typedef struct { long quot, rem; } ldiv_t;
-
-div_t div (int, int);
-ldiv_t ldiv (long, long);
-
-#ifndef __STRICT_ANSI__
-
-/*
- * NOTE: Officially the three following functions are obsolete. The Win32 API
- * functions SetErrorMode, Beep and Sleep are their replacements.
- */
-void _beep (unsigned int, unsigned int);
-void _seterrormode (int);
-void _sleep (unsigned long);
-
-void _exit (int) _ATTRIB_NORETURN;
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-/* C99 function name */
-void _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute. */
-extern __inline__ void _Exit(int status)
- { _exit(status); }
-#endif
-/* _onexit is MS extension. Use atexit for portability. */
-typedef int (* _onexit_t)(void);
-_onexit_t _onexit( _onexit_t );
-
-int _putenv (const char*);
-void _searchenv (const char*, const char*, char*);
-
-
-char* _ecvt (double, int, int*, int*);
-char* _fcvt (double, int, int*, int*);
-char* _gcvt (double, int, char*);
-
-void _makepath (char*, const char*, const char*, const char*, const char*);
-void _splitpath (const char*, char*, char*, char*, char*);
-char* _fullpath (char*, const char*, size_t);
-
-
-char* _itoa (int, char*, int);
-char* _ltoa (long, char*, int);
-char* _ultoa(unsigned long, char*, int);
-wchar_t* _itow (int, wchar_t*, int);
-wchar_t* _ltow (long, wchar_t*, int);
-wchar_t* _ultow (unsigned long, wchar_t*, int);
-
-#ifdef __MSVCRT__
-__int64 _atoi64(const char *);
-char* _i64toa(__int64, char *, int);
-char* _ui64toa(unsigned __int64, char *, int);
-__int64 _wtoi64(const wchar_t *);
-wchar_t* _i64tow(__int64, wchar_t *, int);
-wchar_t* _ui64tow(unsigned __int64, wchar_t *, int);
-
-wchar_t* _wgetenv(const wchar_t*);
-int _wputenv(const wchar_t*);
-void _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
-void _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
-void _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
-wchar_t* _wfullpath (wchar_t*, const wchar_t*, size_t);
-#endif
-
-#ifndef _NO_OLDNAMES
-
-int putenv (const char*);
-void searchenv (const char*, const char*, char*);
-
-char* itoa (int, char*, int);
-char* ltoa (long, char*, int);
-
-#ifndef _UWIN
-char* ecvt (double, int, int*, int*);
-char* fcvt (double, int, int*, int*);
-char* gcvt (double, int, char*);
-#endif /* _UWIN */
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-/* C99 names */
-
-#if !defined __NO_ISOCEXT /* externs in static libmingwex.a */
-
-typedef struct { long long quot, rem; } lldiv_t;
-
-lldiv_t lldiv (long long, long long);
-
-extern __inline__ long long llabs(long long _j)
- {return (_j >= 0 ? _j : -_j);}
-
-long long strtoll (const char* __restrict__, char** __restrict, int);
-unsigned long long strtoull (const char* __restrict__, char** __restrict__, int);
-
-#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */
-long long atoll (const char *);
-
-#if !defined (__STRICT_ANSI__)
-long long wtoll(const wchar_t *);
-char* lltoa(long long, char *, int);
-char* ulltoa(unsigned long long , char *, int);
-wchar_t* lltow(long long, wchar_t *, int);
-wchar_t* ulltow(unsigned long long, wchar_t *, int);
-
- /* inline using non-ansi functions */
-extern __inline__ long long atoll (const char * _c)
- { return _atoi64 (_c); }
-extern __inline__ char* lltoa(long long _n, char * _c, int _i)
- { return _i64toa (_n, _c, _i); }
-extern __inline__ char* ulltoa(unsigned long long _n, char * _c, int _i)
- { return _ui64toa (_n, _c, _i); }
-extern __inline__ long long wtoll(const wchar_t * _w)
- { return _wtoi64 (_w); }
-extern __inline__ wchar_t* lltow(long long _n, wchar_t * _w, int _i)
- { return _i64tow (_n, _w, _i); }
-extern __inline__ wchar_t* ulltow(unsigned long long _n, wchar_t * _w, int _i)
- { return _ui64tow (_n, _w, _i); }
-#endif /* (__STRICT_ANSI__) */
-
-#endif /* __MSVCRT__ */
-
-#endif /* !__NO_ISOCEXT */
-
-/*
- * Undefine the no return attribute used in some function definitions
- */
-#undef _ATTRIB_NORETURN
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STDLIB_H_ */
-
+/* + * stdlib.h + * + * Definitions for common types, variables, and functions. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _STDLIB_H_ +#define _STDLIB_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + + +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* RC_INVOKED */ + +/* + * RAND_MAX is the maximum value that may be returned by rand. + * The minimum is zero. + */ +#define RAND_MAX 0x7FFF + +/* + * These values may be used as exit status codes. + */ +#define EXIT_SUCCESS 0 +#define EXIT_FAILURE 1 + +/* + * Definitions for path name functions. + * NOTE: All of these values have simply been chosen to be conservatively high. + * Remember that with long file names we can no longer depend on + * extensions being short. + */ +#ifndef __STRICT_ANSI__ + +#ifndef MAX_PATH +#define MAX_PATH (260) +#endif + +#define _MAX_PATH MAX_PATH +#define _MAX_DRIVE (3) +#define _MAX_DIR 256 +#define _MAX_FNAME 256 +#define _MAX_EXT 256 + +#endif /* Not __STRICT_ANSI__ */ + + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This seems like a convenient place to declare these variables, which + * give programs using WinMain (or main for that matter) access to main-ish + * argc and argv. environ is a pointer to a table of environment variables. + * NOTE: Strings in _argv and environ are ANSI strings. + */ +extern int _argc; +extern char** _argv; + +/* imports from runtime dll of the above variables */ +#ifdef __MSVCRT__ + +extern int* __p___argc(void); +extern char*** __p___argv(void); +extern wchar_t*** __p___wargv(void); + +#define __argc (*__p___argc()) +#define __argv (*__p___argv()) +#define __wargv (*__p___wargv()) + +#else /* !MSVCRT */ + +#ifndef __DECLSPEC_SUPPORTED + +extern int* __imp___argc_dll; +extern char*** __imp___argv_dll; +#define __argc (*__imp___argc_dll) +#define __argv (*__imp___argv_dll) + +#else /* __DECLSPEC_SUPPORTED */ + +__MINGW_IMPORT int __argc_dll; +__MINGW_IMPORT char** __argv_dll; +#define __argc __argc_dll +#define __argv __argv_dll + +#endif /* __DECLSPEC_SUPPORTED */ + +#endif /* __MSVCRT */ + +/* + * Also defined in ctype.h. + */ + +#ifndef MB_CUR_MAX +# ifdef __MSVCRT__ +# define MB_CUR_MAX __mb_cur_max + __MINGW_IMPORT int __mb_cur_max; +# else /* not __MSVCRT */ +# define MB_CUR_MAX __mb_cur_max_dll + __MINGW_IMPORT int __mb_cur_max_dll; +# endif /* not __MSVCRT */ +#endif /* MB_CUR_MAX */ + +/* + * MS likes to declare errno in stdlib.h as well. + */ + +#ifdef _UWIN +#undef errno +extern int errno; +#else +int* _errno(void); +#define errno (*_errno()) +#endif +int* __doserrno(void); +#define _doserrno (*__doserrno()) + +/* + * Use environ from the DLL, not as a global. + */ + +#ifdef __MSVCRT__ + extern char *** __p__environ(void); + extern wchar_t *** __p__wenviron(void); +# define _environ (*__p__environ()) +# define _wenviron (*__p__wenviron()) +#else /* ! __MSVCRT__ */ +# ifndef __DECLSPEC_SUPPORTED + extern char *** __imp__environ_dll; +# define _environ (*__imp__environ_dll) +# else /* __DECLSPEC_SUPPORTED */ + __MINGW_IMPORT char ** _environ_dll; +# define _environ _environ_dll +# endif /* __DECLSPEC_SUPPORTED */ +#endif /* ! __MSVCRT__ */ + +#define environ _environ + +#ifdef __MSVCRT__ +/* One of the MSVCRTxx libraries */ + +#ifndef __DECLSPEC_SUPPORTED + extern int* __imp__sys_nerr; +# define sys_nerr (*__imp__sys_nerr) +#else /* __DECLSPEC_SUPPORTED */ + __MINGW_IMPORT int _sys_nerr; +# ifndef _UWIN +# define sys_nerr _sys_nerr +# endif /* _UWIN */ +#endif /* __DECLSPEC_SUPPORTED */ + +#else /* ! __MSVCRT__ */ + +/* CRTDLL run time library */ + +#ifndef __DECLSPEC_SUPPORTED + extern int* __imp__sys_nerr_dll; +# define sys_nerr (*__imp__sys_nerr_dll) +#else /* __DECLSPEC_SUPPORTED */ + __MINGW_IMPORT int _sys_nerr_dll; +# define sys_nerr _sys_nerr_dll +#endif /* __DECLSPEC_SUPPORTED */ + +#endif /* ! __MSVCRT__ */ + +#ifndef __DECLSPEC_SUPPORTED +extern char*** __imp__sys_errlist; +#define sys_errlist (*__imp__sys_errlist) +#else /* __DECLSPEC_SUPPORTED */ +__MINGW_IMPORT char* _sys_errlist[]; +#ifndef _UWIN +#define sys_errlist _sys_errlist +#endif /* _UWIN */ +#endif /* __DECLSPEC_SUPPORTED */ + +/* + * OS version and such constants. + */ +#ifndef __STRICT_ANSI__ + +#ifdef __MSVCRT__ +/* msvcrtxx.dll */ + +extern unsigned int* __p__osver(void); +extern unsigned int* __p__winver(void); +extern unsigned int* __p__winmajor(void); +extern unsigned int* __p__winminor(void); + +#define _osver (*__p__osver()) +#define _winver (*__p__winver()) +#define _winmajor (*__p__winmajor()) +#define _winminor (*__p__winminor()) + +#else +/* Not msvcrtxx.dll, thus crtdll.dll */ + +#ifndef __DECLSPEC_SUPPORTED + +extern unsigned int* _imp___osver_dll; +extern unsigned int* _imp___winver_dll; +extern unsigned int* _imp___winmajor_dll; +extern unsigned int* _imp___winminor_dll; + +#define _osver (*_imp___osver_dll) +#define _winver (*_imp___winver_dll) +#define _winmajor (*_imp___winmajor_dll) +#define _winminor (*_imp___winminor_dll) + +#else /* __DECLSPEC_SUPPORTED */ + +__MINGW_IMPORT unsigned int _osver_dll; +__MINGW_IMPORT unsigned int _winver_dll; +__MINGW_IMPORT unsigned int _winmajor_dll; +__MINGW_IMPORT unsigned int _winminor_dll; + +#define _osver _osver_dll +#define _winver _winver_dll +#define _winmajor _winmajor_dll +#define _winminor _winminor_dll + +#endif /* __DECLSPEC_SUPPORTED */ + +#endif + +#if defined __MSVCRT__ +/* although the _pgmptr is exported as DATA, + * be safe and use the access function __p__pgmptr() to get it. */ +char** __p__pgmptr(void); +#define _pgmptr (*__p__pgmptr()) +wchar_t** __p__wpgmptr(void); +#define _wpgmptr (*__p__wpgmptr()) +#else /* ! __MSVCRT__ */ +# ifndef __DECLSPEC_SUPPORTED + extern char** __imp__pgmptr_dll; +# define _pgmptr (*__imp__pgmptr_dll) +# else /* __DECLSPEC_SUPPORTED */ + __MINGW_IMPORT char* _pgmptr_dll; +# define _pgmptr _pgmptr_dll +# endif /* __DECLSPEC_SUPPORTED */ +/* no wide version in CRTDLL */ +#endif /* __MSVCRT__ */ + +#endif /* Not __STRICT_ANSI__ */ + +#ifdef __GNUC__ +#define _ATTRIB_NORETURN __attribute__ ((noreturn)) +#else /* Not __GNUC__ */ +#define _ATTRIB_NORETURN +#endif /* __GNUC__ */ + +double atof (const char*); +int atoi (const char*); +long atol (const char*); +int _wtoi (const wchar_t *); +long _wtol (const wchar_t *); + +double strtod (const char*, char**); +#if !defined __NO_ISOCEXT /* extern stubs in static libmingwex.a */ +extern __inline__ float strtof (const char *nptr, char **endptr) + { return (strtod (nptr, endptr));} +#endif /* __NO_ISOCEXT */ + +long strtol (const char*, char**, int); +unsigned long strtoul (const char*, char**, int); + +#ifndef _WSTDLIB_DEFINED +/* also declared in wchar.h */ +double wcstod (const wchar_t*, wchar_t**); +#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ +extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr) +{ return (wcstod(nptr, endptr)); } +#endif /* __NO_ISOCEXT */ + +long wcstol (const wchar_t*, wchar_t**, int); +unsigned long wcstoul (const wchar_t*, wchar_t**, int); +#define _WSTDLIB_DEFINED +#endif + +size_t wcstombs (char*, const wchar_t*, size_t); +int wctomb (char*, wchar_t); + +int mblen (const char*, size_t); +size_t mbstowcs (wchar_t*, const char*, size_t); +int mbtowc (wchar_t*, const char*, size_t); + +int rand (void); +void srand (unsigned int); + +void* calloc (size_t, size_t); +void* malloc (size_t); +void* realloc (void*, size_t); +void free (void*); + +void abort (void) _ATTRIB_NORETURN; +void exit (int) _ATTRIB_NORETURN; +int atexit (void (*)(void)); + +int system (const char*); +char* getenv (const char*); + +void* bsearch (const void*, const void*, size_t, size_t, + int (*)(const void*, const void*)); +void qsort (const void*, size_t, size_t, + int (*)(const void*, const void*)); + +int abs (int); +long labs (long); + +/* + * div_t and ldiv_t are structures used to return the results of div and + * ldiv. + * + * NOTE: div and ldiv appear not to work correctly unless + * -fno-pcc-struct-return is specified. This is included in the + * mingw32 specs file. + */ +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; + +div_t div (int, int); +ldiv_t ldiv (long, long); + +#ifndef __STRICT_ANSI__ + +/* + * NOTE: Officially the three following functions are obsolete. The Win32 API + * functions SetErrorMode, Beep and Sleep are their replacements. + */ +void _beep (unsigned int, unsigned int); +void _seterrormode (int); +void _sleep (unsigned long); + +void _exit (int) _ATTRIB_NORETURN; +#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ +/* C99 function name */ +void _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute. */ +extern __inline__ void _Exit(int status) + { _exit(status); } +#endif +/* _onexit is MS extension. Use atexit for portability. */ +typedef int (* _onexit_t)(void); +_onexit_t _onexit( _onexit_t ); + +int _putenv (const char*); +void _searchenv (const char*, const char*, char*); + + +char* _ecvt (double, int, int*, int*); +char* _fcvt (double, int, int*, int*); +char* _gcvt (double, int, char*); + +void _makepath (char*, const char*, const char*, const char*, const char*); +void _splitpath (const char*, char*, char*, char*, char*); +char* _fullpath (char*, const char*, size_t); + + +char* _itoa (int, char*, int); +char* _ltoa (long, char*, int); +char* _ultoa(unsigned long, char*, int); +wchar_t* _itow (int, wchar_t*, int); +wchar_t* _ltow (long, wchar_t*, int); +wchar_t* _ultow (unsigned long, wchar_t*, int); + +#ifdef __MSVCRT__ +__int64 _atoi64(const char *); +char* _i64toa(__int64, char *, int); +char* _ui64toa(unsigned __int64, char *, int); +__int64 _wtoi64(const wchar_t *); +wchar_t* _i64tow(__int64, wchar_t *, int); +wchar_t* _ui64tow(unsigned __int64, wchar_t *, int); + +wchar_t* _wgetenv(const wchar_t*); +int _wputenv(const wchar_t*); +void _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); +void _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); +void _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); +wchar_t* _wfullpath (wchar_t*, const wchar_t*, size_t); +#endif + +#ifndef _NO_OLDNAMES + +int putenv (const char*); +void searchenv (const char*, const char*, char*); + +char* itoa (int, char*, int); +char* ltoa (long, char*, int); + +#ifndef _UWIN +char* ecvt (double, int, int*, int*); +char* fcvt (double, int, int*, int*); +char* gcvt (double, int, char*); +#endif /* _UWIN */ +#endif /* Not _NO_OLDNAMES */ + +#endif /* Not __STRICT_ANSI__ */ + +/* C99 names */ + +#if !defined __NO_ISOCEXT /* externs in static libmingwex.a */ + +typedef struct { long long quot, rem; } lldiv_t; + +lldiv_t lldiv (long long, long long); + +extern __inline__ long long llabs(long long _j) + {return (_j >= 0 ? _j : -_j);} + +long long strtoll (const char* __restrict__, char** __restrict, int); +unsigned long long strtoull (const char* __restrict__, char** __restrict__, int); + +#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */ +long long atoll (const char *); + +#if !defined (__STRICT_ANSI__) +long long wtoll(const wchar_t *); +char* lltoa(long long, char *, int); +char* ulltoa(unsigned long long , char *, int); +wchar_t* lltow(long long, wchar_t *, int); +wchar_t* ulltow(unsigned long long, wchar_t *, int); + + /* inline using non-ansi functions */ +extern __inline__ long long atoll (const char * _c) + { return _atoi64 (_c); } +extern __inline__ char* lltoa(long long _n, char * _c, int _i) + { return _i64toa (_n, _c, _i); } +extern __inline__ char* ulltoa(unsigned long long _n, char * _c, int _i) + { return _ui64toa (_n, _c, _i); } +extern __inline__ long long wtoll(const wchar_t * _w) + { return _wtoi64 (_w); } +extern __inline__ wchar_t* lltow(long long _n, wchar_t * _w, int _i) + { return _i64tow (_n, _w, _i); } +extern __inline__ wchar_t* ulltow(unsigned long long _n, wchar_t * _w, int _i) + { return _ui64tow (_n, _w, _i); } +#endif /* (__STRICT_ANSI__) */ + +#endif /* __MSVCRT__ */ + +#endif /* !__NO_ISOCEXT */ + +/* + * Undefine the no return attribute used in some function definitions + */ +#undef _ATTRIB_NORETURN + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _STDLIB_H_ */ + diff --git a/win32/include/string.h b/win32/include/string.h index bcc7db0..03dd48f 100644 --- a/win32/include/string.h +++ b/win32/include/string.h @@ -1,206 +1,206 @@ -/*
- * string.h
- *
- * Definitions for memory and string functions.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _STRING_H_
-#define _STRING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Define size_t, wchar_t and NULL
- */
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Prototypes of the ANSI Standard C library string functions.
- */
-void* memchr (const void*, int, size_t);
-int memcmp (const void*, const void*, size_t);
-void* memcpy (void*, const void*, size_t);
-void* memmove (void*, const void*, size_t);
-void* memset (void*, int, size_t);
-char* strcat (char*, const char*);
-char* strchr (const char*, int);
-int strcmp (const char*, const char*);
-int strcoll (const char*, const char*); /* Compare using locale */
-char* strcpy (char*, const char*);
-size_t strcspn (const char*, const char*);
-char* strerror (int); /* NOTE: NOT an old name wrapper. */
-char* _strerror (const char *);
-size_t strlen (const char*);
-char* strncat (char*, const char*, size_t);
-int strncmp (const char*, const char*, size_t);
-char* strncpy (char*, const char*, size_t);
-char* strpbrk (const char*, const char*);
-char* strrchr (const char*, int);
-size_t strspn (const char*, const char*);
-char* strstr (const char*, const char*);
-char* strtok (char*, const char*);
-size_t strxfrm (char*, const char*, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Extra non-ANSI functions provided by the CRTDLL library
- */
-void* _memccpy (void*, const void*, int, size_t);
-int _memicmp (const void*, const void*, size_t);
-char* _strdup (const char*);
-int _strcmpi (const char*, const char*);
-int _stricmp (const char*, const char*);
-int _stricoll (const char*, const char*);
-char* _strlwr (char*);
-int _strnicmp (const char*, const char*, size_t);
-char* _strnset (char*, int, size_t);
-char* _strrev (char*);
-char* _strset (char*, int);
-char* _strupr (char*);
-void _swab (const char*, char*, size_t);
-
-/*
- * Multi-byte character functions
- */
-unsigned char* _mbschr (unsigned char*, unsigned char*);
-unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
-unsigned char* _mbstok (unsigned char*, unsigned char*);
-
-#ifdef __MSVCRT__
-int _strncoll(const char*, const char*, size_t);
-int _strnicoll(const char*, const char*, size_t);
-#endif
-
-#endif /* Not __STRICT_ANSI__ */
-
-/*
- * Unicode versions of the standard calls.
- */
-wchar_t* wcscat (wchar_t*, const wchar_t*);
-wchar_t* wcschr (const wchar_t*, wchar_t);
-int wcscmp (const wchar_t*, const wchar_t*);
-int wcscoll (const wchar_t*, const wchar_t*);
-wchar_t* wcscpy (wchar_t*, const wchar_t*);
-size_t wcscspn (const wchar_t*, const wchar_t*);
-/* Note: No wcserror in CRTDLL. */
-size_t wcslen (const wchar_t*);
-wchar_t* wcsncat (wchar_t*, const wchar_t*, size_t);
-int wcsncmp(const wchar_t*, const wchar_t*, size_t);
-wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t);
-wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
-wchar_t* wcsrchr(const wchar_t*, wchar_t);
-size_t wcsspn(const wchar_t*, const wchar_t*);
-wchar_t* wcsstr(const wchar_t*, const wchar_t*);
-wchar_t* wcstok(wchar_t*, const wchar_t*);
-size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Unicode versions of non-ANSI functions provided by CRTDLL.
- */
-
-/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */
-#define _wcscmpi _wcsicmp
-
-wchar_t* _wcsdup (wchar_t*);
-int _wcsicmp (const wchar_t*, const wchar_t*);
-int _wcsicoll (const wchar_t*, const wchar_t*);
-wchar_t* _wcslwr (wchar_t*);
-int _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-wchar_t* _wcsnset (wchar_t*, wchar_t, size_t);
-wchar_t* _wcsrev (wchar_t*);
-wchar_t* _wcsset (wchar_t*, wchar_t);
-wchar_t* _wcsupr (wchar_t*);
-
-#ifdef __MSVCRT__
-int _wcsncoll(const wchar_t*, const wchar_t*, size_t);
-int _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
-#endif
-
-
-#endif /* Not __STRICT_ANSI__ */
-
-
-#ifndef __STRICT_ANSI__
-#ifndef _NO_OLDNAMES
-
-/*
- * Non-underscored versions of non-ANSI functions. They live in liboldnames.a
- * and provide a little extra portability. Also a few extra UNIX-isms like
- * strcasecmp.
- */
-
-void* memccpy (void*, const void*, int, size_t);
-int memicmp (const void*, const void*, size_t);
-char* strdup (const char*);
-int strcmpi (const char*, const char*);
-int stricmp (const char*, const char*);
-int strcasecmp (const char*, const char*);
-int stricoll (const char*, const char*);
-char* strlwr (char*);
-int strnicmp (const char*, const char*, size_t);
-int strncasecmp (const char*, const char*, size_t);
-char* strnset (char*, int, size_t);
-char* strrev (char*);
-char* strset (char*, int);
-char* strupr (char*);
-#ifndef _UWIN
-void swab (const char*, char*, size_t);
-#endif /* _UWIN */
-
-/* NOTE: There is no _wcscmpi, but this is for compatibility. */
-int wcscmpi (const wchar_t*, const wchar_t*);
-wchar_t* wcsdup (wchar_t*);
-int wcsicmp (const wchar_t*, const wchar_t*);
-int wcsicoll (const wchar_t*, const wchar_t*);
-wchar_t* wcslwr (wchar_t*);
-int wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-wchar_t* wcsnset (wchar_t*, wchar_t, size_t);
-wchar_t* wcsrev (wchar_t*);
-wchar_t* wcsset (wchar_t*, wchar_t);
-wchar_t* wcsupr (wchar_t*);
-
-#endif /* Not _NO_OLDNAMES */
-#endif /* Not strict ANSI */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STRING_H_ */
-
+/* + * string.h + * + * Definitions for memory and string functions. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _STRING_H_ +#define _STRING_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * Define size_t, wchar_t and NULL + */ +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Prototypes of the ANSI Standard C library string functions. + */ +void* memchr (const void*, int, size_t); +int memcmp (const void*, const void*, size_t); +void* memcpy (void*, const void*, size_t); +void* memmove (void*, const void*, size_t); +void* memset (void*, int, size_t); +char* strcat (char*, const char*); +char* strchr (const char*, int); +int strcmp (const char*, const char*); +int strcoll (const char*, const char*); /* Compare using locale */ +char* strcpy (char*, const char*); +size_t strcspn (const char*, const char*); +char* strerror (int); /* NOTE: NOT an old name wrapper. */ +char* _strerror (const char *); +size_t strlen (const char*); +char* strncat (char*, const char*, size_t); +int strncmp (const char*, const char*, size_t); +char* strncpy (char*, const char*, size_t); +char* strpbrk (const char*, const char*); +char* strrchr (const char*, int); +size_t strspn (const char*, const char*); +char* strstr (const char*, const char*); +char* strtok (char*, const char*); +size_t strxfrm (char*, const char*, size_t); + +#ifndef __STRICT_ANSI__ +/* + * Extra non-ANSI functions provided by the CRTDLL library + */ +void* _memccpy (void*, const void*, int, size_t); +int _memicmp (const void*, const void*, size_t); +char* _strdup (const char*); +int _strcmpi (const char*, const char*); +int _stricmp (const char*, const char*); +int _stricoll (const char*, const char*); +char* _strlwr (char*); +int _strnicmp (const char*, const char*, size_t); +char* _strnset (char*, int, size_t); +char* _strrev (char*); +char* _strset (char*, int); +char* _strupr (char*); +void _swab (const char*, char*, size_t); + +/* + * Multi-byte character functions + */ +unsigned char* _mbschr (unsigned char*, unsigned char*); +unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t); +unsigned char* _mbstok (unsigned char*, unsigned char*); + +#ifdef __MSVCRT__ +int _strncoll(const char*, const char*, size_t); +int _strnicoll(const char*, const char*, size_t); +#endif + +#endif /* Not __STRICT_ANSI__ */ + +/* + * Unicode versions of the standard calls. + */ +wchar_t* wcscat (wchar_t*, const wchar_t*); +wchar_t* wcschr (const wchar_t*, wchar_t); +int wcscmp (const wchar_t*, const wchar_t*); +int wcscoll (const wchar_t*, const wchar_t*); +wchar_t* wcscpy (wchar_t*, const wchar_t*); +size_t wcscspn (const wchar_t*, const wchar_t*); +/* Note: No wcserror in CRTDLL. */ +size_t wcslen (const wchar_t*); +wchar_t* wcsncat (wchar_t*, const wchar_t*, size_t); +int wcsncmp(const wchar_t*, const wchar_t*, size_t); +wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t); +wchar_t* wcspbrk(const wchar_t*, const wchar_t*); +wchar_t* wcsrchr(const wchar_t*, wchar_t); +size_t wcsspn(const wchar_t*, const wchar_t*); +wchar_t* wcsstr(const wchar_t*, const wchar_t*); +wchar_t* wcstok(wchar_t*, const wchar_t*); +size_t wcsxfrm(wchar_t*, const wchar_t*, size_t); + +#ifndef __STRICT_ANSI__ +/* + * Unicode versions of non-ANSI functions provided by CRTDLL. + */ + +/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */ +#define _wcscmpi _wcsicmp + +wchar_t* _wcsdup (wchar_t*); +int _wcsicmp (const wchar_t*, const wchar_t*); +int _wcsicoll (const wchar_t*, const wchar_t*); +wchar_t* _wcslwr (wchar_t*); +int _wcsnicmp (const wchar_t*, const wchar_t*, size_t); +wchar_t* _wcsnset (wchar_t*, wchar_t, size_t); +wchar_t* _wcsrev (wchar_t*); +wchar_t* _wcsset (wchar_t*, wchar_t); +wchar_t* _wcsupr (wchar_t*); + +#ifdef __MSVCRT__ +int _wcsncoll(const wchar_t*, const wchar_t*, size_t); +int _wcsnicoll(const wchar_t*, const wchar_t*, size_t); +#endif + + +#endif /* Not __STRICT_ANSI__ */ + + +#ifndef __STRICT_ANSI__ +#ifndef _NO_OLDNAMES + +/* + * Non-underscored versions of non-ANSI functions. They live in liboldnames.a + * and provide a little extra portability. Also a few extra UNIX-isms like + * strcasecmp. + */ + +void* memccpy (void*, const void*, int, size_t); +int memicmp (const void*, const void*, size_t); +char* strdup (const char*); +int strcmpi (const char*, const char*); +int stricmp (const char*, const char*); +int strcasecmp (const char*, const char*); +int stricoll (const char*, const char*); +char* strlwr (char*); +int strnicmp (const char*, const char*, size_t); +int strncasecmp (const char*, const char*, size_t); +char* strnset (char*, int, size_t); +char* strrev (char*); +char* strset (char*, int); +char* strupr (char*); +#ifndef _UWIN +void swab (const char*, char*, size_t); +#endif /* _UWIN */ + +/* NOTE: There is no _wcscmpi, but this is for compatibility. */ +int wcscmpi (const wchar_t*, const wchar_t*); +wchar_t* wcsdup (wchar_t*); +int wcsicmp (const wchar_t*, const wchar_t*); +int wcsicoll (const wchar_t*, const wchar_t*); +wchar_t* wcslwr (wchar_t*); +int wcsnicmp (const wchar_t*, const wchar_t*, size_t); +wchar_t* wcsnset (wchar_t*, wchar_t, size_t); +wchar_t* wcsrev (wchar_t*); +wchar_t* wcsset (wchar_t*, wchar_t); +wchar_t* wcsupr (wchar_t*); + +#endif /* Not _NO_OLDNAMES */ +#endif /* Not strict ANSI */ + + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _STRING_H_ */ + diff --git a/win32/include/sys/fcntl.h b/win32/include/sys/fcntl.h index 749cce2..b343f27 100644 --- a/win32/include/sys/fcntl.h +++ b/win32/include/sys/fcntl.h @@ -1,8 +1,8 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * This fcntl.h maps to the root fcntl.h
- */
-#ifndef __STRICT_ANSI__
-#include <fcntl.h>
-#endif
+/* + * This file is part of the Mingw32 package. + * + * This fcntl.h maps to the root fcntl.h + */ +#ifndef __STRICT_ANSI__ +#include <fcntl.h> +#endif diff --git a/win32/include/sys/file.h b/win32/include/sys/file.h index 848ad3d..96c49e1 100644 --- a/win32/include/sys/file.h +++ b/win32/include/sys/file.h @@ -1,9 +1,9 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * This file.h maps to the root fcntl.h
- * TODO?
- */
-#ifndef __STRICT_ANSI__
-#include <fcntl.h>
-#endif
+/* + * This file is part of the Mingw32 package. + * + * This file.h maps to the root fcntl.h + * TODO? + */ +#ifndef __STRICT_ANSI__ +#include <fcntl.h> +#endif diff --git a/win32/include/sys/locking.h b/win32/include/sys/locking.h index f0b967d..2ecd116 100644 --- a/win32/include/sys/locking.h +++ b/win32/include/sys/locking.h @@ -1,52 +1,52 @@ -/*
- * locking.h
- *
- * Constants for the mode parameter of the locking function.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _LOCKING_H_
-#define _LOCKING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define _LK_UNLCK 0 /* Unlock */
-#define _LK_LOCK 1 /* Lock */
-#define _LK_NBLCK 2 /* Non-blocking lock */
-#define _LK_RLCK 3 /* Lock for read only */
-#define _LK_NBRLCK 4 /* Non-blocking lock for read only */
-
-#ifndef NO_OLDNAMES
-#define LK_UNLCK _LK_UNLCK
-#define LK_LOCK _LK_LOCK
-#define LK_NBLCK _LK_NBLCK
-#define LK_RLCK _LK_RLCK
-#define LK_NBRLCK _LK_NBRLCK
-#endif /* Not NO_OLDNAMES */
-
-#endif /* Not _LOCKING_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * locking.h + * + * Constants for the mode parameter of the locking function. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _LOCKING_H_ +#define _LOCKING_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define _LK_UNLCK 0 /* Unlock */ +#define _LK_LOCK 1 /* Lock */ +#define _LK_NBLCK 2 /* Non-blocking lock */ +#define _LK_RLCK 3 /* Lock for read only */ +#define _LK_NBRLCK 4 /* Non-blocking lock for read only */ + +#ifndef NO_OLDNAMES +#define LK_UNLCK _LK_UNLCK +#define LK_LOCK _LK_LOCK +#define LK_NBLCK _LK_NBLCK +#define LK_RLCK _LK_RLCK +#define LK_NBRLCK _LK_NBRLCK +#endif /* Not NO_OLDNAMES */ + +#endif /* Not _LOCKING_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/sys/stat.h b/win32/include/sys/stat.h index 94f7ecf..0e20549 100644 --- a/win32/include/sys/stat.h +++ b/win32/include/sys/stat.h @@ -1,190 +1,190 @@ -/*
- * stat.h
- *
- * Symbolic constants for opening and creating files, also stat, fstat and
- * chmod functions.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _STAT_H_
-#define _STAT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_size_t
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#include <sys/types.h>
-
-/*
- * Constants for the stat st_mode member.
- */
-#define _S_IFIFO 0x1000 /* FIFO */
-#define _S_IFCHR 0x2000 /* Character */
-#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */
-#define _S_IFDIR 0x4000 /* Directory */
-#define _S_IFREG 0x8000 /* Regular */
-
-#define _S_IFMT 0xF000 /* File type mask */
-
-#define _S_IEXEC 0x0040
-#define _S_IWRITE 0x0080
-#define _S_IREAD 0x0100
-
-#define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
-#define _S_IXUSR _S_IEXEC
-#define _S_IWUSR _S_IWRITE
-#define _S_IRUSR _S_IREAD
-
-#define _S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
-#define _S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO)
-#define _S_ISCHR(m) (((m) & _S_IFMT) == _S_IFCHR)
-#define _S_ISBLK(m) (((m) & _S_IFMT) == _S_IFBLK)
-#define _S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
-
-#ifndef _NO_OLDNAMES
-
-#define S_IFIFO _S_IFIFO
-#define S_IFCHR _S_IFCHR
-#define S_IFBLK _S_IFBLK
-#define S_IFDIR _S_IFDIR
-#define S_IFREG _S_IFREG
-#define S_IFMT _S_IFMT
-#define S_IEXEC _S_IEXEC
-#define S_IWRITE _S_IWRITE
-#define S_IREAD _S_IREAD
-#define S_IRWXU _S_IRWXU
-#define S_IXUSR _S_IXUSR
-#define S_IWUSR _S_IWUSR
-#define S_IRUSR _S_IRUSR
-
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifndef RC_INVOKED
-
-#ifndef _STAT_DEFINED
-/*
- * The structure manipulated and returned by stat and fstat.
- *
- * NOTE: If called on a directory the values in the time fields are not only
- * invalid, they will cause localtime et. al. to return NULL. And calling
- * asctime with a NULL pointer causes an Invalid Page Fault. So watch it!
- */
-struct _stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-
-struct stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-#if defined (__MSVCRT__)
-struct _stati64 {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- time_t st_atime;
- time_t st_mtime;
- time_t st_ctime;
-};
-#endif /* __MSVCRT__ */
-#define _STAT_DEFINED
-#endif /* _STAT_DEFINED */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int _fstat (int, struct _stat*);
-int _chmod (const char*, int);
-int _stat (const char*, struct _stat*);
-
-#if defined (__MSVCRT__)
-int _fstati64(int, struct _stati64 *);
-int _stati64(const char *, struct _stati64 *);
-#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */
-int _wstat(const wchar_t*, struct _stat*);
-int _wstati64 (const wchar_t*, struct _stati64*);
-#define _WSTAT_DEFINED
-#endif /* _WSTAT_DEFIND */
-#endif /* __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-
-/* These functions live in liboldnames.a. */
-int fstat (int, struct stat*);
-int chmod (const char*, int);
-int stat (const char*, struct stat*);
-
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STAT_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * stat.h + * + * Symbolic constants for opening and creating files, also stat, fstat and + * chmod functions. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _STAT_H_ +#define _STAT_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_size_t +#define __need_wchar_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +#include <sys/types.h> + +/* + * Constants for the stat st_mode member. + */ +#define _S_IFIFO 0x1000 /* FIFO */ +#define _S_IFCHR 0x2000 /* Character */ +#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ +#define _S_IFDIR 0x4000 /* Directory */ +#define _S_IFREG 0x8000 /* Regular */ + +#define _S_IFMT 0xF000 /* File type mask */ + +#define _S_IEXEC 0x0040 +#define _S_IWRITE 0x0080 +#define _S_IREAD 0x0100 + +#define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC) +#define _S_IXUSR _S_IEXEC +#define _S_IWUSR _S_IWRITE +#define _S_IRUSR _S_IREAD + +#define _S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) +#define _S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO) +#define _S_ISCHR(m) (((m) & _S_IFMT) == _S_IFCHR) +#define _S_ISBLK(m) (((m) & _S_IFMT) == _S_IFBLK) +#define _S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) + +#ifndef _NO_OLDNAMES + +#define S_IFIFO _S_IFIFO +#define S_IFCHR _S_IFCHR +#define S_IFBLK _S_IFBLK +#define S_IFDIR _S_IFDIR +#define S_IFREG _S_IFREG +#define S_IFMT _S_IFMT +#define S_IEXEC _S_IEXEC +#define S_IWRITE _S_IWRITE +#define S_IREAD _S_IREAD +#define S_IRWXU _S_IRWXU +#define S_IXUSR _S_IXUSR +#define S_IWUSR _S_IWUSR +#define S_IRUSR _S_IRUSR + +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) + +#endif /* Not _NO_OLDNAMES */ + +#ifndef RC_INVOKED + +#ifndef _STAT_DEFINED +/* + * The structure manipulated and returned by stat and fstat. + * + * NOTE: If called on a directory the values in the time fields are not only + * invalid, they will cause localtime et. al. to return NULL. And calling + * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! + */ +struct _stat +{ + _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ + _ino_t st_ino; /* Always zero ? */ + _mode_t st_mode; /* See above constants */ + short st_nlink; /* Number of links. */ + short st_uid; /* User: Maybe significant on NT ? */ + short st_gid; /* Group: Ditto */ + _dev_t st_rdev; /* Seems useless (not even filled in) */ + _off_t st_size; /* File size in bytes */ + time_t st_atime; /* Accessed date (always 00:00 hrs local + * on FAT) */ + time_t st_mtime; /* Modified time */ + time_t st_ctime; /* Creation time */ +}; + +struct stat +{ + _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ + _ino_t st_ino; /* Always zero ? */ + _mode_t st_mode; /* See above constants */ + short st_nlink; /* Number of links. */ + short st_uid; /* User: Maybe significant on NT ? */ + short st_gid; /* Group: Ditto */ + _dev_t st_rdev; /* Seems useless (not even filled in) */ + _off_t st_size; /* File size in bytes */ + time_t st_atime; /* Accessed date (always 00:00 hrs local + * on FAT) */ + time_t st_mtime; /* Modified time */ + time_t st_ctime; /* Creation time */ +}; +#if defined (__MSVCRT__) +struct _stati64 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __int64 st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; +}; +#endif /* __MSVCRT__ */ +#define _STAT_DEFINED +#endif /* _STAT_DEFINED */ + +#ifdef __cplusplus +extern "C" { +#endif + +int _fstat (int, struct _stat*); +int _chmod (const char*, int); +int _stat (const char*, struct _stat*); + +#if defined (__MSVCRT__) +int _fstati64(int, struct _stati64 *); +int _stati64(const char *, struct _stati64 *); +#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */ +int _wstat(const wchar_t*, struct _stat*); +int _wstati64 (const wchar_t*, struct _stati64*); +#define _WSTAT_DEFINED +#endif /* _WSTAT_DEFIND */ +#endif /* __MSVCRT__ */ + +#ifndef _NO_OLDNAMES + +/* These functions live in liboldnames.a. */ +int fstat (int, struct stat*); +int chmod (const char*, int); +int stat (const char*, struct stat*); + +#endif /* Not _NO_OLDNAMES */ + + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _STAT_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/sys/time.h b/win32/include/sys/time.h index ba5c58b..39d85f6 100644 --- a/win32/include/sys/time.h +++ b/win32/include/sys/time.h @@ -1,3 +1,3 @@ -
-#include <time.h>
-
+ +#include <time.h> + diff --git a/win32/include/sys/timeb.h b/win32/include/sys/timeb.h index 39ca6f4..b5bb0fc 100644 --- a/win32/include/sys/timeb.h +++ b/win32/include/sys/timeb.h @@ -1,82 +1,82 @@ -/*
- * timeb.h
- *
- * Support for the UNIX System V ftime system call.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _TIMEB_H_
-#define _TIMEB_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-/*
- * TODO: Structure not tested.
- */
-struct _timeb
-{
- long time;
- short millitm;
- short timezone;
- short dstflag;
-};
-
-#ifndef _NO_OLDNAMES
-/*
- * TODO: Structure not tested.
- */
-struct timeb
-{
- long time;
- short millitm;
- short timezone;
- short dstflag;
-};
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* TODO: Not tested. */
-void _ftime (struct _timeb*);
-
-#ifndef _NO_OLDNAMES
-void ftime (struct timeb*);
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TIMEB_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * timeb.h + * + * Support for the UNIX System V ftime system call. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _TIMEB_H_ +#define _TIMEB_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#ifndef RC_INVOKED + +/* + * TODO: Structure not tested. + */ +struct _timeb +{ + long time; + short millitm; + short timezone; + short dstflag; +}; + +#ifndef _NO_OLDNAMES +/* + * TODO: Structure not tested. + */ +struct timeb +{ + long time; + short millitm; + short timezone; + short dstflag; +}; +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + +/* TODO: Not tested. */ +void _ftime (struct _timeb*); + +#ifndef _NO_OLDNAMES +void ftime (struct timeb*); +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _TIMEB_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/sys/types.h b/win32/include/sys/types.h index 651424a..0679ac9 100644 --- a/win32/include/sys/types.h +++ b/win32/include/sys/types.h @@ -1,118 +1,118 @@ -/*
- * types.h
- *
- * The definition of constants, data types and global variables.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Lots of types supplied by Pedro A. Aranda <paag@tid.es>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warrenties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _TYPES_H_
-#define _TYPES_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#define __need_ptrdiff_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#ifndef RC_INVOKED
-
-#ifndef _TIME_T_DEFINED
-typedef long time_t;
-#define _TIME_T_DEFINED
-#endif
-
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _OFF_T_
-#define _OFF_T_
-typedef long _off_t;
-
-#ifndef _NO_OLDNAMES
-typedef _off_t off_t;
-#endif
-#endif /* Not _OFF_T_ */
-
-
-#ifndef _DEV_T_
-#define _DEV_T_
-#ifdef __MSVCRT__
-typedef unsigned int _dev_t;
-#else
-typedef short _dev_t;
-#endif
-
-#ifndef _NO_OLDNAMES
-typedef _dev_t dev_t;
-#endif
-#endif /* Not _DEV_T_ */
-
-
-#ifndef _INO_T_
-#define _INO_T_
-typedef short _ino_t;
-
-#ifndef _NO_OLDNAMES
-typedef _ino_t ino_t;
-#endif
-#endif /* Not _INO_T_ */
-
-
-#ifndef _PID_T_
-#define _PID_T_
-typedef int _pid_t;
-
-#ifndef _NO_OLDNAMES
-typedef _pid_t pid_t;
-#endif
-#endif /* Not _PID_T_ */
-
-
-#ifndef _MODE_T_
-#define _MODE_T_
-typedef unsigned short _mode_t;
-
-#ifndef _NO_OLDNAMES
-typedef _mode_t mode_t;
-#endif
-#endif /* Not _MODE_T_ */
-
-
-#ifndef _SIGSET_T_
-#define _SIGSET_T_
-typedef int _sigset_t;
-
-#ifndef _NO_OLDNAMES
-typedef _sigset_t sigset_t;
-#endif
-#endif /* Not _SIGSET_T_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TYPES_H_ */
+/* + * types.h + * + * The definition of constants, data types and global variables. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * Lots of types supplied by Pedro A. Aranda <paag@tid.es> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warrenties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _TYPES_H_ +#define _TYPES_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#define __need_size_t +#define __need_ptrdiff_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +#ifndef RC_INVOKED + +#ifndef _TIME_T_DEFINED +typedef long time_t; +#define _TIME_T_DEFINED +#endif + + +#ifndef __STRICT_ANSI__ + +#ifndef _OFF_T_ +#define _OFF_T_ +typedef long _off_t; + +#ifndef _NO_OLDNAMES +typedef _off_t off_t; +#endif +#endif /* Not _OFF_T_ */ + + +#ifndef _DEV_T_ +#define _DEV_T_ +#ifdef __MSVCRT__ +typedef unsigned int _dev_t; +#else +typedef short _dev_t; +#endif + +#ifndef _NO_OLDNAMES +typedef _dev_t dev_t; +#endif +#endif /* Not _DEV_T_ */ + + +#ifndef _INO_T_ +#define _INO_T_ +typedef short _ino_t; + +#ifndef _NO_OLDNAMES +typedef _ino_t ino_t; +#endif +#endif /* Not _INO_T_ */ + + +#ifndef _PID_T_ +#define _PID_T_ +typedef int _pid_t; + +#ifndef _NO_OLDNAMES +typedef _pid_t pid_t; +#endif +#endif /* Not _PID_T_ */ + + +#ifndef _MODE_T_ +#define _MODE_T_ +typedef unsigned short _mode_t; + +#ifndef _NO_OLDNAMES +typedef _mode_t mode_t; +#endif +#endif /* Not _MODE_T_ */ + + +#ifndef _SIGSET_T_ +#define _SIGSET_T_ +typedef int _sigset_t; + +#ifndef _NO_OLDNAMES +typedef _sigset_t sigset_t; +#endif +#endif /* Not _SIGSET_T_ */ + +#endif /* Not __STRICT_ANSI__ */ + +#endif /* Not RC_INVOKED */ + +#endif /* Not _TYPES_H_ */ diff --git a/win32/include/sys/unistd.h b/win32/include/sys/unistd.h index 8428619..ed122d9 100644 --- a/win32/include/sys/unistd.h +++ b/win32/include/sys/unistd.h @@ -1,9 +1,9 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * unistd.h maps (roughly) to io.h
- */
-#ifndef __STRICT_ANSI__
-#include <io.h>
-#endif
-
+/* + * This file is part of the Mingw32 package. + * + * unistd.h maps (roughly) to io.h + */ +#ifndef __STRICT_ANSI__ +#include <io.h> +#endif + diff --git a/win32/include/sys/utime.h b/win32/include/sys/utime.h index 2df917e..049524b 100644 --- a/win32/include/sys/utime.h +++ b/win32/include/sys/utime.h @@ -1,89 +1,89 @@ -/*
- * utime.h
- *
- * Support for the utime function.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _UTIME_H_
-#define _UTIME_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-#include <sys/types.h>
-
-#ifndef RC_INVOKED
-
-/*
- * Structure used by _utime function.
- */
-struct _utimbuf
-{
- time_t actime; /* Access time */
- time_t modtime; /* Modification time */
-};
-
-
-#ifndef _NO_OLDNAMES
-/* NOTE: Must be the same as _utimbuf above. */
-struct utimbuf
-{
- time_t actime;
- time_t modtime;
-};
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int _utime (const char*, struct _utimbuf*);
-int _futime (int, struct _utimbuf*);
-
-/* The wide character version, only available for MSVCRT versions of the
- * C runtime library. */
-#ifdef __MSVCRT__
-int _wutime (const wchar_t*, struct _utimbuf*);
-#endif /* MSVCRT runtime */
-#ifndef _NO_OLDNAMES
-int utime (const char*, struct utimbuf*);
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _UTIME_H_ */
-
-#endif /* Not __STRICT_ANSI__ */
-
+/* + * utime.h + * + * Support for the utime function. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef __STRICT_ANSI__ + +#ifndef _UTIME_H_ +#define _UTIME_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#define __need_size_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ +#include <sys/types.h> + +#ifndef RC_INVOKED + +/* + * Structure used by _utime function. + */ +struct _utimbuf +{ + time_t actime; /* Access time */ + time_t modtime; /* Modification time */ +}; + + +#ifndef _NO_OLDNAMES +/* NOTE: Must be the same as _utimbuf above. */ +struct utimbuf +{ + time_t actime; + time_t modtime; +}; +#endif /* Not _NO_OLDNAMES */ + + +#ifdef __cplusplus +extern "C" { +#endif + +int _utime (const char*, struct _utimbuf*); +int _futime (int, struct _utimbuf*); + +/* The wide character version, only available for MSVCRT versions of the + * C runtime library. */ +#ifdef __MSVCRT__ +int _wutime (const wchar_t*, struct _utimbuf*); +#endif /* MSVCRT runtime */ +#ifndef _NO_OLDNAMES +int utime (const char*, struct utimbuf*); +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _UTIME_H_ */ + +#endif /* Not __STRICT_ANSI__ */ + diff --git a/win32/include/tchar.h b/win32/include/tchar.h index f377434..72c1b3c 100644 --- a/win32/include/tchar.h +++ b/win32/include/tchar.h @@ -1,367 +1,367 @@ -/*
- * tchar.h
- *
- * Unicode mapping layer for the standard C library. By including this
- * file and using the 't' names for string functions
- * (eg. _tprintf) you can make code which can be easily adapted to both
- * Unicode and non-unicode environments. In a unicode enabled compile define
- * _UNICODE before including tchar.h, otherwise the standard non-unicode
- * library functions will be used.
- *
- * Note that you still need to include string.h or stdlib.h etc. to define
- * the appropriate functions. Also note that there are several defines
- * included for non-ANSI functions which are commonly available (but using
- * the convention of prepending an underscore to non-ANSI library function
- * names).
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _TCHAR_H_
-#define _TCHAR_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * NOTE: This tests _UNICODE, which is different from the UNICODE define
- * used to differentiate Win32 API calls.
- */
-#ifdef _UNICODE
-
-
-/*
- * Use TCHAR instead of char or wchar_t. It will be appropriately translated
- * if _UNICODE is correctly defined (or not).
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef wchar_t TCHAR;
-typedef wchar_t _TCHAR;
-#endif /* Not RC_INVOKED */
-#define _TCHAR_DEFINED
-#endif
-
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(x) L##x
-
-/* for porting from other Windows compilers */
-#if 0 // no wide startup module
-#define _tmain wmain
-#define _tWinMain wWinMain
-#define _tenviron _wenviron
-#define __targv __wargv
-#endif
-
-/*
- * Unicode functions
- */
-#define _tprintf wprintf
-#define _ftprintf fwprintf
-#define _stprintf swprintf
-#define _sntprintf _snwprintf
-#define _vtprintf vwprintf
-#define _vftprintf vfwprintf
-#define _vstprintf vswprintf
-#define _vsntprintf _vsnwprintf
-#define _tscanf wscanf
-#define _ftscanf fwscanf
-#define _stscanf swscanf
-#define _fgettc fgetwc
-#define _fgettchar _fgetwchar
-#define _fgetts fgetws
-#define _fputtc fputwc
-#define _fputtchar _fputwchar
-#define _fputts fputws
-#define _gettc getwc
-#define _getts getws
-#define _puttc putwc
-#define _putts putws
-#define _ungettc ungetwc
-#define _tcstod wcstod
-#define _tcstol wcstol
-#define _tcstoul wcstoul
-#define _itot _itow
-#define _ltot _ltow
-#define _ultot _ultow
-#define _ttoi _wtoi
-#define _ttol _wtol
-#define _tcscat wcscat
-#define _tcschr wcschr
-#define _tcscmp wcscmp
-#define _tcscpy wcscpy
-#define _tcscspn wcscspn
-#define _tcslen wcslen
-#define _tcsncat wcsncat
-#define _tcsncmp wcsncmp
-#define _tcsncpy wcsncpy
-#define _tcspbrk wcspbrk
-#define _tcsrchr wcsrchr
-#define _tcsspn wcsspn
-#define _tcsstr wcsstr
-#define _tcstok wcstok
-#define _tcsdup _wcsdup
-#define _tcsicmp _wcsicmp
-#define _tcsnicmp _wcsnicmp
-#define _tcsnset _wcsnset
-#define _tcsrev _wcsrev
-#define _tcsset _wcsset
-#define _tcslwr _wcslwr
-#define _tcsupr _wcsupr
-#define _tcsxfrm wcsxfrm
-#define _tcscoll wcscoll
-#define _tcsicoll _wcsicoll
-#define _istalpha iswalpha
-#define _istupper iswupper
-#define _istlower iswlower
-#define _istdigit iswdigit
-#define _istxdigit iswxdigit
-#define _istspace iswspace
-#define _istpunct iswpunct
-#define _istalnum iswalnum
-#define _istprint iswprint
-#define _istgraph iswgraph
-#define _istcntrl iswcntrl
-#define _istascii iswascii
-#define _totupper towupper
-#define _totlower towlower
-#define _tcsftime wcsftime
-/* Macro functions */
-#define _tcsdec _wcsdec
-#define _tcsinc _wcsinc
-#define _tcsnbcnt _wcsncnt
-#define _tcsnccnt _wcsncnt
-#define _tcsnextc _wcsnextc
-#define _tcsninc _wcsninc
-#define _tcsspnp _wcsspnp
-#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
-#define _wcsinc(_wcs) ((_wcs)+1)
-#define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
-#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
-#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
-#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
-
-#if 1 // defined __MSVCRT__
-/*
- * These wide functions not in crtdll.dll.
- * Define macros anyway so that _wfoo rather than _tfoo is undefined
- */
-#define _ttoi64 _wtoi64
-#define _i64tot _i64tow
-#define _ui64tot _ui64tow
-#define _tasctime _wasctime
-#define _tctime _wctime
-#define _tstrdate _wstrdate
-#define _tstrtime _wstrtime
-#define _tutime _wutime
-#define _tcsnccoll _wcsncoll
-#define _tcsncoll _wcsncoll
-#define _tcsncicoll _wcsnicoll
-#define _tcsnicoll _wcsnicoll
-#define _taccess _waccess
-#define _tchmod _wchmod
-#define _tcreat _wcreat
-#define _tfindfirst _wfindfirst
-#define _tfindnext _wfindnext
-#define _tfopen _wfopen
-#define _tgetenv _wgetenv
-#define _tmktemp _wmktemp
-#define _topen _wopen
-#define _tremove _wremove
-#define _trename _wrename
-#define _tsopen _wsopen
-#define _tsetlocale _wsetlocale
-#define _tunlink _wunlink
-#define _tfinddata_t _wfinddata_t
-#define _tfindfirsti64 _wfindfirsti64
-#define _tfindnexti64 _wfindnexti64
-#define _tfinddatai64_t _wfinddatai64_t
-#endif /* __MSVCRT__ */
-
-#else /* Not _UNICODE */
-
-/*
- * TCHAR, the type you should use instead of char.
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef char TCHAR;
-typedef char _TCHAR;
-#endif
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(x) x
-
-/* for porting from other Windows compilers */
-#define _tmain main
-#define _tWinMain WinMain
-#define _tenviron _environ
-#define __targv __argv
-
-/*
- * Non-unicode (standard) functions
- */
-
-#define _tprintf printf
-#define _ftprintf fprintf
-#define _stprintf sprintf
-#define _sntprintf _snprintf
-#define _vtprintf vprintf
-#define _vftprintf vfprintf
-#define _vstprintf vsprintf
-#define _vsntprintf _vsnprintf
-#define _tscanf scanf
-#define _ftscanf fscanf
-#define _stscanf sscanf
-#define _fgettc fgetc
-#define _fgettchar _fgetchar
-#define _fgetts fgets
-#define _fputtc fputc
-#define _fputtchar _fputchar
-#define _fputts fputs
-#define _tfopen fopen
-#define _tgetenv getenv
-#define _gettc getc
-#define _getts gets
-#define _puttc putc
-#define _putts puts
-#define _ungettc ungetc
-#define _tcstod strtod
-#define _tcstol strtol
-#define _tcstoul strtoul
-#define _itot _itoa
-#define _ltot _ltoa
-#define _ultot _ultoa
-#define _ttoi atoi
-#define _ttol atol
-#define _tcscat strcat
-#define _tcschr strchr
-#define _tcscmp strcmp
-#define _tcscpy strcpy
-#define _tcscspn strcspn
-#define _tcslen strlen
-#define _tcsncat strncat
-#define _tcsncmp strncmp
-#define _tcsncpy strncpy
-#define _tcspbrk strpbrk
-#define _tcsrchr strrchr
-#define _tcsspn strspn
-#define _tcsstr strstr
-#define _tcstok strtok
-#define _tcsdup _strdup
-#define _tcsicmp _stricmp
-#define _tcsnicmp _strnicmp
-#define _tcsnset _strnset
-#define _tcsrev _strrev
-#define _tcsset _strset
-#define _tcslwr _strlwr
-#define _tcsupr _strupr
-#define _tcsxfrm strxfrm
-#define _tcscoll strcoll
-#define _tcsicoll _stricoll
-#define _istalpha isalpha
-#define _istupper isupper
-#define _istlower islower
-#define _istdigit isdigit
-#define _istxdigit isxdigit
-#define _istspace isspace
-#define _istpunct ispunct
-#define _istalnum isalnum
-#define _istprint isprint
-#define _istgraph isgraph
-#define _istcntrl iscntrl
-#define _istascii isascii
-#define _totupper toupper
-#define _totlower tolower
-#define _tasctime asctime
-#define _tctime ctime
-#define _tstrdate _strdate
-#define _tstrtime _strtime
-#define _tutime _utime
-#define _tcsftime strftime
-/* Macro functions */
-#define _tcsdec _strdec
-#define _tcsinc _strinc
-#define _tcsnbcnt _strncnt
-#define _tcsnccnt _strncnt
-#define _tcsnextc _strnextc
-#define _tcsninc _strninc
-#define _tcsspnp _strspnp
-#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
-#define _strinc(_str) ((_str)+1)
-#define _strnextc(_str) ((unsigned int) *(_str))
-#define _strninc(_str, _inc) (((_str)+(_inc)))
-#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
-#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
-
-#define _tchmod _chmod
-#define _tcreat _creat
-#define _tfindfirst _findfirst
-#define _tfindnext _findnext
-#define _tmktemp _mktemp
-#define _topen _open
-#define _taccess _access
-#define _tremove remove
-#define _trename rename
-#define _tsopen _sopen
-#define _tsetlocale setlocale
-#define _tunlink _unlink
-#define _tfinddata_t _finddata_t
-
-
-#if 1 // defined __MSVCRT__
-/* Not in crtdll.dll. Define macros anyway? */
-#define _ttoi64 _atoi64
-#define _i64tot _i64toa
-#define _ui64tot _ui64toa
-#define _tcsnccoll _strncoll
-#define _tcsncoll _strncoll
-#define _tcsncicoll _strnicoll
-#define _tcsnicoll _strnicoll
-#define _tfindfirsti64 _findfirsti64
-#define _tfindnexti64 _findnexti64
-#define _tfinddatai64_t _finddatai64_t
-#endif /* __MSVCRT__ */
-
-#endif /* Not _UNICODE */
-
-/*
- * UNICODE a constant string when _UNICODE is defined else returns the string
- * unmodified. Also defined in w32api/winnt.h.
- */
-#define _TEXT(x) __TEXT(x)
-#define _T(x) __TEXT(x)
-
-#endif /* Not _TCHAR_H_ */
-
+/* + * tchar.h + * + * Unicode mapping layer for the standard C library. By including this + * file and using the 't' names for string functions + * (eg. _tprintf) you can make code which can be easily adapted to both + * Unicode and non-unicode environments. In a unicode enabled compile define + * _UNICODE before including tchar.h, otherwise the standard non-unicode + * library functions will be used. + * + * Note that you still need to include string.h or stdlib.h etc. to define + * the appropriate functions. Also note that there are several defines + * included for non-ANSI functions which are commonly available (but using + * the convention of prepending an underscore to non-ANSI library function + * names). + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _TCHAR_H_ +#define _TCHAR_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +/* + * NOTE: This tests _UNICODE, which is different from the UNICODE define + * used to differentiate Win32 API calls. + */ +#ifdef _UNICODE + + +/* + * Use TCHAR instead of char or wchar_t. It will be appropriately translated + * if _UNICODE is correctly defined (or not). + */ +#ifndef _TCHAR_DEFINED +#ifndef RC_INVOKED +typedef wchar_t TCHAR; +typedef wchar_t _TCHAR; +#endif /* Not RC_INVOKED */ +#define _TCHAR_DEFINED +#endif + + +/* + * __TEXT is a private macro whose specific use is to force the expansion of a + * macro passed as an argument to the macros _T or _TEXT. DO NOT use this + * macro within your programs. It's name and function could change without + * notice. + */ +#define __TEXT(x) L##x + +/* for porting from other Windows compilers */ +#if 0 // no wide startup module +#define _tmain wmain +#define _tWinMain wWinMain +#define _tenviron _wenviron +#define __targv __wargv +#endif + +/* + * Unicode functions + */ +#define _tprintf wprintf +#define _ftprintf fwprintf +#define _stprintf swprintf +#define _sntprintf _snwprintf +#define _vtprintf vwprintf +#define _vftprintf vfwprintf +#define _vstprintf vswprintf +#define _vsntprintf _vsnwprintf +#define _tscanf wscanf +#define _ftscanf fwscanf +#define _stscanf swscanf +#define _fgettc fgetwc +#define _fgettchar _fgetwchar +#define _fgetts fgetws +#define _fputtc fputwc +#define _fputtchar _fputwchar +#define _fputts fputws +#define _gettc getwc +#define _getts getws +#define _puttc putwc +#define _putts putws +#define _ungettc ungetwc +#define _tcstod wcstod +#define _tcstol wcstol +#define _tcstoul wcstoul +#define _itot _itow +#define _ltot _ltow +#define _ultot _ultow +#define _ttoi _wtoi +#define _ttol _wtol +#define _tcscat wcscat +#define _tcschr wcschr +#define _tcscmp wcscmp +#define _tcscpy wcscpy +#define _tcscspn wcscspn +#define _tcslen wcslen +#define _tcsncat wcsncat +#define _tcsncmp wcsncmp +#define _tcsncpy wcsncpy +#define _tcspbrk wcspbrk +#define _tcsrchr wcsrchr +#define _tcsspn wcsspn +#define _tcsstr wcsstr +#define _tcstok wcstok +#define _tcsdup _wcsdup +#define _tcsicmp _wcsicmp +#define _tcsnicmp _wcsnicmp +#define _tcsnset _wcsnset +#define _tcsrev _wcsrev +#define _tcsset _wcsset +#define _tcslwr _wcslwr +#define _tcsupr _wcsupr +#define _tcsxfrm wcsxfrm +#define _tcscoll wcscoll +#define _tcsicoll _wcsicoll +#define _istalpha iswalpha +#define _istupper iswupper +#define _istlower iswlower +#define _istdigit iswdigit +#define _istxdigit iswxdigit +#define _istspace iswspace +#define _istpunct iswpunct +#define _istalnum iswalnum +#define _istprint iswprint +#define _istgraph iswgraph +#define _istcntrl iswcntrl +#define _istascii iswascii +#define _totupper towupper +#define _totlower towlower +#define _tcsftime wcsftime +/* Macro functions */ +#define _tcsdec _wcsdec +#define _tcsinc _wcsinc +#define _tcsnbcnt _wcsncnt +#define _tcsnccnt _wcsncnt +#define _tcsnextc _wcsnextc +#define _tcsninc _wcsninc +#define _tcsspnp _wcsspnp +#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1) +#define _wcsinc(_wcs) ((_wcs)+1) +#define _wcsnextc(_wcs) ((unsigned int) *(_wcs)) +#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc))) +#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs)) +#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL) + +#if 1 // defined __MSVCRT__ +/* + * These wide functions not in crtdll.dll. + * Define macros anyway so that _wfoo rather than _tfoo is undefined + */ +#define _ttoi64 _wtoi64 +#define _i64tot _i64tow +#define _ui64tot _ui64tow +#define _tasctime _wasctime +#define _tctime _wctime +#define _tstrdate _wstrdate +#define _tstrtime _wstrtime +#define _tutime _wutime +#define _tcsnccoll _wcsncoll +#define _tcsncoll _wcsncoll +#define _tcsncicoll _wcsnicoll +#define _tcsnicoll _wcsnicoll +#define _taccess _waccess +#define _tchmod _wchmod +#define _tcreat _wcreat +#define _tfindfirst _wfindfirst +#define _tfindnext _wfindnext +#define _tfopen _wfopen +#define _tgetenv _wgetenv +#define _tmktemp _wmktemp +#define _topen _wopen +#define _tremove _wremove +#define _trename _wrename +#define _tsopen _wsopen +#define _tsetlocale _wsetlocale +#define _tunlink _wunlink +#define _tfinddata_t _wfinddata_t +#define _tfindfirsti64 _wfindfirsti64 +#define _tfindnexti64 _wfindnexti64 +#define _tfinddatai64_t _wfinddatai64_t +#endif /* __MSVCRT__ */ + +#else /* Not _UNICODE */ + +/* + * TCHAR, the type you should use instead of char. + */ +#ifndef _TCHAR_DEFINED +#ifndef RC_INVOKED +typedef char TCHAR; +typedef char _TCHAR; +#endif +#define _TCHAR_DEFINED +#endif + +/* + * __TEXT is a private macro whose specific use is to force the expansion of a + * macro passed as an argument to the macros _T or _TEXT. DO NOT use this + * macro within your programs. It's name and function could change without + * notice. + */ +#define __TEXT(x) x + +/* for porting from other Windows compilers */ +#define _tmain main +#define _tWinMain WinMain +#define _tenviron _environ +#define __targv __argv + +/* + * Non-unicode (standard) functions + */ + +#define _tprintf printf +#define _ftprintf fprintf +#define _stprintf sprintf +#define _sntprintf _snprintf +#define _vtprintf vprintf +#define _vftprintf vfprintf +#define _vstprintf vsprintf +#define _vsntprintf _vsnprintf +#define _tscanf scanf +#define _ftscanf fscanf +#define _stscanf sscanf +#define _fgettc fgetc +#define _fgettchar _fgetchar +#define _fgetts fgets +#define _fputtc fputc +#define _fputtchar _fputchar +#define _fputts fputs +#define _tfopen fopen +#define _tgetenv getenv +#define _gettc getc +#define _getts gets +#define _puttc putc +#define _putts puts +#define _ungettc ungetc +#define _tcstod strtod +#define _tcstol strtol +#define _tcstoul strtoul +#define _itot _itoa +#define _ltot _ltoa +#define _ultot _ultoa +#define _ttoi atoi +#define _ttol atol +#define _tcscat strcat +#define _tcschr strchr +#define _tcscmp strcmp +#define _tcscpy strcpy +#define _tcscspn strcspn +#define _tcslen strlen +#define _tcsncat strncat +#define _tcsncmp strncmp +#define _tcsncpy strncpy +#define _tcspbrk strpbrk +#define _tcsrchr strrchr +#define _tcsspn strspn +#define _tcsstr strstr +#define _tcstok strtok +#define _tcsdup _strdup +#define _tcsicmp _stricmp +#define _tcsnicmp _strnicmp +#define _tcsnset _strnset +#define _tcsrev _strrev +#define _tcsset _strset +#define _tcslwr _strlwr +#define _tcsupr _strupr +#define _tcsxfrm strxfrm +#define _tcscoll strcoll +#define _tcsicoll _stricoll +#define _istalpha isalpha +#define _istupper isupper +#define _istlower islower +#define _istdigit isdigit +#define _istxdigit isxdigit +#define _istspace isspace +#define _istpunct ispunct +#define _istalnum isalnum +#define _istprint isprint +#define _istgraph isgraph +#define _istcntrl iscntrl +#define _istascii isascii +#define _totupper toupper +#define _totlower tolower +#define _tasctime asctime +#define _tctime ctime +#define _tstrdate _strdate +#define _tstrtime _strtime +#define _tutime _utime +#define _tcsftime strftime +/* Macro functions */ +#define _tcsdec _strdec +#define _tcsinc _strinc +#define _tcsnbcnt _strncnt +#define _tcsnccnt _strncnt +#define _tcsnextc _strnextc +#define _tcsninc _strninc +#define _tcsspnp _strspnp +#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1) +#define _strinc(_str) ((_str)+1) +#define _strnextc(_str) ((unsigned int) *(_str)) +#define _strninc(_str, _inc) (((_str)+(_inc))) +#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str)) +#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL) + +#define _tchmod _chmod +#define _tcreat _creat +#define _tfindfirst _findfirst +#define _tfindnext _findnext +#define _tmktemp _mktemp +#define _topen _open +#define _taccess _access +#define _tremove remove +#define _trename rename +#define _tsopen _sopen +#define _tsetlocale setlocale +#define _tunlink _unlink +#define _tfinddata_t _finddata_t + + +#if 1 // defined __MSVCRT__ +/* Not in crtdll.dll. Define macros anyway? */ +#define _ttoi64 _atoi64 +#define _i64tot _i64toa +#define _ui64tot _ui64toa +#define _tcsnccoll _strncoll +#define _tcsncoll _strncoll +#define _tcsncicoll _strnicoll +#define _tcsnicoll _strnicoll +#define _tfindfirsti64 _findfirsti64 +#define _tfindnexti64 _findnexti64 +#define _tfinddatai64_t _finddatai64_t +#endif /* __MSVCRT__ */ + +#endif /* Not _UNICODE */ + +/* + * UNICODE a constant string when _UNICODE is defined else returns the string + * unmodified. Also defined in w32api/winnt.h. + */ +#define _TEXT(x) __TEXT(x) +#define _T(x) __TEXT(x) + +#endif /* Not _TCHAR_H_ */ + diff --git a/win32/include/time.h b/win32/include/time.h index 28db5c5..ade7f6d 100644 --- a/win32/include/time.h +++ b/win32/include/time.h @@ -1,219 +1,219 @@ -/*
- * time.h
- *
- * Date and time functions and types.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _TIME_H_
-#define _TIME_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/*
- * Need a definition of time_t.
- */
-#include <sys/types.h>
-
-/*
- * Number of clock ticks per second. A clock tick is the unit by which
- * processor time is measured and is returned by 'clock'.
- */
-#define CLOCKS_PER_SEC ((clock_t)1000)
-#define CLK_TCK CLOCKS_PER_SEC
-
-
-#ifndef RC_INVOKED
-
-/*
- * A type for storing the current time and date. This is the number of
- * seconds since midnight Jan 1, 1970.
- * NOTE: Normally this is defined by the above include of sys/types.h
- */
-#ifndef _TIME_T_DEFINED
-typedef long time_t;
-#define _TIME_T_DEFINED
-#endif
-
-/*
- * A type for measuring processor time (in clock ticks).
- */
-#ifndef _CLOCK_T_DEFINED
-typedef long clock_t;
-#define _CLOCK_T_DEFINED
-#endif
-
-
-/*
- * A structure for storing all kinds of useful information about the
- * current (or another) time.
- */
-struct tm
-{
- int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */
- int tm_min; /* Minutes: 0-59 */
- int tm_hour; /* Hours since midnight: 0-23 */
- int tm_mday; /* Day of the month: 1-31 */
- int tm_mon; /* Months *since* january: 0-11 */
- int tm_year; /* Years since 1900 */
- int tm_wday; /* Days since Sunday (0-6) */
- int tm_yday; /* Days since Jan. 1: 0-365 */
- int tm_isdst; /* +1 Daylight Savings Time, 0 No DST,
- * -1 don't know */
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-clock_t clock (void);
-time_t time (time_t*);
-double difftime (time_t, time_t);
-time_t mktime (struct tm*);
-
-/*
- * These functions write to and return pointers to static buffers that may
- * be overwritten by other function calls. Yikes!
- *
- * NOTE: localtime, and perhaps the others of the four functions grouped
- * below may return NULL if their argument is not 'acceptable'. Also note
- * that calling asctime with a NULL pointer will produce an Invalid Page
- * Fault and crap out your program. Guess how I know. Hint: stat called on
- * a directory gives 'invalid' times in st_atime etc...
- */
-char* asctime (const struct tm*);
-char* ctime (const time_t*);
-struct tm* gmtime (const time_t*);
-struct tm* localtime (const time_t*);
-
-
-size_t strftime (char*, size_t, const char*, const struct tm*);
-
-size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
-
-#ifndef __STRICT_ANSI__
-extern void _tzset (void);
-
-#ifndef _NO_OLDNAMES
-extern void tzset (void);
-#endif
-
-size_t strftime(char*, size_t, const char*, const struct tm*);
-char* _strdate(char*);
-char* _strtime(char*);
-
-#endif /* Not __STRICT_ANSI__ */
-
-/*
- * _daylight: non zero if daylight savings time is used.
- * _timezone: difference in seconds between GMT and local time.
- * _tzname: standard/daylight savings time zone names (an array with two
- * elements).
- */
-#ifdef __MSVCRT__
-
-/* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */
-extern int* __p__daylight (void);
-extern long* __p__timezone (void);
-extern char** __p__tzname (void);
-
-__MINGW_IMPORT int _daylight;
-__MINGW_IMPORT long _timezone;
-__MINGW_IMPORT char *_tzname[2];
-
-#else /* not __MSVCRT (ie. crtdll) */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int* __imp__daylight_dll;
-extern long* __imp__timezone_dll;
-extern char** __imp__tzname;
-
-#define _daylight (*__imp__daylight_dll)
-#define _timezone (*__imp__timezone_dll)
-#define _tzname (__imp__tzname)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int _daylight_dll;
-__MINGW_IMPORT long _timezone_dll;
-__MINGW_IMPORT char* _tzname[2];
-
-#define _daylight _daylight_dll
-#define _timezone _timezone_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* not __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-
-#ifdef __MSVCRT__
-
-/* These go in the oldnames import library for MSVCRT. */
-__MINGW_IMPORT int daylight;
-__MINGW_IMPORT long timezone;
-__MINGW_IMPORT char *tzname[2];
-
-#ifndef _WTIME_DEFINED
-
-/* wide function prototypes, also declared in wchar.h */
-
-wchar_t * _wasctime(const struct tm*);
-wchar_t * _wctime(const time_t*);
-wchar_t* _wstrdate(wchar_t*);
-wchar_t* _wstrtime(wchar_t*);
-
-#define _WTIME_DEFINED
-#endif /* _WTIME_DEFINED */
-
-
-#else /* not __MSVCRT__ */
-
-/* CRTDLL is royally messed up when it comes to these macros.
- TODO: import and alias these via oldnames import library instead
- of macros. */
-
-#define daylight _daylight
-/* NOTE: timezone not defined because it would conflict with sys/timeb.h.
- Also, tzname used to a be macro, but now it's in moldname. */
-__MINGW_IMPORT char *tzname[2];
-
-#endif /* not __MSVCRT__ */
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TIME_H_ */
-
+/* + * time.h + * + * Date and time functions and types. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _TIME_H_ +#define _TIME_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#define __need_size_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +/* + * Need a definition of time_t. + */ +#include <sys/types.h> + +/* + * Number of clock ticks per second. A clock tick is the unit by which + * processor time is measured and is returned by 'clock'. + */ +#define CLOCKS_PER_SEC ((clock_t)1000) +#define CLK_TCK CLOCKS_PER_SEC + + +#ifndef RC_INVOKED + +/* + * A type for storing the current time and date. This is the number of + * seconds since midnight Jan 1, 1970. + * NOTE: Normally this is defined by the above include of sys/types.h + */ +#ifndef _TIME_T_DEFINED +typedef long time_t; +#define _TIME_T_DEFINED +#endif + +/* + * A type for measuring processor time (in clock ticks). + */ +#ifndef _CLOCK_T_DEFINED +typedef long clock_t; +#define _CLOCK_T_DEFINED +#endif + + +/* + * A structure for storing all kinds of useful information about the + * current (or another) time. + */ +struct tm +{ + int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */ + int tm_min; /* Minutes: 0-59 */ + int tm_hour; /* Hours since midnight: 0-23 */ + int tm_mday; /* Day of the month: 1-31 */ + int tm_mon; /* Months *since* january: 0-11 */ + int tm_year; /* Years since 1900 */ + int tm_wday; /* Days since Sunday (0-6) */ + int tm_yday; /* Days since Jan. 1: 0-365 */ + int tm_isdst; /* +1 Daylight Savings Time, 0 No DST, + * -1 don't know */ +}; + +#ifdef __cplusplus +extern "C" { +#endif + +clock_t clock (void); +time_t time (time_t*); +double difftime (time_t, time_t); +time_t mktime (struct tm*); + +/* + * These functions write to and return pointers to static buffers that may + * be overwritten by other function calls. Yikes! + * + * NOTE: localtime, and perhaps the others of the four functions grouped + * below may return NULL if their argument is not 'acceptable'. Also note + * that calling asctime with a NULL pointer will produce an Invalid Page + * Fault and crap out your program. Guess how I know. Hint: stat called on + * a directory gives 'invalid' times in st_atime etc... + */ +char* asctime (const struct tm*); +char* ctime (const time_t*); +struct tm* gmtime (const time_t*); +struct tm* localtime (const time_t*); + + +size_t strftime (char*, size_t, const char*, const struct tm*); + +size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*); + +#ifndef __STRICT_ANSI__ +extern void _tzset (void); + +#ifndef _NO_OLDNAMES +extern void tzset (void); +#endif + +size_t strftime(char*, size_t, const char*, const struct tm*); +char* _strdate(char*); +char* _strtime(char*); + +#endif /* Not __STRICT_ANSI__ */ + +/* + * _daylight: non zero if daylight savings time is used. + * _timezone: difference in seconds between GMT and local time. + * _tzname: standard/daylight savings time zone names (an array with two + * elements). + */ +#ifdef __MSVCRT__ + +/* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */ +extern int* __p__daylight (void); +extern long* __p__timezone (void); +extern char** __p__tzname (void); + +__MINGW_IMPORT int _daylight; +__MINGW_IMPORT long _timezone; +__MINGW_IMPORT char *_tzname[2]; + +#else /* not __MSVCRT (ie. crtdll) */ + +#ifndef __DECLSPEC_SUPPORTED + +extern int* __imp__daylight_dll; +extern long* __imp__timezone_dll; +extern char** __imp__tzname; + +#define _daylight (*__imp__daylight_dll) +#define _timezone (*__imp__timezone_dll) +#define _tzname (__imp__tzname) + +#else /* __DECLSPEC_SUPPORTED */ + +__MINGW_IMPORT int _daylight_dll; +__MINGW_IMPORT long _timezone_dll; +__MINGW_IMPORT char* _tzname[2]; + +#define _daylight _daylight_dll +#define _timezone _timezone_dll + +#endif /* __DECLSPEC_SUPPORTED */ + +#endif /* not __MSVCRT__ */ + +#ifndef _NO_OLDNAMES + +#ifdef __MSVCRT__ + +/* These go in the oldnames import library for MSVCRT. */ +__MINGW_IMPORT int daylight; +__MINGW_IMPORT long timezone; +__MINGW_IMPORT char *tzname[2]; + +#ifndef _WTIME_DEFINED + +/* wide function prototypes, also declared in wchar.h */ + +wchar_t * _wasctime(const struct tm*); +wchar_t * _wctime(const time_t*); +wchar_t* _wstrdate(wchar_t*); +wchar_t* _wstrtime(wchar_t*); + +#define _WTIME_DEFINED +#endif /* _WTIME_DEFINED */ + + +#else /* not __MSVCRT__ */ + +/* CRTDLL is royally messed up when it comes to these macros. + TODO: import and alias these via oldnames import library instead + of macros. */ + +#define daylight _daylight +/* NOTE: timezone not defined because it would conflict with sys/timeb.h. + Also, tzname used to a be macro, but now it's in moldname. */ +__MINGW_IMPORT char *tzname[2]; + +#endif /* not __MSVCRT__ */ + +#endif /* Not _NO_OLDNAMES */ + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _TIME_H_ */ + diff --git a/win32/include/unistd.h b/win32/include/unistd.h index 65ce389..8f51f76 100644 --- a/win32/include/unistd.h +++ b/win32/include/unistd.h @@ -1,10 +1,10 @@ -/*
- * This file is part of the Mingw32 package.
- *
- * unistd.h maps (roughly) to io.h
- */
-
-#ifndef __STRICT_ANSI__
-#include <io.h>
-#endif
-
+/* + * This file is part of the Mingw32 package. + * + * unistd.h maps (roughly) to io.h + */ + +#ifndef __STRICT_ANSI__ +#include <io.h> +#endif + diff --git a/win32/include/values.h b/win32/include/values.h index a279b92..10e16a2 100644 --- a/win32/include/values.h +++ b/win32/include/values.h @@ -1,4 +1,4 @@ -/*
- * TODO: Nothing here yet. Should provide UNIX compatibility constants
- * comparible to those in limits.h and float.h.
- */
+/* + * TODO: Nothing here yet. Should provide UNIX compatibility constants + * comparible to those in limits.h and float.h. + */ diff --git a/win32/include/wchar.h b/win32/include/wchar.h index 03f1a04..4ad2ab9 100644 --- a/win32/include/wchar.h +++ b/win32/include/wchar.h @@ -1,318 +1,318 @@ -/*
- * wchar.h
- *
- * Defines of all functions for supporting wide characters. Actually it
- * just includes all those headers, which is not a good thing to do from a
- * processing time point of view, but it does mean that everything will be
- * in sync.
- *
- * This file is part of the Mingw32 package.
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.1 $
- * $Author: bellard $
- * $Date: 2005/04/14 23:49:21 $
- *
- */
-
-#ifndef _WCHAR_H_
-#define _WCHAR_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <sys/types.h>
-
-#define __need_size_t
-#define __need_wint_t
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#define WCHAR_MIN 0
-#define WCHAR_MAX ((wchar_t)-1)
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __STRICT_ANSI__
-
-#ifndef _FSIZE_T_DEFINED
-typedef unsigned long _fsize_t;
-#define _FSIZE_T_DEFINED
-#endif
-
-#ifndef _WFINDDATA_T_DEFINED
-struct _wfinddata_t {
- unsigned attrib;
- time_t time_create; /* -1 for FAT file systems */
- time_t time_access; /* -1 for FAT file systems */
- time_t time_write;
- _fsize_t size;
- wchar_t name[FILENAME_MAX]; /* may include spaces. */
-};
-struct _wfinddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- wchar_t name[FILENAME_MAX];
-};
-#define _WFINDDATA_T_DEFINED
-#endif
-
-/* Wide character versions. Also defined in io.h. */
-/* CHECK: I believe these only exist in MSVCRT, and not in CRTDLL. Also
- applies to other wide character versions? */
-#if !defined (_WIO_DEFINED)
-#if defined (__MSVCRT__)
-int _waccess (const wchar_t*, int);
-int _wchmod (const wchar_t*, int);
-int _wcreat (const wchar_t*, int);
-long _wfindfirst (wchar_t*, struct _wfinddata_t *);
-int _wfindnext (long, struct _wfinddata_t *);
-int _wunlink (const wchar_t*);
-int _wopen (const wchar_t*, int, ...);
-int _wsopen (const wchar_t*, int, int, ...);
-wchar_t* _wmktemp (wchar_t*);
-long _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
-int _wfindnexti64 (long, struct _wfinddatai64_t*);
-#endif /* defined (__MSVCRT__) */
-#define _WIO_DEFINED
-#endif /* _WIO_DEFINED */
-
-#ifndef _WSTDIO_DEFINED
-/* also in stdio.h - keep in sync */
-int fwprintf (FILE*, const wchar_t*, ...);
-int wprintf (const wchar_t*, ...);
-int swprintf (wchar_t*, const wchar_t*, ...);
-int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-int vfwprintf (FILE*, const wchar_t*, va_list);
-int vwprintf (const wchar_t*, va_list);
-int vswprintf (wchar_t*, const wchar_t*, va_list);
-int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list);
-int fwscanf (FILE*, const wchar_t*, ...);
-int wscanf (const wchar_t*, ...);
-int swscanf (const wchar_t*, const wchar_t*, ...);
-wint_t fgetwc (FILE*);
-wint_t fputwc (wchar_t, FILE*);
-wint_t ungetwc (wchar_t, FILE*);
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
-extern inline int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
- va_list arg)
- { return _vsnwprintf ( s, n, format, arg); }
-#endif
-
-#ifdef __MSVCRT__
-wchar_t* fgetws (wchar_t*, int, FILE*);
-int fputws (const wchar_t*, FILE*);
-wint_t getwc (FILE*);
-wint_t getwchar (void);
-wchar_t* _getws (wchar_t*);
-wint_t putwc (wint_t, FILE*);
-int _putws (const wchar_t*);
-wint_t putwchar (wint_t);
-
-FILE* _wfopen (const wchar_t*, const wchar_t*);
-FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
-FILE* _wfsopen (const wchar_t*, const wchar_t*, int);
-wchar_t* _wtmpnam (wchar_t*);
-wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
-int _wrename (const wchar_t*, const wchar_t*);
-int _wremove (const wchar_t*)
-
-FILE* _wpopen (const wchar_t*, const wchar_t*)
-void _wperror (const wchar_t*);
-#endif /* __MSVCRT__ */
-#define _WSTDIO_DEFINED
-#endif /* _WSTDIO_DEFINED */
-
-#ifndef _WDIRECT_DEFINED
-/* Also in direct.h */
-#ifdef __MSVCRT__
-int _wchdir (const wchar_t*);
-wchar_t* _wgetcwd (wchar_t*, int);
-wchar_t* _wgetdcwd (int, wchar_t*, int);
-int _wmkdir (const wchar_t*);
-int _wrmdir (const wchar_t*);
-#endif /* __MSVCRT__ */
-#define _WDIRECT_DEFINED
-#endif /* _WDIRECT_DEFINED */
-
-#ifndef _STAT_DEFINED
-/*
- * The structure manipulated and returned by stat and fstat.
- *
- * NOTE: If called on a directory the values in the time fields are not only
- * invalid, they will cause localtime et. al. to return NULL. And calling
- * asctime with a NULL pointer causes an Invalid Page Fault. So watch it!
- */
-struct _stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-
-struct stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-#if defined (__MSVCRT__)
-struct _stati64 {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- time_t st_atime;
- time_t st_mtime;
- time_t st_ctime;
- };
-#endif /* __MSVCRT__ */
-#define _STAT_DEFINED
-#endif /* _STAT_DEFINED */
-
-#if !defined ( _WSTAT_DEFINED)
-/* also declared in sys/stat.h */
-#if defined __MSVCRT__
-int _wstat (const wchar_t*, struct _stat*);
-int _wstati64 (const wchar_t*, struct _stati64*);
-#endif /* __MSVCRT__ */
-#define _WSTAT_DEFINED
-#endif /* ! _WSTAT_DEFIND */
-
-#ifndef _WTIME_DEFINED
-#ifdef __MSVCRT__
-/* wide function prototypes, also declared in time.h */
-wchar_t* _wasctime (const struct tm*);
-wchar_t* _wctime (const time_t*);
-wchar_t* _wstrdate (wchar_t*);
-wchar_t* _wstrtime (wchar_t*);
-#endif /* __MSVCRT__ */
-size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
-#define _WTIME_DEFINED
-#endif /* _WTIME_DEFINED */
-
-#ifndef _WLOCALE_DEFINED /* also declared in locale.h */
-wchar_t* _wsetlocale (int, const wchar_t*);
-#define _WLOCALE_DEFINED
-#endif
-
-#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */
-long wcstol (const wchar_t*, wchar_t**, int);
-unsigned long wcstoul (const wchar_t*, wchar_t**, int);
-double wcstod (const wchar_t*, wchar_t**);
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
-{ return (wcstod(nptr, endptr)); }
-#endif /* __NO_ISOCEXT */
-#define _WSTDLIB_DEFINED
-#endif
-
-
-#ifndef _NO_OLDNAMES
-
-/* Wide character versions. Also declared in io.h. */
-/* CHECK: Are these in the oldnames??? NO! */
-#if (0)
-int waccess (const wchar_t *, int);
-int wchmod (const wchar_t *, int);
-int wcreat (const wchar_t *, int);
-long wfindfirst (wchar_t *, struct _wfinddata_t *);
-int wfindnext (long, struct _wfinddata_t *);
-int wunlink (const wchar_t *);
-int wrename (const wchar_t *, const wchar_t *);
-int wremove (const wchar_t *);
-int wopen (const wchar_t *, int, ...);
-int wsopen (const wchar_t *, int, int, ...);
-wchar_t* wmktemp (wchar_t *);
-#endif
-#endif /* _NO_OLDNAMES */
-
-#endif /* not __STRICT_ANSI__ */
-
-/* These are resolved by -lmsvcp60 */
-/* If you don't have msvcp60.dll in your windows system directory, you can
- easily obtain it with a search from your favorite search engine. */
-typedef int mbstate_t;
-typedef wchar_t _Wint_t;
-
-wint_t btowc(int);
-size_t mbrlen(const char *, size_t, mbstate_t *);
-size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
-size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
-
-size_t wcrtomb(char *, wchar_t, mbstate_t *);
-size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
-int wctob(wint_t);
-
-#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
-extern inline int fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */
-extern inline int mbsinit(const mbstate_t* ps) {return 1;}
-wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
-wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
-int wmemcmp(const wchar_t* s1, const wchar_t * s2, size_t n);
-wchar_t* wmemcpy(wchar_t* __restrict__ s1, const wchar_t* __restrict__ s2,
- size_t n);
-wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
-long long wcstoll(const wchar_t* __restrict__ nptr,
- wchar_t** __restrict__ endptr, int base);
-unsigned long long wcstoull(const wchar_t* __restrict__ nptr,
- wchar_t ** __restrict__ endptr, int base);
-
-#endif /* __NO_ISOCEXT */
-
-
-#ifdef __cplusplus
-} /* end of extern "C" */
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* not _WCHAR_H_ */
-
+/* + * wchar.h + * + * Defines of all functions for supporting wide characters. Actually it + * just includes all those headers, which is not a good thing to do from a + * processing time point of view, but it does mean that everything will be + * in sync. + * + * This file is part of the Mingw32 package. + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.2 $ + * $Author: bellard $ + * $Date: 2005/04/17 13:14:29 $ + * + */ + +#ifndef _WCHAR_H_ +#define _WCHAR_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <sys/types.h> + +#define __need_size_t +#define __need_wint_t +#define __need_wchar_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +#define WCHAR_MIN 0 +#define WCHAR_MAX ((wchar_t)-1) + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __STRICT_ANSI__ + +#ifndef _FSIZE_T_DEFINED +typedef unsigned long _fsize_t; +#define _FSIZE_T_DEFINED +#endif + +#ifndef _WFINDDATA_T_DEFINED +struct _wfinddata_t { + unsigned attrib; + time_t time_create; /* -1 for FAT file systems */ + time_t time_access; /* -1 for FAT file systems */ + time_t time_write; + _fsize_t size; + wchar_t name[FILENAME_MAX]; /* may include spaces. */ +}; +struct _wfinddatai64_t { + unsigned attrib; + time_t time_create; + time_t time_access; + time_t time_write; + __int64 size; + wchar_t name[FILENAME_MAX]; +}; +#define _WFINDDATA_T_DEFINED +#endif + +/* Wide character versions. Also defined in io.h. */ +/* CHECK: I believe these only exist in MSVCRT, and not in CRTDLL. Also + applies to other wide character versions? */ +#if !defined (_WIO_DEFINED) +#if defined (__MSVCRT__) +int _waccess (const wchar_t*, int); +int _wchmod (const wchar_t*, int); +int _wcreat (const wchar_t*, int); +long _wfindfirst (wchar_t*, struct _wfinddata_t *); +int _wfindnext (long, struct _wfinddata_t *); +int _wunlink (const wchar_t*); +int _wopen (const wchar_t*, int, ...); +int _wsopen (const wchar_t*, int, int, ...); +wchar_t* _wmktemp (wchar_t*); +long _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*); +int _wfindnexti64 (long, struct _wfinddatai64_t*); +#endif /* defined (__MSVCRT__) */ +#define _WIO_DEFINED +#endif /* _WIO_DEFINED */ + +#ifndef _WSTDIO_DEFINED +/* also in stdio.h - keep in sync */ +int fwprintf (FILE*, const wchar_t*, ...); +int wprintf (const wchar_t*, ...); +int swprintf (wchar_t*, const wchar_t*, ...); +int _snwprintf (wchar_t*, size_t, const wchar_t*, ...); +int vfwprintf (FILE*, const wchar_t*, va_list); +int vwprintf (const wchar_t*, va_list); +int vswprintf (wchar_t*, const wchar_t*, va_list); +int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list); +int fwscanf (FILE*, const wchar_t*, ...); +int wscanf (const wchar_t*, ...); +int swscanf (const wchar_t*, const wchar_t*, ...); +wint_t fgetwc (FILE*); +wint_t fputwc (wchar_t, FILE*); +wint_t ungetwc (wchar_t, FILE*); + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ +int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...); +extern inline int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, + va_list arg) + { return _vsnwprintf ( s, n, format, arg); } +#endif + +#ifdef __MSVCRT__ +wchar_t* fgetws (wchar_t*, int, FILE*); +int fputws (const wchar_t*, FILE*); +wint_t getwc (FILE*); +wint_t getwchar (void); +wchar_t* _getws (wchar_t*); +wint_t putwc (wint_t, FILE*); +int _putws (const wchar_t*); +wint_t putwchar (wint_t); + +FILE* _wfopen (const wchar_t*, const wchar_t*); +FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*); +FILE* _wfsopen (const wchar_t*, const wchar_t*, int); +wchar_t* _wtmpnam (wchar_t*); +wchar_t* _wtempnam (const wchar_t*, const wchar_t*); +int _wrename (const wchar_t*, const wchar_t*); +int _wremove (const wchar_t*) + +FILE* _wpopen (const wchar_t*, const wchar_t*) +void _wperror (const wchar_t*); +#endif /* __MSVCRT__ */ +#define _WSTDIO_DEFINED +#endif /* _WSTDIO_DEFINED */ + +#ifndef _WDIRECT_DEFINED +/* Also in direct.h */ +#ifdef __MSVCRT__ +int _wchdir (const wchar_t*); +wchar_t* _wgetcwd (wchar_t*, int); +wchar_t* _wgetdcwd (int, wchar_t*, int); +int _wmkdir (const wchar_t*); +int _wrmdir (const wchar_t*); +#endif /* __MSVCRT__ */ +#define _WDIRECT_DEFINED +#endif /* _WDIRECT_DEFINED */ + +#ifndef _STAT_DEFINED +/* + * The structure manipulated and returned by stat and fstat. + * + * NOTE: If called on a directory the values in the time fields are not only + * invalid, they will cause localtime et. al. to return NULL. And calling + * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! + */ +struct _stat +{ + _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ + _ino_t st_ino; /* Always zero ? */ + _mode_t st_mode; /* See above constants */ + short st_nlink; /* Number of links. */ + short st_uid; /* User: Maybe significant on NT ? */ + short st_gid; /* Group: Ditto */ + _dev_t st_rdev; /* Seems useless (not even filled in) */ + _off_t st_size; /* File size in bytes */ + time_t st_atime; /* Accessed date (always 00:00 hrs local + * on FAT) */ + time_t st_mtime; /* Modified time */ + time_t st_ctime; /* Creation time */ +}; + +struct stat +{ + _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ + _ino_t st_ino; /* Always zero ? */ + _mode_t st_mode; /* See above constants */ + short st_nlink; /* Number of links. */ + short st_uid; /* User: Maybe significant on NT ? */ + short st_gid; /* Group: Ditto */ + _dev_t st_rdev; /* Seems useless (not even filled in) */ + _off_t st_size; /* File size in bytes */ + time_t st_atime; /* Accessed date (always 00:00 hrs local + * on FAT) */ + time_t st_mtime; /* Modified time */ + time_t st_ctime; /* Creation time */ +}; +#if defined (__MSVCRT__) +struct _stati64 { + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __int64 st_size; + time_t st_atime; + time_t st_mtime; + time_t st_ctime; + }; +#endif /* __MSVCRT__ */ +#define _STAT_DEFINED +#endif /* _STAT_DEFINED */ + +#if !defined ( _WSTAT_DEFINED) +/* also declared in sys/stat.h */ +#if defined __MSVCRT__ +int _wstat (const wchar_t*, struct _stat*); +int _wstati64 (const wchar_t*, struct _stati64*); +#endif /* __MSVCRT__ */ +#define _WSTAT_DEFINED +#endif /* ! _WSTAT_DEFIND */ + +#ifndef _WTIME_DEFINED +#ifdef __MSVCRT__ +/* wide function prototypes, also declared in time.h */ +wchar_t* _wasctime (const struct tm*); +wchar_t* _wctime (const time_t*); +wchar_t* _wstrdate (wchar_t*); +wchar_t* _wstrtime (wchar_t*); +#endif /* __MSVCRT__ */ +size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*); +#define _WTIME_DEFINED +#endif /* _WTIME_DEFINED */ + +#ifndef _WLOCALE_DEFINED /* also declared in locale.h */ +wchar_t* _wsetlocale (int, const wchar_t*); +#define _WLOCALE_DEFINED +#endif + +#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */ +long wcstol (const wchar_t*, wchar_t**, int); +unsigned long wcstoul (const wchar_t*, wchar_t**, int); +double wcstod (const wchar_t*, wchar_t**); +#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ +extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr) +{ return (wcstod(nptr, endptr)); } +#endif /* __NO_ISOCEXT */ +#define _WSTDLIB_DEFINED +#endif + + +#ifndef _NO_OLDNAMES + +/* Wide character versions. Also declared in io.h. */ +/* CHECK: Are these in the oldnames??? NO! */ +#if (0) +int waccess (const wchar_t *, int); +int wchmod (const wchar_t *, int); +int wcreat (const wchar_t *, int); +long wfindfirst (wchar_t *, struct _wfinddata_t *); +int wfindnext (long, struct _wfinddata_t *); +int wunlink (const wchar_t *); +int wrename (const wchar_t *, const wchar_t *); +int wremove (const wchar_t *); +int wopen (const wchar_t *, int, ...); +int wsopen (const wchar_t *, int, int, ...); +wchar_t* wmktemp (wchar_t *); +#endif +#endif /* _NO_OLDNAMES */ + +#endif /* not __STRICT_ANSI__ */ + +/* These are resolved by -lmsvcp60 */ +/* If you don't have msvcp60.dll in your windows system directory, you can + easily obtain it with a search from your favorite search engine. */ +typedef int mbstate_t; +typedef wchar_t _Wint_t; + +wint_t btowc(int); +size_t mbrlen(const char *, size_t, mbstate_t *); +size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *); +size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *); + +size_t wcrtomb(char *, wchar_t, mbstate_t *); +size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *); +int wctob(wint_t); + +#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ +extern inline int fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */ +extern inline int mbsinit(const mbstate_t* ps) {return 1;} +wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); +wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); +int wmemcmp(const wchar_t* s1, const wchar_t * s2, size_t n); +wchar_t* wmemcpy(wchar_t* __restrict__ s1, const wchar_t* __restrict__ s2, + size_t n); +wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); +long long wcstoll(const wchar_t* __restrict__ nptr, + wchar_t** __restrict__ endptr, int base); +unsigned long long wcstoull(const wchar_t* __restrict__ nptr, + wchar_t ** __restrict__ endptr, int base); + +#endif /* __NO_ISOCEXT */ + + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* not _WCHAR_H_ */ + diff --git a/win32/include/wctype.h b/win32/include/wctype.h index 291a5d1..1fb00fb 100644 --- a/win32/include/wctype.h +++ b/win32/include/wctype.h @@ -1,127 +1,127 @@ -/*
- * wctype.h
- *
- * Functions for testing wide character types and converting characters.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Mumit Khan <khan@xraylith.wisc.edu>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _WCTYPE_H_
-#define _WCTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
- */
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-#define _BLANK 0x0040
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
-
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
-#endif
-
-/* Wide character equivalents - also in ctype.h */
-int iswalnum(wint_t);
-int iswalpha(wint_t);
-int iswascii(wint_t);
-int iswcntrl(wint_t);
-int iswctype(wint_t, wctype_t);
-int is_wctype(wint_t, wctype_t); /* Obsolete! */
-int iswdigit(wint_t);
-int iswgraph(wint_t);
-int iswlower(wint_t);
-int iswprint(wint_t);
-int iswpunct(wint_t);
-int iswspace(wint_t);
-int iswupper(wint_t);
-int iswxdigit(wint_t);
-
-wchar_t towlower(wchar_t);
-wchar_t towupper(wchar_t);
-
-int isleadbyte (int);
-
-/* Also in ctype.h */
-
-__MINGW_IMPORT unsigned short _ctype[];
-#ifdef __MSVCRT__
-__MINGW_IMPORT unsigned short* _pctype;
-#else
-__MINGW_IMPORT unsigned short* _pctype_dll;
-#define _pctype _pctype_dll
-#endif
-
-#if !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-extern inline int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-extern inline int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-extern inline int iswascii(wint_t wc) {return (((unsigned)wc & 0x7F) ==0);}
-extern inline int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-extern inline int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-extern inline int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-extern inline int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-extern inline int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-extern inline int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-extern inline int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-extern inline int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-extern inline int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-extern inline int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
-
-
-typedef wchar_t wctrans_t;
-wint_t towctrans(wint_t, wctrans_t);
-wctrans_t wctrans(const char*);
-wctype_t wctype(const char*);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _WCTYPE_H_ */
-
+/* + * wctype.h + * + * Functions for testing wide character types and converting characters. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Mumit Khan <khan@xraylith.wisc.edu> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _WCTYPE_H_ +#define _WCTYPE_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#define __need_wchar_t +#define __need_wint_t +#ifndef RC_INVOKED +#include <stddef.h> +#endif /* Not RC_INVOKED */ + +/* + * The following flags are used to tell iswctype and _isctype what character + * types you are looking for. + */ +#define _UPPER 0x0001 +#define _LOWER 0x0002 +#define _DIGIT 0x0004 +#define _SPACE 0x0008 +#define _PUNCT 0x0010 +#define _CONTROL 0x0020 +#define _BLANK 0x0040 +#define _HEX 0x0080 +#define _LEADBYTE 0x8000 + +#define _ALPHA 0x0103 + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WEOF +#define WEOF (wchar_t)(0xFFFF) +#endif + +#ifndef _WCTYPE_T_DEFINED +typedef wchar_t wctype_t; +#define _WCTYPE_T_DEFINED +#endif + +/* Wide character equivalents - also in ctype.h */ +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswascii(wint_t); +int iswcntrl(wint_t); +int iswctype(wint_t, wctype_t); +int is_wctype(wint_t, wctype_t); /* Obsolete! */ +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); + +wchar_t towlower(wchar_t); +wchar_t towupper(wchar_t); + +int isleadbyte (int); + +/* Also in ctype.h */ + +__MINGW_IMPORT unsigned short _ctype[]; +#ifdef __MSVCRT__ +__MINGW_IMPORT unsigned short* _pctype; +#else +__MINGW_IMPORT unsigned short* _pctype_dll; +#define _pctype _pctype_dll +#endif + +#if !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) +#define __WCTYPE_INLINES_DEFINED +extern inline int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} +extern inline int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} +extern inline int iswascii(wint_t wc) {return (((unsigned)wc & 0x7F) ==0);} +extern inline int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} +extern inline int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} +extern inline int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} +extern inline int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} +extern inline int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} +extern inline int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} +extern inline int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} +extern inline int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} +extern inline int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} +extern inline int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} +#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ + + +typedef wchar_t wctrans_t; +wint_t towctrans(wint_t, wctrans_t); +wctrans_t wctrans(const char*); +wctype_t wctype(const char*); + +#ifdef __cplusplus +} +#endif + +#endif /* Not RC_INVOKED */ + +#endif /* Not _WCTYPE_H_ */ + diff --git a/win32/include/winapi/basetsd.h b/win32/include/winapi/basetsd.h index 1b18f9f..d9c375d 100644 --- a/win32/include/winapi/basetsd.h +++ b/win32/include/winapi/basetsd.h @@ -1,119 +1,119 @@ -#ifndef _BASETSD_H
-#define _BASETSD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __GNUC__
-#ifndef __int64
-#define __int64 long long
-#endif
-#endif
-
-#if defined(_WIN64)
-#define __int3264 __int64
-#define ADDRESS_TAG_BIT 0x40000000000UI64
-#else /* !_WIN64 */
-#define __int3264 __int32
-#define ADDRESS_TAG_BIT 0x80000000UL
-#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
-#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
-#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h))
-#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
-#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
-#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
-#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
-#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
-#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
-#define IntToPtr( i ) ((VOID*)(INT_PTR)((int)i))
-#define UIntToPtr( ui ) ((VOID*)(UINT_PTR)((unsigned int)ui))
-#define LongToPtr( l ) ((VOID*)(LONG_PTR)((long)l))
-#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul))
-#endif /* !_WIN64 */
-
-#define UlongToPtr(ul) ULongToPtr(ul)
-#define UintToPtr(ui) UIntToPtr(ui)
-#define MAXUINT_PTR (~((UINT_PTR)0))
-#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
-#define MININT_PTR (~MAXINT_PTR)
-#define MAXULONG_PTR (~((ULONG_PTR)0))
-#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
-#define MINLONG_PTR (~MAXLONG_PTR)
-#define MAXUHALF_PTR ((UHALF_PTR)~0)
-#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
-#define MINHALF_PTR (~MAXHALF_PTR)
-
-#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef int LONG32, *PLONG32;
-#ifndef XFree86Server
-typedef int INT32, *PINT32;
-#endif /* ndef XFree86Server */
-typedef unsigned int ULONG32, *PULONG32;
-typedef unsigned int DWORD32, *PDWORD32;
-typedef unsigned int UINT32, *PUINT32;
-
-#if defined(_WIN64)
-typedef __int64 INT_PTR, *PINT_PTR;
-typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
-typedef __int64 LONG_PTR, *PLONG_PTR;
-typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
-typedef unsigned __int64 HANDLE_PTR;
-typedef unsigned int UHALF_PTR, *PUHALF_PTR;
-typedef int HALF_PTR, *PHALF_PTR;
-
-#if 0 /* TODO when WIN64 is here */
-inline unsigned long HandleToUlong(const void* h )
- { return((unsigned long) h ); }
-inline long HandleToLong( const void* h )
- { return((long) h ); }
-inline void* LongToHandle( const long h )
- { return((void*) (INT_PTR) h ); }
-inline unsigned long PtrToUlong( const void* p)
- { return((unsigned long) p ); }
-inline unsigned int PtrToUint( const void* p )
- { return((unsigned int) p ); }
-inline unsigned short PtrToUshort( const void* p )
- { return((unsigned short) p ); }
-inline long PtrToLong( const void* p )
- { return((long) p ); }
-inline int PtrToInt( const void* p )
- { return((int) p ); }
-inline short PtrToShort( const void* p )
- { return((short) p ); }
-inline void* IntToPtr( const int i )
- { return( (void*)(INT_PTR)i ); }
-inline void* UIntToPtr(const unsigned int ui)
- { return( (void*)(UINT_PTR)ui ); }
-inline void* LongToPtr( const long l )
- { return( (void*)(LONG_PTR)l ); }
-inline void* ULongToPtr( const unsigned long ul )
- { return( (void*)(ULONG_PTR)ul ); }
-#endif /* 0_ */
-
-#else /* !_WIN64 */
-typedef int INT_PTR, *PINT_PTR;
-typedef unsigned int UINT_PTR, *PUINT_PTR;
-typedef long LONG_PTR, *PLONG_PTR;
-typedef unsigned long ULONG_PTR, *PULONG_PTR;
-typedef unsigned short UHALF_PTR, *PUHALF_PTR;
-typedef short HALF_PTR, *PHALF_PTR;
-typedef unsigned long HANDLE_PTR;
-#endif /* !_WIN64 */
-
-typedef ULONG_PTR SIZE_T, *PSIZE_T;
-typedef LONG_PTR SSIZE_T, *PSSIZE_T;
-typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
-typedef __int64 LONG64, *PLONG64;
-typedef __int64 INT64, *PINT64;
-typedef unsigned __int64 ULONG64, *PULONG64;
-typedef unsigned __int64 DWORD64, *PDWORD64;
-typedef unsigned __int64 UINT64, *PUINT64;
-#ifdef __cplusplus
-}
-#endif
-#endif /* !RC_INVOKED */
-
-#endif /* _BASETSD_H */
+#ifndef _BASETSD_H +#define _BASETSD_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __GNUC__ +#ifndef __int64 +#define __int64 long long +#endif +#endif + +#if defined(_WIN64) +#define __int3264 __int64 +#define ADDRESS_TAG_BIT 0x40000000000UI64 +#else /* !_WIN64 */ +#define __int3264 __int32 +#define ADDRESS_TAG_BIT 0x80000000UL +#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) ) +#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) ) +#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h)) +#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) ) +#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) ) +#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) ) +#define PtrToInt( p ) ((INT)(INT_PTR) (p) ) +#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) ) +#define PtrToShort( p ) ((short)(LONG_PTR)(p) ) +#define IntToPtr( i ) ((VOID*)(INT_PTR)((int)i)) +#define UIntToPtr( ui ) ((VOID*)(UINT_PTR)((unsigned int)ui)) +#define LongToPtr( l ) ((VOID*)(LONG_PTR)((long)l)) +#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul)) +#endif /* !_WIN64 */ + +#define UlongToPtr(ul) ULongToPtr(ul) +#define UintToPtr(ui) UIntToPtr(ui) +#define MAXUINT_PTR (~((UINT_PTR)0)) +#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1)) +#define MININT_PTR (~MAXINT_PTR) +#define MAXULONG_PTR (~((ULONG_PTR)0)) +#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1)) +#define MINLONG_PTR (~MAXLONG_PTR) +#define MAXUHALF_PTR ((UHALF_PTR)~0) +#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1)) +#define MINHALF_PTR (~MAXHALF_PTR) + +#ifndef RC_INVOKED +#ifdef __cplusplus +extern "C" { +#endif +typedef int LONG32, *PLONG32; +#ifndef XFree86Server +typedef int INT32, *PINT32; +#endif /* ndef XFree86Server */ +typedef unsigned int ULONG32, *PULONG32; +typedef unsigned int DWORD32, *PDWORD32; +typedef unsigned int UINT32, *PUINT32; + +#if defined(_WIN64) +typedef __int64 INT_PTR, *PINT_PTR; +typedef unsigned __int64 UINT_PTR, *PUINT_PTR; +typedef __int64 LONG_PTR, *PLONG_PTR; +typedef unsigned __int64 ULONG_PTR, *PULONG_PTR; +typedef unsigned __int64 HANDLE_PTR; +typedef unsigned int UHALF_PTR, *PUHALF_PTR; +typedef int HALF_PTR, *PHALF_PTR; + +#if 0 /* TODO when WIN64 is here */ +inline unsigned long HandleToUlong(const void* h ) + { return((unsigned long) h ); } +inline long HandleToLong( const void* h ) + { return((long) h ); } +inline void* LongToHandle( const long h ) + { return((void*) (INT_PTR) h ); } +inline unsigned long PtrToUlong( const void* p) + { return((unsigned long) p ); } +inline unsigned int PtrToUint( const void* p ) + { return((unsigned int) p ); } +inline unsigned short PtrToUshort( const void* p ) + { return((unsigned short) p ); } +inline long PtrToLong( const void* p ) + { return((long) p ); } +inline int PtrToInt( const void* p ) + { return((int) p ); } +inline short PtrToShort( const void* p ) + { return((short) p ); } +inline void* IntToPtr( const int i ) + { return( (void*)(INT_PTR)i ); } +inline void* UIntToPtr(const unsigned int ui) + { return( (void*)(UINT_PTR)ui ); } +inline void* LongToPtr( const long l ) + { return( (void*)(LONG_PTR)l ); } +inline void* ULongToPtr( const unsigned long ul ) + { return( (void*)(ULONG_PTR)ul ); } +#endif /* 0_ */ + +#else /* !_WIN64 */ +typedef int INT_PTR, *PINT_PTR; +typedef unsigned int UINT_PTR, *PUINT_PTR; +typedef long LONG_PTR, *PLONG_PTR; +typedef unsigned long ULONG_PTR, *PULONG_PTR; +typedef unsigned short UHALF_PTR, *PUHALF_PTR; +typedef short HALF_PTR, *PHALF_PTR; +typedef unsigned long HANDLE_PTR; +#endif /* !_WIN64 */ + +typedef ULONG_PTR SIZE_T, *PSIZE_T; +typedef LONG_PTR SSIZE_T, *PSSIZE_T; +typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR; +typedef __int64 LONG64, *PLONG64; +typedef __int64 INT64, *PINT64; +typedef unsigned __int64 ULONG64, *PULONG64; +typedef unsigned __int64 DWORD64, *PDWORD64; +typedef unsigned __int64 UINT64, *PUINT64; +#ifdef __cplusplus +} +#endif +#endif /* !RC_INVOKED */ + +#endif /* _BASETSD_H */ diff --git a/win32/include/winapi/basetyps.h b/win32/include/winapi/basetyps.h index 4d36bc9..e1e3650 100644 --- a/win32/include/winapi/basetyps.h +++ b/win32/include/winapi/basetyps.h @@ -1,144 +1,144 @@ -#ifndef _BASETYPS_H
-#define _BASETYPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __OBJC__
-#ifdef __cplusplus
-#define EXTERN_C extern "C"
-#else
-#define EXTERN_C extern
-#endif /* __cplusplus */
-#define STDMETHODCALLTYPE __stdcall
-#define STDMETHODVCALLTYPE __cdecl
-#define STDAPICALLTYPE __stdcall
-#define STDAPIVCALLTYPE __cdecl
-#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
-#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE
-#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
-#define STDMETHODIMP_(t) t STDMETHODCALLTYPE
-#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
-#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
-#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
-#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
-#define interface struct
-#if defined(__cplusplus) && !defined(CINTERFACE)
-#define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m
-#define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m
-#define PURE =0
-#define THIS_
-#define THIS void
-/*
- __attribute__((com_interface)) is obsolete in __GNUC__ >= 3
- g++ vtables are now COM-compatible by default
-*/
-#if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
-#define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i
-#define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b
-#else
-#define DECLARE_INTERFACE(i) interface i
-#define DECLARE_INTERFACE_(i,b) interface i : public b
-#endif
-#else
-#define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m)
-#define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m)
-#define PURE
-#define THIS_ INTERFACE *,
-#define THIS INTERFACE *
-#ifndef CONST_VTABLE
-#define CONST_VTABLE
-#endif
-#define DECLARE_INTERFACE(i) \
-typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
-typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
-CONST_VTABLE struct i##Vtbl
-#define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
-#endif
-#define BEGIN_INTERFACE
-#define END_INTERFACE
-
-#define FWD_DECL(i) typedef interface i i
-#if defined(__cplusplus) && !defined(CINTERFACE)
-#define IENUM_THIS(T)
-#define IENUM_THIS_(T)
-#else
-#define IENUM_THIS(T) T*
-#define IENUM_THIS_(T) T*,
-#endif
-#define DECLARE_ENUMERATOR_(I,T) \
-DECLARE_INTERFACE_(I,IUnknown) \
-{ \
- STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \
- STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \
- STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \
- STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \
- STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \
- STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \
- STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
-}
-#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
-
-#endif /* __OBJC__ */
-
-#ifndef _GUID_DEFINED /* also defined in winnt.h */
-#define _GUID_DEFINED
-typedef struct _GUID
-{
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} GUID,*REFGUID,*LPGUID;
-#endif /* _GUID_DEFINED */
-#ifndef UUID_DEFINED
-#define UUID_DEFINED
-typedef GUID UUID;
-#endif /* UUID_DEFINED */
-typedef GUID IID;
-typedef GUID CLSID;
-typedef CLSID *LPCLSID;
-typedef IID *LPIID;
-typedef IID *REFIID;
-typedef CLSID *REFCLSID;
-typedef GUID FMTID;
-typedef FMTID *REFFMTID;
-typedef unsigned long error_status_t;
-#define uuid_t UUID
-typedef unsigned long PROPID;
-
-#ifndef _REFGUID_DEFINED
-#if defined (__cplusplus) && !defined (CINTERFACE)
-#define REFGUID const GUID&
-#define REFIID const IID&
-#define REFCLSID const CLSID&
-#else
-#define REFGUID const GUID* const
-#define REFIID const IID* const
-#define REFCLSID const CLSID* const
-#endif
-#define _REFGUID_DEFINED
-#define _REFGIID_DEFINED
-#define _REFCLSID_DEFINED
-#endif
-#ifndef GUID_SECTION
-#define GUID_SECTION ".text"
-#endif
-#ifdef __GNUC__
-#define GUID_SECT __attribute__ ((section (GUID_SECTION)))
-#else
-#define GUID_SECT
-#endif
-#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus))
-#define GUID_EXT EXTERN_C
-#else
-#define GUID_EXT
-#endif
-#ifdef INITGUID
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#else
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#endif
-#endif
+#ifndef _BASETYPS_H +#define _BASETYPS_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifndef __OBJC__ +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C extern +#endif /* __cplusplus */ +#define STDMETHODCALLTYPE __stdcall +#define STDMETHODVCALLTYPE __cdecl +#define STDAPICALLTYPE __stdcall +#define STDAPIVCALLTYPE __cdecl +#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE +#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE +#define STDMETHODIMP HRESULT STDMETHODCALLTYPE +#define STDMETHODIMP_(t) t STDMETHODCALLTYPE +#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE +#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE +#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE +#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE +#define interface struct +#if defined(__cplusplus) && !defined(CINTERFACE) +#define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m +#define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m +#define PURE =0 +#define THIS_ +#define THIS void +/* + __attribute__((com_interface)) is obsolete in __GNUC__ >= 3 + g++ vtables are now COM-compatible by default +*/ +#if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE) +#define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i +#define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b +#else +#define DECLARE_INTERFACE(i) interface i +#define DECLARE_INTERFACE_(i,b) interface i : public b +#endif +#else +#define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m) +#define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m) +#define PURE +#define THIS_ INTERFACE *, +#define THIS INTERFACE * +#ifndef CONST_VTABLE +#define CONST_VTABLE +#endif +#define DECLARE_INTERFACE(i) \ +typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \ +typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \ +CONST_VTABLE struct i##Vtbl +#define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i) +#endif +#define BEGIN_INTERFACE +#define END_INTERFACE + +#define FWD_DECL(i) typedef interface i i +#if defined(__cplusplus) && !defined(CINTERFACE) +#define IENUM_THIS(T) +#define IENUM_THIS_(T) +#else +#define IENUM_THIS(T) T* +#define IENUM_THIS_(T) T*, +#endif +#define DECLARE_ENUMERATOR_(I,T) \ +DECLARE_INTERFACE_(I,IUnknown) \ +{ \ + STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \ + STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \ + STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \ + STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \ + STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \ + STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \ + STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \ +} +#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T) + +#endif /* __OBJC__ */ + +#ifndef _GUID_DEFINED /* also defined in winnt.h */ +#define _GUID_DEFINED +typedef struct _GUID +{ + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} GUID,*REFGUID,*LPGUID; +#endif /* _GUID_DEFINED */ +#ifndef UUID_DEFINED +#define UUID_DEFINED +typedef GUID UUID; +#endif /* UUID_DEFINED */ +typedef GUID IID; +typedef GUID CLSID; +typedef CLSID *LPCLSID; +typedef IID *LPIID; +typedef IID *REFIID; +typedef CLSID *REFCLSID; +typedef GUID FMTID; +typedef FMTID *REFFMTID; +typedef unsigned long error_status_t; +#define uuid_t UUID +typedef unsigned long PROPID; + +#ifndef _REFGUID_DEFINED +#if defined (__cplusplus) && !defined (CINTERFACE) +#define REFGUID const GUID& +#define REFIID const IID& +#define REFCLSID const CLSID& +#else +#define REFGUID const GUID* const +#define REFIID const IID* const +#define REFCLSID const CLSID* const +#endif +#define _REFGUID_DEFINED +#define _REFGIID_DEFINED +#define _REFCLSID_DEFINED +#endif +#ifndef GUID_SECTION +#define GUID_SECTION ".text" +#endif +#ifdef __GNUC__ +#define GUID_SECT __attribute__ ((section (GUID_SECTION))) +#else +#define GUID_SECT +#endif +#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus)) +#define GUID_EXT EXTERN_C +#else +#define GUID_EXT +#endif +#ifdef INITGUID +#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} +#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) +#else +#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n +#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) +#endif +#endif diff --git a/win32/include/winapi/winbase.h b/win32/include/winapi/winbase.h index edd1776..b3fab6c 100644 --- a/win32/include/winapi/winbase.h +++ b/win32/include/winapi/winbase.h @@ -1,1852 +1,1852 @@ -#ifndef _WINBASE_H
-#define _WINBASE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define WINBASEAPI DECLSPEC_IMPORT
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SP_SERIALCOMM 1
-#define PST_UNSPECIFIED 0
-#define PST_RS232 1
-#define PST_PARALLELPORT 2
-#define PST_RS422 3
-#define PST_RS423 4
-#define PST_RS449 5
-#define PST_MODEM 6
-#define PST_FAX 0x21
-#define PST_SCANNER 0x22
-#define PST_NETWORK_BRIDGE 0x100
-#define PST_LAT 0x101
-#define PST_TCPIP_TELNET 0x102
-#define PST_X25 0x103
-#define BAUD_075 1
-#define BAUD_110 2
-#define BAUD_134_5 4
-#define BAUD_150 8
-#define BAUD_300 16
-#define BAUD_600 32
-#define BAUD_1200 64
-#define BAUD_1800 128
-#define BAUD_2400 256
-#define BAUD_4800 512
-#define BAUD_7200 1024
-#define BAUD_9600 2048
-#define BAUD_14400 4096
-#define BAUD_19200 8192
-#define BAUD_38400 16384
-#define BAUD_56K 32768
-#define BAUD_128K 65536
-#define BAUD_115200 131072
-#define BAUD_57600 262144
-#define BAUD_USER 0x10000000
-#define PCF_DTRDSR 1
-#define PCF_RTSCTS 2
-#define PCF_RLSD 4
-#define PCF_PARITY_CHECK 8
-#define PCF_XONXOFF 16
-#define PCF_SETXCHAR 32
-#define PCF_TOTALTIMEOUTS 64
-#define PCF_INTTIMEOUTS 128
-#define PCF_SPECIALCHARS 256
-#define PCF_16BITMODE 512
-#define SP_PARITY 1
-#define SP_BAUD 2
-#define SP_DATABITS 4
-#define SP_STOPBITS 8
-#define SP_HANDSHAKING 16
-#define SP_PARITY_CHECK 32
-#define SP_RLSD 64
-#define DATABITS_5 1
-#define DATABITS_6 2
-#define DATABITS_7 4
-#define DATABITS_8 8
-#define DATABITS_16 16
-#define DATABITS_16X 32
-#define STOPBITS_10 1
-#define STOPBITS_15 2
-#define STOPBITS_20 4
-#define PARITY_NONE 256
-#define PARITY_ODD 512
-#define PARITY_EVEN 1024
-#define PARITY_MARK 2048
-#define PARITY_SPACE 4096
-#define EXCEPTION_DEBUG_EVENT 1
-#define CREATE_THREAD_DEBUG_EVENT 2
-#define CREATE_PROCESS_DEBUG_EVENT 3
-#define EXIT_THREAD_DEBUG_EVENT 4
-#define EXIT_PROCESS_DEBUG_EVENT 5
-#define LOAD_DLL_DEBUG_EVENT 6
-#define UNLOAD_DLL_DEBUG_EVENT 7
-#define OUTPUT_DEBUG_STRING_EVENT 8
-#define RIP_EVENT 9
-#define HFILE_ERROR ((HFILE)-1)
-#define FILE_BEGIN 0
-#define FILE_CURRENT 1
-#define FILE_END 2
-#define INVALID_SET_FILE_POINTER ((DWORD)-1)
-#define OF_READ 0
-#define OF_READWRITE 2
-#define OF_WRITE 1
-#define OF_SHARE_COMPAT 0
-#define OF_SHARE_DENY_NONE 64
-#define OF_SHARE_DENY_READ 48
-#define OF_SHARE_DENY_WRITE 32
-#define OF_SHARE_EXCLUSIVE 16
-#define OF_CANCEL 2048
-#define OF_CREATE 4096
-#define OF_DELETE 512
-#define OF_EXIST 16384
-#define OF_PARSE 256
-#define OF_PROMPT 8192
-#define OF_REOPEN 32768
-#define OF_VERIFY 1024
-#define NMPWAIT_NOWAIT 1
-#define NMPWAIT_WAIT_FOREVER (-1)
-#define NMPWAIT_USE_DEFAULT_WAIT 0
-#define CE_BREAK 16
-#define CE_DNS 2048
-#define CE_FRAME 8
-#define CE_IOE 1024
-#define CE_MODE 32768
-#define CE_OOP 4096
-#define CE_OVERRUN 2
-#define CE_PTO 512
-#define CE_RXOVER 1
-#define CE_RXPARITY 4
-#define CE_TXFULL 256
-#define PROGRESS_CONTINUE 0
-#define PROGRESS_CANCEL 1
-#define PROGRESS_STOP 2
-#define PROGRESS_QUIET 3
-#define CALLBACK_CHUNK_FINISHED 0
-#define CALLBACK_STREAM_SWITCH 1
-#define COPY_FILE_FAIL_IF_EXISTS 1
-#define COPY_FILE_RESTARTABLE 2
-#define OFS_MAXPATHNAME 128
-#define DUPLICATE_CLOSE_SOURCE 1
-#define DUPLICATE_SAME_ACCESS 2
-#define FILE_MAP_ALL_ACCESS 0xf001f
-#define FILE_MAP_READ 4
-#define FILE_MAP_WRITE 2
-#define FILE_MAP_COPY 1
-#define MUTEX_ALL_ACCESS 0x1f0001
-#define MUTEX_MODIFY_STATE 1
-#define SEMAPHORE_ALL_ACCESS 0x1f0003
-#define SEMAPHORE_MODIFY_STATE 2
-#define EVENT_ALL_ACCESS 0x1f0003
-#define EVENT_MODIFY_STATE 2
-#define PIPE_ACCESS_DUPLEX 3
-#define PIPE_ACCESS_INBOUND 1
-#define PIPE_ACCESS_OUTBOUND 2
-#define PIPE_TYPE_BYTE 0
-#define PIPE_TYPE_MESSAGE 4
-#define PIPE_READMODE_BYTE 0
-#define PIPE_READMODE_MESSAGE 2
-#define PIPE_WAIT 0
-#define PIPE_NOWAIT 1
-#define PIPE_CLIENT_END 0
-#define PIPE_SERVER_END 1
-#define PIPE_UNLIMITED_INSTANCES 255
-#define CREATE_DEFAULT_ERROR_MODE 67108864
-#define DEBUG_PROCESS 1
-#define DEBUG_ONLY_THIS_PROCESS 2
-#define CREATE_SUSPENDED 4
-#define DETACHED_PROCESS 8
-#define CREATE_NEW_CONSOLE 16
-#define NORMAL_PRIORITY_CLASS 32
-#define IDLE_PRIORITY_CLASS 64
-#define HIGH_PRIORITY_CLASS 128
-#define REALTIME_PRIORITY_CLASS 256
-#define CREATE_NEW_PROCESS_GROUP 512
-#define CREATE_UNICODE_ENVIRONMENT 1024
-#define CREATE_SEPARATE_WOW_VDM 2048
-#define CREATE_SHARED_WOW_VDM 4096
-#define CREATE_FORCEDOS 8192
-#define CREATE_NO_WINDOW 0x8000000
-#define CONSOLE_TEXTMODE_BUFFER 1
-#define CREATE_NEW 1
-#define CREATE_ALWAYS 2
-#define OPEN_EXISTING 3
-#define OPEN_ALWAYS 4
-#define TRUNCATE_EXISTING 5
-#define FILE_FLAG_WRITE_THROUGH 0x80000000
-#define FILE_FLAG_OVERLAPPED 1073741824
-#define FILE_FLAG_NO_BUFFERING 536870912
-#define FILE_FLAG_RANDOM_ACCESS 268435456
-#define FILE_FLAG_SEQUENTIAL_SCAN 134217728
-#define FILE_FLAG_DELETE_ON_CLOSE 67108864
-#define FILE_FLAG_BACKUP_SEMANTICS 33554432
-#define FILE_FLAG_POSIX_SEMANTICS 16777216
-#define FILE_FLAG_OPEN_REPARSE_POINT 2097152
-#define FILE_FLAG_OPEN_NO_RECALL 1048576
-#define CLRDTR 6
-#define CLRRTS 4
-#define SETDTR 5
-#define SETRTS 3
-#define SETXOFF 1
-#define SETXON 2
-#define SETBREAK 8
-#define CLRBREAK 9
-#define STILL_ACTIVE 0x103
-#define FIND_FIRST_EX_CASE_SENSITIVE 1
-#define SCS_32BIT_BINARY 0
-#define SCS_DOS_BINARY 1
-#define SCS_OS216_BINARY 5
-#define SCS_PIF_BINARY 3
-#define SCS_POSIX_BINARY 4
-#define SCS_WOW_BINARY 2
-#define MAX_COMPUTERNAME_LENGTH 15
-#define HW_PROFILE_GUIDLEN 39
-#define MAX_PROFILE_LEN 80
-#define DOCKINFO_UNDOCKED 1
-#define DOCKINFO_DOCKED 2
-#define DOCKINFO_USER_SUPPLIED 4
-#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
-#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
-#define DRIVE_REMOVABLE 2
-#define DRIVE_FIXED 3
-#define DRIVE_REMOTE 4
-#define DRIVE_CDROM 5
-#define DRIVE_RAMDISK 6
-#define DRIVE_UNKNOWN 0
-#define DRIVE_NO_ROOT_DIR 1
-#define FILE_TYPE_UNKNOWN 0
-#define FILE_TYPE_DISK 1
-#define FILE_TYPE_CHAR 2
-#define FILE_TYPE_PIPE 3
-#define FILE_TYPE_REMOTE 0x8000
-#define HANDLE_FLAG_INHERIT 1
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE 2
-#define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
-#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
-#define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
-#define INVALID_HANDLE_VALUE (HANDLE)(-1)
-#define GET_TAPE_MEDIA_INFORMATION 0
-#define GET_TAPE_DRIVE_INFORMATION 1
-#define SET_TAPE_MEDIA_INFORMATION 0
-#define SET_TAPE_DRIVE_INFORMATION 1
-#define THREAD_PRIORITY_ABOVE_NORMAL 1
-#define THREAD_PRIORITY_BELOW_NORMAL (-1)
-#define THREAD_PRIORITY_HIGHEST 2
-#define THREAD_PRIORITY_IDLE (-15)
-#define THREAD_PRIORITY_LOWEST (-2)
-#define THREAD_PRIORITY_NORMAL 0
-#define THREAD_PRIORITY_TIME_CRITICAL 15
-#define THREAD_PRIORITY_ERROR_RETURN 2147483647
-#define TIME_ZONE_ID_UNKNOWN 0
-#define TIME_ZONE_ID_STANDARD 1
-#define TIME_ZONE_ID_DAYLIGHT 2
-#define TIME_ZONE_ID_INVALID 0xFFFFFFFF
-#define FS_CASE_IS_PRESERVED 2
-#define FS_CASE_SENSITIVE 1
-#define FS_UNICODE_STORED_ON_DISK 4
-#define FS_PERSISTENT_ACLS 8
-#define FS_FILE_COMPRESSION 16
-#define FS_VOL_IS_COMPRESSED 32768
-#define GMEM_FIXED 0
-#define GMEM_MOVEABLE 2
-#define GMEM_MODIFY 128
-#define GPTR 64
-#define GHND 66
-#define GMEM_DDESHARE 8192
-#define GMEM_DISCARDABLE 256
-#define GMEM_LOWER 4096
-#define GMEM_NOCOMPACT 16
-#define GMEM_NODISCARD 32
-#define GMEM_NOT_BANKED 4096
-#define GMEM_NOTIFY 16384
-#define GMEM_SHARE 8192
-#define GMEM_ZEROINIT 64
-#define GMEM_DISCARDED 16384
-#define GMEM_INVALID_HANDLE 32768
-#define GMEM_LOCKCOUNT 255
-#define STATUS_WAIT_0 0
-#define STATUS_ABANDONED_WAIT_0 0x80
-#define STATUS_USER_APC 0xC0
-#define STATUS_TIMEOUT 0x102
-#define STATUS_PENDING 0x103
-#define STATUS_SEGMENT_NOTIFICATION 0x40000005
-#define STATUS_GUARD_PAGE_VIOLATION 0x80000001
-#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
-#define STATUS_BREAKPOINT 0x80000003
-#define STATUS_SINGLE_STEP 0x80000004
-#define STATUS_ACCESS_VIOLATION 0xC0000005
-#define STATUS_IN_PAGE_ERROR 0xC0000006
-#define STATUS_INVALID_HANDLE 0xC0000008L
-#define STATUS_NO_MEMORY 0xC0000017
-#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
-#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
-#define STATUS_INVALID_DISPOSITION 0xC0000026
-#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
-#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
-#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
-#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
-#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
-#define STATUS_FLOAT_OVERFLOW 0xC0000091
-#define STATUS_FLOAT_STACK_CHECK 0xC0000092
-#define STATUS_FLOAT_UNDERFLOW 0xC0000093
-#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
-#define STATUS_INTEGER_OVERFLOW 0xC0000095
-#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
-#define STATUS_STACK_OVERFLOW 0xC00000FD
-#define STATUS_CONTROL_C_EXIT 0xC000013A
-#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
-#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
-#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
-#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
-#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
-#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
-#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
-#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
-#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
-#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
-#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
-#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
-#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
-#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
-#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
-#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
-#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
-#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
-#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
-#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
-#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
-#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
-#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
-#define PROCESS_HEAP_REGION 1
-#define PROCESS_HEAP_UNCOMMITTED_RANGE 2
-#define PROCESS_HEAP_ENTRY_BUSY 4
-#define PROCESS_HEAP_ENTRY_MOVEABLE 16
-#define PROCESS_HEAP_ENTRY_DDESHARE 32
-#define DONT_RESOLVE_DLL_REFERENCES 1
-#define LOAD_LIBRARY_AS_DATAFILE 2
-#define LOAD_WITH_ALTERED_SEARCH_PATH 8
-#define LMEM_FIXED 0
-#define LMEM_MOVEABLE 2
-#define LMEM_NONZEROLHND 2
-#define LMEM_NONZEROLPTR 0
-#define LMEM_DISCARDABLE 3840
-#define LMEM_NOCOMPACT 16
-#define LMEM_NODISCARD 32
-#define LMEM_ZEROINIT 64
-#define LMEM_DISCARDED 16384
-#define LMEM_MODIFY 128
-#define LMEM_INVALID_HANDLE 32768
-#define LMEM_LOCKCOUNT 255
-#define LPTR 64
-#define LHND 66
-#define NONZEROLHND 2
-#define NONZEROLPTR 0
-#define LOCKFILE_FAIL_IMMEDIATELY 1
-#define LOCKFILE_EXCLUSIVE_LOCK 2
-#define LOGON32_PROVIDER_DEFAULT 0
-#define LOGON32_PROVIDER_WINNT35 1
-#define LOGON32_LOGON_INTERACTIVE 2
-#define LOGON32_LOGON_BATCH 4
-#define LOGON32_LOGON_SERVICE 5
-#define MOVEFILE_REPLACE_EXISTING 1
-#define MOVEFILE_COPY_ALLOWED 2
-#define MOVEFILE_DELAY_UNTIL_REBOOT 4
-#define MOVEFILE_WRITE_THROUGH 8
-#define MAXIMUM_WAIT_OBJECTS 64
-#define MAXIMUM_SUSPEND_COUNT 0x7F
-#define WAIT_OBJECT_0 0
-#define WAIT_ABANDONED_0 128
-#define WAIT_TIMEOUT 0x102
-#define WAIT_IO_COMPLETION 0xC0
-#define WAIT_ABANDONED 128
-#define WAIT_FAILED 0xFFFFFFFF
-#define PURGE_TXABORT 1
-#define PURGE_RXABORT 2
-#define PURGE_TXCLEAR 4
-#define PURGE_RXCLEAR 8
-#define EVENTLOG_FORWARDS_READ 4
-#define EVENTLOG_BACKWARDS_READ 8
-#define EVENTLOG_SEEK_READ 2
-#define EVENTLOG_SEQUENTIAL_READ 1
-#define EVENTLOG_ERROR_TYPE 1
-#define EVENTLOG_WARNING_TYPE 2
-#define EVENTLOG_INFORMATION_TYPE 4
-#define EVENTLOG_AUDIT_SUCCESS 8
-#define EVENTLOG_AUDIT_FAILURE 16
-#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
-#define FORMAT_MESSAGE_IGNORE_INSERTS 512
-#define FORMAT_MESSAGE_FROM_STRING 1024
-#define FORMAT_MESSAGE_FROM_HMODULE 2048
-#define FORMAT_MESSAGE_FROM_SYSTEM 4096
-#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
-#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
-#define EV_BREAK 64
-#define EV_CTS 8
-#define EV_DSR 16
-#define EV_ERR 128
-#define EV_EVENT1 2048
-#define EV_EVENT2 4096
-#define EV_PERR 512
-#define EV_RING 256
-#define EV_RLSD 32
-#define EV_RX80FULL 1024
-#define EV_RXCHAR 1
-#define EV_RXFLAG 2
-#define EV_TXEMPTY 4
-#define SEM_FAILCRITICALERRORS 1
-#define SEM_NOALIGNMENTFAULTEXCEPT 4
-#define SEM_NOGPFAULTERRORBOX 2
-#define SEM_NOOPENFILEERRORBOX 32768
-#define SLE_ERROR 1
-#define SLE_MINORERROR 2
-#define SLE_WARNING 3
-#define SHUTDOWN_NORETRY 1
-#define EXCEPTION_EXECUTE_HANDLER 1
-#define EXCEPTION_CONTINUE_EXECUTION (-1)
-#define EXCEPTION_CONTINUE_SEARCH 0
-#define MAXINTATOM 0xC000
-#define INVALID_ATOM ((ATOM)0)
-#define IGNORE 0
-#define INFINITE 0xFFFFFFFF
-#define NOPARITY 0
-#define ODDPARITY 1
-#define EVENPARITY 2
-#define MARKPARITY 3
-#define SPACEPARITY 4
-#define ONESTOPBIT 0
-#define ONE5STOPBITS 1
-#define TWOSTOPBITS 2
-#define CBR_110 110
-#define CBR_300 300
-#define CBR_600 600
-#define CBR_1200 1200
-#define CBR_2400 2400
-#define CBR_4800 4800
-#define CBR_9600 9600
-#define CBR_14400 14400
-#define CBR_19200 19200
-#define CBR_38400 38400
-#define CBR_56000 56000
-#define CBR_57600 57600
-#define CBR_115200 115200
-#define CBR_128000 128000
-#define CBR_256000 256000
-#define BACKUP_INVALID 0
-#define BACKUP_DATA 1
-#define BACKUP_EA_DATA 2
-#define BACKUP_SECURITY_DATA 3
-#define BACKUP_ALTERNATE_DATA 4
-#define BACKUP_LINK 5
-#define BACKUP_PROPERTY_DATA 6
-#define BACKUP_OBJECT_ID 7
-#define BACKUP_REPARSE_DATA 8
-#define BACKUP_SPARSE_BLOCK 9
-#define STREAM_NORMAL_ATTRIBUTE 0
-#define STREAM_MODIFIED_WHEN_READ 1
-#define STREAM_CONTAINS_SECURITY 2
-#define STREAM_CONTAINS_PROPERTIES 4
-#define STARTF_USESHOWWINDOW 1
-#define STARTF_USESIZE 2
-#define STARTF_USEPOSITION 4
-#define STARTF_USECOUNTCHARS 8
-#define STARTF_USEFILLATTRIBUTE 16
-#define STARTF_RUNFULLSCREEN 32
-#define STARTF_FORCEONFEEDBACK 64
-#define STARTF_FORCEOFFFEEDBACK 128
-#define STARTF_USESTDHANDLES 256
-#define STARTF_USEHOTKEY 512
-#define TC_NORMAL 0
-#define TC_HARDERR 1
-#define TC_GP_TRAP 2
-#define TC_SIGNAL 3
-#define AC_LINE_OFFLINE 0
-#define AC_LINE_ONLINE 1
-#define AC_LINE_BACKUP_POWER 2
-#define AC_LINE_UNKNOWN 255
-#define BATTERY_FLAG_HIGH 1
-#define BATTERY_FLAG_LOW 2
-#define BATTERY_FLAG_CRITICAL 4
-#define BATTERY_FLAG_CHARGING 8
-#define BATTERY_FLAG_NO_BATTERY 128
-#define BATTERY_FLAG_UNKNOWN 255
-#define BATTERY_PERCENTAGE_UNKNOWN 255
-#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
-#define DDD_RAW_TARGET_PATH 1
-#define DDD_REMOVE_DEFINITION 2
-#define DDD_EXACT_MATCH_ON_REMOVE 4
-#define HINSTANCE_ERROR 32
-#define MS_CTS_ON 16
-#define MS_DSR_ON 32
-#define MS_RING_ON 64
-#define MS_RLSD_ON 128
-#define PROFILE_USER 0x10000000
-#define PROFILE_KERNEL 0x20000000
-#define PROFILE_SERVER 0x40000000
-#define DTR_CONTROL_DISABLE 0
-#define DTR_CONTROL_ENABLE 1
-#define DTR_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_DISABLE 0
-#define RTS_CONTROL_ENABLE 1
-#define RTS_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_TOGGLE 3
-#define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
-#define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
-#define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
-#define SECURITY_DELEGATION (SecurityDelegation<<16)
-#define SECURITY_CONTEXT_TRACKING 0x40000
-#define SECURITY_EFFECTIVE_ONLY 0x80000
-#define SECURITY_SQOS_PRESENT 0x100000
-#define SECURITY_VALID_SQOS_FLAGS 0x1F0000
-#define INVALID_FILE_SIZE 0xFFFFFFFF
-#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
-
-#ifndef RC_INVOKED
-typedef struct _FILETIME {
- DWORD dwLowDateTime;
- DWORD dwHighDateTime;
-} FILETIME,*PFILETIME,*LPFILETIME;
-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,*LPBY_HANDLE_FILE_INFORMATION;
-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 _COMM_CONFIG {
- DWORD dwSize;
- WORD wVersion;
- WORD wReserved;
- DCB dcb;
- DWORD dwProviderSubType;
- DWORD dwProviderOffset;
- DWORD dwProviderSize;
- WCHAR wcProviderData[1];
-} COMMCONFIG,*LPCOMMCONFIG;
-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 _COMMTIMEOUTS {
- DWORD ReadIntervalTimeout;
- DWORD ReadTotalTimeoutMultiplier;
- DWORD ReadTotalTimeoutConstant;
- DWORD WriteTotalTimeoutMultiplier;
- DWORD WriteTotalTimeoutConstant;
-} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
-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 DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID);
-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 _CREATE_THREAD_DEBUG_INFO {
- HANDLE hThread;
- LPVOID lpThreadLocalBase;
- LPTHREAD_START_ROUTINE lpStartAddress;
-} CREATE_THREAD_DEBUG_INFO,*LPCREATE_THREAD_DEBUG_INFO;
-typedef struct _EXCEPTION_DEBUG_INFO {
- EXCEPTION_RECORD ExceptionRecord;
- DWORD dwFirstChance;
-} EXCEPTION_DEBUG_INFO,*LPEXCEPTION_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 struct _OVERLAPPED {
- DWORD Internal;
- DWORD InternalHigh;
- DWORD Offset;
- DWORD OffsetHigh;
- HANDLE hEvent;
-} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED;
-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;
- PBYTE 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;
- PBYTE lpReserved2;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
-} STARTUPINFOW,*LPSTARTUPINFOW;
-typedef struct _PROCESS_INFORMATION {
- HANDLE hProcess;
- HANDLE hThread;
- DWORD dwProcessId;
- DWORD dwThreadId;
-} PROCESS_INFORMATION,*LPPROCESS_INFORMATION;
-typedef struct _CRITICAL_SECTION_DEBUG {
- WORD Type;
- WORD CreatorBackTraceIndex;
- struct _CRITICAL_SECTION *CriticalSection;
- LIST_ENTRY ProcessLocksList;
- DWORD EntryCount;
- DWORD ContentionCount;
- DWORD Spare [2];
-} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG;
-typedef struct _CRITICAL_SECTION {
- PCRITICAL_SECTION_DEBUG DebugInfo;
- LONG LockCount;
- LONG RecursionCount;
- HANDLE OwningThread;
- HANDLE LockSemaphore;
- DWORD SpinCount;
-} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION;
-typedef struct _SYSTEMTIME {
- WORD wYear;
- WORD wMonth;
- WORD wDayOfWeek;
- WORD wDay;
- WORD wHour;
- WORD wMinute;
- WORD wSecond;
- WORD wMilliseconds;
-} SYSTEMTIME,*LPSYSTEMTIME;
-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;
-typedef struct _WIN32_FIND_DATAA {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD dwReserved0;
- DWORD dwReserved1;
- CHAR cFileName[MAX_PATH];
- CHAR cAlternateFileName[14];
-} WIN32_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[MAX_PATH];
- WCHAR cAlternateFileName[14];
-} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
-typedef struct _WIN32_STREAM_ID {
- DWORD dwStreamId;
- DWORD dwStreamAttributes;
- LARGE_INTEGER Size;
- DWORD dwStreamNameSize;
- WCHAR cStreamName[ANYSIZE_ARRAY];
-} WIN32_STREAM_ID;
-typedef enum _FINDEX_INFO_LEVELS {
- FindExInfoStandard,
- FindExInfoMaxInfoLevel
-} FINDEX_INFO_LEVELS;
-typedef enum _FINDEX_SEARCH_OPS {
- FindExSearchNameMatch,
- FindExSearchLimitToDirectories,
- FindExSearchLimitToDevices,
- FindExSearchMaxSearchOp
-} FINDEX_SEARCH_OPS;
-typedef enum _ACL_INFORMATION_CLASS {
- AclRevisionInformation=1,
- AclSizeInformation
-} ACL_INFORMATION_CLASS;
-typedef struct tagHW_PROFILE_INFOA {
- DWORD dwDockInfo;
- CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- CHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA;
-typedef struct tagHW_PROFILE_INFOW {
- DWORD dwDockInfo;
- WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- WCHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW;
-typedef enum _GET_FILEEX_INFO_LEVELS {
- GetFileExInfoStandard,
- GetFileExMaxInfoLevel
-} GET_FILEEX_INFO_LEVELS;
-typedef struct _SYSTEM_INFO {
- _ANONYMOUS_UNION union {
- DWORD dwOemId;
- _ANONYMOUS_STRUCT struct {
- WORD wProcessorArchitecture;
- WORD wReserved;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- DWORD dwPageSize;
- PVOID lpMinimumApplicationAddress;
- PVOID lpMaximumApplicationAddress;
- DWORD dwActiveProcessorMask;
- DWORD dwNumberOfProcessors;
- DWORD dwProcessorType;
- DWORD dwAllocationGranularity;
- WORD wProcessorLevel;
- WORD wProcessorRevision;
-} SYSTEM_INFO,*LPSYSTEM_INFO;
-typedef struct _SYSTEM_POWER_STATUS {
- BYTE ACLineStatus;
- BYTE BatteryFlag;
- BYTE BatteryLifePercent;
- BYTE Reserved1;
- DWORD BatteryLifeTime;
- DWORD BatteryFullLifeTime;
-} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
-typedef struct _TIME_ZONE_INFORMATION {
- LONG Bias;
- WCHAR StandardName[32];
- SYSTEMTIME StandardDate;
- LONG StandardBias;
- WCHAR DaylightName[32];
- SYSTEMTIME DaylightDate;
- LONG DaylightBias;
-} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
-typedef struct _MEMORYSTATUS {
- DWORD dwLength;
- DWORD dwMemoryLoad;
- DWORD dwTotalPhys;
- DWORD dwAvailPhys;
- DWORD dwTotalPageFile;
- DWORD dwAvailPageFile;
- DWORD dwTotalVirtual;
- DWORD dwAvailVirtual;
-} MEMORYSTATUS,*LPMEMORYSTATUS;
-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,*LPLDT_ENTRY;
-typedef struct _PROCESS_HEAP_ENTRY {
- PVOID lpData;
- DWORD cbData;
- BYTE cbOverhead;
- BYTE iRegionIndex;
- WORD wFlags;
- _ANONYMOUS_UNION union {
- struct {
- HANDLE hMem;
- DWORD dwReserved[3];
- } Block;
- struct {
- DWORD dwCommittedSize;
- DWORD dwUnCommittedSize;
- LPVOID lpFirstBlock;
- LPVOID lpLastBlock;
- } Region;
- } DUMMYUNIONNAME;
-} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY;
-typedef struct _OFSTRUCT {
- BYTE cBytes;
- BYTE fFixedDisk;
- WORD nErrCode;
- WORD Reserved1;
- WORD Reserved2;
- CHAR szPathName[OFS_MAXPATHNAME];
-} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT;
-typedef struct _WIN_CERTIFICATE {
- DWORD dwLength;
- WORD wRevision;
- WORD wCertificateType;
- BYTE bCertificate[1];
-} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
-
-typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID);
-typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID);
-typedef BOOL(CALLBACK *ENUMRESLANGPROC)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG);
-typedef BOOL(CALLBACK *ENUMRESNAMEPROC)(HMODULE,LPCTSTR,LPTSTR,LONG);
-typedef BOOL(CALLBACK *ENUMRESTYPEPROC)(HMODULE,LPTSTR,LONG);
-typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
-typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
-typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
-typedef void(APIENTRY *PAPCFUNC)(DWORD);
-typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);
-#define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i)))
-/* Functions */
-#ifndef UNDER_CE
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
-#else
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-#endif
-int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-long WINAPI _hread(HFILE,LPVOID,long);
-long WINAPI _hwrite(HFILE,LPCSTR,long);
-HFILE WINAPI _lclose(HFILE);
-HFILE WINAPI _lcreat(LPCSTR,int);
-LONG WINAPI _llseek(HFILE,LONG,int);
-HFILE WINAPI _lopen(LPCSTR,int);
-UINT WINAPI _lread(HFILE,LPVOID,UINT);
-UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
-#define AbnormalTermination() FALSE
-BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
-BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
-BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
-BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
-ATOM WINAPI AddAtomA(LPCSTR);
-ATOM WINAPI AddAtomW(LPCWSTR);
-BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
-BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
-BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
-BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
-BOOL WINAPI AllocateLocallyUniqueId(PLUID);
-BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
-BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
-BOOL WINAPI AreFileApisANSI(void);
-BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
-BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
-BOOL WINAPI BackupRead(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID);
-BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,PDWORD,PDWORD,PVOID);
-BOOL WINAPI BackupWrite(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID);
-BOOL WINAPI Beep(DWORD,DWORD);
-HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
-HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
-BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
-BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
-BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
-BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
-BOOL WINAPI CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-BOOL WINAPI CancelIo(HANDLE);
-BOOL WINAPI CancelWaitableTimer(HANDLE);
-BOOL WINAPI ClearCommBreak(HANDLE);
-BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT);
-BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
-BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
-BOOL WINAPI CloseEventLog(HANDLE);
-BOOL WINAPI CloseHandle(HANDLE);
-BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG);
-BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
-LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*);
-BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
-BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
-PVOID WINAPI ConvertThreadToFiber(PVOID);
-BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
-BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
-BOOL WINAPI CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-#define RtlMoveMemory memmove
-#define RtlCopyMemory memcpy
-#define RtlFillMemory(d,l,f) memset((d), (f), (l))
-#define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0)
-#define MoveMemory RtlMoveMemory
-#define CopyMemory RtlCopyMemory
-#define FillMemory RtlFillMemory
-#define ZeroMemory RtlZeroMemory
-BOOL WINAPI CopySid(DWORD,PSID,PSID);
-BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
-BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
-BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
-HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
-LPVOID WINAPI CreateFiber(DWORD,LPFIBER_START_ROUTINE,LPVOID);
-HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
-HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
-HANDLE WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,DWORD,DWORD);
-HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
-BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
-BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
-HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
-HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
-DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
-HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
-HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-BOOL WINAPI DebugActiveProcess(DWORD);
-void WINAPI DebugBreak(void);
-BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
-BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
-#define DefineHandleTable(w) ((w),TRUE)
-BOOL WINAPI DeleteAce(PACL,DWORD);
-ATOM WINAPI DeleteAtom(ATOM);
-void WINAPI DeleteCriticalSection(PCRITICAL_SECTION);
-void WINAPI DeleteFiber(PVOID);
-BOOL WINAPI DeleteFileA(LPCSTR);
-BOOL WINAPI DeleteFileW(LPCWSTR);
-BOOL WINAPI DeregisterEventSource(HANDLE);
-BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
-BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
-BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
-BOOL WINAPI DisconnectNamedPipe(HANDLE);
-BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
-BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
-BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
-BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
-BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
-BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
-void WINAPI EnterCriticalSection(LPCRITICAL_SECTION);
-BOOL WINAPI EnumResourceLanguagesA(HINSTANCE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG);
-BOOL WINAPI EnumResourceLanguagesW(HINSTANCE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG);
-BOOL WINAPI EnumResourceNamesA(HINSTANCE,LPCSTR,ENUMRESNAMEPROC,LONG);
-BOOL WINAPI EnumResourceNamesW(HINSTANCE,LPCWSTR,ENUMRESNAMEPROC,LONG);
-BOOL WINAPI EnumResourceTypesA(HINSTANCE,ENUMRESTYPEPROC,LONG);
-BOOL WINAPI EnumResourceTypesW(HINSTANCE,ENUMRESTYPEPROC,LONG);
-BOOL WINAPI EqualPrefixSid(PSID,PSID);
-BOOL WINAPI EqualSid(PSID,PSID);
-DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
-BOOL WINAPI EscapeCommFunction(HANDLE,DWORD);
-DECLSPEC_NORETURN void WINAPI ExitProcess(UINT);
-DECLSPEC_NORETURN void WINAPI ExitThread(DWORD);
-DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
-void WINAPI FatalAppExitA(UINT,LPCSTR);
-void WINAPI FatalAppExitW(UINT,LPCWSTR);
-void WINAPI FatalExit(int);
-BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD);
-BOOL WINAPI FileTimeToLocalFileTime(FILETIME *,LPFILETIME);
-BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME);
-ATOM WINAPI FindAtomA(LPCSTR);
-ATOM WINAPI FindAtomW(LPCWSTR);
-BOOL WINAPI FindClose(HANDLE);
-BOOL WINAPI FindCloseChangeNotification(HANDLE);
-HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
-HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
-HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
-HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
-HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
-BOOL WINAPI FindNextChangeNotification(HANDLE);
-BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
-BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
-HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
-HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR);
-HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD);
-HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
-BOOL WINAPI FlushFileBuffers(HANDLE);
-BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD);
-BOOL WINAPI FlushViewOfFile(PCVOID,DWORD);
-DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
-DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
-BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
-BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
-BOOL WINAPI FreeLibrary(HMODULE);
-DECLSPEC_NORETURN void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD);
-#define FreeModule(m) FreeLibrary(m)
-#define FreeProcInstance(p) (void)(p)
-#ifndef XFree86Server
-BOOL WINAPI FreeResource(HGLOBAL);
-#endif /* ndef XFree86Server */
-PVOID WINAPI FreeSid(PSID);
-BOOL WINAPI GetAce(PACL,DWORD,PVOID);
-BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-UINT WINAPI GetAtomNameA(ATOM,LPSTR,int);
-UINT WINAPI GetAtomNameW(ATOM,LPWSTR,int);
-BOOL WINAPI GetBinaryTypeA(LPCSTR,PDWORD);
-BOOL WINAPI GetBinaryTypeW(LPCWSTR,PDWORD);
-LPSTR WINAPI GetCommandLineA(VOID);
-LPWSTR WINAPI GetCommandLineW(VOID);
-BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD);
-BOOL WINAPI GetCommMask(HANDLE,PDWORD);
-BOOL WINAPI GetCommModemStatus(HANDLE,PDWORD);
-BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
-BOOL WINAPI GetCommState(HANDLE,LPDCB);
-BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD);
-DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD);
-BOOL WINAPI GetComputerNameA(LPSTR,PDWORD);
-BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD);
-DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR);
-DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR);
-BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
-BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
-HANDLE WINAPI GetCurrentProcess(void);
-DWORD WINAPI GetCurrentProcessId(void);
-HANDLE WINAPI GetCurrentThread(void);
-DWORD WINAPI GetCurrentThreadId(void);
-#define GetCurrentTime GetTickCount
-BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
-BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
-BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-UINT WINAPI GetDriveTypeA(LPCSTR);
-UINT WINAPI GetDriveTypeW(LPCWSTR);
-LPSTR WINAPI GetEnvironmentStrings(void);
-LPSTR WINAPI GetEnvironmentStringsA(void);
-LPWSTR WINAPI GetEnvironmentStringsW(void);
-DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
-BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD);
-BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD);
-DWORD WINAPI GetFileAttributesA(LPCSTR);
-DWORD WINAPI GetFileAttributesW(LPCWSTR);
-BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
-BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-DWORD WINAPI GetFileSize(HANDLE,PDWORD);
-BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
-DWORD WINAPI GetFileType(HANDLE);
-#define GetFreeSpace(w) (0x100000L)
-DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
-DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
-BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-DWORD WINAPI GetLengthSid(PSID);
-void WINAPI GetLocalTime(LPSYSTEMTIME);
-DWORD WINAPI GetLogicalDrives(void);
-DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
-DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
-DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
-BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
-DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
-HMODULE WINAPI GetModuleHandleA(LPCSTR);
-HMODULE WINAPI GetModuleHandleW(LPCWSTR);
-BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
-BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
-BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
-DWORD WINAPI GetPriorityClass(HANDLE);
-BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
-UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
-DWORD WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
-DWORD WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
-DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
-DWORD WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR);
-DWORD WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR);
-BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR);
-FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
-BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
-HANDLE WINAPI GetProcessHeap(VOID);
-DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
-BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
-BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD);
-BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-DWORD WINAPI GetProcessVersion(DWORD);
-HWINSTA WINAPI GetProcessWindowStation(void);
-BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PDWORD,PDWORD);
-UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
-UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
-DWORD WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
-DWORD WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD);
-DWORD WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PDWORD,LPOVERLAPPED*,DWORD);
-BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
-BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
-BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
-PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
-DWORD WINAPI GetSidLengthRequired(UCHAR);
-PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
-PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
-VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
-VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
-HANDLE WINAPI GetStdHandle(DWORD);
-UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
-UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
-VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
-BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
-VOID WINAPI GetSystemTime(LPSYSTEMTIME);
-BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
-void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
-DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID);
-DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD);
-DWORD WINAPI GetTapeStatus(HANDLE);
-UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
-UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
-DWORD WINAPI GetTempPathA(DWORD,LPSTR);
-DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
-BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
-int WINAPI GetThreadPriority(HANDLE);
-BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
-BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
-BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-DWORD WINAPI GetTickCount(void);
-DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
-BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
-BOOL WINAPI GetUserNameA (LPSTR,PDWORD);
-BOOL WINAPI GetUserNameW(LPWSTR,PDWORD);
-DWORD WINAPI GetVersion(void);
-BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
-BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
-BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
-UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
-DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
-ATOM WINAPI GlobalAddAtomA(LPCSTR);
-ATOM WINAPI GlobalAddAtomW( LPCWSTR);
-HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
-UINT WINAPI GlobalCompact(DWORD);
-ATOM WINAPI GlobalDeleteAtom(ATOM);
-HGLOBAL GlobalDiscard(HGLOBAL);
-ATOM WINAPI GlobalFindAtomA(LPCSTR);
-ATOM WINAPI GlobalFindAtomW(LPCWSTR);
-VOID WINAPI GlobalFix(HGLOBAL);
-UINT WINAPI GlobalFlags(HGLOBAL);
-HGLOBAL WINAPI GlobalFree(HGLOBAL);
-UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,int);
-UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int);
-HGLOBAL WINAPI GlobalHandle(PCVOID);
-LPVOID WINAPI GlobalLock(HGLOBAL);
-VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
-HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
-DWORD WINAPI GlobalSize(HGLOBAL);
-VOID WINAPI GlobalUnfix(HGLOBAL);
-BOOL WINAPI GlobalUnlock(HGLOBAL);
-BOOL WINAPI GlobalUnWire(HGLOBAL);
-PVOID WINAPI GlobalWire(HGLOBAL);
-#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
-PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
-UINT WINAPI HeapCompact(HANDLE,DWORD);
-HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
-BOOL WINAPI HeapDestroy(HANDLE);
-BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
-BOOL WINAPI HeapLock(HANDLE);
-PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD);
-DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID);
-BOOL WINAPI HeapUnlock(HANDLE);
-BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID);
-BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
-BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
-BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
-BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
-BOOL WINAPI InitAtomTable(DWORD);
-BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
-VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION);
-#if (_WIN32_WINNT >= 0x0403) /* Needs NT4, SP3 or later. */
-BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
-DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
-#endif
-BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
-BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
-LONG WINAPI InterlockedCompareExchange(LPLONG,LONG,LONG);
-/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
-#define InterlockedCompareExchangePointer(d,e,c) \
- (PVOID)InterlockedCompareExchange((LPLONG)(d),(LONG)(e),(LONG)(c))
-LONG WINAPI InterlockedDecrement(LPLONG);
-LONG WINAPI InterlockedExchange(LPLONG,LONG);
-/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
-#define InterlockedExchangePointer(t,v) \
- (PVOID)InterlockedExchange((LPLONG)(t),(LONG)(v))
-LONG WINAPI InterlockedExchangeAdd(PLONG,LONG);
-LONG WINAPI InterlockedIncrement(LPLONG);
-BOOL WINAPI IsBadCodePtr(FARPROC);
-BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT);
-BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT);
-BOOL WINAPI IsBadReadPtr(PCVOID,UINT);
-BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
-BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
-BOOL WINAPI IsBadWritePtr(PVOID,UINT);
-BOOL WINAPI IsDebuggerPresent(void);
-BOOL WINAPI IsProcessorFeaturePresent(DWORD);
-BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT);
-BOOL WINAPI IsValidAcl(PACL);
-BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
-BOOL WINAPI IsValidSid(PSID);
-void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
-#define LimitEmsPages(n)
-HINSTANCE WINAPI LoadLibraryA(LPCSTR);
-HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
-HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
-HINSTANCE WINAPI LoadLibraryW(LPCWSTR);
-DWORD WINAPI LoadModule(LPCSTR,PVOID);
-HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
-HLOCAL WINAPI LocalAlloc(UINT,UINT);
-UINT WINAPI LocalCompact(UINT);
-HLOCAL LocalDiscard(HLOCAL);
-BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME);
-UINT WINAPI LocalFlags(HLOCAL);
-HLOCAL WINAPI LocalFree(HLOCAL);
-HLOCAL WINAPI LocalHandle(LPCVOID);
-PVOID WINAPI LocalLock(HLOCAL);
-HLOCAL WINAPI LocalReAlloc(HLOCAL,UINT,UINT);
-UINT WINAPI LocalShrink(HLOCAL,UINT);
-UINT WINAPI LocalSize(HLOCAL);
-BOOL WINAPI LocalUnlock(HLOCAL);
-BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
-PVOID WINAPI LockResource(HGLOBAL);
-#define LockSegment(w) GlobalFix((HANDLE)(w))
-BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE);
-BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE);
-BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD);
-BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD);
-BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD);
-BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD);
-BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
-BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
-LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
-LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
-int WINAPI lstrcmpA(LPCSTR,LPCSTR);
-int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
-int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
-int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
-LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
-LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
-LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
-LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
-int WINAPI lstrlenA(LPCSTR);
-int WINAPI lstrlenW(LPCWSTR);
-BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);
-#define MakeProcInstance(p,i) (p)
-BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
-VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
-PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID);
-BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
-BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
-BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
-BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
-int WINAPI MulDiv(int,int,int);
-BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
-BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL);
-BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
-BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL);
-BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
-BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
-HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
-HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
-HANDLE WINAPI OpenEventLogA (LPCSTR,LPCSTR);
-HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
-HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
-HFILE WINAPI OpenFile(LPCSTR,LPOFSTRUCT,UINT);
-HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
-HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
-HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
-HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
-HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
-BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
-HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
-HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
-BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
-HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
-HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
-void WINAPI OutputDebugStringA(LPCSTR);
-void WINAPI OutputDebugStringW(LPCWSTR);
-BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,DWORD,LPOVERLAPPED);
-DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
-BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
-BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-BOOL WINAPI PulseEvent(HANDLE);
-BOOL WINAPI PurgeComm(HANDLE,DWORD);
-DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
-DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
-BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
-BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
-DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,DWORD);
-void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*);
-BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD);
-HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR);
-HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
-BOOL WINAPI ReleaseMutex(HANDLE);
-BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
-BOOL WINAPI RemoveDirectoryA(LPCSTR);
-BOOL WINAPI RemoveDirectoryW(LPCWSTR);
-BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID);
-BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID);
-BOOL WINAPI ResetEvent(HANDLE);
-DWORD WINAPI ResumeThread(HANDLE);
-BOOL WINAPI RevertToSelf(void);
-DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
-DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-BOOL WINAPI SetCommBreak(HANDLE);
-BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
-BOOL WINAPI SetCommMask(HANDLE,DWORD);
-BOOL WINAPI SetCommState(HANDLE,LPDCB);
-BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-BOOL WINAPI SetComputerNameA(LPCSTR);
-BOOL WINAPI SetComputerNameW(LPCWSTR);
-BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
-BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
-BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
-BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
-BOOL WINAPI SetEndOfFile(HANDLE);
-BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
-BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
-UINT WINAPI SetErrorMode(UINT);
-BOOL WINAPI SetEvent(HANDLE);
-VOID WINAPI SetFileApisToANSI(void);
-VOID WINAPI SetFileApisToOEM(void);
-BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
-BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
-DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
-BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
-UINT WINAPI SetHandleCount(UINT);
-BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
-BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-void WINAPI SetLastError(DWORD);
-void WINAPI SetLastErrorEx(DWORD,DWORD);
-BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
-BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
-BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
-BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
-BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD);
-BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
-BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
-BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
-BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
-BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
-BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
-BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-BOOL WINAPI SetStdHandle(DWORD,HANDLE);
-#define SetSwapAreaSize(w) (w)
-BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
-BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
-BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
-DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID);
-DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
-DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
-BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
-DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
-BOOL WINAPI SetThreadPriority(HANDLE,int);
-BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
-BOOL WINAPI SetThreadToken (PHANDLE,HANDLE);
-BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
-BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
-LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
-BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
-BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
-BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
-BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
-BOOL WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
-DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
-void WINAPI Sleep(DWORD);
-DWORD WINAPI SleepEx(DWORD,BOOL);
-DWORD WINAPI SuspendThread(HANDLE);
-void WINAPI SwitchToFiber(PVOID);
-BOOL WINAPI SwitchToThread(void);
-BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
-BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
-BOOL WINAPI TerminateProcess(HANDLE,UINT);
-BOOL WINAPI TerminateThread(HANDLE,DWORD);
-DWORD WINAPI TlsAlloc(VOID);
-BOOL WINAPI TlsFree(DWORD);
-PVOID WINAPI TlsGetValue(DWORD);
-BOOL WINAPI TlsSetValue(DWORD,PVOID);
-BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-BOOL WINAPI TransmitCommChar(HANDLE,char);
-BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
-LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
-BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
-#define UnlockResource(h) (h)
-#define UnlockSegment(w) GlobalUnfix((HANDLE)(w))
-BOOL WINAPI UnmapViewOfFile(PVOID);
-BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
-BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD);
-BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
-BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
-PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD);
-PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,DWORD,DWORD,DWORD);
-BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD);
-BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD);
-BOOL WINAPI VirtualLock(PVOID,DWORD);
-BOOL WINAPI VirtualProtect(PVOID,DWORD,DWORD,PDWORD);
-BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD);
-DWORD WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-BOOL WINAPI VirtualUnlock(PVOID,DWORD);
-BOOL WINAPI WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED);
-BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
-DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
-DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
-DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
-DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
-BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
-BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
-BOOL WINAPI WinLoadTrustProvider(GUID*);
-BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
-BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR);
-BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR);
-BOOL WINAPI WriteProcessMemory(HANDLE,PVOID,PVOID,DWORD,PDWORD);
-BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
-BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
-BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
-DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
-#define Yield()
-
-#ifdef UNICODE
-typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
-#define AddAtom AddAtomW
-#define BackupEventLog BackupEventLogW
-#define BeginUpdateResource BeginUpdateResourceW
-#define BuildCommDCB BuildCommDCBW
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
-#define CallNamedPipe CallNamedPipeW
-#define ClearEventLog ClearEventLogW
-#define CommConfigDialog CommConfigDialogW
-#define CopyFile CopyFileW
-#define CopyFileEx CopyFileExW
-#define CreateDirectory CreateDirectoryW
-#define CreateDirectoryEx CreateDirectoryExW
-#define CreateEvent CreateEventW
-#define CreateFile CreateFileW
-#define CreateFileMapping CreateFileMappingW
-#define CreateHardLink CreateHardLinkW
-#define CreateMailslot CreateMailslotW
-#define CreateMutex CreateMutexW
-#define CreateNamedPipe CreateNamedPipeW
-#define CreateProcess CreateProcessW
-#define CreateProcessAsUser CreateProcessAsUserW
-#define CreateSemaphore CreateSemaphoreW
-#define CreateWaitableTimer CreateWaitableTimerW
-#define DefineDosDevice DefineDosDeviceW
-#define DeleteFile DeleteFileW
-#define EndUpdateResource EndUpdateResourceW
-#define EnumResourceLanguages EnumResourceLanguagesW
-#define EnumResourceNames EnumResourceNamesW
-#define EnumResourceTypes EnumResourceTypesW
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsW
-#define FatalAppExit FatalAppExitW
-#define FindAtom FindAtomW
-#define FindFirstChangeNotification FindFirstChangeNotificationW
-#define FindFirstFile FindFirstFileW
-#define FindFirstFileEx FindFirstFileExW
-#define FindNextFile FindNextFileW
-#define FindResource FindResourceW
-#define FindResourceEx FindResourceExW
-#define FormatMessage FormatMessageW
-#define FreeEnvironmentStrings FreeEnvironmentStringsW
-#define GetAtomName GetAtomNameW
-#define GetBinaryType GetBinaryTypeW
-#define GetCommandLine GetCommandLineW
-#define GetCompressedFileSize GetCompressedFileSizeW
-#define GetComputerName GetComputerNameW
-#define GetCurrentDirectory GetCurrentDirectoryW
-#define GetDefaultCommConfig GetDefaultCommConfigW
-#define GetDiskFreeSpace GetDiskFreeSpaceW
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
-#define GetDriveType GetDriveTypeW
-#define GetEnvironmentStrings GetEnvironmentStringsW
-#define GetEnvironmentVariable GetEnvironmentVariableW
-#define GetFileAttributes GetFileAttributesW
-#define GetFileSecurity GetFileSecurityW
-#define GetFileAttributesEx GetFileAttributesExW
-#define GetFullPathName GetFullPathNameW
-#define GetLogicalDriveStrings GetLogicalDriveStringsW
-#define GetLongPathName GetLongPathNameW
-#define GetModuleFileName GetModuleFileNameW
-#define GetModuleHandle GetModuleHandleW
-#define GetNamedPipeHandleState GetNamedPipeHandleStateW
-#define GetPrivateProfileInt GetPrivateProfileIntW
-#define GetPrivateProfileSection GetPrivateProfileSectionW
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
-#define GetPrivateProfileString GetPrivateProfileStringW
-#define GetPrivateProfileStruct GetPrivateProfileStructW
-#define GetProfileInt GetProfileIntW
-#define GetProfileSection GetProfileSectionW
-#define GetProfileString GetProfileStringW
-#define GetShortPathName GetShortPathNameW
-#define GetStartupInfo GetStartupInfoW
-#define GetSystemDirectory GetSystemDirectoryW
-#define GetTempFileName GetTempFileNameW
-#define GetTempPath GetTempPathW
-#define GetUserName GetUserNameW
-#define GetVersionEx GetVersionExW
-#define GetVolumeInformation GetVolumeInformationW
-#define GetWindowsDirectory GetWindowsDirectoryW
-#define GlobalAddAtom GlobalAddAtomW
-#define GlobalFindAtom GlobalFindAtomW
-#define GlobalGetAtomName GlobalGetAtomNameW
-#define IsBadStringPtr IsBadStringPtrW
-#define LoadLibrary LoadLibraryW
-#define LoadLibraryEx LoadLibraryExW
-#define LogonUser LogonUserW
-#define LookupAccountName LookupAccountNameW
-#define LookupAccountSid LookupAccountSidW
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
-#define LookupPrivilegeName LookupPrivilegeNameW
-#define LookupPrivilegeValue LookupPrivilegeValueW
-#define lstrcat lstrcatW
-#define lstrcmp lstrcmpW
-#define lstrcmpi lstrcmpiW
-#define lstrcpy lstrcpyW
-#define lstrcpyn lstrcpynW
-#define lstrlen lstrlenW
-#define MoveFile MoveFileW
-#define MoveFileEx MoveFileExW
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
-#define OpenBackupEventLog OpenBackupEventLogW
-#define OpenEvent OpenEventW
-#define OpenEventLog OpenEventLogW
-#define OpenFileMapping OpenFileMappingW
-#define OpenMutex OpenMutexW
-#define OpenSemaphore OpenSemaphoreW
-#define OutputDebugString OutputDebugStringW
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
-#define QueryDosDevice QueryDosDeviceW
-#define ReadEventLog ReadEventLogW
-#define RegisterEventSource RegisterEventSourceW
-#define RemoveDirectory RemoveDirectoryW
-#define ReportEvent ReportEventW
-#define SearchPath SearchPathW
-#define SetComputerName SetComputerNameW
-#define SetCurrentDirectory SetCurrentDirectoryW
-#define SetDefaultCommConfig SetDefaultCommConfigW
-#define SetEnvironmentVariable SetEnvironmentVariableW
-#define SetFileAttributes SetFileAttributesW
-#define SetFileSecurity SetFileSecurityW
-#define SetVolumeLabel SetVolumeLabelW
-#define UpdateResource UpdateResourceW
-#define VerifyVersionInfo VerifyVersionInfoW
-#define WaitNamedPipe WaitNamedPipeW
-#define WritePrivateProfileSection WritePrivateProfileSectionW
-#define WritePrivateProfileString WritePrivateProfileStringW
-#define WritePrivateProfileStruct WritePrivateProfileStructW
-#define WriteProfileSection WriteProfileSectionW
-#define WriteProfileString WriteProfileStringW
-#else
-typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
-#define AddAtom AddAtomA
-#define BackupEventLog BackupEventLogA
-#define BeginUpdateResource BeginUpdateResourceA
-#define BuildCommDCB BuildCommDCBA
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
-#define CallNamedPipe CallNamedPipeA
-#define ClearEventLog ClearEventLogA
-#define CommConfigDialog CommConfigDialogA
-#define CopyFile CopyFileA
-#define CopyFileEx CopyFileExA
-#define CreateDirectory CreateDirectoryA
-#define CreateDirectoryEx CreateDirectoryExA
-#define CreateEvent CreateEventA
-#define CreateFile CreateFileA
-#define CreateFileMapping CreateFileMappingA
-#define CreateHardLink CreateHardLinkA
-#define CreateMailslot CreateMailslotA
-#define CreateMutex CreateMutexA
-#define CreateNamedPipe CreateNamedPipeA
-#define CreateProcess CreateProcessA
-#define CreateProcessAsUser CreateProcessAsUserA
-#define CreateSemaphore CreateSemaphoreA
-#define CreateWaitableTimer CreateWaitableTimerA
-#define DefineDosDevice DefineDosDeviceA
-#define DeleteFile DeleteFileA
-#define EndUpdateResource EndUpdateResourceA
-#define EnumResourceLanguages EnumResourceLanguagesA
-#define EnumResourceNames EnumResourceNamesA
-#define EnumResourceTypes EnumResourceTypesA
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsA
-#define FatalAppExit FatalAppExitA
-#define FindAtom FindAtomA
-#define FindFirstChangeNotification FindFirstChangeNotificationA
-#define FindFirstFile FindFirstFileA
-#define FindFirstFileEx FindFirstFileExW
-#define FindNextFile FindNextFileA
-#define FindResource FindResourceA
-#define FindResourceEx FindResourceExA
-#define FormatMessage FormatMessageA
-#define FreeEnvironmentStrings FreeEnvironmentStringsA
-#define GetAtomName GetAtomNameA
-#define GetBinaryType GetBinaryTypeA
-#define GetCommandLine GetCommandLineA
-#define GetComputerName GetComputerNameA
-#define GetCompressedFileSize GetCompressedFileSizeA
-#define GetCurrentDirectory GetCurrentDirectoryA
-#define GetDefaultCommConfig GetDefaultCommConfigA
-#define GetDiskFreeSpace GetDiskFreeSpaceA
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
-#define GetDriveType GetDriveTypeA
-#define GetEnvironmentStringsA GetEnvironmentStrings
-#define GetEnvironmentVariable GetEnvironmentVariableA
-#define GetFileAttributes GetFileAttributesA
-#define GetFileSecurity GetFileSecurityA
-#define GetFileAttributesEx GetFileAttributesExA
-#define GetFullPathName GetFullPathNameA
-#define GetLogicalDriveStrings GetLogicalDriveStringsA
-#define GetLongPathName GetLongPathNameA
-#define GetNamedPipeHandleState GetNamedPipeHandleStateA
-#define GetModuleHandle GetModuleHandleA
-#define GetModuleFileName GetModuleFileNameA
-#define GetPrivateProfileInt GetPrivateProfileIntA
-#define GetPrivateProfileSection GetPrivateProfileSectionA
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
-#define GetPrivateProfileString GetPrivateProfileStringA
-#define GetPrivateProfileStruct GetPrivateProfileStructA
-#define GetProfileInt GetProfileIntA
-#define GetProfileSection GetProfileSectionA
-#define GetProfileString GetProfileStringA
-#define GetShortPathName GetShortPathNameA
-#define GetStartupInfo GetStartupInfoA
-#define GetSystemDirectory GetSystemDirectoryA
-#define GetTempFileName GetTempFileNameA
-#define GetTempPath GetTempPathA
-#define GetUserName GetUserNameA
-#define GetVersionEx GetVersionExA
-#define GetVolumeInformation GetVolumeInformationA
-#define GetWindowsDirectory GetWindowsDirectoryA
-#define GlobalAddAtom GlobalAddAtomA
-#define GlobalFindAtom GlobalFindAtomA
-#define GlobalGetAtomName GlobalGetAtomNameA
-#define IsBadStringPtr IsBadStringPtrA
-#define LoadLibrary LoadLibraryA
-#define LoadLibraryEx LoadLibraryExA
-#define LogonUser LogonUserA
-#define LookupAccountName LookupAccountNameA
-#define LookupAccountSid LookupAccountSidA
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
-#define LookupPrivilegeName LookupPrivilegeNameA
-#define LookupPrivilegeValue LookupPrivilegeValueA
-#define lstrcat lstrcatA
-#define lstrcmp lstrcmpA
-#define lstrcmpi lstrcmpiA
-#define lstrcpy lstrcpyA
-#define lstrcpyn lstrcpynA
-#define lstrlen lstrlenA
-#define MoveFile MoveFileA
-#define MoveFileEx MoveFileExA
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
-#define OpenBackupEventLog OpenBackupEventLogA
-#define OpenEvent OpenEventA
-#define OpenEventLog OpenEventLogA
-#define OpenFileMapping OpenFileMappingA
-#define OpenMutex OpenMutexA
-#define OpenSemaphore OpenSemaphoreA
-#define OutputDebugString OutputDebugStringA
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
-#define QueryDosDevice QueryDosDeviceA
-#define ReadEventLog ReadEventLogA
-#define RegisterEventSource RegisterEventSourceA
-#define RemoveDirectory RemoveDirectoryA
-#define ReportEvent ReportEventA
-#define SearchPath SearchPathA
-#define SetComputerName SetComputerNameA
-#define SetCurrentDirectory SetCurrentDirectoryA
-#define SetDefaultCommConfig SetDefaultCommConfigA
-#define SetEnvironmentVariable SetEnvironmentVariableA
-#define SetFileAttributes SetFileAttributesA
-#define SetFileSecurity SetFileSecurityA
-#define SetVolumeLabel SetVolumeLabelA
-#define UpdateResource UpdateResourceA
-#define VerifyVersionInfo VerifyVersionInfoA
-#define WaitNamedPipe WaitNamedPipeA
-#define WritePrivateProfileSection WritePrivateProfileSectionA
-#define WritePrivateProfileString WritePrivateProfileStringA
-#define WritePrivateProfileStruct WritePrivateProfileStructA
-#define WriteProfileSection WriteProfileSectionA
-#define WriteProfileString WriteProfileStringA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINBASE_H */
+#ifndef _WINBASE_H +#define _WINBASE_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#define WINBASEAPI DECLSPEC_IMPORT +#ifdef __cplusplus +extern "C" { +#endif + +#define SP_SERIALCOMM 1 +#define PST_UNSPECIFIED 0 +#define PST_RS232 1 +#define PST_PARALLELPORT 2 +#define PST_RS422 3 +#define PST_RS423 4 +#define PST_RS449 5 +#define PST_MODEM 6 +#define PST_FAX 0x21 +#define PST_SCANNER 0x22 +#define PST_NETWORK_BRIDGE 0x100 +#define PST_LAT 0x101 +#define PST_TCPIP_TELNET 0x102 +#define PST_X25 0x103 +#define BAUD_075 1 +#define BAUD_110 2 +#define BAUD_134_5 4 +#define BAUD_150 8 +#define BAUD_300 16 +#define BAUD_600 32 +#define BAUD_1200 64 +#define BAUD_1800 128 +#define BAUD_2400 256 +#define BAUD_4800 512 +#define BAUD_7200 1024 +#define BAUD_9600 2048 +#define BAUD_14400 4096 +#define BAUD_19200 8192 +#define BAUD_38400 16384 +#define BAUD_56K 32768 +#define BAUD_128K 65536 +#define BAUD_115200 131072 +#define BAUD_57600 262144 +#define BAUD_USER 0x10000000 +#define PCF_DTRDSR 1 +#define PCF_RTSCTS 2 +#define PCF_RLSD 4 +#define PCF_PARITY_CHECK 8 +#define PCF_XONXOFF 16 +#define PCF_SETXCHAR 32 +#define PCF_TOTALTIMEOUTS 64 +#define PCF_INTTIMEOUTS 128 +#define PCF_SPECIALCHARS 256 +#define PCF_16BITMODE 512 +#define SP_PARITY 1 +#define SP_BAUD 2 +#define SP_DATABITS 4 +#define SP_STOPBITS 8 +#define SP_HANDSHAKING 16 +#define SP_PARITY_CHECK 32 +#define SP_RLSD 64 +#define DATABITS_5 1 +#define DATABITS_6 2 +#define DATABITS_7 4 +#define DATABITS_8 8 +#define DATABITS_16 16 +#define DATABITS_16X 32 +#define STOPBITS_10 1 +#define STOPBITS_15 2 +#define STOPBITS_20 4 +#define PARITY_NONE 256 +#define PARITY_ODD 512 +#define PARITY_EVEN 1024 +#define PARITY_MARK 2048 +#define PARITY_SPACE 4096 +#define EXCEPTION_DEBUG_EVENT 1 +#define CREATE_THREAD_DEBUG_EVENT 2 +#define CREATE_PROCESS_DEBUG_EVENT 3 +#define EXIT_THREAD_DEBUG_EVENT 4 +#define EXIT_PROCESS_DEBUG_EVENT 5 +#define LOAD_DLL_DEBUG_EVENT 6 +#define UNLOAD_DLL_DEBUG_EVENT 7 +#define OUTPUT_DEBUG_STRING_EVENT 8 +#define RIP_EVENT 9 +#define HFILE_ERROR ((HFILE)-1) +#define FILE_BEGIN 0 +#define FILE_CURRENT 1 +#define FILE_END 2 +#define INVALID_SET_FILE_POINTER ((DWORD)-1) +#define OF_READ 0 +#define OF_READWRITE 2 +#define OF_WRITE 1 +#define OF_SHARE_COMPAT 0 +#define OF_SHARE_DENY_NONE 64 +#define OF_SHARE_DENY_READ 48 +#define OF_SHARE_DENY_WRITE 32 +#define OF_SHARE_EXCLUSIVE 16 +#define OF_CANCEL 2048 +#define OF_CREATE 4096 +#define OF_DELETE 512 +#define OF_EXIST 16384 +#define OF_PARSE 256 +#define OF_PROMPT 8192 +#define OF_REOPEN 32768 +#define OF_VERIFY 1024 +#define NMPWAIT_NOWAIT 1 +#define NMPWAIT_WAIT_FOREVER (-1) +#define NMPWAIT_USE_DEFAULT_WAIT 0 +#define CE_BREAK 16 +#define CE_DNS 2048 +#define CE_FRAME 8 +#define CE_IOE 1024 +#define CE_MODE 32768 +#define CE_OOP 4096 +#define CE_OVERRUN 2 +#define CE_PTO 512 +#define CE_RXOVER 1 +#define CE_RXPARITY 4 +#define CE_TXFULL 256 +#define PROGRESS_CONTINUE 0 +#define PROGRESS_CANCEL 1 +#define PROGRESS_STOP 2 +#define PROGRESS_QUIET 3 +#define CALLBACK_CHUNK_FINISHED 0 +#define CALLBACK_STREAM_SWITCH 1 +#define COPY_FILE_FAIL_IF_EXISTS 1 +#define COPY_FILE_RESTARTABLE 2 +#define OFS_MAXPATHNAME 128 +#define DUPLICATE_CLOSE_SOURCE 1 +#define DUPLICATE_SAME_ACCESS 2 +#define FILE_MAP_ALL_ACCESS 0xf001f +#define FILE_MAP_READ 4 +#define FILE_MAP_WRITE 2 +#define FILE_MAP_COPY 1 +#define MUTEX_ALL_ACCESS 0x1f0001 +#define MUTEX_MODIFY_STATE 1 +#define SEMAPHORE_ALL_ACCESS 0x1f0003 +#define SEMAPHORE_MODIFY_STATE 2 +#define EVENT_ALL_ACCESS 0x1f0003 +#define EVENT_MODIFY_STATE 2 +#define PIPE_ACCESS_DUPLEX 3 +#define PIPE_ACCESS_INBOUND 1 +#define PIPE_ACCESS_OUTBOUND 2 +#define PIPE_TYPE_BYTE 0 +#define PIPE_TYPE_MESSAGE 4 +#define PIPE_READMODE_BYTE 0 +#define PIPE_READMODE_MESSAGE 2 +#define PIPE_WAIT 0 +#define PIPE_NOWAIT 1 +#define PIPE_CLIENT_END 0 +#define PIPE_SERVER_END 1 +#define PIPE_UNLIMITED_INSTANCES 255 +#define CREATE_DEFAULT_ERROR_MODE 67108864 +#define DEBUG_PROCESS 1 +#define DEBUG_ONLY_THIS_PROCESS 2 +#define CREATE_SUSPENDED 4 +#define DETACHED_PROCESS 8 +#define CREATE_NEW_CONSOLE 16 +#define NORMAL_PRIORITY_CLASS 32 +#define IDLE_PRIORITY_CLASS 64 +#define HIGH_PRIORITY_CLASS 128 +#define REALTIME_PRIORITY_CLASS 256 +#define CREATE_NEW_PROCESS_GROUP 512 +#define CREATE_UNICODE_ENVIRONMENT 1024 +#define CREATE_SEPARATE_WOW_VDM 2048 +#define CREATE_SHARED_WOW_VDM 4096 +#define CREATE_FORCEDOS 8192 +#define CREATE_NO_WINDOW 0x8000000 +#define CONSOLE_TEXTMODE_BUFFER 1 +#define CREATE_NEW 1 +#define CREATE_ALWAYS 2 +#define OPEN_EXISTING 3 +#define OPEN_ALWAYS 4 +#define TRUNCATE_EXISTING 5 +#define FILE_FLAG_WRITE_THROUGH 0x80000000 +#define FILE_FLAG_OVERLAPPED 1073741824 +#define FILE_FLAG_NO_BUFFERING 536870912 +#define FILE_FLAG_RANDOM_ACCESS 268435456 +#define FILE_FLAG_SEQUENTIAL_SCAN 134217728 +#define FILE_FLAG_DELETE_ON_CLOSE 67108864 +#define FILE_FLAG_BACKUP_SEMANTICS 33554432 +#define FILE_FLAG_POSIX_SEMANTICS 16777216 +#define FILE_FLAG_OPEN_REPARSE_POINT 2097152 +#define FILE_FLAG_OPEN_NO_RECALL 1048576 +#define CLRDTR 6 +#define CLRRTS 4 +#define SETDTR 5 +#define SETRTS 3 +#define SETXOFF 1 +#define SETXON 2 +#define SETBREAK 8 +#define CLRBREAK 9 +#define STILL_ACTIVE 0x103 +#define FIND_FIRST_EX_CASE_SENSITIVE 1 +#define SCS_32BIT_BINARY 0 +#define SCS_DOS_BINARY 1 +#define SCS_OS216_BINARY 5 +#define SCS_PIF_BINARY 3 +#define SCS_POSIX_BINARY 4 +#define SCS_WOW_BINARY 2 +#define MAX_COMPUTERNAME_LENGTH 15 +#define HW_PROFILE_GUIDLEN 39 +#define MAX_PROFILE_LEN 80 +#define DOCKINFO_UNDOCKED 1 +#define DOCKINFO_DOCKED 2 +#define DOCKINFO_USER_SUPPLIED 4 +#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED) +#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED) +#define DRIVE_REMOVABLE 2 +#define DRIVE_FIXED 3 +#define DRIVE_REMOTE 4 +#define DRIVE_CDROM 5 +#define DRIVE_RAMDISK 6 +#define DRIVE_UNKNOWN 0 +#define DRIVE_NO_ROOT_DIR 1 +#define FILE_TYPE_UNKNOWN 0 +#define FILE_TYPE_DISK 1 +#define FILE_TYPE_CHAR 2 +#define FILE_TYPE_PIPE 3 +#define FILE_TYPE_REMOTE 0x8000 +#define HANDLE_FLAG_INHERIT 1 +#define HANDLE_FLAG_PROTECT_FROM_CLOSE 2 +#define STD_INPUT_HANDLE (DWORD)(0xfffffff6) +#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5) +#define STD_ERROR_HANDLE (DWORD)(0xfffffff4) +#define INVALID_HANDLE_VALUE (HANDLE)(-1) +#define GET_TAPE_MEDIA_INFORMATION 0 +#define GET_TAPE_DRIVE_INFORMATION 1 +#define SET_TAPE_MEDIA_INFORMATION 0 +#define SET_TAPE_DRIVE_INFORMATION 1 +#define THREAD_PRIORITY_ABOVE_NORMAL 1 +#define THREAD_PRIORITY_BELOW_NORMAL (-1) +#define THREAD_PRIORITY_HIGHEST 2 +#define THREAD_PRIORITY_IDLE (-15) +#define THREAD_PRIORITY_LOWEST (-2) +#define THREAD_PRIORITY_NORMAL 0 +#define THREAD_PRIORITY_TIME_CRITICAL 15 +#define THREAD_PRIORITY_ERROR_RETURN 2147483647 +#define TIME_ZONE_ID_UNKNOWN 0 +#define TIME_ZONE_ID_STANDARD 1 +#define TIME_ZONE_ID_DAYLIGHT 2 +#define TIME_ZONE_ID_INVALID 0xFFFFFFFF +#define FS_CASE_IS_PRESERVED 2 +#define FS_CASE_SENSITIVE 1 +#define FS_UNICODE_STORED_ON_DISK 4 +#define FS_PERSISTENT_ACLS 8 +#define FS_FILE_COMPRESSION 16 +#define FS_VOL_IS_COMPRESSED 32768 +#define GMEM_FIXED 0 +#define GMEM_MOVEABLE 2 +#define GMEM_MODIFY 128 +#define GPTR 64 +#define GHND 66 +#define GMEM_DDESHARE 8192 +#define GMEM_DISCARDABLE 256 +#define GMEM_LOWER 4096 +#define GMEM_NOCOMPACT 16 +#define GMEM_NODISCARD 32 +#define GMEM_NOT_BANKED 4096 +#define GMEM_NOTIFY 16384 +#define GMEM_SHARE 8192 +#define GMEM_ZEROINIT 64 +#define GMEM_DISCARDED 16384 +#define GMEM_INVALID_HANDLE 32768 +#define GMEM_LOCKCOUNT 255 +#define STATUS_WAIT_0 0 +#define STATUS_ABANDONED_WAIT_0 0x80 +#define STATUS_USER_APC 0xC0 +#define STATUS_TIMEOUT 0x102 +#define STATUS_PENDING 0x103 +#define STATUS_SEGMENT_NOTIFICATION 0x40000005 +#define STATUS_GUARD_PAGE_VIOLATION 0x80000001 +#define STATUS_DATATYPE_MISALIGNMENT 0x80000002 +#define STATUS_BREAKPOINT 0x80000003 +#define STATUS_SINGLE_STEP 0x80000004 +#define STATUS_ACCESS_VIOLATION 0xC0000005 +#define STATUS_IN_PAGE_ERROR 0xC0000006 +#define STATUS_INVALID_HANDLE 0xC0000008L +#define STATUS_NO_MEMORY 0xC0000017 +#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D +#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 +#define STATUS_INVALID_DISPOSITION 0xC0000026 +#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C +#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D +#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E +#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F +#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090 +#define STATUS_FLOAT_OVERFLOW 0xC0000091 +#define STATUS_FLOAT_STACK_CHECK 0xC0000092 +#define STATUS_FLOAT_UNDERFLOW 0xC0000093 +#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094 +#define STATUS_INTEGER_OVERFLOW 0xC0000095 +#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 +#define STATUS_STACK_OVERFLOW 0xC00000FD +#define STATUS_CONTROL_C_EXIT 0xC000013A +#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION +#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT +#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT +#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP +#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED +#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND +#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO +#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT +#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION +#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW +#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK +#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW +#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO +#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW +#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION +#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR +#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION +#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION +#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW +#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION +#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION +#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE +#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT +#define PROCESS_HEAP_REGION 1 +#define PROCESS_HEAP_UNCOMMITTED_RANGE 2 +#define PROCESS_HEAP_ENTRY_BUSY 4 +#define PROCESS_HEAP_ENTRY_MOVEABLE 16 +#define PROCESS_HEAP_ENTRY_DDESHARE 32 +#define DONT_RESOLVE_DLL_REFERENCES 1 +#define LOAD_LIBRARY_AS_DATAFILE 2 +#define LOAD_WITH_ALTERED_SEARCH_PATH 8 +#define LMEM_FIXED 0 +#define LMEM_MOVEABLE 2 +#define LMEM_NONZEROLHND 2 +#define LMEM_NONZEROLPTR 0 +#define LMEM_DISCARDABLE 3840 +#define LMEM_NOCOMPACT 16 +#define LMEM_NODISCARD 32 +#define LMEM_ZEROINIT 64 +#define LMEM_DISCARDED 16384 +#define LMEM_MODIFY 128 +#define LMEM_INVALID_HANDLE 32768 +#define LMEM_LOCKCOUNT 255 +#define LPTR 64 +#define LHND 66 +#define NONZEROLHND 2 +#define NONZEROLPTR 0 +#define LOCKFILE_FAIL_IMMEDIATELY 1 +#define LOCKFILE_EXCLUSIVE_LOCK 2 +#define LOGON32_PROVIDER_DEFAULT 0 +#define LOGON32_PROVIDER_WINNT35 1 +#define LOGON32_LOGON_INTERACTIVE 2 +#define LOGON32_LOGON_BATCH 4 +#define LOGON32_LOGON_SERVICE 5 +#define MOVEFILE_REPLACE_EXISTING 1 +#define MOVEFILE_COPY_ALLOWED 2 +#define MOVEFILE_DELAY_UNTIL_REBOOT 4 +#define MOVEFILE_WRITE_THROUGH 8 +#define MAXIMUM_WAIT_OBJECTS 64 +#define MAXIMUM_SUSPEND_COUNT 0x7F +#define WAIT_OBJECT_0 0 +#define WAIT_ABANDONED_0 128 +#define WAIT_TIMEOUT 0x102 +#define WAIT_IO_COMPLETION 0xC0 +#define WAIT_ABANDONED 128 +#define WAIT_FAILED 0xFFFFFFFF +#define PURGE_TXABORT 1 +#define PURGE_RXABORT 2 +#define PURGE_TXCLEAR 4 +#define PURGE_RXCLEAR 8 +#define EVENTLOG_FORWARDS_READ 4 +#define EVENTLOG_BACKWARDS_READ 8 +#define EVENTLOG_SEEK_READ 2 +#define EVENTLOG_SEQUENTIAL_READ 1 +#define EVENTLOG_ERROR_TYPE 1 +#define EVENTLOG_WARNING_TYPE 2 +#define EVENTLOG_INFORMATION_TYPE 4 +#define EVENTLOG_AUDIT_SUCCESS 8 +#define EVENTLOG_AUDIT_FAILURE 16 +#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256 +#define FORMAT_MESSAGE_IGNORE_INSERTS 512 +#define FORMAT_MESSAGE_FROM_STRING 1024 +#define FORMAT_MESSAGE_FROM_HMODULE 2048 +#define FORMAT_MESSAGE_FROM_SYSTEM 4096 +#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192 +#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255 +#define EV_BREAK 64 +#define EV_CTS 8 +#define EV_DSR 16 +#define EV_ERR 128 +#define EV_EVENT1 2048 +#define EV_EVENT2 4096 +#define EV_PERR 512 +#define EV_RING 256 +#define EV_RLSD 32 +#define EV_RX80FULL 1024 +#define EV_RXCHAR 1 +#define EV_RXFLAG 2 +#define EV_TXEMPTY 4 +#define SEM_FAILCRITICALERRORS 1 +#define SEM_NOALIGNMENTFAULTEXCEPT 4 +#define SEM_NOGPFAULTERRORBOX 2 +#define SEM_NOOPENFILEERRORBOX 32768 +#define SLE_ERROR 1 +#define SLE_MINORERROR 2 +#define SLE_WARNING 3 +#define SHUTDOWN_NORETRY 1 +#define EXCEPTION_EXECUTE_HANDLER 1 +#define EXCEPTION_CONTINUE_EXECUTION (-1) +#define EXCEPTION_CONTINUE_SEARCH 0 +#define MAXINTATOM 0xC000 +#define INVALID_ATOM ((ATOM)0) +#define IGNORE 0 +#define INFINITE 0xFFFFFFFF +#define NOPARITY 0 +#define ODDPARITY 1 +#define EVENPARITY 2 +#define MARKPARITY 3 +#define SPACEPARITY 4 +#define ONESTOPBIT 0 +#define ONE5STOPBITS 1 +#define TWOSTOPBITS 2 +#define CBR_110 110 +#define CBR_300 300 +#define CBR_600 600 +#define CBR_1200 1200 +#define CBR_2400 2400 +#define CBR_4800 4800 +#define CBR_9600 9600 +#define CBR_14400 14400 +#define CBR_19200 19200 +#define CBR_38400 38400 +#define CBR_56000 56000 +#define CBR_57600 57600 +#define CBR_115200 115200 +#define CBR_128000 128000 +#define CBR_256000 256000 +#define BACKUP_INVALID 0 +#define BACKUP_DATA 1 +#define BACKUP_EA_DATA 2 +#define BACKUP_SECURITY_DATA 3 +#define BACKUP_ALTERNATE_DATA 4 +#define BACKUP_LINK 5 +#define BACKUP_PROPERTY_DATA 6 +#define BACKUP_OBJECT_ID 7 +#define BACKUP_REPARSE_DATA 8 +#define BACKUP_SPARSE_BLOCK 9 +#define STREAM_NORMAL_ATTRIBUTE 0 +#define STREAM_MODIFIED_WHEN_READ 1 +#define STREAM_CONTAINS_SECURITY 2 +#define STREAM_CONTAINS_PROPERTIES 4 +#define STARTF_USESHOWWINDOW 1 +#define STARTF_USESIZE 2 +#define STARTF_USEPOSITION 4 +#define STARTF_USECOUNTCHARS 8 +#define STARTF_USEFILLATTRIBUTE 16 +#define STARTF_RUNFULLSCREEN 32 +#define STARTF_FORCEONFEEDBACK 64 +#define STARTF_FORCEOFFFEEDBACK 128 +#define STARTF_USESTDHANDLES 256 +#define STARTF_USEHOTKEY 512 +#define TC_NORMAL 0 +#define TC_HARDERR 1 +#define TC_GP_TRAP 2 +#define TC_SIGNAL 3 +#define AC_LINE_OFFLINE 0 +#define AC_LINE_ONLINE 1 +#define AC_LINE_BACKUP_POWER 2 +#define AC_LINE_UNKNOWN 255 +#define BATTERY_FLAG_HIGH 1 +#define BATTERY_FLAG_LOW 2 +#define BATTERY_FLAG_CRITICAL 4 +#define BATTERY_FLAG_CHARGING 8 +#define BATTERY_FLAG_NO_BATTERY 128 +#define BATTERY_FLAG_UNKNOWN 255 +#define BATTERY_PERCENTAGE_UNKNOWN 255 +#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF +#define DDD_RAW_TARGET_PATH 1 +#define DDD_REMOVE_DEFINITION 2 +#define DDD_EXACT_MATCH_ON_REMOVE 4 +#define HINSTANCE_ERROR 32 +#define MS_CTS_ON 16 +#define MS_DSR_ON 32 +#define MS_RING_ON 64 +#define MS_RLSD_ON 128 +#define PROFILE_USER 0x10000000 +#define PROFILE_KERNEL 0x20000000 +#define PROFILE_SERVER 0x40000000 +#define DTR_CONTROL_DISABLE 0 +#define DTR_CONTROL_ENABLE 1 +#define DTR_CONTROL_HANDSHAKE 2 +#define RTS_CONTROL_DISABLE 0 +#define RTS_CONTROL_ENABLE 1 +#define RTS_CONTROL_HANDSHAKE 2 +#define RTS_CONTROL_TOGGLE 3 +#define SECURITY_ANONYMOUS (SecurityAnonymous<<16) +#define SECURITY_IDENTIFICATION (SecurityIdentification<<16) +#define SECURITY_IMPERSONATION (SecurityImpersonation<<16) +#define SECURITY_DELEGATION (SecurityDelegation<<16) +#define SECURITY_CONTEXT_TRACKING 0x40000 +#define SECURITY_EFFECTIVE_ONLY 0x80000 +#define SECURITY_SQOS_PRESENT 0x100000 +#define SECURITY_VALID_SQOS_FLAGS 0x1F0000 +#define INVALID_FILE_SIZE 0xFFFFFFFF +#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF + +#ifndef RC_INVOKED +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME,*PFILETIME,*LPFILETIME; +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,*LPBY_HANDLE_FILE_INFORMATION; +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 _COMM_CONFIG { + DWORD dwSize; + WORD wVersion; + WORD wReserved; + DCB dcb; + DWORD dwProviderSubType; + DWORD dwProviderOffset; + DWORD dwProviderSize; + WCHAR wcProviderData[1]; +} COMMCONFIG,*LPCOMMCONFIG; +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 _COMMTIMEOUTS { + DWORD ReadIntervalTimeout; + DWORD ReadTotalTimeoutMultiplier; + DWORD ReadTotalTimeoutConstant; + DWORD WriteTotalTimeoutMultiplier; + DWORD WriteTotalTimeoutConstant; +} COMMTIMEOUTS,*LPCOMMTIMEOUTS; +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 DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID); +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 _CREATE_THREAD_DEBUG_INFO { + HANDLE hThread; + LPVOID lpThreadLocalBase; + LPTHREAD_START_ROUTINE lpStartAddress; +} CREATE_THREAD_DEBUG_INFO,*LPCREATE_THREAD_DEBUG_INFO; +typedef struct _EXCEPTION_DEBUG_INFO { + EXCEPTION_RECORD ExceptionRecord; + DWORD dwFirstChance; +} EXCEPTION_DEBUG_INFO,*LPEXCEPTION_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 struct _OVERLAPPED { + DWORD Internal; + DWORD InternalHigh; + DWORD Offset; + DWORD OffsetHigh; + HANDLE hEvent; +} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED; +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; + PBYTE 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; + PBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; +} STARTUPINFOW,*LPSTARTUPINFOW; +typedef struct _PROCESS_INFORMATION { + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; +} PROCESS_INFORMATION,*LPPROCESS_INFORMATION; +typedef struct _CRITICAL_SECTION_DEBUG { + WORD Type; + WORD CreatorBackTraceIndex; + struct _CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Spare [2]; +} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG; +typedef struct _CRITICAL_SECTION { + PCRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD SpinCount; +} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION; +typedef struct _SYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; +} SYSTEMTIME,*LPSYSTEMTIME; +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; +typedef struct _WIN32_FIND_DATAA { + DWORD dwFileAttributes; + FILETIME ftCreationTime; + FILETIME ftLastAccessTime; + FILETIME ftLastWriteTime; + DWORD nFileSizeHigh; + DWORD nFileSizeLow; + DWORD dwReserved0; + DWORD dwReserved1; + CHAR cFileName[MAX_PATH]; + CHAR cAlternateFileName[14]; +} WIN32_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[MAX_PATH]; + WCHAR cAlternateFileName[14]; +} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW; +typedef struct _WIN32_STREAM_ID { + DWORD dwStreamId; + DWORD dwStreamAttributes; + LARGE_INTEGER Size; + DWORD dwStreamNameSize; + WCHAR cStreamName[ANYSIZE_ARRAY]; +} WIN32_STREAM_ID; +typedef enum _FINDEX_INFO_LEVELS { + FindExInfoStandard, + FindExInfoMaxInfoLevel +} FINDEX_INFO_LEVELS; +typedef enum _FINDEX_SEARCH_OPS { + FindExSearchNameMatch, + FindExSearchLimitToDirectories, + FindExSearchLimitToDevices, + FindExSearchMaxSearchOp +} FINDEX_SEARCH_OPS; +typedef enum _ACL_INFORMATION_CLASS { + AclRevisionInformation=1, + AclSizeInformation +} ACL_INFORMATION_CLASS; +typedef struct tagHW_PROFILE_INFOA { + DWORD dwDockInfo; + CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + CHAR szHwProfileName[MAX_PROFILE_LEN]; +} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA; +typedef struct tagHW_PROFILE_INFOW { + DWORD dwDockInfo; + WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + WCHAR szHwProfileName[MAX_PROFILE_LEN]; +} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW; +typedef enum _GET_FILEEX_INFO_LEVELS { + GetFileExInfoStandard, + GetFileExMaxInfoLevel +} GET_FILEEX_INFO_LEVELS; +typedef struct _SYSTEM_INFO { + _ANONYMOUS_UNION union { + DWORD dwOemId; + _ANONYMOUS_STRUCT struct { + WORD wProcessorArchitecture; + WORD wReserved; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + DWORD dwPageSize; + PVOID lpMinimumApplicationAddress; + PVOID lpMaximumApplicationAddress; + DWORD dwActiveProcessorMask; + DWORD dwNumberOfProcessors; + DWORD dwProcessorType; + DWORD dwAllocationGranularity; + WORD wProcessorLevel; + WORD wProcessorRevision; +} SYSTEM_INFO,*LPSYSTEM_INFO; +typedef struct _SYSTEM_POWER_STATUS { + BYTE ACLineStatus; + BYTE BatteryFlag; + BYTE BatteryLifePercent; + BYTE Reserved1; + DWORD BatteryLifeTime; + DWORD BatteryFullLifeTime; +} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; +typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; +} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION; +typedef struct _MEMORYSTATUS { + DWORD dwLength; + DWORD dwMemoryLoad; + DWORD dwTotalPhys; + DWORD dwAvailPhys; + DWORD dwTotalPageFile; + DWORD dwAvailPageFile; + DWORD dwTotalVirtual; + DWORD dwAvailVirtual; +} MEMORYSTATUS,*LPMEMORYSTATUS; +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,*LPLDT_ENTRY; +typedef struct _PROCESS_HEAP_ENTRY { + PVOID lpData; + DWORD cbData; + BYTE cbOverhead; + BYTE iRegionIndex; + WORD wFlags; + _ANONYMOUS_UNION union { + struct { + HANDLE hMem; + DWORD dwReserved[3]; + } Block; + struct { + DWORD dwCommittedSize; + DWORD dwUnCommittedSize; + LPVOID lpFirstBlock; + LPVOID lpLastBlock; + } Region; + } DUMMYUNIONNAME; +} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY; +typedef struct _OFSTRUCT { + BYTE cBytes; + BYTE fFixedDisk; + WORD nErrCode; + WORD Reserved1; + WORD Reserved2; + CHAR szPathName[OFS_MAXPATHNAME]; +} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT; +typedef struct _WIN_CERTIFICATE { + DWORD dwLength; + WORD wRevision; + WORD wCertificateType; + BYTE bCertificate[1]; +} WIN_CERTIFICATE, *LPWIN_CERTIFICATE; + +typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID); +typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID); +typedef BOOL(CALLBACK *ENUMRESLANGPROC)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG); +typedef BOOL(CALLBACK *ENUMRESNAMEPROC)(HMODULE,LPCTSTR,LPTSTR,LONG); +typedef BOOL(CALLBACK *ENUMRESTYPEPROC)(HMODULE,LPTSTR,LONG); +typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED); +typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS); +typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; +typedef void(APIENTRY *PAPCFUNC)(DWORD); +typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD); +#define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i))) +/* Functions */ +#ifndef UNDER_CE +int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int); +#else +int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int); +#endif +int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int); +long WINAPI _hread(HFILE,LPVOID,long); +long WINAPI _hwrite(HFILE,LPCSTR,long); +HFILE WINAPI _lclose(HFILE); +HFILE WINAPI _lcreat(LPCSTR,int); +LONG WINAPI _llseek(HFILE,LONG,int); +HFILE WINAPI _lopen(LPCSTR,int); +UINT WINAPI _lread(HFILE,LPVOID,UINT); +UINT WINAPI _lwrite(HFILE,LPCSTR,UINT); +#define AbnormalTermination() FALSE +BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL); +BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL); +BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL); +BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID); +BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID); +BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD); +ATOM WINAPI AddAtomA(LPCSTR); +ATOM WINAPI AddAtomW(LPCWSTR); +BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL); +BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD); +BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD); +BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*); +BOOL WINAPI AllocateLocallyUniqueId(PLUID); +BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD); +BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD); +BOOL WINAPI AreFileApisANSI(void); +BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR); +BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR); +BOOL WINAPI BackupRead(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID); +BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,PDWORD,PDWORD,PVOID); +BOOL WINAPI BackupWrite(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID); +BOOL WINAPI Beep(DWORD,DWORD); +HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL); +HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL); +BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB); +BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB); +BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS); +BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS); +BOOL WINAPI CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD); +BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD); +BOOL WINAPI CancelIo(HANDLE); +BOOL WINAPI CancelWaitableTimer(HANDLE); +BOOL WINAPI ClearCommBreak(HANDLE); +BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT); +BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR); +BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR); +BOOL WINAPI CloseEventLog(HANDLE); +BOOL WINAPI CloseHandle(HANDLE); +BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG); +BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG); +LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*); +BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED); +BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD); +PVOID WINAPI ConvertThreadToFiber(PVOID); +BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL); +BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL); +BOOL WINAPI CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD); +BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD); +#define RtlMoveMemory memmove +#define RtlCopyMemory memcpy +#define RtlFillMemory(d,l,f) memset((d), (f), (l)) +#define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0) +#define MoveMemory RtlMoveMemory +#define CopyMemory RtlCopyMemory +#define FillMemory RtlFillMemory +#define ZeroMemory RtlZeroMemory +BOOL WINAPI CopySid(DWORD,PSID,PSID); +BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR); +HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR); +LPVOID WINAPI CreateFiber(DWORD,LPFIBER_START_ROUTINE,LPVOID); +HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); +HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE); +HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR); +HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR); +HANDLE WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,DWORD,DWORD); +HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); +HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); +HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD); +BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING); +BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION); +BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); +HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD); +HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR); +HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR); +DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD); +HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD); +HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); +HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); +BOOL WINAPI DebugActiveProcess(DWORD); +void WINAPI DebugBreak(void); +BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR); +BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR); +#define DefineHandleTable(w) ((w),TRUE) +BOOL WINAPI DeleteAce(PACL,DWORD); +ATOM WINAPI DeleteAtom(ATOM); +void WINAPI DeleteCriticalSection(PCRITICAL_SECTION); +void WINAPI DeleteFiber(PVOID); +BOOL WINAPI DeleteFileA(LPCSTR); +BOOL WINAPI DeleteFileW(LPCWSTR); +BOOL WINAPI DeregisterEventSource(HANDLE); +BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); +BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED); +BOOL WINAPI DisableThreadLibraryCalls(HMODULE); +BOOL WINAPI DisconnectNamedPipe(HANDLE); +BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME); +BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD); +BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE); +BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE); +BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL); +BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL); +void WINAPI EnterCriticalSection(LPCRITICAL_SECTION); +BOOL WINAPI EnumResourceLanguagesA(HINSTANCE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG); +BOOL WINAPI EnumResourceLanguagesW(HINSTANCE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG); +BOOL WINAPI EnumResourceNamesA(HINSTANCE,LPCSTR,ENUMRESNAMEPROC,LONG); +BOOL WINAPI EnumResourceNamesW(HINSTANCE,LPCWSTR,ENUMRESNAMEPROC,LONG); +BOOL WINAPI EnumResourceTypesA(HINSTANCE,ENUMRESTYPEPROC,LONG); +BOOL WINAPI EnumResourceTypesW(HINSTANCE,ENUMRESTYPEPROC,LONG); +BOOL WINAPI EqualPrefixSid(PSID,PSID); +BOOL WINAPI EqualSid(PSID,PSID); +DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL); +BOOL WINAPI EscapeCommFunction(HANDLE,DWORD); +DECLSPEC_NORETURN void WINAPI ExitProcess(UINT); +DECLSPEC_NORETURN void WINAPI ExitThread(DWORD); +DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD); +void WINAPI FatalAppExitA(UINT,LPCSTR); +void WINAPI FatalAppExitW(UINT,LPCWSTR); +void WINAPI FatalExit(int); +BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD); +BOOL WINAPI FileTimeToLocalFileTime(FILETIME *,LPFILETIME); +BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME); +ATOM WINAPI FindAtomA(LPCSTR); +ATOM WINAPI FindAtomW(LPCWSTR); +BOOL WINAPI FindClose(HANDLE); +BOOL WINAPI FindCloseChangeNotification(HANDLE); +HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD); +HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD); +HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA); +HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW); +HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); +HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD); +BOOL WINAPI FindFirstFreeAce(PACL,PVOID*); +BOOL WINAPI FindNextChangeNotification(HANDLE); +BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA); +BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW); +HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR); +HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR); +HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD); +HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD); +BOOL WINAPI FlushFileBuffers(HANDLE); +BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD); +BOOL WINAPI FlushViewOfFile(PCVOID,DWORD); +DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*); +DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*); +BOOL WINAPI FreeEnvironmentStringsA(LPSTR); +BOOL WINAPI FreeEnvironmentStringsW(LPWSTR); +BOOL WINAPI FreeLibrary(HMODULE); +DECLSPEC_NORETURN void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD); +#define FreeModule(m) FreeLibrary(m) +#define FreeProcInstance(p) (void)(p) +#ifndef XFree86Server +BOOL WINAPI FreeResource(HGLOBAL); +#endif /* ndef XFree86Server */ +PVOID WINAPI FreeSid(PSID); +BOOL WINAPI GetAce(PACL,DWORD,PVOID); +BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); +UINT WINAPI GetAtomNameA(ATOM,LPSTR,int); +UINT WINAPI GetAtomNameW(ATOM,LPWSTR,int); +BOOL WINAPI GetBinaryTypeA(LPCSTR,PDWORD); +BOOL WINAPI GetBinaryTypeW(LPCWSTR,PDWORD); +LPSTR WINAPI GetCommandLineA(VOID); +LPWSTR WINAPI GetCommandLineW(VOID); +BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetCommMask(HANDLE,PDWORD); +BOOL WINAPI GetCommModemStatus(HANDLE,PDWORD); +BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP); +BOOL WINAPI GetCommState(HANDLE,LPDCB); +BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS); +DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD); +DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD); +BOOL WINAPI GetComputerNameA(LPSTR,PDWORD); +BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD); +DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR); +DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR); +BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA); +BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW); +HANDLE WINAPI GetCurrentProcess(void); +DWORD WINAPI GetCurrentProcessId(void); +HANDLE WINAPI GetCurrentThread(void); +DWORD WINAPI GetCurrentThreadId(void); +#define GetCurrentTime GetTickCount +BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD); +BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); +BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); +UINT WINAPI GetDriveTypeA(LPCSTR); +UINT WINAPI GetDriveTypeW(LPCWSTR); +LPSTR WINAPI GetEnvironmentStrings(void); +LPSTR WINAPI GetEnvironmentStringsA(void); +LPWSTR WINAPI GetEnvironmentStringsW(void); +DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD); +BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD); +DWORD WINAPI GetFileAttributesA(LPCSTR); +DWORD WINAPI GetFileAttributesW(LPCWSTR); +BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID); +BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID); +BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION); +BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +DWORD WINAPI GetFileSize(HANDLE,PDWORD); +BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetFileType(HANDLE); +#define GetFreeSpace(w) (0x100000L) +DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*); +DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*); +BOOL WINAPI GetHandleInformation(HANDLE,PDWORD); +BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +DWORD WINAPI GetLengthSid(PSID); +void WINAPI GetLocalTime(LPSYSTEMTIME); +DWORD WINAPI GetLogicalDrives(void); +DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR); +DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR); +DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD); +DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD); +DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD); +HMODULE WINAPI GetModuleHandleA(LPCSTR); +HMODULE WINAPI GetModuleHandleW(LPCWSTR); +BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD); +BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD); +BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD); +BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD); +BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL); +DWORD WINAPI GetPriorityClass(HANDLE); +BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR); +UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR); +DWORD WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR); +DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR); +DWORD WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR); +DWORD WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR); +BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR); +BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR); +FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR); +BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD); +HANDLE WINAPI GetProcessHeap(VOID); +DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE); +BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL); +BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD); +BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetProcessVersion(DWORD); +HWINSTA WINAPI GetProcessWindowStation(void); +BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PDWORD,PDWORD); +UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT); +UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT); +DWORD WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD); +DWORD WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PDWORD,LPOVERLAPPED*,DWORD); +BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD); +BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); +BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); +DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); +BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL); +BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL); +DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD); +PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID); +DWORD WINAPI GetSidLengthRequired(UCHAR); +PDWORD WINAPI GetSidSubAuthority(PSID,DWORD); +PUCHAR WINAPI GetSidSubAuthorityCount(PSID); +VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA); +VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW); +HANDLE WINAPI GetStdHandle(DWORD); +UINT WINAPI GetSystemDirectoryA(LPSTR,UINT); +UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT); +VOID WINAPI GetSystemInfo(LPSYSTEM_INFO); +BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); +VOID WINAPI GetSystemTime(LPSYSTEMTIME); +BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL); +void WINAPI GetSystemTimeAsFileTime(LPFILETIME); +DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID); +DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD); +DWORD WINAPI GetTapeStatus(HANDLE); +UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR); +UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR); +DWORD WINAPI GetTempPathA(DWORD,LPSTR); +DWORD WINAPI GetTempPathW(DWORD,LPWSTR); +BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT); +int WINAPI GetThreadPriority(HANDLE); +BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL); +BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY); +BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME); +DWORD WINAPI GetTickCount(void); +DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); +BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserNameA (LPSTR,PDWORD); +BOOL WINAPI GetUserNameW(LPWSTR,PDWORD); +DWORD WINAPI GetVersion(void); +BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA); +BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW); +BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD); +BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD); +UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT); +UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT); +DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD); +ATOM WINAPI GlobalAddAtomA(LPCSTR); +ATOM WINAPI GlobalAddAtomW( LPCWSTR); +HGLOBAL WINAPI GlobalAlloc(UINT,DWORD); +UINT WINAPI GlobalCompact(DWORD); +ATOM WINAPI GlobalDeleteAtom(ATOM); +HGLOBAL GlobalDiscard(HGLOBAL); +ATOM WINAPI GlobalFindAtomA(LPCSTR); +ATOM WINAPI GlobalFindAtomW(LPCWSTR); +VOID WINAPI GlobalFix(HGLOBAL); +UINT WINAPI GlobalFlags(HGLOBAL); +HGLOBAL WINAPI GlobalFree(HGLOBAL); +UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,int); +UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int); +HGLOBAL WINAPI GlobalHandle(PCVOID); +LPVOID WINAPI GlobalLock(HGLOBAL); +VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS); +HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT); +DWORD WINAPI GlobalSize(HGLOBAL); +VOID WINAPI GlobalUnfix(HGLOBAL); +BOOL WINAPI GlobalUnlock(HGLOBAL); +BOOL WINAPI GlobalUnWire(HGLOBAL); +PVOID WINAPI GlobalWire(HGLOBAL); +#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING) +PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD); +UINT WINAPI HeapCompact(HANDLE,DWORD); +HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD); +BOOL WINAPI HeapDestroy(HANDLE); +BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID); +BOOL WINAPI HeapLock(HANDLE); +PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD); +DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID); +BOOL WINAPI HeapUnlock(HANDLE); +BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID); +BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY); +BOOL WINAPI ImpersonateLoggedOnUser(HANDLE); +BOOL WINAPI ImpersonateNamedPipeClient(HANDLE); +BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); +BOOL WINAPI InitAtomTable(DWORD); +BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD); +VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION); +#if (_WIN32_WINNT >= 0x0403) /* Needs NT4, SP3 or later. */ +BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD); +DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD); +#endif +BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD); +BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE); +LONG WINAPI InterlockedCompareExchange(LPLONG,LONG,LONG); +/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */ +#define InterlockedCompareExchangePointer(d,e,c) \ + (PVOID)InterlockedCompareExchange((LPLONG)(d),(LONG)(e),(LONG)(c)) +LONG WINAPI InterlockedDecrement(LPLONG); +LONG WINAPI InterlockedExchange(LPLONG,LONG); +/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */ +#define InterlockedExchangePointer(t,v) \ + (PVOID)InterlockedExchange((LPLONG)(t),(LONG)(v)) +LONG WINAPI InterlockedExchangeAdd(PLONG,LONG); +LONG WINAPI InterlockedIncrement(LPLONG); +BOOL WINAPI IsBadCodePtr(FARPROC); +BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT); +BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT); +BOOL WINAPI IsBadReadPtr(PCVOID,UINT); +BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT); +BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT); +BOOL WINAPI IsBadWritePtr(PVOID,UINT); +BOOL WINAPI IsDebuggerPresent(void); +BOOL WINAPI IsProcessorFeaturePresent(DWORD); +BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT); +BOOL WINAPI IsValidAcl(PACL); +BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); +BOOL WINAPI IsValidSid(PSID); +void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION); +#define LimitEmsPages(n) +HINSTANCE WINAPI LoadLibraryA(LPCSTR); +HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD); +HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD); +HINSTANCE WINAPI LoadLibraryW(LPCWSTR); +DWORD WINAPI LoadModule(LPCSTR,PVOID); +HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC); +HLOCAL WINAPI LocalAlloc(UINT,UINT); +UINT WINAPI LocalCompact(UINT); +HLOCAL LocalDiscard(HLOCAL); +BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME); +UINT WINAPI LocalFlags(HLOCAL); +HLOCAL WINAPI LocalFree(HLOCAL); +HLOCAL WINAPI LocalHandle(LPCVOID); +PVOID WINAPI LocalLock(HLOCAL); +HLOCAL WINAPI LocalReAlloc(HLOCAL,UINT,UINT); +UINT WINAPI LocalShrink(HLOCAL,UINT); +UINT WINAPI LocalSize(HLOCAL); +BOOL WINAPI LocalUnlock(HLOCAL); +BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED); +PVOID WINAPI LockResource(HGLOBAL); +#define LockSegment(w) GlobalFix((HANDLE)(w)) +BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE); +BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE); +BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE); +BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD); +BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD); +BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD); +BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD); +BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID); +BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID); +LPSTR WINAPI lstrcatA(LPSTR,LPCSTR); +LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR); +int WINAPI lstrcmpA(LPCSTR,LPCSTR); +int WINAPI lstrcmpiA(LPCSTR,LPCSTR); +int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR); +int WINAPI lstrcmpW(LPCWSTR,LPCWSTR); +LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR); +LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int); +LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int); +LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR); +int WINAPI lstrlenA(LPCSTR); +int WINAPI lstrlenW(LPCWSTR); +BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD); +#define MakeProcInstance(p,i) (p) +BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD); +VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING); +PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID); +BOOL WINAPI MoveFileA(LPCSTR,LPCSTR); +BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD); +BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD); +BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR); +int WINAPI MulDiv(int,int,int); +BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE); +BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL); +BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL); +BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL); +BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL); +BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL); +BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL); +BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL); +BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL); +HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR); +HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR); +HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenEventLogA (LPCSTR,LPCSTR); +HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR); +HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR); +HFILE WINAPI OpenFile(LPCSTR,LPOFSTRUCT,UINT); +HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR); +HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR); +HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD); +BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE); +HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR); +BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE); +HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR); +HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR); +void WINAPI OutputDebugStringA(LPCSTR); +void WINAPI OutputDebugStringW(LPCWSTR); +BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,DWORD,LPOVERLAPPED); +DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL); +BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL); +BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL); +BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL); +BOOL WINAPI PulseEvent(HANDLE); +BOOL WINAPI PurgeComm(HANDLE,DWORD); +DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD); +DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD); +BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER); +BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER); +DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,DWORD); +void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*); +BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *); +BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *); +BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD); +HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR); +HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR); +BOOL WINAPI ReleaseMutex(HANDLE); +BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG); +BOOL WINAPI RemoveDirectoryA(LPCSTR); +BOOL WINAPI RemoveDirectoryW(LPCWSTR); +BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID); +BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID); +BOOL WINAPI ResetEvent(HANDLE); +DWORD WINAPI ResumeThread(HANDLE); +BOOL WINAPI RevertToSelf(void); +DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*); +DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*); +BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS); +BOOL WINAPI SetCommBreak(HANDLE); +BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetCommMask(HANDLE,DWORD); +BOOL WINAPI SetCommState(HANDLE,LPDCB); +BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS); +BOOL WINAPI SetComputerNameA(LPCSTR); +BOOL WINAPI SetComputerNameW(LPCWSTR); +BOOL WINAPI SetCurrentDirectoryA(LPCSTR); +BOOL WINAPI SetCurrentDirectoryW(LPCWSTR); +BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD); +BOOL WINAPI SetEndOfFile(HANDLE); +BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR); +BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR); +UINT WINAPI SetErrorMode(UINT); +BOOL WINAPI SetEvent(HANDLE); +VOID WINAPI SetFileApisToANSI(void); +VOID WINAPI SetFileApisToOEM(void); +BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD); +BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD); +DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD); +BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*); +UINT WINAPI SetHandleCount(UINT); +BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD); +BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +void WINAPI SetLastError(DWORD); +void WINAPI SetLastErrorEx(DWORD,DWORD); +BOOL WINAPI SetLocalTime(const SYSTEMTIME*); +BOOL WINAPI SetMailslotInfo(HANDLE,DWORD); +BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD); +BOOL WINAPI SetPriorityClass(HANDLE,DWORD); +BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE); +BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD); +BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL); +BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD); +BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD); +BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL); +BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); +BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL); +BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL); +BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL); +BOOL WINAPI SetStdHandle(DWORD,HANDLE); +#define SetSwapAreaSize(w) (w) +BOOL WINAPI SetSystemPowerState(BOOL,BOOL); +BOOL WINAPI SetSystemTime(const SYSTEMTIME*); +BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL); +DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID); +DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL); +DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD); +BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*); +DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD); +BOOL WINAPI SetThreadPriority(HANDLE,int); +BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL); +BOOL WINAPI SetThreadToken (PHANDLE,HANDLE); +BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *); +BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD); +LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER); +BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD); +BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR); +BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR); +BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL); +BOOL WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL); +DWORD WINAPI SizeofResource(HINSTANCE,HRSRC); +void WINAPI Sleep(DWORD); +DWORD WINAPI SleepEx(DWORD,BOOL); +DWORD WINAPI SuspendThread(HANDLE); +void WINAPI SwitchToFiber(PVOID); +BOOL WINAPI SwitchToThread(void); +BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME); +BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME); +BOOL WINAPI TerminateProcess(HANDLE,UINT); +BOOL WINAPI TerminateThread(HANDLE,DWORD); +DWORD WINAPI TlsAlloc(VOID); +BOOL WINAPI TlsFree(DWORD); +PVOID WINAPI TlsGetValue(DWORD); +BOOL WINAPI TlsSetValue(DWORD,PVOID); +BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI TransmitCommChar(HANDLE,char); +BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION); +LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS); +BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED); +#define UnlockResource(h) (h) +#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) +BOOL WINAPI UnmapViewOfFile(PVOID); +BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD); +BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD); +BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG); +BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG); +PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD); +PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,DWORD,DWORD,DWORD); +BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD); +BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD); +BOOL WINAPI VirtualLock(PVOID,DWORD); +BOOL WINAPI VirtualProtect(PVOID,DWORD,DWORD,PDWORD); +BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD); +DWORD WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD); +DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD); +BOOL WINAPI VirtualUnlock(PVOID,DWORD); +BOOL WINAPI WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED); +BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD); +DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD); +DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL); +DWORD WINAPI WaitForSingleObject(HANDLE,DWORD); +DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL); +BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD); +BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD); +BOOL WINAPI WinLoadTrustProvider(GUID*); +BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED); +BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE); +BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR); +BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR); +BOOL WINAPI WriteProcessMemory(HANDLE,PVOID,PVOID,DWORD,PDWORD); +BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR); +BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR); +BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR); +DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL); +#define Yield() + +#ifdef UNICODE +typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO; +typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*LPWIN32_FIND_DATA; +typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO; +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW +#define AddAtom AddAtomW +#define BackupEventLog BackupEventLogW +#define BeginUpdateResource BeginUpdateResourceW +#define BuildCommDCB BuildCommDCBW +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW +#define CallNamedPipe CallNamedPipeW +#define ClearEventLog ClearEventLogW +#define CommConfigDialog CommConfigDialogW +#define CopyFile CopyFileW +#define CopyFileEx CopyFileExW +#define CreateDirectory CreateDirectoryW +#define CreateDirectoryEx CreateDirectoryExW +#define CreateEvent CreateEventW +#define CreateFile CreateFileW +#define CreateFileMapping CreateFileMappingW +#define CreateHardLink CreateHardLinkW +#define CreateMailslot CreateMailslotW +#define CreateMutex CreateMutexW +#define CreateNamedPipe CreateNamedPipeW +#define CreateProcess CreateProcessW +#define CreateProcessAsUser CreateProcessAsUserW +#define CreateSemaphore CreateSemaphoreW +#define CreateWaitableTimer CreateWaitableTimerW +#define DefineDosDevice DefineDosDeviceW +#define DeleteFile DeleteFileW +#define EndUpdateResource EndUpdateResourceW +#define EnumResourceLanguages EnumResourceLanguagesW +#define EnumResourceNames EnumResourceNamesW +#define EnumResourceTypes EnumResourceTypesW +#define ExpandEnvironmentStrings ExpandEnvironmentStringsW +#define FatalAppExit FatalAppExitW +#define FindAtom FindAtomW +#define FindFirstChangeNotification FindFirstChangeNotificationW +#define FindFirstFile FindFirstFileW +#define FindFirstFileEx FindFirstFileExW +#define FindNextFile FindNextFileW +#define FindResource FindResourceW +#define FindResourceEx FindResourceExW +#define FormatMessage FormatMessageW +#define FreeEnvironmentStrings FreeEnvironmentStringsW +#define GetAtomName GetAtomNameW +#define GetBinaryType GetBinaryTypeW +#define GetCommandLine GetCommandLineW +#define GetCompressedFileSize GetCompressedFileSizeW +#define GetComputerName GetComputerNameW +#define GetCurrentDirectory GetCurrentDirectoryW +#define GetDefaultCommConfig GetDefaultCommConfigW +#define GetDiskFreeSpace GetDiskFreeSpaceW +#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW +#define GetDriveType GetDriveTypeW +#define GetEnvironmentStrings GetEnvironmentStringsW +#define GetEnvironmentVariable GetEnvironmentVariableW +#define GetFileAttributes GetFileAttributesW +#define GetFileSecurity GetFileSecurityW +#define GetFileAttributesEx GetFileAttributesExW +#define GetFullPathName GetFullPathNameW +#define GetLogicalDriveStrings GetLogicalDriveStringsW +#define GetLongPathName GetLongPathNameW +#define GetModuleFileName GetModuleFileNameW +#define GetModuleHandle GetModuleHandleW +#define GetNamedPipeHandleState GetNamedPipeHandleStateW +#define GetPrivateProfileInt GetPrivateProfileIntW +#define GetPrivateProfileSection GetPrivateProfileSectionW +#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW +#define GetPrivateProfileString GetPrivateProfileStringW +#define GetPrivateProfileStruct GetPrivateProfileStructW +#define GetProfileInt GetProfileIntW +#define GetProfileSection GetProfileSectionW +#define GetProfileString GetProfileStringW +#define GetShortPathName GetShortPathNameW +#define GetStartupInfo GetStartupInfoW +#define GetSystemDirectory GetSystemDirectoryW +#define GetTempFileName GetTempFileNameW +#define GetTempPath GetTempPathW +#define GetUserName GetUserNameW +#define GetVersionEx GetVersionExW +#define GetVolumeInformation GetVolumeInformationW +#define GetWindowsDirectory GetWindowsDirectoryW +#define GlobalAddAtom GlobalAddAtomW +#define GlobalFindAtom GlobalFindAtomW +#define GlobalGetAtomName GlobalGetAtomNameW +#define IsBadStringPtr IsBadStringPtrW +#define LoadLibrary LoadLibraryW +#define LoadLibraryEx LoadLibraryExW +#define LogonUser LogonUserW +#define LookupAccountName LookupAccountNameW +#define LookupAccountSid LookupAccountSidW +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW +#define LookupPrivilegeName LookupPrivilegeNameW +#define LookupPrivilegeValue LookupPrivilegeValueW +#define lstrcat lstrcatW +#define lstrcmp lstrcmpW +#define lstrcmpi lstrcmpiW +#define lstrcpy lstrcpyW +#define lstrcpyn lstrcpynW +#define lstrlen lstrlenW +#define MoveFile MoveFileW +#define MoveFileEx MoveFileExW +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW +#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW +#define OpenBackupEventLog OpenBackupEventLogW +#define OpenEvent OpenEventW +#define OpenEventLog OpenEventLogW +#define OpenFileMapping OpenFileMappingW +#define OpenMutex OpenMutexW +#define OpenSemaphore OpenSemaphoreW +#define OutputDebugString OutputDebugStringW +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW +#define QueryDosDevice QueryDosDeviceW +#define ReadEventLog ReadEventLogW +#define RegisterEventSource RegisterEventSourceW +#define RemoveDirectory RemoveDirectoryW +#define ReportEvent ReportEventW +#define SearchPath SearchPathW +#define SetComputerName SetComputerNameW +#define SetCurrentDirectory SetCurrentDirectoryW +#define SetDefaultCommConfig SetDefaultCommConfigW +#define SetEnvironmentVariable SetEnvironmentVariableW +#define SetFileAttributes SetFileAttributesW +#define SetFileSecurity SetFileSecurityW +#define SetVolumeLabel SetVolumeLabelW +#define UpdateResource UpdateResourceW +#define VerifyVersionInfo VerifyVersionInfoW +#define WaitNamedPipe WaitNamedPipeW +#define WritePrivateProfileSection WritePrivateProfileSectionW +#define WritePrivateProfileString WritePrivateProfileStringW +#define WritePrivateProfileStruct WritePrivateProfileStructW +#define WriteProfileSection WriteProfileSectionW +#define WriteProfileString WriteProfileStringW +#else +typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO; +typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA; +typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO; +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA +#define AddAtom AddAtomA +#define BackupEventLog BackupEventLogA +#define BeginUpdateResource BeginUpdateResourceA +#define BuildCommDCB BuildCommDCBA +#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA +#define CallNamedPipe CallNamedPipeA +#define ClearEventLog ClearEventLogA +#define CommConfigDialog CommConfigDialogA +#define CopyFile CopyFileA +#define CopyFileEx CopyFileExA +#define CreateDirectory CreateDirectoryA +#define CreateDirectoryEx CreateDirectoryExA +#define CreateEvent CreateEventA +#define CreateFile CreateFileA +#define CreateFileMapping CreateFileMappingA +#define CreateHardLink CreateHardLinkA +#define CreateMailslot CreateMailslotA +#define CreateMutex CreateMutexA +#define CreateNamedPipe CreateNamedPipeA +#define CreateProcess CreateProcessA +#define CreateProcessAsUser CreateProcessAsUserA +#define CreateSemaphore CreateSemaphoreA +#define CreateWaitableTimer CreateWaitableTimerA +#define DefineDosDevice DefineDosDeviceA +#define DeleteFile DeleteFileA +#define EndUpdateResource EndUpdateResourceA +#define EnumResourceLanguages EnumResourceLanguagesA +#define EnumResourceNames EnumResourceNamesA +#define EnumResourceTypes EnumResourceTypesA +#define ExpandEnvironmentStrings ExpandEnvironmentStringsA +#define FatalAppExit FatalAppExitA +#define FindAtom FindAtomA +#define FindFirstChangeNotification FindFirstChangeNotificationA +#define FindFirstFile FindFirstFileA +#define FindFirstFileEx FindFirstFileExW +#define FindNextFile FindNextFileA +#define FindResource FindResourceA +#define FindResourceEx FindResourceExA +#define FormatMessage FormatMessageA +#define FreeEnvironmentStrings FreeEnvironmentStringsA +#define GetAtomName GetAtomNameA +#define GetBinaryType GetBinaryTypeA +#define GetCommandLine GetCommandLineA +#define GetComputerName GetComputerNameA +#define GetCompressedFileSize GetCompressedFileSizeA +#define GetCurrentDirectory GetCurrentDirectoryA +#define GetDefaultCommConfig GetDefaultCommConfigA +#define GetDiskFreeSpace GetDiskFreeSpaceA +#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA +#define GetDriveType GetDriveTypeA +#define GetEnvironmentStringsA GetEnvironmentStrings +#define GetEnvironmentVariable GetEnvironmentVariableA +#define GetFileAttributes GetFileAttributesA +#define GetFileSecurity GetFileSecurityA +#define GetFileAttributesEx GetFileAttributesExA +#define GetFullPathName GetFullPathNameA +#define GetLogicalDriveStrings GetLogicalDriveStringsA +#define GetLongPathName GetLongPathNameA +#define GetNamedPipeHandleState GetNamedPipeHandleStateA +#define GetModuleHandle GetModuleHandleA +#define GetModuleFileName GetModuleFileNameA +#define GetPrivateProfileInt GetPrivateProfileIntA +#define GetPrivateProfileSection GetPrivateProfileSectionA +#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA +#define GetPrivateProfileString GetPrivateProfileStringA +#define GetPrivateProfileStruct GetPrivateProfileStructA +#define GetProfileInt GetProfileIntA +#define GetProfileSection GetProfileSectionA +#define GetProfileString GetProfileStringA +#define GetShortPathName GetShortPathNameA +#define GetStartupInfo GetStartupInfoA +#define GetSystemDirectory GetSystemDirectoryA +#define GetTempFileName GetTempFileNameA +#define GetTempPath GetTempPathA +#define GetUserName GetUserNameA +#define GetVersionEx GetVersionExA +#define GetVolumeInformation GetVolumeInformationA +#define GetWindowsDirectory GetWindowsDirectoryA +#define GlobalAddAtom GlobalAddAtomA +#define GlobalFindAtom GlobalFindAtomA +#define GlobalGetAtomName GlobalGetAtomNameA +#define IsBadStringPtr IsBadStringPtrA +#define LoadLibrary LoadLibraryA +#define LoadLibraryEx LoadLibraryExA +#define LogonUser LogonUserA +#define LookupAccountName LookupAccountNameA +#define LookupAccountSid LookupAccountSidA +#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA +#define LookupPrivilegeName LookupPrivilegeNameA +#define LookupPrivilegeValue LookupPrivilegeValueA +#define lstrcat lstrcatA +#define lstrcmp lstrcmpA +#define lstrcmpi lstrcmpiA +#define lstrcpy lstrcpyA +#define lstrcpyn lstrcpynA +#define lstrlen lstrlenA +#define MoveFile MoveFileA +#define MoveFileEx MoveFileExA +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA +#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA +#define OpenBackupEventLog OpenBackupEventLogA +#define OpenEvent OpenEventA +#define OpenEventLog OpenEventLogA +#define OpenFileMapping OpenFileMappingA +#define OpenMutex OpenMutexA +#define OpenSemaphore OpenSemaphoreA +#define OutputDebugString OutputDebugStringA +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA +#define QueryDosDevice QueryDosDeviceA +#define ReadEventLog ReadEventLogA +#define RegisterEventSource RegisterEventSourceA +#define RemoveDirectory RemoveDirectoryA +#define ReportEvent ReportEventA +#define SearchPath SearchPathA +#define SetComputerName SetComputerNameA +#define SetCurrentDirectory SetCurrentDirectoryA +#define SetDefaultCommConfig SetDefaultCommConfigA +#define SetEnvironmentVariable SetEnvironmentVariableA +#define SetFileAttributes SetFileAttributesA +#define SetFileSecurity SetFileSecurityA +#define SetVolumeLabel SetVolumeLabelA +#define UpdateResource UpdateResourceA +#define VerifyVersionInfo VerifyVersionInfoA +#define WaitNamedPipe WaitNamedPipeA +#define WritePrivateProfileSection WritePrivateProfileSectionA +#define WritePrivateProfileString WritePrivateProfileStringA +#define WritePrivateProfileStruct WritePrivateProfileStructA +#define WriteProfileSection WriteProfileSectionA +#define WriteProfileString WriteProfileStringA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINBASE_H */ diff --git a/win32/include/winapi/wincon.h b/win32/include/winapi/wincon.h index 6f6d638..8539fe5 100644 --- a/win32/include/winapi/wincon.h +++ b/win32/include/winapi/wincon.h @@ -1,207 +1,207 @@ -#ifndef _WINCON_H
-#define _WINCON_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FOREGROUND_BLUE 1
-#define FOREGROUND_GREEN 2
-#define FOREGROUND_RED 4
-#define FOREGROUND_INTENSITY 8
-#define BACKGROUND_BLUE 16
-#define BACKGROUND_GREEN 32
-#define BACKGROUND_RED 64
-#define BACKGROUND_INTENSITY 128
-#define CTRL_C_EVENT 0
-#define CTRL_BREAK_EVENT 1
-#define CTRL_CLOSE_EVENT 2
-#define CTRL_LOGOFF_EVENT 5
-#define CTRL_SHUTDOWN_EVENT 6
-#define ENABLE_LINE_INPUT 2
-#define ENABLE_ECHO_INPUT 4
-#define ENABLE_PROCESSED_INPUT 1
-#define ENABLE_WINDOW_INPUT 8
-#define ENABLE_MOUSE_INPUT 16
-#define ENABLE_PROCESSED_OUTPUT 1
-#define ENABLE_WRAP_AT_EOL_OUTPUT 2
-#define KEY_EVENT 1
-#define MOUSE_EVENT 2
-#define WINDOW_BUFFER_SIZE_EVENT 4
-#define MENU_EVENT 8
-#define FOCUS_EVENT 16
-#define CAPSLOCK_ON 128
-#define ENHANCED_KEY 256
-#define RIGHT_ALT_PRESSED 1
-#define LEFT_ALT_PRESSED 2
-#define RIGHT_CTRL_PRESSED 4
-#define LEFT_CTRL_PRESSED 8
-#define SHIFT_PRESSED 16
-#define NUMLOCK_ON 32
-#define SCROLLLOCK_ON 64
-#define FROM_LEFT_1ST_BUTTON_PRESSED 1
-#define RIGHTMOST_BUTTON_PRESSED 2
-#define FROM_LEFT_2ND_BUTTON_PRESSED 4
-#define FROM_LEFT_3RD_BUTTON_PRESSED 8
-#define FROM_LEFT_4TH_BUTTON_PRESSED 16
-#define MOUSE_MOVED 1
-#define DOUBLE_CLICK 2
-#define MOUSE_WHEELED 4
-
-typedef struct _CHAR_INFO {
- union {
- WCHAR UnicodeChar;
- CHAR AsciiChar;
- } Char;
- WORD Attributes;
-} CHAR_INFO,*PCHAR_INFO;
-typedef struct _SMALL_RECT {
- SHORT Left;
- SHORT Top;
- SHORT Right;
- SHORT Bottom;
-} SMALL_RECT,*PSMALL_RECT;
-typedef struct _CONSOLE_CURSOR_INFO {
- DWORD dwSize;
- BOOL bVisible;
-} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
-typedef struct _COORD {
- SHORT X;
- SHORT Y;
-} COORD;
-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 BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD);
-typedef struct _KEY_EVENT_RECORD {
- BOOL bKeyDown;
- WORD wRepeatCount;
- WORD wVirtualKeyCode;
- WORD wVirtualScanCode;
- union {
- WCHAR UnicodeChar;
- CHAR AsciiChar;
- } uChar;
- DWORD dwControlKeyState;
-}
-#ifdef __GNUC__
-/* gcc's alignment is not what win32 expects */
- PACKED
-#endif
-KEY_EVENT_RECORD;
-
-typedef struct _MOUSE_EVENT_RECORD {
- COORD dwMousePosition;
- DWORD dwButtonState;
- DWORD dwControlKeyState;
- DWORD dwEventFlags;
-} MOUSE_EVENT_RECORD;
-typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
-typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
-typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_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;
-
-BOOL WINAPI AllocConsole(void);
-HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID);
-BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
-BOOL WINAPI FreeConsole(void);
-BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD);
-UINT WINAPI GetConsoleCP(void);
-BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
-BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
-UINT WINAPI GetConsoleOutputCP(void);
-BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
-DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
-DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
-COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
-BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
-BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
-BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE);
-BOOL WINAPI SetConsoleCP(UINT);
-BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
-BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
-BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
-BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
-BOOL WINAPI SetConsoleOutputCP(UINT);
-BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
-BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD);
-BOOL WINAPI SetConsoleTitleA(LPCSTR);
-BOOL WINAPI SetConsoleTitleW(LPCWSTR);
-BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
-BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
-
-#ifdef UNICODE
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
-#define GetConsoleTitle GetConsoleTitleW
-#define PeekConsoleInput PeekConsoleInputW
-#define ReadConsole ReadConsoleW
-#define ReadConsoleInput ReadConsoleInputW
-#define ReadConsoleOutput ReadConsoleOutputW
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
-#define SetConsoleTitle SetConsoleTitleW
-#define WriteConsole WriteConsoleW
-#define WriteConsoleInput WriteConsoleInputW
-#define WriteConsoleOutput WriteConsoleOutputW
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
-#else
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
-#define GetConsoleTitle GetConsoleTitleA
-#define PeekConsoleInput PeekConsoleInputA
-#define ReadConsole ReadConsoleA
-#define ReadConsoleInput ReadConsoleInputA
-#define ReadConsoleOutput ReadConsoleOutputA
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
-#define SetConsoleTitle SetConsoleTitleA
-#define WriteConsole WriteConsoleA
-#define WriteConsoleInput WriteConsoleInputA
-#define WriteConsoleOutput WriteConsoleOutputA
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINCON_H +#define _WINCON_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + +#define FOREGROUND_BLUE 1 +#define FOREGROUND_GREEN 2 +#define FOREGROUND_RED 4 +#define FOREGROUND_INTENSITY 8 +#define BACKGROUND_BLUE 16 +#define BACKGROUND_GREEN 32 +#define BACKGROUND_RED 64 +#define BACKGROUND_INTENSITY 128 +#define CTRL_C_EVENT 0 +#define CTRL_BREAK_EVENT 1 +#define CTRL_CLOSE_EVENT 2 +#define CTRL_LOGOFF_EVENT 5 +#define CTRL_SHUTDOWN_EVENT 6 +#define ENABLE_LINE_INPUT 2 +#define ENABLE_ECHO_INPUT 4 +#define ENABLE_PROCESSED_INPUT 1 +#define ENABLE_WINDOW_INPUT 8 +#define ENABLE_MOUSE_INPUT 16 +#define ENABLE_PROCESSED_OUTPUT 1 +#define ENABLE_WRAP_AT_EOL_OUTPUT 2 +#define KEY_EVENT 1 +#define MOUSE_EVENT 2 +#define WINDOW_BUFFER_SIZE_EVENT 4 +#define MENU_EVENT 8 +#define FOCUS_EVENT 16 +#define CAPSLOCK_ON 128 +#define ENHANCED_KEY 256 +#define RIGHT_ALT_PRESSED 1 +#define LEFT_ALT_PRESSED 2 +#define RIGHT_CTRL_PRESSED 4 +#define LEFT_CTRL_PRESSED 8 +#define SHIFT_PRESSED 16 +#define NUMLOCK_ON 32 +#define SCROLLLOCK_ON 64 +#define FROM_LEFT_1ST_BUTTON_PRESSED 1 +#define RIGHTMOST_BUTTON_PRESSED 2 +#define FROM_LEFT_2ND_BUTTON_PRESSED 4 +#define FROM_LEFT_3RD_BUTTON_PRESSED 8 +#define FROM_LEFT_4TH_BUTTON_PRESSED 16 +#define MOUSE_MOVED 1 +#define DOUBLE_CLICK 2 +#define MOUSE_WHEELED 4 + +typedef struct _CHAR_INFO { + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } Char; + WORD Attributes; +} CHAR_INFO,*PCHAR_INFO; +typedef struct _SMALL_RECT { + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; +} SMALL_RECT,*PSMALL_RECT; +typedef struct _CONSOLE_CURSOR_INFO { + DWORD dwSize; + BOOL bVisible; +} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO; +typedef struct _COORD { + SHORT X; + SHORT Y; +} COORD; +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 BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD); +typedef struct _KEY_EVENT_RECORD { + BOOL bKeyDown; + WORD wRepeatCount; + WORD wVirtualKeyCode; + WORD wVirtualScanCode; + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } uChar; + DWORD dwControlKeyState; +} +#ifdef __GNUC__ +/* gcc's alignment is not what win32 expects */ + PACKED +#endif +KEY_EVENT_RECORD; + +typedef struct _MOUSE_EVENT_RECORD { + COORD dwMousePosition; + DWORD dwButtonState; + DWORD dwControlKeyState; + DWORD dwEventFlags; +} MOUSE_EVENT_RECORD; +typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD; +typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD; +typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_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; + +BOOL WINAPI AllocConsole(void); +HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID); +BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD); +BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD); +BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD); +BOOL WINAPI FlushConsoleInputBuffer(HANDLE); +BOOL WINAPI FreeConsole(void); +BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD); +UINT WINAPI GetConsoleCP(void); +BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO); +BOOL WINAPI GetConsoleMode(HANDLE,PDWORD); +UINT WINAPI GetConsoleOutputCP(void); +BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO); +DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD); +DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD); +COORD WINAPI GetLargestConsoleWindowSize(HANDLE); +BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD); +BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD); +BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD); +BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD); +BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD); +BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD); +BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT); +BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT); +BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*); +BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*); +BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE); +BOOL WINAPI SetConsoleCP(UINT); +BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL); +BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*); +BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD); +BOOL WINAPI SetConsoleMode(HANDLE,DWORD); +BOOL WINAPI SetConsoleOutputCP(UINT); +BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD); +BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD); +BOOL WINAPI SetConsoleTitleA(LPCSTR); +BOOL WINAPI SetConsoleTitleW(LPCWSTR); +BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*); +BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID); +BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD); +BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD); +BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT); +BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT); +BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD); +BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD); +BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD); + +#ifdef UNICODE +#define FillConsoleOutputCharacter FillConsoleOutputCharacterW +#define GetConsoleTitle GetConsoleTitleW +#define PeekConsoleInput PeekConsoleInputW +#define ReadConsole ReadConsoleW +#define ReadConsoleInput ReadConsoleInputW +#define ReadConsoleOutput ReadConsoleOutputW +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW +#define SetConsoleTitle SetConsoleTitleW +#define WriteConsole WriteConsoleW +#define WriteConsoleInput WriteConsoleInputW +#define WriteConsoleOutput WriteConsoleOutputW +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW +#else +#define FillConsoleOutputCharacter FillConsoleOutputCharacterA +#define GetConsoleTitle GetConsoleTitleA +#define PeekConsoleInput PeekConsoleInputA +#define ReadConsole ReadConsoleA +#define ReadConsoleInput ReadConsoleInputA +#define ReadConsoleOutput ReadConsoleOutputA +#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA +#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA +#define SetConsoleTitle SetConsoleTitleA +#define WriteConsole WriteConsoleA +#define WriteConsoleInput WriteConsoleInputA +#define WriteConsoleOutput WriteConsoleOutputA +#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/windef.h b/win32/include/winapi/windef.h index c5c6426..1ee3f39 100644 --- a/win32/include/winapi/windef.h +++ b/win32/include/winapi/windef.h @@ -1,240 +1,240 @@ -#ifndef _WINDEF_H
-#define _WINDEF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINVER
-#define WINVER 0x0400
-#endif
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT WINVER
-#endif
-#ifndef WIN32
-#define WIN32
-#endif
-#ifndef _WIN32
-#define _WIN32
-#endif
-#define FAR
-#define far
-#define NEAR
-#define near
-#ifndef CONST
-#define CONST const
-#endif
-#undef MAX_PATH
-#define MAX_PATH 260
-
-#ifndef NULL
-#ifdef __cplusplus
-#define NULL 0
-#else
-#define NULL ((void*)0)
-#endif
-#endif
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE 1
-#endif
-#define IN
-#define OUT
-#ifndef OPTIONAL
-#define OPTIONAL
-#endif
-
-#ifdef __GNUC__
-#define PACKED __attribute__((packed))
-#ifndef _stdcall
-#define _stdcall __attribute__((stdcall))
-#endif
-#ifndef __stdcall
-#define __stdcall __attribute__((stdcall))
-#endif
-#ifndef _cdecl
-#define _cdecl __attribute__((cdecl))
-#endif
-#ifndef __cdecl
-#define __cdecl __attribute__((cdecl))
-#endif
-#ifndef __declspec
-#define __declspec(e) __attribute__((e))
-#endif
-#ifndef _declspec
-#define _declspec(e) __attribute__((e))
-#endif
-#else
-#define PACKED
-#define _cdecl
-#define __cdecl
-#endif
-
-#undef pascal
-#undef _pascal
-#undef __pascal
-#define pascal __stdcall
-#define _pascal __stdcall
-#define __pascal __stdcall
-#define PASCAL _pascal
-#define CDECL _cdecl
-#define STDCALL __stdcall
-#define WINAPI __stdcall
-#define WINAPIV __cdecl
-#define APIENTRY __stdcall
-#define CALLBACK __stdcall
-#define APIPRIVATE __stdcall
-
-#define DECLSPEC_IMPORT __declspec(dllimport)
-#define DECLSPEC_EXPORT __declspec(dllexport)
-#ifdef __GNUC__
-#define DECLSPEC_NORETURN __declspec(noreturn)
-#define DECLARE_STDCALL_P( type ) __stdcall type
-#elif defined(__WATCOMC__)
-#define DECLSPEC_NORETURN
-#define DECLARE_STDCALL_P( type ) type __stdcall
-#endif /* __GNUC__/__WATCOMC__ */
-#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
-#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
-#define LOWORD(l) ((WORD)((DWORD)(l)))
-#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
-#define LOBYTE(w) ((BYTE)(w))
-#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
-
-#ifndef _export
-#define _export
-#endif
-#ifndef __export
-#define __export
-#endif
-
-#ifndef NOMINMAX
-#ifndef max
-#define max(a,b) ((a)>(b)?(a):(b))
-#endif
-#ifndef min
-#define min(a,b) ((a)<(b)?(a):(b))
-#endif
-#endif
-
-#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
-#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
-#define DBG_UNREFERENCED_PARAMETER(P)
-#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
-
-typedef unsigned long DWORD;
-typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
-/* FIXME: Is there a good solution to this? */
-#ifndef XFree86Server
-#ifndef __OBJC__
-typedef WINBOOL BOOL;
-#else
-#define BOOL WINBOOL
-#endif
-typedef unsigned char BYTE;
-#endif /* ndef XFree86Server */
-typedef BOOL *PBOOL,*LPBOOL;
-typedef unsigned short WORD;
-typedef float FLOAT;
-typedef FLOAT *PFLOAT;
-typedef BYTE *PBYTE,*LPBYTE;
-typedef int *PINT,*LPINT;
-typedef WORD *PWORD,*LPWORD;
-typedef long *LPLONG;
-typedef DWORD *PDWORD,*LPDWORD;
-typedef void *PVOID,*LPVOID;
-typedef CONST void *PCVOID,*LPCVOID;
-typedef int INT;
-typedef unsigned int UINT,*PUINT,*LPUINT;
-
-#include <winnt.h>
-
-typedef UINT WPARAM;
-typedef LONG LPARAM;
-typedef LONG LRESULT;
-#ifndef _HRESULT_DEFINED
-typedef LONG HRESULT;
-#define _HRESULT_DEFINED
-#endif
-#ifndef XFree86Server
-typedef WORD ATOM;
-#endif /* XFree86Server */
-typedef HANDLE HGLOBAL;
-typedef HANDLE HLOCAL;
-typedef HANDLE GLOBALHANDLE;
-typedef HANDLE LOCALHANDLE;
-typedef void *HGDIOBJ;
-DECLARE_HANDLE(HACCEL);
-DECLARE_HANDLE(HBITMAP);
-DECLARE_HANDLE(HBRUSH);
-DECLARE_HANDLE(HCOLORSPACE);
-DECLARE_HANDLE(HDC);
-DECLARE_HANDLE(HGLRC);
-DECLARE_HANDLE(HDESK);
-DECLARE_HANDLE(HENHMETAFILE);
-DECLARE_HANDLE(HFONT);
-DECLARE_HANDLE(HICON);
-DECLARE_HANDLE(HKEY);
-/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
-/* #if (WINVER >= 0x0500) */
-DECLARE_HANDLE(HMONITOR);
-#define HMONITOR_DECLARED 1
-DECLARE_HANDLE(HTERMINAL);
-DECLARE_HANDLE(HWINEVENTHOOK);
-/* #endif */
-typedef HKEY *PHKEY;
-DECLARE_HANDLE(HMENU);
-DECLARE_HANDLE(HMETAFILE);
-DECLARE_HANDLE(HINSTANCE);
-typedef HINSTANCE HMODULE;
-DECLARE_HANDLE(HPALETTE);
-DECLARE_HANDLE(HPEN);
-DECLARE_HANDLE(HRGN);
-DECLARE_HANDLE(HRSRC);
-DECLARE_HANDLE(HSTR);
-DECLARE_HANDLE(HTASK);
-DECLARE_HANDLE(HWND);
-DECLARE_HANDLE(HWINSTA);
-DECLARE_HANDLE(HKL);
-typedef int HFILE;
-typedef HICON HCURSOR;
-typedef DWORD COLORREF;
-typedef int (WINAPI *FARPROC)();
-typedef int (WINAPI *NEARPROC)();
-typedef int (WINAPI *PROC)();
-typedef struct tagRECT {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
-} RECT,*PRECT,*LPRECT;
-typedef const RECT *LPCRECT;
-typedef struct tagRECTL {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
-} RECTL,*PRECTL,*LPRECTL;
-typedef const RECTL *LPCRECTL;
-typedef struct tagPOINT {
- LONG x;
- LONG y;
-} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
-typedef struct tagSIZE {
- LONG cx;
- LONG cy;
-} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
-typedef struct tagPOINTS {
- SHORT x;
- SHORT y;
-} POINTS,*PPOINTS,*LPPOINTS;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINDEF_H +#define _WINDEF_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0400 +#endif +#ifndef _WIN32_WINNT +#define _WIN32_WINNT WINVER +#endif +#ifndef WIN32 +#define WIN32 +#endif +#ifndef _WIN32 +#define _WIN32 +#endif +#define FAR +#define far +#define NEAR +#define near +#ifndef CONST +#define CONST const +#endif +#undef MAX_PATH +#define MAX_PATH 260 + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void*)0) +#endif +#endif +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE 1 +#endif +#define IN +#define OUT +#ifndef OPTIONAL +#define OPTIONAL +#endif + +#ifdef __GNUC__ +#define PACKED __attribute__((packed)) +#ifndef _stdcall +#define _stdcall __attribute__((stdcall)) +#endif +#ifndef __stdcall +#define __stdcall __attribute__((stdcall)) +#endif +#ifndef _cdecl +#define _cdecl __attribute__((cdecl)) +#endif +#ifndef __cdecl +#define __cdecl __attribute__((cdecl)) +#endif +#ifndef __declspec +#define __declspec(e) __attribute__((e)) +#endif +#ifndef _declspec +#define _declspec(e) __attribute__((e)) +#endif +#else +#define PACKED +#define _cdecl +#define __cdecl +#endif + +#undef pascal +#undef _pascal +#undef __pascal +#define pascal __stdcall +#define _pascal __stdcall +#define __pascal __stdcall +#define PASCAL _pascal +#define CDECL _cdecl +#define STDCALL __stdcall +#define WINAPI __stdcall +#define WINAPIV __cdecl +#define APIENTRY __stdcall +#define CALLBACK __stdcall +#define APIPRIVATE __stdcall + +#define DECLSPEC_IMPORT __declspec(dllimport) +#define DECLSPEC_EXPORT __declspec(dllexport) +#ifdef __GNUC__ +#define DECLSPEC_NORETURN __declspec(noreturn) +#define DECLARE_STDCALL_P( type ) __stdcall type +#elif defined(__WATCOMC__) +#define DECLSPEC_NORETURN +#define DECLARE_STDCALL_P( type ) type __stdcall +#endif /* __GNUC__/__WATCOMC__ */ +#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8))) +#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16))) +#define LOWORD(l) ((WORD)((DWORD)(l))) +#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF)) +#define LOBYTE(w) ((BYTE)(w)) +#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF)) + +#ifndef _export +#define _export +#endif +#ifndef __export +#define __export +#endif + +#ifndef NOMINMAX +#ifndef max +#define max(a,b) ((a)>(b)?(a):(b)) +#endif +#ifndef min +#define min(a,b) ((a)<(b)?(a):(b)) +#endif +#endif + +#define UNREFERENCED_PARAMETER(P) {(P)=(P);} +#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);} +#define DBG_UNREFERENCED_PARAMETER(P) +#define DBG_UNREFERENCED_LOCAL_VARIABLE(L) + +typedef unsigned long DWORD; +typedef int WINBOOL,*PWINBOOL,*LPWINBOOL; +/* FIXME: Is there a good solution to this? */ +#ifndef XFree86Server +#ifndef __OBJC__ +typedef WINBOOL BOOL; +#else +#define BOOL WINBOOL +#endif +typedef unsigned char BYTE; +#endif /* ndef XFree86Server */ +typedef BOOL *PBOOL,*LPBOOL; +typedef unsigned short WORD; +typedef float FLOAT; +typedef FLOAT *PFLOAT; +typedef BYTE *PBYTE,*LPBYTE; +typedef int *PINT,*LPINT; +typedef WORD *PWORD,*LPWORD; +typedef long *LPLONG; +typedef DWORD *PDWORD,*LPDWORD; +typedef void *PVOID,*LPVOID; +typedef CONST void *PCVOID,*LPCVOID; +typedef int INT; +typedef unsigned int UINT,*PUINT,*LPUINT; + +#include <winnt.h> + +typedef UINT WPARAM; +typedef LONG LPARAM; +typedef LONG LRESULT; +#ifndef _HRESULT_DEFINED +typedef LONG HRESULT; +#define _HRESULT_DEFINED +#endif +#ifndef XFree86Server +typedef WORD ATOM; +#endif /* XFree86Server */ +typedef HANDLE HGLOBAL; +typedef HANDLE HLOCAL; +typedef HANDLE GLOBALHANDLE; +typedef HANDLE LOCALHANDLE; +typedef void *HGDIOBJ; +DECLARE_HANDLE(HACCEL); +DECLARE_HANDLE(HBITMAP); +DECLARE_HANDLE(HBRUSH); +DECLARE_HANDLE(HCOLORSPACE); +DECLARE_HANDLE(HDC); +DECLARE_HANDLE(HGLRC); +DECLARE_HANDLE(HDESK); +DECLARE_HANDLE(HENHMETAFILE); +DECLARE_HANDLE(HFONT); +DECLARE_HANDLE(HICON); +DECLARE_HANDLE(HKEY); +/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */ +/* #if (WINVER >= 0x0500) */ +DECLARE_HANDLE(HMONITOR); +#define HMONITOR_DECLARED 1 +DECLARE_HANDLE(HTERMINAL); +DECLARE_HANDLE(HWINEVENTHOOK); +/* #endif */ +typedef HKEY *PHKEY; +DECLARE_HANDLE(HMENU); +DECLARE_HANDLE(HMETAFILE); +DECLARE_HANDLE(HINSTANCE); +typedef HINSTANCE HMODULE; +DECLARE_HANDLE(HPALETTE); +DECLARE_HANDLE(HPEN); +DECLARE_HANDLE(HRGN); +DECLARE_HANDLE(HRSRC); +DECLARE_HANDLE(HSTR); +DECLARE_HANDLE(HTASK); +DECLARE_HANDLE(HWND); +DECLARE_HANDLE(HWINSTA); +DECLARE_HANDLE(HKL); +typedef int HFILE; +typedef HICON HCURSOR; +typedef DWORD COLORREF; +typedef int (WINAPI *FARPROC)(); +typedef int (WINAPI *NEARPROC)(); +typedef int (WINAPI *PROC)(); +typedef struct tagRECT { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT,*PRECT,*LPRECT; +typedef const RECT *LPCRECT; +typedef struct tagRECTL { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECTL,*PRECTL,*LPRECTL; +typedef const RECTL *LPCRECTL; +typedef struct tagPOINT { + LONG x; + LONG y; +} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL; +typedef struct tagSIZE { + LONG cx; + LONG cy; +} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL; +typedef struct tagPOINTS { + SHORT x; + SHORT y; +} POINTS,*PPOINTS,*LPPOINTS; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/windows.h b/win32/include/winapi/windows.h index faf6e7f..de2cf9b 100644 --- a/win32/include/winapi/windows.h +++ b/win32/include/winapi/windows.h @@ -1,176 +1,176 @@ -/*
- windows.h - main header file for the Win32 API
-
- Written by Anders Norlander <anorland@hem2.passagen.se>
-
- This file is part of a free library for the Win32 API.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-#ifndef _WINDOWS_H
-#define _WINDOWS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with winnt.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
-#ifdef RC_INVOKED
-/* winresrc.h includes the necessary headers */
-#include <winresrc.h>
-#else
-
-#ifdef __GNUC__
-#ifndef NONAMELESSUNION
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define _ANONYMOUS_UNION __extension__
-#define _ANONYMOUS_STRUCT __extension__
-#else
-#if defined(__cplusplus)
-#define _ANONYMOUS_UNION __extension__
-#endif /* __cplusplus */
-#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
-#endif /* NONAMELESSUNION */
-#elif defined(__WATCOMC__)
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif /* __GNUC__/__WATCOMC__ */
-
-#ifndef _ANONYMOUS_UNION
-#define _ANONYMOUS_UNION
-#define _UNION_NAME(x) x
-#define DUMMYUNIONNAME u
-#define DUMMYUNIONNAME2 u2
-#define DUMMYUNIONNAME3 u3
-#define DUMMYUNIONNAME4 u4
-#define DUMMYUNIONNAME5 u5
-#define DUMMYUNIONNAME6 u6
-#define DUMMYUNIONNAME7 u7
-#define DUMMYUNIONNAME8 u8
-#else
-#define _UNION_NAME(x)
-#define DUMMYUNIONNAME
-#define DUMMYUNIONNAME2
-#define DUMMYUNIONNAME3
-#define DUMMYUNIONNAME4
-#define DUMMYUNIONNAME5
-#define DUMMYUNIONNAME6
-#define DUMMYUNIONNAME7
-#define DUMMYUNIONNAME8
-#endif
-#ifndef _ANONYMOUS_STRUCT
-#define _ANONYMOUS_STRUCT
-#define _STRUCT_NAME(x) x
-#define DUMMYSTRUCTNAME s
-#define DUMMYSTRUCTNAME2 s2
-#define DUMMYSTRUCTNAME3 s3
-#else
-#define _STRUCT_NAME(x)
-#define DUMMYSTRUCTNAME
-#define DUMMYSTRUCTNAME2
-#define DUMMYSTRUCTNAME3
-#endif
-
-#ifndef NO_STRICT
-#ifndef STRICT
-#define STRICT 1
-#endif
-#endif
-
-#include <stdarg.h>
-#include <windef.h>
-#include <wincon.h>
-#include <basetyps.h>
-#include <excpt.h>
-#include <winbase.h>
-#ifndef _WINGDI_H
-#include <wingdi.h>
-#endif
-#ifndef _WINUSER_H
-#include <winuser.h>
-#endif
-#ifndef _WINNLS_H
-#include <winnls.h>
-#endif
-#ifndef _WINVER_H
-#include <winver.h>
-#endif
-#ifndef _WINNETWK_H
-#include <winnetwk.h>
-#endif
-#ifndef _WINREG_H
-#include <winreg.h>
-#endif
-#ifndef _WINSVC_H
-#include <winsvc.h>
-#endif
-
-#ifndef WIN32_LEAN_AND_MEAN
-#include <commdlg.h>
-#include <cderr.h>
-#include <dde.h>
-#include <ddeml.h>
-#include <dlgs.h>
-#include <lzexpand.h>
-#include <mmsystem.h>
-#include <nb30.h>
-#include <rpc.h>
-#include <shellapi.h>
-#include <winperf.h>
-#include <winspool.h>
-#if defined(Win32_Winsock)
-#warning "The Win32_Winsock macro name is deprecated.\
- Please use __USE_W32_SOCKETS instead"
-#ifndef __USE_W32_SOCKETS
-#define __USE_W32_SOCKETS
-#endif
-#endif
-#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
-#if (_WIN32_WINNT >= 0x0400)
-#include <winsock2.h>
-/*
- * MS likes to include mswsock.h here as well,
- * but that can cause undefined symbols if
- * winsock2.h is included before windows.h
- */
-#else
-#include <winsock.h>
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#endif
-#endif /* WIN32_LEAN_AND_MEAN */
-
-#endif /* RC_INVOKED */
-
-#ifdef __OBJC__
-/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
- but undefining it causes trouble as well if a file is included after
- windows.h
-*/
-#undef BOOL
-#endif
-
-#endif
+/* + windows.h - main header file for the Win32 API + + Written by Anders Norlander <anorland@hem2.passagen.se> + + This file is part of a free library for the Win32 API. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +*/ +#ifndef _WINDOWS_H +#define _WINDOWS_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +/* translate GCC target defines to MS equivalents. Keep this synchronized + with winnt.h. */ +#if defined(__i686__) && !defined(_M_IX86) +#define _M_IX86 600 +#elif defined(__i586__) && !defined(_M_IX86) +#define _M_IX86 500 +#elif defined(__i486__) && !defined(_M_IX86) +#define _M_IX86 400 +#elif defined(__i386__) && !defined(_M_IX86) +#define _M_IX86 300 +#endif +#if defined(_M_IX86) && !defined(_X86_) +#define _X86_ +#elif defined(_M_ALPHA) && !defined(_ALPHA_) +#define _ALPHA_ +#elif defined(_M_PPC) && !defined(_PPC_) +#define _PPC_ +#elif defined(_M_MRX000) && !defined(_MIPS_) +#define _MIPS_ +#elif defined(_M_M68K) && !defined(_68K_) +#define _68K_ +#endif + +#ifdef RC_INVOKED +/* winresrc.h includes the necessary headers */ +#include <winresrc.h> +#else + +#ifdef __GNUC__ +#ifndef NONAMELESSUNION +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +#define _ANONYMOUS_UNION __extension__ +#define _ANONYMOUS_STRUCT __extension__ +#else +#if defined(__cplusplus) +#define _ANONYMOUS_UNION __extension__ +#endif /* __cplusplus */ +#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */ +#endif /* NONAMELESSUNION */ +#elif defined(__WATCOMC__) +#define _ANONYMOUS_UNION +#define _ANONYMOUS_STRUCT +#endif /* __GNUC__/__WATCOMC__ */ + +#ifndef _ANONYMOUS_UNION +#define _ANONYMOUS_UNION +#define _UNION_NAME(x) x +#define DUMMYUNIONNAME u +#define DUMMYUNIONNAME2 u2 +#define DUMMYUNIONNAME3 u3 +#define DUMMYUNIONNAME4 u4 +#define DUMMYUNIONNAME5 u5 +#define DUMMYUNIONNAME6 u6 +#define DUMMYUNIONNAME7 u7 +#define DUMMYUNIONNAME8 u8 +#else +#define _UNION_NAME(x) +#define DUMMYUNIONNAME +#define DUMMYUNIONNAME2 +#define DUMMYUNIONNAME3 +#define DUMMYUNIONNAME4 +#define DUMMYUNIONNAME5 +#define DUMMYUNIONNAME6 +#define DUMMYUNIONNAME7 +#define DUMMYUNIONNAME8 +#endif +#ifndef _ANONYMOUS_STRUCT +#define _ANONYMOUS_STRUCT +#define _STRUCT_NAME(x) x +#define DUMMYSTRUCTNAME s +#define DUMMYSTRUCTNAME2 s2 +#define DUMMYSTRUCTNAME3 s3 +#else +#define _STRUCT_NAME(x) +#define DUMMYSTRUCTNAME +#define DUMMYSTRUCTNAME2 +#define DUMMYSTRUCTNAME3 +#endif + +#ifndef NO_STRICT +#ifndef STRICT +#define STRICT 1 +#endif +#endif + +#include <stdarg.h> +#include <windef.h> +#include <wincon.h> +#include <basetyps.h> +#include <excpt.h> +#include <winbase.h> +#ifndef _WINGDI_H +#include <wingdi.h> +#endif +#ifndef _WINUSER_H +#include <winuser.h> +#endif +#ifndef _WINNLS_H +#include <winnls.h> +#endif +#ifndef _WINVER_H +#include <winver.h> +#endif +#ifndef _WINNETWK_H +#include <winnetwk.h> +#endif +#ifndef _WINREG_H +#include <winreg.h> +#endif +#ifndef _WINSVC_H +#include <winsvc.h> +#endif + +#ifndef WIN32_LEAN_AND_MEAN +#include <commdlg.h> +#include <cderr.h> +#include <dde.h> +#include <ddeml.h> +#include <dlgs.h> +#include <lzexpand.h> +#include <mmsystem.h> +#include <nb30.h> +#include <rpc.h> +#include <shellapi.h> +#include <winperf.h> +#include <winspool.h> +#if defined(Win32_Winsock) +#warning "The Win32_Winsock macro name is deprecated.\ + Please use __USE_W32_SOCKETS instead" +#ifndef __USE_W32_SOCKETS +#define __USE_W32_SOCKETS +#endif +#endif +#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN)) +#if (_WIN32_WINNT >= 0x0400) +#include <winsock2.h> +/* + * MS likes to include mswsock.h here as well, + * but that can cause undefined symbols if + * winsock2.h is included before windows.h + */ +#else +#include <winsock.h> +#endif /* (_WIN32_WINNT >= 0x0400) */ +#endif +#endif /* WIN32_LEAN_AND_MEAN */ + +#endif /* RC_INVOKED */ + +#ifdef __OBJC__ +/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int), + but undefining it causes trouble as well if a file is included after + windows.h +*/ +#undef BOOL +#endif + +#endif diff --git a/win32/include/winapi/winerror.h b/win32/include/winapi/winerror.h index 05d528f..8865d97 100644 --- a/win32/include/winapi/winerror.h +++ b/win32/include/winapi/winerror.h @@ -1,1054 +1,1054 @@ -#ifndef _WINERROR_H
-#define _WINERROR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define ERROR_SUCCESS 0L
-#define NO_ERROR 0L
-#define ERROR_INVALID_FUNCTION 1L
-#define ERROR_FILE_NOT_FOUND 2L
-#define ERROR_PATH_NOT_FOUND 3L
-#define ERROR_TOO_MANY_OPEN_FILES 4L
-#define ERROR_ACCESS_DENIED 5L
-#define ERROR_INVALID_HANDLE 6L
-#define ERROR_ARENA_TRASHED 7L
-#define ERROR_NOT_ENOUGH_MEMORY 8L
-#define ERROR_INVALID_BLOCK 9L
-#define ERROR_BAD_ENVIRONMENT 10L
-#define ERROR_BAD_FORMAT 11L
-#define ERROR_INVALID_ACCESS 12L
-#define ERROR_INVALID_DATA 13L
-#define ERROR_OUTOFMEMORY 14L
-#define ERROR_INVALID_DRIVE 15L
-#define ERROR_CURRENT_DIRECTORY 16L
-#define ERROR_NOT_SAME_DEVICE 17L
-#define ERROR_NO_MORE_FILES 18L
-#define ERROR_WRITE_PROTECT 19L
-#define ERROR_BAD_UNIT 20L
-#define ERROR_NOT_READY 21L
-#define ERROR_BAD_COMMAND 22L
-#define ERROR_CRC 23L
-#define ERROR_BAD_LENGTH 24L
-#define ERROR_SEEK 25L
-#define ERROR_NOT_DOS_DISK 26L
-#define ERROR_SECTOR_NOT_FOUND 27L
-#define ERROR_OUT_OF_PAPER 28L
-#define ERROR_WRITE_FAULT 29L
-#define ERROR_READ_FAULT 30L
-#define ERROR_GEN_FAILURE 31L
-#define ERROR_SHARING_VIOLATION 32L
-#define ERROR_LOCK_VIOLATION 33L
-#define ERROR_WRONG_DISK 34L
-#define ERROR_SHARING_BUFFER_EXCEEDED 36L
-#define ERROR_HANDLE_EOF 38L
-#define ERROR_HANDLE_DISK_FULL 39L
-#define ERROR_NOT_SUPPORTED 50L
-#define ERROR_REM_NOT_LIST 51L
-#define ERROR_DUP_NAME 52L
-#define ERROR_BAD_NETPATH 53L
-#define ERROR_NETWORK_BUSY 54L
-#define ERROR_DEV_NOT_EXIST 55L
-#define ERROR_TOO_MANY_CMDS 56L
-#define ERROR_ADAP_HDW_ERR 57L
-#define ERROR_BAD_NET_RESP 58L
-#define ERROR_UNEXP_NET_ERR 59L
-#define ERROR_BAD_REM_ADAP 60L
-#define ERROR_PRINTQ_FULL 61L
-#define ERROR_NO_SPOOL_SPACE 62L
-#define ERROR_PRINT_CANCELLED 63L
-#define ERROR_NETNAME_DELETED 64L
-#define ERROR_NETWORK_ACCESS_DENIED 65L
-#define ERROR_BAD_DEV_TYPE 66L
-#define ERROR_BAD_NET_NAME 67L
-#define ERROR_TOO_MANY_NAMES 68L
-#define ERROR_TOO_MANY_SESS 69L
-#define ERROR_SHARING_PAUSED 70L
-#define ERROR_REQ_NOT_ACCEP 71L
-#define ERROR_REDIR_PAUSED 72L
-#define ERROR_FILE_EXISTS 80L
-#define ERROR_CANNOT_MAKE 82L
-#define ERROR_FAIL_I24 83L
-#define ERROR_OUT_OF_STRUCTURES 84L
-#define ERROR_ALREADY_ASSIGNED 85L
-#define ERROR_INVALID_PASSWORD 86L
-#define ERROR_INVALID_PARAMETER 87L
-#define ERROR_NET_WRITE_FAULT 88L
-#define ERROR_NO_PROC_SLOTS 89L
-#define ERROR_TOO_MANY_SEMAPHORES 100L
-#define ERROR_EXCL_SEM_ALREADY_OWNED 101L
-#define ERROR_SEM_IS_SET 102L
-#define ERROR_TOO_MANY_SEM_REQUESTS 103L
-#define ERROR_INVALID_AT_INTERRUPT_TIME 104L
-#define ERROR_SEM_OWNER_DIED 105L
-#define ERROR_SEM_USER_LIMIT 106L
-#define ERROR_DISK_CHANGE 107L
-#define ERROR_DRIVE_LOCKED 108L
-#define ERROR_BROKEN_PIPE 109L
-#define ERROR_OPEN_FAILED 110L
-#define ERROR_BUFFER_OVERFLOW 111L
-#define ERROR_DISK_FULL 112L
-#define ERROR_NO_MORE_SEARCH_HANDLES 113L
-#define ERROR_INVALID_TARGET_HANDLE 114L
-#define ERROR_INVALID_CATEGORY 117L
-#define ERROR_INVALID_VERIFY_SWITCH 118L
-#define ERROR_BAD_DRIVER_LEVEL 119L
-#define ERROR_CALL_NOT_IMPLEMENTED 120L
-#define ERROR_SEM_TIMEOUT 121L
-#define ERROR_INSUFFICIENT_BUFFER 122L
-#define ERROR_INVALID_NAME 123L
-#define ERROR_INVALID_LEVEL 124L
-#define ERROR_NO_VOLUME_LABEL 125L
-#define ERROR_MOD_NOT_FOUND 126L
-#define ERROR_PROC_NOT_FOUND 127L
-#define ERROR_WAIT_NO_CHILDREN 128L
-#define ERROR_CHILD_NOT_COMPLETE 129L
-#define ERROR_DIRECT_ACCESS_HANDLE 130L
-#define ERROR_NEGATIVE_SEEK 131L
-#define ERROR_SEEK_ON_DEVICE 132L
-#define ERROR_IS_JOIN_TARGET 133L
-#define ERROR_IS_JOINED 134L
-#define ERROR_IS_SUBSTED 135L
-#define ERROR_NOT_JOINED 136L
-#define ERROR_NOT_SUBSTED 137L
-#define ERROR_JOIN_TO_JOIN 138L
-#define ERROR_SUBST_TO_SUBST 139L
-#define ERROR_JOIN_TO_SUBST 140L
-#define ERROR_SUBST_TO_JOIN 141L
-#define ERROR_BUSY_DRIVE 142L
-#define ERROR_SAME_DRIVE 143L
-#define ERROR_DIR_NOT_ROOT 144L
-#define ERROR_DIR_NOT_EMPTY 145L
-#define ERROR_IS_SUBST_PATH 146L
-#define ERROR_IS_JOIN_PATH 147L
-#define ERROR_PATH_BUSY 148L
-#define ERROR_IS_SUBST_TARGET 149L
-#define ERROR_SYSTEM_TRACE 150L
-#define ERROR_INVALID_EVENT_COUNT 151L
-#define ERROR_TOO_MANY_MUXWAITERS 152L
-#define ERROR_INVALID_LIST_FORMAT 153L
-#define ERROR_LABEL_TOO_LONG 154L
-#define ERROR_TOO_MANY_TCBS 155L
-#define ERROR_SIGNAL_REFUSED 156L
-#define ERROR_DISCARDED 157L
-#define ERROR_NOT_LOCKED 158L
-#define ERROR_BAD_THREADID_ADDR 159L
-#define ERROR_BAD_ARGUMENTS 160L
-#define ERROR_BAD_PATHNAME 161L
-#define ERROR_SIGNAL_PENDING 162L
-#define ERROR_MAX_THRDS_REACHED 164L
-#define ERROR_LOCK_FAILED 167L
-#define ERROR_BUSY 170L
-#define ERROR_CANCEL_VIOLATION 173L
-#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L
-#define ERROR_INVALID_SEGMENT_NUMBER 180L
-#define ERROR_INVALID_ORDINAL 182L
-#define ERROR_ALREADY_EXISTS 183L
-#define ERROR_INVALID_FLAG_NUMBER 186L
-#define ERROR_SEM_NOT_FOUND 187L
-#define ERROR_INVALID_STARTING_CODESEG 188L
-#define ERROR_INVALID_STACKSEG 189L
-#define ERROR_INVALID_MODULETYPE 190L
-#define ERROR_INVALID_EXE_SIGNATURE 191L
-#define ERROR_EXE_MARKED_INVALID 192L
-#define ERROR_BAD_EXE_FORMAT 193L
-#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L
-#define ERROR_INVALID_MINALLOCSIZE 195L
-#define ERROR_DYNLINK_FROM_INVALID_RING 196L
-#define ERROR_IOPL_NOT_ENABLED 197L
-#define ERROR_INVALID_SEGDPL 198L
-#define ERROR_AUTODATASEG_EXCEEDS_64k 199L
-#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L
-#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L
-#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L
-#define ERROR_ENVVAR_NOT_FOUND 203L
-#define ERROR_NO_SIGNAL_SENT 205L
-#define ERROR_FILENAME_EXCED_RANGE 206L
-#define ERROR_RING2_STACK_IN_USE 207L
-#define ERROR_META_EXPANSION_TOO_LONG 208L
-#define ERROR_INVALID_SIGNAL_NUMBER 209L
-#define ERROR_THREAD_1_INACTIVE 210L
-#define ERROR_LOCKED 212L
-#define ERROR_TOO_MANY_MODULES 214L
-#define ERROR_NESTING_NOT_ALLOWED 215L
-#define ERROR_BAD_PIPE 230L
-#define ERROR_PIPE_BUSY 231L
-#define ERROR_NO_DATA 232L
-#define ERROR_PIPE_NOT_CONNECTED 233L
-#define ERROR_MORE_DATA 234L
-#define ERROR_VC_DISCONNECTED 240L
-#define ERROR_INVALID_EA_NAME 254L
-#define ERROR_EA_LIST_INCONSISTENT 255L
-#define ERROR_NO_MORE_ITEMS 259L
-#define ERROR_CANNOT_COPY 266L
-#define ERROR_DIRECTORY 267L
-#define ERROR_EAS_DIDNT_FIT 275L
-#define ERROR_EA_FILE_CORRUPT 276L
-#define ERROR_EA_TABLE_FULL 277L
-#define ERROR_INVALID_EA_HANDLE 278L
-#define ERROR_EAS_NOT_SUPPORTED 282L
-#define ERROR_NOT_OWNER 288L
-#define ERROR_TOO_MANY_POSTS 298L
-#define ERROR_PARTIAL_COPY 299L
-#define ERROR_MR_MID_NOT_FOUND 317L
-#define ERROR_INVALID_ADDRESS 487L
-#define ERROR_ARITHMETIC_OVERFLOW 534L
-#define ERROR_PIPE_CONNECTED 535L
-#define ERROR_PIPE_LISTENING 536L
-#define ERROR_EA_ACCESS_DENIED 994L
-#define ERROR_OPERATION_ABORTED 995L
-#define ERROR_IO_INCOMPLETE 996L
-#define ERROR_IO_PENDING 997L
-#define ERROR_NOACCESS 998L
-#define ERROR_SWAPERROR 999L
-#define ERROR_STACK_OVERFLOW 1001L
-#define ERROR_INVALID_MESSAGE 1002L
-#define ERROR_CAN_NOT_COMPLETE 1003L
-#define ERROR_INVALID_FLAGS 1004L
-#define ERROR_UNRECOGNIZED_VOLUME 1005L
-#define ERROR_FILE_INVALID 1006L
-#define ERROR_FULLSCREEN_MODE 1007L
-#define ERROR_NO_TOKEN 1008L
-#define ERROR_BADDB 1009L
-#define ERROR_BADKEY 1010L
-#define ERROR_CANTOPEN 1011L
-#define ERROR_CANTREAD 1012L
-#define ERROR_CANTWRITE 1013L
-#define ERROR_REGISTRY_RECOVERED 1014L
-#define ERROR_REGISTRY_CORRUPT 1015L
-#define ERROR_REGISTRY_IO_FAILED 1016L
-#define ERROR_NOT_REGISTRY_FILE 1017L
-#define ERROR_KEY_DELETED 1018L
-#define ERROR_NO_LOG_SPACE 1019L
-#define ERROR_KEY_HAS_CHILDREN 1020L
-#define ERROR_CHILD_MUST_BE_VOLATILE 1021L
-#define ERROR_NOTIFY_ENUM_DIR 1022L
-#define ERROR_DEPENDENT_SERVICES_RUNNING 1051L
-#define ERROR_INVALID_SERVICE_CONTROL 1052L
-#define ERROR_SERVICE_REQUEST_TIMEOUT 1053L
-#define ERROR_SERVICE_NO_THREAD 1054L
-#define ERROR_SERVICE_DATABASE_LOCKED 1055L
-#define ERROR_SERVICE_ALREADY_RUNNING 1056L
-#define ERROR_INVALID_SERVICE_ACCOUNT 1057L
-#define ERROR_SERVICE_DISABLED 1058L
-#define ERROR_CIRCULAR_DEPENDENCY 1059L
-#define ERROR_SERVICE_DOES_NOT_EXIST 1060L
-#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061L
-#define ERROR_SERVICE_NOT_ACTIVE 1062L
-#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063L
-#define ERROR_EXCEPTION_IN_SERVICE 1064L
-#define ERROR_DATABASE_DOES_NOT_EXIST 1065L
-#define ERROR_SERVICE_SPECIFIC_ERROR 1066L
-#define ERROR_PROCESS_ABORTED 1067L
-#define ERROR_SERVICE_DEPENDENCY_FAIL 1068L
-#define ERROR_SERVICE_LOGON_FAILED 1069L
-#define ERROR_SERVICE_START_HANG 1070L
-#define ERROR_INVALID_SERVICE_LOCK 1071L
-#define ERROR_SERVICE_MARKED_FOR_DELETE 1072L
-#define ERROR_SERVICE_EXISTS 1073L
-#define ERROR_ALREADY_RUNNING_LKG 1074L
-#define ERROR_SERVICE_DEPENDENCY_DELETED 1075L
-#define ERROR_BOOT_ALREADY_ACCEPTED 1076L
-#define ERROR_SERVICE_NEVER_STARTED 1077L
-#define ERROR_DUPLICATE_SERVICE_NAME 1078L
-#define ERROR_END_OF_MEDIA 1100L
-#define ERROR_FILEMARK_DETECTED 1101L
-#define ERROR_BEGINNING_OF_MEDIA 1102L
-#define ERROR_SETMARK_DETECTED 1103L
-#define ERROR_NO_DATA_DETECTED 1104L
-#define ERROR_PARTITION_FAILURE 1105L
-#define ERROR_INVALID_BLOCK_LENGTH 1106L
-#define ERROR_DEVICE_NOT_PARTITIONED 1107L
-#define ERROR_UNABLE_TO_LOCK_MEDIA 1108L
-#define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109L
-#define ERROR_MEDIA_CHANGED 1110L
-#define ERROR_BUS_RESET 1111L
-#define ERROR_NO_MEDIA_IN_DRIVE 1112L
-#define ERROR_NO_UNICODE_TRANSLATION 1113L
-#define ERROR_DLL_INIT_FAILED 1114L
-#define ERROR_SHUTDOWN_IN_PROGRESS 1115L
-#define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116L
-#define ERROR_IO_DEVICE 1117L
-#define ERROR_SERIAL_NO_DEVICE 1118L
-#define ERROR_IRQ_BUSY 1119L
-#define ERROR_MORE_WRITES 1120L
-#define ERROR_COUNTER_TIMEOUT 1121L
-#define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122L
-#define ERROR_FLOPPY_WRONG_CYLINDER 1123L
-#define ERROR_FLOPPY_UNKNOWN_ERROR 1124L
-#define ERROR_FLOPPY_BAD_REGISTERS 1125L
-#define ERROR_DISK_RECALIBRATE_FAILED 1126L
-#define ERROR_DISK_OPERATION_FAILED 1127L
-#define ERROR_DISK_RESET_FAILED 1128L
-#define ERROR_EOM_OVERFLOW 1129L
-#define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130L
-#define ERROR_POSSIBLE_DEADLOCK 1131L
-#define ERROR_MAPPED_ALIGNMENT 1132L
-#define ERROR_SET_POWER_STATE_VETOED 1140L
-#define ERROR_SET_POWER_STATE_FAILED 1141L
-#define ERROR_TOO_MANY_LINKS 1142L
-#define ERROR_OLD_WIN_VERSION 1150L
-#define ERROR_APP_WRONG_OS 1151L
-#define ERROR_SINGLE_INSTANCE_APP 1152L
-#define ERROR_RMODE_APP 1153L
-#define ERROR_INVALID_DLL 1154L
-#define ERROR_NO_ASSOCIATION 1155L
-#define ERROR_DDE_FAIL 1156L
-#define ERROR_DLL_NOT_FOUND 1157L
-#define ERROR_BAD_USERNAME 2202L
-#define ERROR_NOT_CONNECTED 2250L
-#define ERROR_OPEN_FILES 2401L
-#define ERROR_ACTIVE_CONNECTIONS 2402L
-#define ERROR_DEVICE_IN_USE 2404L
-#define ERROR_BAD_DEVICE 1200L
-#define ERROR_CONNECTION_UNAVAIL 1201L
-#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L
-#define ERROR_NO_NET_OR_BAD_PATH 1203L
-#define ERROR_BAD_PROVIDER 1204L
-#define ERROR_CANNOT_OPEN_PROFILE 1205L
-#define ERROR_BAD_PROFILE 1206L
-#define ERROR_NOT_CONTAINER 1207L
-#define ERROR_EXTENDED_ERROR 1208L
-#define ERROR_INVALID_GROUPNAME 1209L
-#define ERROR_INVALID_COMPUTERNAME 1210L
-#define ERROR_INVALID_EVENTNAME 1211L
-#define ERROR_INVALID_DOMAINNAME 1212L
-#define ERROR_INVALID_SERVICENAME 1213L
-#define ERROR_INVALID_NETNAME 1214L
-#define ERROR_INVALID_SHARENAME 1215L
-#define ERROR_INVALID_PASSWORDNAME 1216L
-#define ERROR_INVALID_MESSAGENAME 1217L
-#define ERROR_INVALID_MESSAGEDEST 1218L
-#define ERROR_SESSION_CREDENTIAL_CONFLICT 1219L
-#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220L
-#define ERROR_DUP_DOMAINNAME 1221L
-#define ERROR_NO_NETWORK 1222L
-#define ERROR_CANCELLED 1223L
-#define ERROR_USER_MAPPED_FILE 1224L
-#define ERROR_CONNECTION_REFUSED 1225L
-#define ERROR_GRACEFUL_DISCONNECT 1226L
-#define ERROR_ADDRESS_ALREADY_ASSOCIATED 1227L
-#define ERROR_ADDRESS_NOT_ASSOCIATED 1228L
-#define ERROR_CONNECTION_INVALID 1229L
-#define ERROR_CONNECTION_ACTIVE 1230L
-#define ERROR_NETWORK_UNREACHABLE 1231L
-#define ERROR_HOST_UNREACHABLE 1232L
-#define ERROR_PROTOCOL_UNREACHABLE 1233L
-#define ERROR_PORT_UNREACHABLE 1234L
-#define ERROR_REQUEST_ABORTED 1235L
-#define ERROR_CONNECTION_ABORTED 1236L
-#define ERROR_RETRY 1237L
-#define ERROR_CONNECTION_COUNT_LIMIT 1238L
-#define ERROR_LOGIN_TIME_RESTRICTION 1239L
-#define ERROR_LOGIN_WKSTA_RESTRICTION 1240L
-#define ERROR_INCORRECT_ADDRESS 1241L
-#define ERROR_ALREADY_REGISTERED 1242L
-#define ERROR_SERVICE_NOT_FOUND 1243L
-#define ERROR_NOT_AUTHENTICATED 1244L
-#define ERROR_NOT_LOGGED_ON 1245L
-#define ERROR_CONTINUE 1246L
-#define ERROR_ALREADY_INITIALIZED 1247L
-#define ERROR_NO_MORE_DEVICES 1248L
-#define ERROR_NOT_ALL_ASSIGNED 1300L
-#define ERROR_SOME_NOT_MAPPED 1301L
-#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302L
-#define ERROR_LOCAL_USER_SESSION_KEY 1303L
-#define ERROR_NULL_LM_PASSWORD 1304L
-#define ERROR_UNKNOWN_REVISION 1305L
-#define ERROR_REVISION_MISMATCH 1306L
-#define ERROR_INVALID_OWNER 1307L
-#define ERROR_INVALID_PRIMARY_GROUP 1308L
-#define ERROR_NO_IMPERSONATION_TOKEN 1309L
-#define ERROR_CANT_DISABLE_MANDATORY 1310L
-#define ERROR_NO_LOGON_SERVERS 1311L
-#define ERROR_NO_SUCH_LOGON_SESSION 1312L
-#define ERROR_NO_SUCH_PRIVILEGE 1313L
-#define ERROR_PRIVILEGE_NOT_HELD 1314L
-#define ERROR_INVALID_ACCOUNT_NAME 1315L
-#define ERROR_USER_EXISTS 1316L
-#define ERROR_NO_SUCH_USER 1317L
-#define ERROR_GROUP_EXISTS 1318L
-#define ERROR_NO_SUCH_GROUP 1319L
-#define ERROR_MEMBER_IN_GROUP 1320L
-#define ERROR_MEMBER_NOT_IN_GROUP 1321L
-#define ERROR_LAST_ADMIN 1322L
-#define ERROR_WRONG_PASSWORD 1323L
-#define ERROR_ILL_FORMED_PASSWORD 1324L
-#define ERROR_PASSWORD_RESTRICTION 1325L
-#define ERROR_LOGON_FAILURE 1326L
-#define ERROR_ACCOUNT_RESTRICTION 1327L
-#define ERROR_INVALID_LOGON_HOURS 1328L
-#define ERROR_INVALID_WORKSTATION 1329L
-#define ERROR_PASSWORD_EXPIRED 1330L
-#define ERROR_ACCOUNT_DISABLED 1331L
-#define ERROR_NONE_MAPPED 1332L
-#define ERROR_TOO_MANY_LUIDS_REQUESTED 1333L
-#define ERROR_LUIDS_EXHAUSTED 1334L
-#define ERROR_INVALID_SUB_AUTHORITY 1335L
-#define ERROR_INVALID_ACL 1336L
-#define ERROR_INVALID_SID 1337L
-#define ERROR_INVALID_SECURITY_DESCR 1338L
-#define ERROR_BAD_INHERITANCE_ACL 1340L
-#define ERROR_SERVER_DISABLED 1341L
-#define ERROR_SERVER_NOT_DISABLED 1342L
-#define ERROR_INVALID_ID_AUTHORITY 1343L
-#define ERROR_ALLOTTED_SPACE_EXCEEDED 1344L
-#define ERROR_INVALID_GROUP_ATTRIBUTES 1345L
-#define ERROR_BAD_IMPERSONATION_LEVEL 1346L
-#define ERROR_CANT_OPEN_ANONYMOUS 1347L
-#define ERROR_BAD_VALIDATION_CLASS 1348L
-#define ERROR_BAD_TOKEN_TYPE 1349L
-#define ERROR_NO_SECURITY_ON_OBJECT 1350L
-#define ERROR_CANT_ACCESS_DOMAIN_INFO 1351L
-#define ERROR_INVALID_SERVER_STATE 1352L
-#define ERROR_INVALID_DOMAIN_STATE 1353L
-#define ERROR_INVALID_DOMAIN_ROLE 1354L
-#define ERROR_NO_SUCH_DOMAIN 1355L
-#define ERROR_DOMAIN_EXISTS 1356L
-#define ERROR_DOMAIN_LIMIT_EXCEEDED 1357L
-#define ERROR_INTERNAL_DB_CORRUPTION 1358L
-#define ERROR_INTERNAL_ERROR 1359L
-#define ERROR_GENERIC_NOT_MAPPED 1360L
-#define ERROR_BAD_DESCRIPTOR_FORMAT 1361L
-#define ERROR_NOT_LOGON_PROCESS 1362L
-#define ERROR_LOGON_SESSION_EXISTS 1363L
-#define ERROR_NO_SUCH_PACKAGE 1364L
-#define ERROR_BAD_LOGON_SESSION_STATE 1365L
-#define ERROR_LOGON_SESSION_COLLISION 1366L
-#define ERROR_INVALID_LOGON_TYPE 1367L
-#define ERROR_CANNOT_IMPERSONATE 1368L
-#define ERROR_RXACT_INVALID_STATE 1369L
-#define ERROR_RXACT_COMMIT_FAILURE 1370L
-#define ERROR_SPECIAL_ACCOUNT 1371L
-#define ERROR_SPECIAL_GROUP 1372L
-#define ERROR_SPECIAL_USER 1373L
-#define ERROR_MEMBERS_PRIMARY_GROUP 1374L
-#define ERROR_TOKEN_ALREADY_IN_USE 1375L
-#define ERROR_NO_SUCH_ALIAS 1376L
-#define ERROR_MEMBER_NOT_IN_ALIAS 1377L
-#define ERROR_MEMBER_IN_ALIAS 1378L
-#define ERROR_ALIAS_EXISTS 1379L
-#define ERROR_LOGON_NOT_GRANTED 1380L
-#define ERROR_TOO_MANY_SECRETS 1381L
-#define ERROR_SECRET_TOO_LONG 1382L
-#define ERROR_INTERNAL_DB_ERROR 1383L
-#define ERROR_TOO_MANY_CONTEXT_IDS 1384L
-#define ERROR_LOGON_TYPE_NOT_GRANTED 1385L
-#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386L
-#define ERROR_NO_SUCH_MEMBER 1387L
-#define ERROR_INVALID_MEMBER 1388L
-#define ERROR_TOO_MANY_SIDS 1389L
-#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390L
-#define ERROR_NO_INHERITANCE 1391L
-#define ERROR_FILE_CORRUPT 1392L
-#define ERROR_DISK_CORRUPT 1393L
-#define ERROR_NO_USER_SESSION_KEY 1394L
-#define ERROR_LICENSE_QUOTA_EXCEEDED 1395L
-#define ERROR_INVALID_WINDOW_HANDLE 1400L
-#define ERROR_INVALID_MENU_HANDLE 1401L
-#define ERROR_INVALID_CURSOR_HANDLE 1402L
-#define ERROR_INVALID_ACCEL_HANDLE 1403L
-#define ERROR_INVALID_HOOK_HANDLE 1404L
-#define ERROR_INVALID_DWP_HANDLE 1405L
-#define ERROR_TLW_WITH_WSCHILD 1406L
-#define ERROR_CANNOT_FIND_WND_CLASS 1407L
-#define ERROR_WINDOW_OF_OTHER_THREAD 1408L
-#define ERROR_HOTKEY_ALREADY_REGISTERED 1409L
-#define ERROR_CLASS_ALREADY_EXISTS 1410L
-#define ERROR_CLASS_DOES_NOT_EXIST 1411L
-#define ERROR_CLASS_HAS_WINDOWS 1412L
-#define ERROR_INVALID_INDEX 1413L
-#define ERROR_INVALID_ICON_HANDLE 1414L
-#define ERROR_PRIVATE_DIALOG_INDEX 1415L
-#define ERROR_LISTBOX_ID_NOT_FOUND 1416L
-#define ERROR_NO_WILDCARD_CHARACTERS 1417L
-#define ERROR_CLIPBOARD_NOT_OPEN 1418L
-#define ERROR_HOTKEY_NOT_REGISTERED 1419L
-#define ERROR_WINDOW_NOT_DIALOG 1420L
-#define ERROR_CONTROL_ID_NOT_FOUND 1421L
-#define ERROR_INVALID_COMBOBOX_MESSAGE 1422L
-#define ERROR_WINDOW_NOT_COMBOBOX 1423L
-#define ERROR_INVALID_EDIT_HEIGHT 1424L
-#define ERROR_DC_NOT_FOUND 1425L
-#define ERROR_INVALID_HOOK_FILTER 1426L
-#define ERROR_INVALID_FILTER_PROC 1427L
-#define ERROR_HOOK_NEEDS_HMOD 1428L
-#define ERROR_GLOBAL_ONLY_HOOK 1429L
-#define ERROR_JOURNAL_HOOK_SET 1430L
-#define ERROR_HOOK_NOT_INSTALLED 1431L
-#define ERROR_INVALID_LB_MESSAGE 1432L
-#define ERROR_SETCOUNT_ON_BAD_LB 1433L
-#define ERROR_LB_WITHOUT_TABSTOPS 1434L
-#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435L
-#define ERROR_CHILD_WINDOW_MENU 1436L
-#define ERROR_NO_SYSTEM_MENU 1437L
-#define ERROR_INVALID_MSGBOX_STYLE 1438L
-#define ERROR_INVALID_SPI_VALUE 1439L
-#define ERROR_SCREEN_ALREADY_LOCKED 1440L
-#define ERROR_HWNDS_HAVE_DIFF_PARENT 1441L
-#define ERROR_NOT_CHILD_WINDOW 1442L
-#define ERROR_INVALID_GW_COMMAND 1443L
-#define ERROR_INVALID_THREAD_ID 1444L
-#define ERROR_NON_MDICHILD_WINDOW 1445L
-#define ERROR_POPUP_ALREADY_ACTIVE 1446L
-#define ERROR_NO_SCROLLBARS 1447L
-#define ERROR_INVALID_SCROLLBAR_RANGE 1448L
-#define ERROR_INVALID_SHOWWIN_COMMAND 1449L
-#define ERROR_NO_SYSTEM_RESOURCES 1450L
-#define ERROR_NONPAGED_SYSTEM_RESOURCES 1451L
-#define ERROR_PAGED_SYSTEM_RESOURCES 1452L
-#define ERROR_WORKING_SET_QUOTA 1453L
-#define ERROR_PAGEFILE_QUOTA 1454L
-#define ERROR_COMMITMENT_LIMIT 1455L
-#define ERROR_MENU_ITEM_NOT_FOUND 1456L
-#define ERROR_EVENTLOG_FILE_CORRUPT 1500L
-#define ERROR_EVENTLOG_CANT_START 1501L
-#define ERROR_LOG_FILE_FULL 1502L
-#define ERROR_EVENTLOG_FILE_CHANGED 1503L
-#define RPC_S_INVALID_STRING_BINDING 1700L
-#define RPC_S_WRONG_KIND_OF_BINDING 1701L
-#define RPC_S_INVALID_BINDING 1702L
-#define RPC_S_PROTSEQ_NOT_SUPPORTED 1703L
-#define RPC_S_INVALID_RPC_PROTSEQ 1704L
-#define RPC_S_INVALID_STRING_UUID 1705L
-#define RPC_S_INVALID_ENDPOINT_FORMAT 1706L
-#define RPC_S_INVALID_NET_ADDR 1707L
-#define RPC_S_NO_ENDPOINT_FOUND 1708L
-#define RPC_S_INVALID_TIMEOUT 1709L
-#define RPC_S_OBJECT_NOT_FOUND 1710L
-#define RPC_S_ALREADY_REGISTERED 1711L
-#define RPC_S_TYPE_ALREADY_REGISTERED 1712L
-#define RPC_S_ALREADY_LISTENING 1713L
-#define RPC_S_NO_PROTSEQS_REGISTERED 1714L
-#define RPC_S_NOT_LISTENING 1715L
-#define RPC_S_UNKNOWN_MGR_TYPE 1716L
-#define RPC_S_UNKNOWN_IF 1717L
-#define RPC_S_NO_BINDINGS 1718L
-#define RPC_S_NO_PROTSEQS 1719L
-#define RPC_S_CANT_CREATE_ENDPOINT 1720L
-#define RPC_S_OUT_OF_RESOURCES 1721L
-#define RPC_S_SERVER_UNAVAILABLE 1722L
-#define RPC_S_SERVER_TOO_BUSY 1723L
-#define RPC_S_INVALID_NETWORK_OPTIONS 1724L
-#define RPC_S_NO_CALL_ACTIVE 1725L
-#define RPC_S_CALL_FAILED 1726L
-#define RPC_S_CALL_FAILED_DNE 1727L
-#define RPC_S_PROTOCOL_ERROR 1728L
-#define RPC_S_UNSUPPORTED_TRANS_SYN 1730L
-#define RPC_S_UNSUPPORTED_TYPE 1732L
-#define RPC_S_INVALID_TAG 1733L
-#define RPC_S_INVALID_BOUND 1734L
-#define RPC_S_NO_ENTRY_NAME 1735L
-#define RPC_S_INVALID_NAME_SYNTAX 1736L
-#define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737L
-#define RPC_S_UUID_NO_ADDRESS 1739L
-#define RPC_S_DUPLICATE_ENDPOINT 1740L
-#define RPC_S_UNKNOWN_AUTHN_TYPE 1741L
-#define RPC_S_MAX_CALLS_TOO_SMALL 1742L
-#define RPC_S_STRING_TOO_LONG 1743L
-#define RPC_S_PROTSEQ_NOT_FOUND 1744L
-#define RPC_S_PROCNUM_OUT_OF_RANGE 1745L
-#define RPC_S_BINDING_HAS_NO_AUTH 1746L
-#define RPC_S_UNKNOWN_AUTHN_SERVICE 1747L
-#define RPC_S_UNKNOWN_AUTHN_LEVEL 1748L
-#define RPC_S_INVALID_AUTH_IDENTITY 1749L
-#define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750L
-#define EPT_S_INVALID_ENTRY 1751L
-#define EPT_S_CANT_PERFORM_OP 1752L
-#define EPT_S_NOT_REGISTERED 1753L
-#define RPC_S_NOTHING_TO_EXPORT 1754L
-#define RPC_S_INCOMPLETE_NAME 1755L
-#define RPC_S_INVALID_VERS_OPTION 1756L
-#define RPC_S_NO_MORE_MEMBERS 1757L
-#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758L
-#define RPC_S_INTERFACE_NOT_FOUND 1759L
-#define RPC_S_ENTRY_ALREADY_EXISTS 1760L
-#define RPC_S_ENTRY_NOT_FOUND 1761L
-#define RPC_S_NAME_SERVICE_UNAVAILABLE 1762L
-#define RPC_S_INVALID_NAF_ID 1763L
-#define RPC_S_CANNOT_SUPPORT 1764L
-#define RPC_S_NO_CONTEXT_AVAILABLE 1765L
-#define RPC_S_INTERNAL_ERROR 1766L
-#define RPC_S_ZERO_DIVIDE 1767L
-#define RPC_S_ADDRESS_ERROR 1768L
-#define RPC_S_FP_DIV_ZERO 1769L
-#define RPC_S_FP_UNDERFLOW 1770L
-#define RPC_S_FP_OVERFLOW 1771L
-#define RPC_X_NO_MORE_ENTRIES 1772L
-#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773L
-#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774L
-#define RPC_X_SS_IN_NULL_CONTEXT 1775L
-#define RPC_X_SS_CONTEXT_DAMAGED 1777L
-#define RPC_X_SS_HANDLES_MISMATCH 1778L
-#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779L
-#define RPC_X_NULL_REF_POINTER 1780L
-#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781L
-#define RPC_X_BYTE_COUNT_TOO_SMALL 1782L
-#define RPC_X_BAD_STUB_DATA 1783L
-#define ERROR_INVALID_USER_BUFFER 1784L
-#define ERROR_UNRECOGNIZED_MEDIA 1785L
-#define ERROR_NO_TRUST_LSA_SECRET 1786L
-#define ERROR_NO_TRUST_SAM_ACCOUNT 1787L
-#define ERROR_TRUSTED_DOMAIN_FAILURE 1788L
-#define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789L
-#define ERROR_TRUST_FAILURE 1790L
-#define RPC_S_CALL_IN_PROGRESS 1791L
-#define ERROR_NETLOGON_NOT_STARTED 1792L
-#define ERROR_ACCOUNT_EXPIRED 1793L
-#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794L
-#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795L
-#define ERROR_UNKNOWN_PORT 1796L
-#define ERROR_UNKNOWN_PRINTER_DRIVER 1797L
-#define ERROR_UNKNOWN_PRINTPROCESSOR 1798L
-#define ERROR_INVALID_SEPARATOR_FILE 1799L
-#define ERROR_INVALID_PRIORITY 1800L
-#define ERROR_INVALID_PRINTER_NAME 1801L
-#define ERROR_PRINTER_ALREADY_EXISTS 1802L
-#define ERROR_INVALID_PRINTER_COMMAND 1803L
-#define ERROR_INVALID_DATATYPE 1804L
-#define ERROR_INVALID_ENVIRONMENT 1805L
-#define RPC_S_NO_MORE_BINDINGS 1806L
-#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807L
-#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808L
-#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809L
-#define ERROR_DOMAIN_TRUST_INCONSISTENT 1810L
-#define ERROR_SERVER_HAS_OPEN_HANDLES 1811L
-#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L
-#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L
-#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L
-#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L
-#define ERROR_NOT_ENOUGH_QUOTA 1816L
-#define RPC_S_NO_INTERFACES 1817L
-#define RPC_S_CALL_CANCELLED 1818L
-#define RPC_S_BINDING_INCOMPLETE 1819L
-#define RPC_S_COMM_FAILURE 1820L
-#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 1821L
-#define RPC_S_NO_PRINC_NAME 1822L
-#define RPC_S_NOT_RPC_ERROR 1823L
-#define RPC_S_UUID_LOCAL_ONLY 1824L
-#define RPC_S_SEC_PKG_ERROR 1825L
-#define RPC_S_NOT_CANCELLED 1826L
-#define RPC_X_INVALID_ES_ACTION 1827L
-#define RPC_X_WRONG_ES_VERSION 1828L
-#define RPC_X_WRONG_STUB_VERSION 1829L
-#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L
-#define EPT_S_CANT_CREATE 1899L
-#define RPC_S_INVALID_OBJECT 1900L
-#define ERROR_INVALID_TIME 1901L
-#define ERROR_INVALID_FORM_NAME 1902L
-#define ERROR_INVALID_FORM_SIZE 1903L
-#define ERROR_ALREADY_WAITING 1904L
-#define ERROR_PRINTER_DELETED 1905L
-#define ERROR_INVALID_PRINTER_STATE 1906L
-#define ERROR_PASSWORD_MUST_CHANGE 1907L
-#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L
-#define ERROR_ACCOUNT_LOCKED_OUT 1909L
-#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L
-#define ERROR_INVALID_PIXEL_FORMAT 2000L
-#define ERROR_BAD_DRIVER 2001L
-#define ERROR_INVALID_WINDOW_STYLE 2002L
-#define ERROR_METAFILE_NOT_SUPPORTED 2003L
-#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L
-#define ERROR_CLIPPING_NOT_SUPPORTED 2005L
-#define ERROR_UNKNOWN_PRINT_MONITOR 3000L
-#define ERROR_PRINTER_DRIVER_IN_USE 3001L
-#define ERROR_SPOOL_FILE_NOT_FOUND 3002L
-#define ERROR_SPL_NO_STARTDOC 3003L
-#define ERROR_SPL_NO_ADDJOB 3004L
-#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005L
-#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006L
-#define ERROR_WINS_INTERNAL 4000L
-#define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001L
-#define ERROR_STATIC_INIT 4002L
-#define ERROR_INC_BACKUP 4003L
-#define ERROR_FULL_BACKUP 4004L
-#define ERROR_REC_NON_EXISTENT 4005L
-#define ERROR_RPL_NOT_ALLOWED 4006L
-#define SEVERITY_SUCCESS 0
-#define SEVERITY_ERROR 1
-#define FACILITY_WINDOWS 8
-#define FACILITY_STORAGE 3
-#define FACILITY_RPC 1
-#define FACILITY_WIN32 7
-#define FACILITY_CONTROL 10
-#define FACILITY_NULL 0
-#define FACILITY_ITF 4
-#define FACILITY_DISPATCH 2
-#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
-#define FAILED(Status) ((HRESULT)(Status)<0)
-#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR)
-#define HRESULT_CODE(r) ((r)&0xFFFF)
-#define SCODE_CODE(c) ((c)&0xFFFF)
-#define HRESULT_FACILITY(r) (((r)>>16)&0x1fff)
-#define SCODE_FACILITY(c) (((c)>>16)&0x1fff)
-#define HRESULT_SEVERITY(r) (((r)>>31)&0x1)
-#define SCODE_SEVERITY(c) (((c)>>31)&0x1)
-#define MAKE_HRESULT(s,f,c) ((HRESULT)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))))
-#define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) )
-#define FACILITY_NT_BIT 0x10000000
-#define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0)
-#define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT))
-#define GetScode(hr) ((SCODE) (hr))
-#define ResultFromScode(sc) ((HRESULT) (sc))
-#define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase)
-
-#define NOERROR S_OK
-#define E_UNEXPECTED 0x8000FFFFL
-#define E_NOTIMPL 0x80004001L
-#define E_OUTOFMEMORY 0x8007000EL
-#define E_INVALIDARG 0x80070057L
-#define E_NOINTERFACE 0x80004002L
-#define E_POINTER 0x80004003L
-#define E_HANDLE 0x80070006L
-#define E_ABORT 0x80004004L
-#define E_FAIL 0x80004005L
-#define E_ACCESSDENIED 0x80070005L
-#define E_PENDING 0x8000000AL
-#define CO_E_INIT_TLS 0x80004006L
-#define CO_E_INIT_SHARED_ALLOCATOR 0x80004007L
-#define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008L
-#define CO_E_INIT_CLASS_CACHE 0x80004009L
-#define CO_E_INIT_RPC_CHANNEL 0x8000400AL
-#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400BL
-#define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400CL
-#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400DL
-#define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400EL
-#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400FL
-#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010L
-#define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011L
-#define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012L
-#define S_OK (0x00000000L)
-#define S_FALSE (0x00000001L)
-#define OLE_E_FIRST 0x80040000L
-#define OLE_E_LAST 0x800400FFL
-#define OLE_S_FIRST 0x00040000L
-#define OLE_S_LAST 0x000400FFL
-#define OLE_E_OLEVERB 0x80040000L
-#define OLE_E_ADVF 0x80040001L
-#define OLE_E_ENUM_NOMORE 0x80040002L
-#define OLE_E_ADVISENOTSUPPORTED 0x80040003L
-#define OLE_E_NOCONNECTION 0x80040004L
-#define OLE_E_NOTRUNNING 0x80040005L
-#define OLE_E_NOCACHE 0x80040006L
-#define OLE_E_BLANK 0x80040007L
-#define OLE_E_CLASSDIFF 0x80040008L
-#define OLE_E_CANT_GETMONIKER 0x80040009L
-#define OLE_E_CANT_BINDTOSOURCE 0x8004000AL
-#define OLE_E_STATIC 0x8004000BL
-#define OLE_E_PROMPTSAVECANCELLED 0x8004000CL
-#define OLE_E_INVALIDRECT 0x8004000DL
-#define OLE_E_WRONGCOMPOBJ 0x8004000EL
-#define OLE_E_INVALIDHWND 0x8004000FL
-#define OLE_E_NOT_INPLACEACTIVE 0x80040010L
-#define OLE_E_CANTCONVERT 0x80040011L
-#define OLE_E_NOSTORAGE 0x80040012L
-#define DV_E_FORMATETC 0x80040064L
-#define DV_E_DVTARGETDEVICE 0x80040065L
-#define DV_E_STGMEDIUM 0x80040066L
-#define DV_E_STATDATA 0x80040067L
-#define DV_E_LINDEX 0x80040068L
-#define DV_E_TYMED 0x80040069L
-#define DV_E_CLIPFORMAT 0x8004006AL
-#define DV_E_DVASPECT 0x8004006BL
-#define DV_E_DVTARGETDEVICE_SIZE 0x8004006CL
-#define DV_E_NOIVIEWOBJECT 0x8004006DL
-#define DRAGDROP_E_FIRST 0x80040100L
-#define DRAGDROP_E_LAST 0x8004010FL
-#define DRAGDROP_S_FIRST 0x00040100L
-#define DRAGDROP_S_LAST 0x0004010FL
-#define DRAGDROP_E_NOTREGISTERED 0x80040100L
-#define DRAGDROP_E_ALREADYREGISTERED 0x80040101L
-#define DRAGDROP_E_INVALIDHWND 0x80040102L
-#define CLASSFACTORY_E_FIRST 0x80040110L
-#define CLASSFACTORY_E_LAST 0x8004011FL
-#define CLASSFACTORY_S_FIRST 0x00040110L
-#define CLASSFACTORY_S_LAST 0x0004011FL
-#define CLASS_E_NOAGGREGATION 0x80040110L
-#define CLASS_E_CLASSNOTAVAILABLE 0x80040111L
-#define MARSHAL_E_FIRST 0x80040120L
-#define MARSHAL_E_LAST 0x8004012FL
-#define MARSHAL_S_FIRST 0x00040120L
-#define MARSHAL_S_LAST 0x0004012FL
-#define DATA_E_FIRST 0x80040130L
-#define DATA_E_LAST 0x8004013FL
-#define DATA_S_FIRST 0x00040130L
-#define DATA_S_LAST 0x0004013FL
-#define VIEW_E_FIRST 0x80040140L
-#define VIEW_E_LAST 0x8004014FL
-#define VIEW_S_FIRST 0x00040140L
-#define VIEW_S_LAST 0x0004014FL
-#define VIEW_E_DRAW 0x80040140L
-#define REGDB_E_FIRST 0x80040150L
-#define REGDB_E_LAST 0x8004015FL
-#define REGDB_S_FIRST 0x00040150L
-#define REGDB_S_LAST 0x0004015FL
-#define REGDB_E_READREGDB 0x80040150L
-#define REGDB_E_WRITEREGDB 0x80040151L
-#define REGDB_E_KEYMISSING 0x80040152L
-#define REGDB_E_INVALIDVALUE 0x80040153L
-#define REGDB_E_CLASSNOTREG 0x80040154L
-#define REGDB_E_IIDNOTREG 0x80040155L
-#define CACHE_E_FIRST 0x80040170L
-#define CACHE_E_LAST 0x8004017FL
-#define CACHE_S_FIRST 0x00040170L
-#define CACHE_S_LAST 0x0004017FL
-#define CACHE_E_NOCACHE_UPDATED 0x80040170L
-#define OLEOBJ_E_FIRST 0x80040180L
-#define OLEOBJ_E_LAST 0x8004018FL
-#define OLEOBJ_S_FIRST 0x00040180L
-#define OLEOBJ_S_LAST 0x0004018FL
-#define OLEOBJ_E_NOVERBS 0x80040180L
-#define OLEOBJ_E_INVALIDVERB 0x80040181L
-#define CLIENTSITE_E_FIRST 0x80040190L
-#define CLIENTSITE_E_LAST 0x8004019FL
-#define CLIENTSITE_S_FIRST 0x00040190L
-#define CLIENTSITE_S_LAST 0x0004019FL
-#define INPLACE_E_NOTUNDOABLE 0x800401A0L
-#define INPLACE_E_NOTOOLSPACE 0x800401A1L
-#define INPLACE_E_FIRST 0x800401A0L
-#define INPLACE_E_LAST 0x800401AFL
-#define INPLACE_S_FIRST 0x000401A0L
-#define INPLACE_S_LAST 0x000401AFL
-#define ENUM_E_FIRST 0x800401B0L
-#define ENUM_E_LAST 0x800401BFL
-#define ENUM_S_FIRST 0x000401B0L
-#define ENUM_S_LAST 0x000401BFL
-#define CONVERT10_E_FIRST 0x800401C0L
-#define CONVERT10_E_LAST 0x800401CFL
-#define CONVERT10_S_FIRST 0x000401C0L
-#define CONVERT10_S_LAST 0x000401CFL
-#define CONVERT10_E_OLESTREAM_GET 0x800401C0L
-#define CONVERT10_E_OLESTREAM_PUT 0x800401C1L
-#define CONVERT10_E_OLESTREAM_FMT 0x800401C2L
-#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 0x800401C3L
-#define CONVERT10_E_STG_FMT 0x800401C4L
-#define CONVERT10_E_STG_NO_STD_STREAM 0x800401C5L
-#define CONVERT10_E_STG_DIB_TO_BITMAP 0x800401C6L
-#define CLIPBRD_E_FIRST 0x800401D0L
-#define CLIPBRD_E_LAST 0x800401DFL
-#define CLIPBRD_S_FIRST 0x000401D0L
-#define CLIPBRD_S_LAST 0x000401DFL
-#define CLIPBRD_E_CANT_OPEN 0x800401D0L
-#define CLIPBRD_E_CANT_EMPTY 0x800401D1L
-#define CLIPBRD_E_CANT_SET 0x800401D2L
-#define CLIPBRD_E_BAD_DATA 0x800401D3L
-#define CLIPBRD_E_CANT_CLOSE 0x800401D4L
-#define MK_E_FIRST 0x800401E0L
-#define MK_E_LAST 0x800401EFL
-#define MK_S_FIRST 0x000401E0L
-#define MK_S_LAST 0x000401EFL
-#define MK_E_CONNECTMANUALLY 0x800401E0L
-#define MK_E_EXCEEDEDDEADLINE 0x800401E1L
-#define MK_E_NEEDGENERIC 0x800401E2L
-#define MK_E_UNAVAILABLE 0x800401E3L
-#define MK_E_SYNTAX 0x800401E4L
-#define MK_E_NOOBJECT 0x800401E5L
-#define MK_E_INVALIDEXTENSION 0x800401E6L
-#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 0x800401E7L
-#define MK_E_NOTBINDABLE 0x800401E8L
-#define MK_E_NOTBOUND 0x800401E9L
-#define MK_E_CANTOPENFILE 0x800401EAL
-#define MK_E_MUSTBOTHERUSER 0x800401EBL
-#define MK_E_NOINVERSE 0x800401ECL
-#define MK_E_NOSTORAGE 0x800401EDL
-#define MK_E_NOPREFIX 0x800401EEL
-#define MK_E_ENUMERATION_FAILED 0x800401EFL
-#define CO_E_FIRST 0x800401F0L
-#define CO_E_LAST 0x800401FFL
-#define CO_S_FIRST 0x000401F0L
-#define CO_S_LAST 0x000401FFL
-#define CO_E_NOTINITIALIZED 0x800401F0L
-#define CO_E_ALREADYINITIALIZED 0x800401F1L
-#define CO_E_CANTDETERMINECLASS 0x800401F2L
-#define CO_E_CLASSSTRING 0x800401F3L
-#define CO_E_IIDSTRING 0x800401F4L
-#define CO_E_APPNOTFOUND 0x800401F5L
-#define CO_E_APPSINGLEUSE 0x800401F6L
-#define CO_E_ERRORINAPP 0x800401F7L
-#define CO_E_DLLNOTFOUND 0x800401F8L
-#define CO_E_ERRORINDLL 0x800401F9L
-#define CO_E_WRONGOSFORAPP 0x800401FAL
-#define CO_E_OBJNOTREG 0x800401FBL
-#define CO_E_OBJISREG 0x800401FCL
-#define CO_E_OBJNOTCONNECTED 0x800401FDL
-#define CO_E_APPDIDNTREG 0x800401FEL
-#define CO_E_RELEASED 0x800401FFL
-#define OLE_S_USEREG 0x00040000L
-#define OLE_S_STATIC 0x00040001L
-#define OLE_S_MAC_CLIPFORMAT 0x00040002L
-#define DRAGDROP_S_DROP 0x00040100L
-#define DRAGDROP_S_CANCEL 0x00040101L
-#define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L
-#define DATA_S_SAMEFORMATETC 0x00040130L
-#define VIEW_S_ALREADY_FROZEN 0x00040140L
-#define CACHE_S_FORMATETC_NOTSUPPORTED 0x00040170L
-#define CACHE_S_SAMECACHE 0x00040171L
-#define CACHE_S_SOMECACHES_NOTUPDATED 0x00040172L
-#define OLEOBJ_S_INVALIDVERB 0x00040180L
-#define OLEOBJ_S_CANNOT_DOVERB_NOW 0x00040181L
-#define OLEOBJ_S_INVALIDHWND 0x00040182L
-#define INPLACE_S_TRUNCATED 0x000401A0L
-#define CONVERT10_S_NO_PRESENTATION 0x000401C0L
-#define MK_S_REDUCED_TO_SELF 0x000401E2L
-#define MK_S_ME 0x000401E4L
-#define MK_S_HIM 0x000401E5L
-#define MK_S_US 0x000401E6L
-#define MK_S_MONIKERALREADYREGISTERED 0x000401E7L
-#define CO_E_CLASS_CREATE_FAILED 0x80080001L
-#define CO_E_SCM_ERROR 0x80080002L
-#define CO_E_SCM_RPC_FAILURE 0x80080003L
-#define CO_E_BAD_PATH 0x80080004L
-#define CO_E_SERVER_EXEC_FAILURE 0x80080005L
-#define CO_E_OBJSRV_RPC_FAILURE 0x80080006L
-#define MK_E_NO_NORMALIZED 0x80080007L
-#define CO_E_SERVER_STOPPING 0x80080008L
-#define MEM_E_INVALID_ROOT 0x80080009L
-#define MEM_E_INVALID_LINK 0x80080010L
-#define MEM_E_INVALID_SIZE 0x80080011L
-#define DISP_E_UNKNOWNINTERFACE 0x80020001L
-#define DISP_E_MEMBERNOTFOUND 0x80020003L
-#define DISP_E_PARAMNOTFOUND 0x80020004L
-#define DISP_E_TYPEMISMATCH 0x80020005L
-#define DISP_E_UNKNOWNNAME 0x80020006L
-#define DISP_E_NONAMEDARGS 0x80020007L
-#define DISP_E_BADVARTYPE 0x80020008L
-#define DISP_E_EXCEPTION 0x80020009L
-#define DISP_E_OVERFLOW 0x8002000AL
-#define DISP_E_BADINDEX 0x8002000BL
-#define DISP_E_UNKNOWNLCID 0x8002000CL
-#define DISP_E_ARRAYISLOCKED 0x8002000DL
-#define DISP_E_BADPARAMCOUNT 0x8002000EL
-#define DISP_E_PARAMNOTOPTIONAL 0x8002000FL
-#define DISP_E_BADCALLEE 0x80020010L
-#define DISP_E_NOTACOLLECTION 0x80020011L
-#define TYPE_E_BUFFERTOOSMALL 0x80028016L
-#define TYPE_E_INVDATAREAD 0x80028018L
-#define TYPE_E_UNSUPFORMAT 0x80028019L
-#define TYPE_E_REGISTRYACCESS 0x8002801CL
-#define TYPE_E_LIBNOTREGISTERED 0x8002801DL
-#define TYPE_E_UNDEFINEDTYPE 0x80028027L
-#define TYPE_E_QUALIFIEDNAMEDISALLOWED 0x80028028L
-#define TYPE_E_INVALIDSTATE 0x80028029L
-#define TYPE_E_WRONGTYPEKIND 0x8002802AL
-#define TYPE_E_ELEMENTNOTFOUND 0x8002802BL
-#define TYPE_E_AMBIGUOUSNAME 0x8002802CL
-#define TYPE_E_NAMECONFLICT 0x8002802DL
-#define TYPE_E_UNKNOWNLCID 0x8002802EL
-#define TYPE_E_DLLFUNCTIONNOTFOUND 0x8002802FL
-#define TYPE_E_BADMODULEKIND 0x800288BDL
-#define TYPE_E_SIZETOOBIG 0x800288C5L
-#define TYPE_E_DUPLICATEID 0x800288C6L
-#define TYPE_E_INVALIDID 0x800288CFL
-#define TYPE_E_TYPEMISMATCH 0x80028CA0L
-#define TYPE_E_OUTOFBOUNDS 0x80028CA1L
-#define TYPE_E_IOERROR 0x80028CA2L
-#define TYPE_E_CANTCREATETMPFILE 0x80028CA3L
-#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL
-#define TYPE_E_INCONSISTENTPROPFUNCS 0x80029C83L
-#define TYPE_E_CIRCULARTYPE 0x80029C84L
-#define STG_E_INVALIDFUNCTION 0x80030001L
-#define STG_E_FILENOTFOUND 0x80030002L
-#define STG_E_PATHNOTFOUND 0x80030003L
-#define STG_E_TOOMANYOPENFILES 0x80030004L
-#define STG_E_ACCESSDENIED 0x80030005L
-#define STG_E_INVALIDHANDLE 0x80030006L
-#define STG_E_INSUFFICIENTMEMORY 0x80030008L
-#define STG_E_INVALIDPOINTER 0x80030009L
-#define STG_E_NOMOREFILES 0x80030012L
-#define STG_E_DISKISWRITEPROTECTED 0x80030013L
-#define STG_E_SEEKERROR 0x80030019L
-#define STG_E_WRITEFAULT 0x8003001DL
-#define STG_E_READFAULT 0x8003001EL
-#define STG_E_SHAREVIOLATION 0x80030020L
-#define STG_E_LOCKVIOLATION 0x80030021L
-#define STG_E_FILEALREADYEXISTS 0x80030050L
-#define STG_E_INVALIDPARAMETER 0x80030057L
-#define STG_E_MEDIUMFULL 0x80030070L
-#define STG_E_ABNORMALAPIEXIT 0x800300FAL
-#define STG_E_INVALIDHEADER 0x800300FBL
-#define STG_E_INVALIDNAME 0x800300FCL
-#define STG_E_UNKNOWN 0x800300FDL
-#define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FEL
-#define STG_E_INVALIDFLAG 0x800300FFL
-#define STG_E_INUSE 0x80030100L
-#define STG_E_NOTCURRENT 0x80030101L
-#define STG_E_REVERTED 0x80030102L
-#define STG_E_CANTSAVE 0x80030103L
-#define STG_E_OLDFORMAT 0x80030104L
-#define STG_E_OLDDLL 0x80030105L
-#define STG_E_SHAREREQUIRED 0x80030106L
-#define STG_E_NOTFILEBASEDSTORAGE 0x80030107L
-#define STG_E_EXTANTMARSHALLINGS 0x80030108L
-#define STG_S_CONVERTED 0x00030200L
-#define RPC_E_CALL_REJECTED 0x80010001L
-#define RPC_E_CALL_CANCELED 0x80010002L
-#define RPC_E_CANTPOST_INSENDCALL 0x80010003L
-#define RPC_E_CANTCALLOUT_INASYNCCALL 0x80010004L
-#define RPC_E_CANTCALLOUT_INEXTERNALCALL 0x80010005L
-#define RPC_E_CONNECTION_TERMINATED 0x80010006L
-#define RPC_E_SERVER_DIED 0x80010007L
-#define RPC_E_CLIENT_DIED 0x80010008L
-#define RPC_E_INVALID_DATAPACKET 0x80010009L
-#define RPC_E_CANTTRANSMIT_CALL 0x8001000AL
-#define RPC_E_CLIENT_CANTMARSHAL_DATA 0x8001000BL
-#define RPC_E_CLIENT_CANTUNMARSHAL_DATA 0x8001000CL
-#define RPC_E_SERVER_CANTMARSHAL_DATA 0x8001000DL
-#define RPC_E_SERVER_CANTUNMARSHAL_DATA 0x8001000EL
-#define RPC_E_INVALID_DATA 0x8001000FL
-#define RPC_E_INVALID_PARAMETER 0x80010010L
-#define RPC_E_CANTCALLOUT_AGAIN 0x80010011L
-#define RPC_E_SERVER_DIED_DNE 0x80010012L
-#define RPC_E_SYS_CALL_FAILED 0x80010100L
-#define RPC_E_OUT_OF_RESOURCES 0x80010101L
-#define RPC_E_ATTEMPTED_MULTITHREAD 0x80010102L
-#define RPC_E_NOT_REGISTERED 0x80010103L
-#define RPC_E_FAULT 0x80010104L
-#define RPC_E_SERVERFAULT 0x80010105L
-#define RPC_E_CHANGED_MODE 0x80010106L
-#define RPC_E_INVALIDMETHOD 0x80010107L
-#define RPC_E_DISCONNECTED 0x80010108L
-#define RPC_E_RETRY 0x80010109L
-#define RPC_E_SERVERCALL_RETRYLATER 0x8001010AL
-#define RPC_E_SERVERCALL_REJECTED 0x8001010BL
-#define RPC_E_INVALID_CALLDATA 0x8001010CL
-#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 0x8001010DL
-#define RPC_E_WRONG_THREAD 0x8001010EL
-#define RPC_E_THREAD_NOT_INIT 0x8001010FL
-#define RPC_E_UNEXPECTED 0x8001FFFFL
-
-#define NTE_BAD_UID 0x80090001L
-#define NTE_BAD_HASH 0x80090002L
-#define NTE_BAD_KEY 0x80090003L
-#define NTE_BAD_LEN 0x80090004L
-#define NTE_BAD_DATA 0x80090005L
-#define NTE_BAD_SIGNATURE 0x80090006L
-#define NTE_BAD_VER 0x80090007L
-#define NTE_BAD_ALGID 0x80090008L
-#define NTE_BAD_FLAGS 0x80090009L
-#define NTE_BAD_TYPE 0x8009000AL
-#define NTE_BAD_KEY_STATE 0x8009000BL
-#define NTE_BAD_HASH_STATE 0x8009000CL
-#define NTE_NO_KEY 0x8009000DL
-#define NTE_NO_MEMORY 0x8009000EL
-#define NTE_EXISTS 0x8009000FL
-#define NTE_PERM 0x80090010L
-#define NTE_NOT_FOUND 0x80090011L
-#define NTE_DOUBLE_ENCRYPT 0x80090012L
-#define NTE_BAD_PROVIDER 0x80090013L
-#define NTE_BAD_PROV_TYPE 0x80090014L
-#define NTE_BAD_PUBLIC_KEY 0x80090015L
-#define NTE_BAD_KEYSET 0x80090016L
-#define NTE_PROV_TYPE_NOT_DEF 0x80090017L
-#define NTE_PROV_TYPE_ENTRY_BAD 0x80090018L
-#define NTE_KEYSET_NOT_DEF 0x80090019L
-#define NTE_KEYSET_ENTRY_BAD 0x8009001AL
-#define NTE_PROV_TYPE_NO_MATCH 0x8009001BL
-#define NTE_SIGNATURE_FILE_BAD 0x8009001CL
-#define NTE_PROVIDER_DLL_FAIL 0x8009001DL
-#define NTE_PROV_DLL_NOT_FOUND 0x8009001EL
-#define NTE_BAD_KEYSET_PARAM 0x8009001FL
-#define NTE_FAIL 0x80090020L
-#define NTE_SYS_ERR 0x80090021L
-/* #define NTE_TOKEN_KEYSET_STORAGE ??? */
-
-#endif
+#ifndef _WINERROR_H +#define _WINERROR_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#define ERROR_SUCCESS 0L +#define NO_ERROR 0L +#define ERROR_INVALID_FUNCTION 1L +#define ERROR_FILE_NOT_FOUND 2L +#define ERROR_PATH_NOT_FOUND 3L +#define ERROR_TOO_MANY_OPEN_FILES 4L +#define ERROR_ACCESS_DENIED 5L +#define ERROR_INVALID_HANDLE 6L +#define ERROR_ARENA_TRASHED 7L +#define ERROR_NOT_ENOUGH_MEMORY 8L +#define ERROR_INVALID_BLOCK 9L +#define ERROR_BAD_ENVIRONMENT 10L +#define ERROR_BAD_FORMAT 11L +#define ERROR_INVALID_ACCESS 12L +#define ERROR_INVALID_DATA 13L +#define ERROR_OUTOFMEMORY 14L +#define ERROR_INVALID_DRIVE 15L +#define ERROR_CURRENT_DIRECTORY 16L +#define ERROR_NOT_SAME_DEVICE 17L +#define ERROR_NO_MORE_FILES 18L +#define ERROR_WRITE_PROTECT 19L +#define ERROR_BAD_UNIT 20L +#define ERROR_NOT_READY 21L +#define ERROR_BAD_COMMAND 22L +#define ERROR_CRC 23L +#define ERROR_BAD_LENGTH 24L +#define ERROR_SEEK 25L +#define ERROR_NOT_DOS_DISK 26L +#define ERROR_SECTOR_NOT_FOUND 27L +#define ERROR_OUT_OF_PAPER 28L +#define ERROR_WRITE_FAULT 29L +#define ERROR_READ_FAULT 30L +#define ERROR_GEN_FAILURE 31L +#define ERROR_SHARING_VIOLATION 32L +#define ERROR_LOCK_VIOLATION 33L +#define ERROR_WRONG_DISK 34L +#define ERROR_SHARING_BUFFER_EXCEEDED 36L +#define ERROR_HANDLE_EOF 38L +#define ERROR_HANDLE_DISK_FULL 39L +#define ERROR_NOT_SUPPORTED 50L +#define ERROR_REM_NOT_LIST 51L +#define ERROR_DUP_NAME 52L +#define ERROR_BAD_NETPATH 53L +#define ERROR_NETWORK_BUSY 54L +#define ERROR_DEV_NOT_EXIST 55L +#define ERROR_TOO_MANY_CMDS 56L +#define ERROR_ADAP_HDW_ERR 57L +#define ERROR_BAD_NET_RESP 58L +#define ERROR_UNEXP_NET_ERR 59L +#define ERROR_BAD_REM_ADAP 60L +#define ERROR_PRINTQ_FULL 61L +#define ERROR_NO_SPOOL_SPACE 62L +#define ERROR_PRINT_CANCELLED 63L +#define ERROR_NETNAME_DELETED 64L +#define ERROR_NETWORK_ACCESS_DENIED 65L +#define ERROR_BAD_DEV_TYPE 66L +#define ERROR_BAD_NET_NAME 67L +#define ERROR_TOO_MANY_NAMES 68L +#define ERROR_TOO_MANY_SESS 69L +#define ERROR_SHARING_PAUSED 70L +#define ERROR_REQ_NOT_ACCEP 71L +#define ERROR_REDIR_PAUSED 72L +#define ERROR_FILE_EXISTS 80L +#define ERROR_CANNOT_MAKE 82L +#define ERROR_FAIL_I24 83L +#define ERROR_OUT_OF_STRUCTURES 84L +#define ERROR_ALREADY_ASSIGNED 85L +#define ERROR_INVALID_PASSWORD 86L +#define ERROR_INVALID_PARAMETER 87L +#define ERROR_NET_WRITE_FAULT 88L +#define ERROR_NO_PROC_SLOTS 89L +#define ERROR_TOO_MANY_SEMAPHORES 100L +#define ERROR_EXCL_SEM_ALREADY_OWNED 101L +#define ERROR_SEM_IS_SET 102L +#define ERROR_TOO_MANY_SEM_REQUESTS 103L +#define ERROR_INVALID_AT_INTERRUPT_TIME 104L +#define ERROR_SEM_OWNER_DIED 105L +#define ERROR_SEM_USER_LIMIT 106L +#define ERROR_DISK_CHANGE 107L +#define ERROR_DRIVE_LOCKED 108L +#define ERROR_BROKEN_PIPE 109L +#define ERROR_OPEN_FAILED 110L +#define ERROR_BUFFER_OVERFLOW 111L +#define ERROR_DISK_FULL 112L +#define ERROR_NO_MORE_SEARCH_HANDLES 113L +#define ERROR_INVALID_TARGET_HANDLE 114L +#define ERROR_INVALID_CATEGORY 117L +#define ERROR_INVALID_VERIFY_SWITCH 118L +#define ERROR_BAD_DRIVER_LEVEL 119L +#define ERROR_CALL_NOT_IMPLEMENTED 120L +#define ERROR_SEM_TIMEOUT 121L +#define ERROR_INSUFFICIENT_BUFFER 122L +#define ERROR_INVALID_NAME 123L +#define ERROR_INVALID_LEVEL 124L +#define ERROR_NO_VOLUME_LABEL 125L +#define ERROR_MOD_NOT_FOUND 126L +#define ERROR_PROC_NOT_FOUND 127L +#define ERROR_WAIT_NO_CHILDREN 128L +#define ERROR_CHILD_NOT_COMPLETE 129L +#define ERROR_DIRECT_ACCESS_HANDLE 130L +#define ERROR_NEGATIVE_SEEK 131L +#define ERROR_SEEK_ON_DEVICE 132L +#define ERROR_IS_JOIN_TARGET 133L +#define ERROR_IS_JOINED 134L +#define ERROR_IS_SUBSTED 135L +#define ERROR_NOT_JOINED 136L +#define ERROR_NOT_SUBSTED 137L +#define ERROR_JOIN_TO_JOIN 138L +#define ERROR_SUBST_TO_SUBST 139L +#define ERROR_JOIN_TO_SUBST 140L +#define ERROR_SUBST_TO_JOIN 141L +#define ERROR_BUSY_DRIVE 142L +#define ERROR_SAME_DRIVE 143L +#define ERROR_DIR_NOT_ROOT 144L +#define ERROR_DIR_NOT_EMPTY 145L +#define ERROR_IS_SUBST_PATH 146L +#define ERROR_IS_JOIN_PATH 147L +#define ERROR_PATH_BUSY 148L +#define ERROR_IS_SUBST_TARGET 149L +#define ERROR_SYSTEM_TRACE 150L +#define ERROR_INVALID_EVENT_COUNT 151L +#define ERROR_TOO_MANY_MUXWAITERS 152L +#define ERROR_INVALID_LIST_FORMAT 153L +#define ERROR_LABEL_TOO_LONG 154L +#define ERROR_TOO_MANY_TCBS 155L +#define ERROR_SIGNAL_REFUSED 156L +#define ERROR_DISCARDED 157L +#define ERROR_NOT_LOCKED 158L +#define ERROR_BAD_THREADID_ADDR 159L +#define ERROR_BAD_ARGUMENTS 160L +#define ERROR_BAD_PATHNAME 161L +#define ERROR_SIGNAL_PENDING 162L +#define ERROR_MAX_THRDS_REACHED 164L +#define ERROR_LOCK_FAILED 167L +#define ERROR_BUSY 170L +#define ERROR_CANCEL_VIOLATION 173L +#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L +#define ERROR_INVALID_SEGMENT_NUMBER 180L +#define ERROR_INVALID_ORDINAL 182L +#define ERROR_ALREADY_EXISTS 183L +#define ERROR_INVALID_FLAG_NUMBER 186L +#define ERROR_SEM_NOT_FOUND 187L +#define ERROR_INVALID_STARTING_CODESEG 188L +#define ERROR_INVALID_STACKSEG 189L +#define ERROR_INVALID_MODULETYPE 190L +#define ERROR_INVALID_EXE_SIGNATURE 191L +#define ERROR_EXE_MARKED_INVALID 192L +#define ERROR_BAD_EXE_FORMAT 193L +#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L +#define ERROR_INVALID_MINALLOCSIZE 195L +#define ERROR_DYNLINK_FROM_INVALID_RING 196L +#define ERROR_IOPL_NOT_ENABLED 197L +#define ERROR_INVALID_SEGDPL 198L +#define ERROR_AUTODATASEG_EXCEEDS_64k 199L +#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L +#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L +#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L +#define ERROR_ENVVAR_NOT_FOUND 203L +#define ERROR_NO_SIGNAL_SENT 205L +#define ERROR_FILENAME_EXCED_RANGE 206L +#define ERROR_RING2_STACK_IN_USE 207L +#define ERROR_META_EXPANSION_TOO_LONG 208L +#define ERROR_INVALID_SIGNAL_NUMBER 209L +#define ERROR_THREAD_1_INACTIVE 210L +#define ERROR_LOCKED 212L +#define ERROR_TOO_MANY_MODULES 214L +#define ERROR_NESTING_NOT_ALLOWED 215L +#define ERROR_BAD_PIPE 230L +#define ERROR_PIPE_BUSY 231L +#define ERROR_NO_DATA 232L +#define ERROR_PIPE_NOT_CONNECTED 233L +#define ERROR_MORE_DATA 234L +#define ERROR_VC_DISCONNECTED 240L +#define ERROR_INVALID_EA_NAME 254L +#define ERROR_EA_LIST_INCONSISTENT 255L +#define ERROR_NO_MORE_ITEMS 259L +#define ERROR_CANNOT_COPY 266L +#define ERROR_DIRECTORY 267L +#define ERROR_EAS_DIDNT_FIT 275L +#define ERROR_EA_FILE_CORRUPT 276L +#define ERROR_EA_TABLE_FULL 277L +#define ERROR_INVALID_EA_HANDLE 278L +#define ERROR_EAS_NOT_SUPPORTED 282L +#define ERROR_NOT_OWNER 288L +#define ERROR_TOO_MANY_POSTS 298L +#define ERROR_PARTIAL_COPY 299L +#define ERROR_MR_MID_NOT_FOUND 317L +#define ERROR_INVALID_ADDRESS 487L +#define ERROR_ARITHMETIC_OVERFLOW 534L +#define ERROR_PIPE_CONNECTED 535L +#define ERROR_PIPE_LISTENING 536L +#define ERROR_EA_ACCESS_DENIED 994L +#define ERROR_OPERATION_ABORTED 995L +#define ERROR_IO_INCOMPLETE 996L +#define ERROR_IO_PENDING 997L +#define ERROR_NOACCESS 998L +#define ERROR_SWAPERROR 999L +#define ERROR_STACK_OVERFLOW 1001L +#define ERROR_INVALID_MESSAGE 1002L +#define ERROR_CAN_NOT_COMPLETE 1003L +#define ERROR_INVALID_FLAGS 1004L +#define ERROR_UNRECOGNIZED_VOLUME 1005L +#define ERROR_FILE_INVALID 1006L +#define ERROR_FULLSCREEN_MODE 1007L +#define ERROR_NO_TOKEN 1008L +#define ERROR_BADDB 1009L +#define ERROR_BADKEY 1010L +#define ERROR_CANTOPEN 1011L +#define ERROR_CANTREAD 1012L +#define ERROR_CANTWRITE 1013L +#define ERROR_REGISTRY_RECOVERED 1014L +#define ERROR_REGISTRY_CORRUPT 1015L +#define ERROR_REGISTRY_IO_FAILED 1016L +#define ERROR_NOT_REGISTRY_FILE 1017L +#define ERROR_KEY_DELETED 1018L +#define ERROR_NO_LOG_SPACE 1019L +#define ERROR_KEY_HAS_CHILDREN 1020L +#define ERROR_CHILD_MUST_BE_VOLATILE 1021L +#define ERROR_NOTIFY_ENUM_DIR 1022L +#define ERROR_DEPENDENT_SERVICES_RUNNING 1051L +#define ERROR_INVALID_SERVICE_CONTROL 1052L +#define ERROR_SERVICE_REQUEST_TIMEOUT 1053L +#define ERROR_SERVICE_NO_THREAD 1054L +#define ERROR_SERVICE_DATABASE_LOCKED 1055L +#define ERROR_SERVICE_ALREADY_RUNNING 1056L +#define ERROR_INVALID_SERVICE_ACCOUNT 1057L +#define ERROR_SERVICE_DISABLED 1058L +#define ERROR_CIRCULAR_DEPENDENCY 1059L +#define ERROR_SERVICE_DOES_NOT_EXIST 1060L +#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061L +#define ERROR_SERVICE_NOT_ACTIVE 1062L +#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063L +#define ERROR_EXCEPTION_IN_SERVICE 1064L +#define ERROR_DATABASE_DOES_NOT_EXIST 1065L +#define ERROR_SERVICE_SPECIFIC_ERROR 1066L +#define ERROR_PROCESS_ABORTED 1067L +#define ERROR_SERVICE_DEPENDENCY_FAIL 1068L +#define ERROR_SERVICE_LOGON_FAILED 1069L +#define ERROR_SERVICE_START_HANG 1070L +#define ERROR_INVALID_SERVICE_LOCK 1071L +#define ERROR_SERVICE_MARKED_FOR_DELETE 1072L +#define ERROR_SERVICE_EXISTS 1073L +#define ERROR_ALREADY_RUNNING_LKG 1074L +#define ERROR_SERVICE_DEPENDENCY_DELETED 1075L +#define ERROR_BOOT_ALREADY_ACCEPTED 1076L +#define ERROR_SERVICE_NEVER_STARTED 1077L +#define ERROR_DUPLICATE_SERVICE_NAME 1078L +#define ERROR_END_OF_MEDIA 1100L +#define ERROR_FILEMARK_DETECTED 1101L +#define ERROR_BEGINNING_OF_MEDIA 1102L +#define ERROR_SETMARK_DETECTED 1103L +#define ERROR_NO_DATA_DETECTED 1104L +#define ERROR_PARTITION_FAILURE 1105L +#define ERROR_INVALID_BLOCK_LENGTH 1106L +#define ERROR_DEVICE_NOT_PARTITIONED 1107L +#define ERROR_UNABLE_TO_LOCK_MEDIA 1108L +#define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109L +#define ERROR_MEDIA_CHANGED 1110L +#define ERROR_BUS_RESET 1111L +#define ERROR_NO_MEDIA_IN_DRIVE 1112L +#define ERROR_NO_UNICODE_TRANSLATION 1113L +#define ERROR_DLL_INIT_FAILED 1114L +#define ERROR_SHUTDOWN_IN_PROGRESS 1115L +#define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116L +#define ERROR_IO_DEVICE 1117L +#define ERROR_SERIAL_NO_DEVICE 1118L +#define ERROR_IRQ_BUSY 1119L +#define ERROR_MORE_WRITES 1120L +#define ERROR_COUNTER_TIMEOUT 1121L +#define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122L +#define ERROR_FLOPPY_WRONG_CYLINDER 1123L +#define ERROR_FLOPPY_UNKNOWN_ERROR 1124L +#define ERROR_FLOPPY_BAD_REGISTERS 1125L +#define ERROR_DISK_RECALIBRATE_FAILED 1126L +#define ERROR_DISK_OPERATION_FAILED 1127L +#define ERROR_DISK_RESET_FAILED 1128L +#define ERROR_EOM_OVERFLOW 1129L +#define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130L +#define ERROR_POSSIBLE_DEADLOCK 1131L +#define ERROR_MAPPED_ALIGNMENT 1132L +#define ERROR_SET_POWER_STATE_VETOED 1140L +#define ERROR_SET_POWER_STATE_FAILED 1141L +#define ERROR_TOO_MANY_LINKS 1142L +#define ERROR_OLD_WIN_VERSION 1150L +#define ERROR_APP_WRONG_OS 1151L +#define ERROR_SINGLE_INSTANCE_APP 1152L +#define ERROR_RMODE_APP 1153L +#define ERROR_INVALID_DLL 1154L +#define ERROR_NO_ASSOCIATION 1155L +#define ERROR_DDE_FAIL 1156L +#define ERROR_DLL_NOT_FOUND 1157L +#define ERROR_BAD_USERNAME 2202L +#define ERROR_NOT_CONNECTED 2250L +#define ERROR_OPEN_FILES 2401L +#define ERROR_ACTIVE_CONNECTIONS 2402L +#define ERROR_DEVICE_IN_USE 2404L +#define ERROR_BAD_DEVICE 1200L +#define ERROR_CONNECTION_UNAVAIL 1201L +#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L +#define ERROR_NO_NET_OR_BAD_PATH 1203L +#define ERROR_BAD_PROVIDER 1204L +#define ERROR_CANNOT_OPEN_PROFILE 1205L +#define ERROR_BAD_PROFILE 1206L +#define ERROR_NOT_CONTAINER 1207L +#define ERROR_EXTENDED_ERROR 1208L +#define ERROR_INVALID_GROUPNAME 1209L +#define ERROR_INVALID_COMPUTERNAME 1210L +#define ERROR_INVALID_EVENTNAME 1211L +#define ERROR_INVALID_DOMAINNAME 1212L +#define ERROR_INVALID_SERVICENAME 1213L +#define ERROR_INVALID_NETNAME 1214L +#define ERROR_INVALID_SHARENAME 1215L +#define ERROR_INVALID_PASSWORDNAME 1216L +#define ERROR_INVALID_MESSAGENAME 1217L +#define ERROR_INVALID_MESSAGEDEST 1218L +#define ERROR_SESSION_CREDENTIAL_CONFLICT 1219L +#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220L +#define ERROR_DUP_DOMAINNAME 1221L +#define ERROR_NO_NETWORK 1222L +#define ERROR_CANCELLED 1223L +#define ERROR_USER_MAPPED_FILE 1224L +#define ERROR_CONNECTION_REFUSED 1225L +#define ERROR_GRACEFUL_DISCONNECT 1226L +#define ERROR_ADDRESS_ALREADY_ASSOCIATED 1227L +#define ERROR_ADDRESS_NOT_ASSOCIATED 1228L +#define ERROR_CONNECTION_INVALID 1229L +#define ERROR_CONNECTION_ACTIVE 1230L +#define ERROR_NETWORK_UNREACHABLE 1231L +#define ERROR_HOST_UNREACHABLE 1232L +#define ERROR_PROTOCOL_UNREACHABLE 1233L +#define ERROR_PORT_UNREACHABLE 1234L +#define ERROR_REQUEST_ABORTED 1235L +#define ERROR_CONNECTION_ABORTED 1236L +#define ERROR_RETRY 1237L +#define ERROR_CONNECTION_COUNT_LIMIT 1238L +#define ERROR_LOGIN_TIME_RESTRICTION 1239L +#define ERROR_LOGIN_WKSTA_RESTRICTION 1240L +#define ERROR_INCORRECT_ADDRESS 1241L +#define ERROR_ALREADY_REGISTERED 1242L +#define ERROR_SERVICE_NOT_FOUND 1243L +#define ERROR_NOT_AUTHENTICATED 1244L +#define ERROR_NOT_LOGGED_ON 1245L +#define ERROR_CONTINUE 1246L +#define ERROR_ALREADY_INITIALIZED 1247L +#define ERROR_NO_MORE_DEVICES 1248L +#define ERROR_NOT_ALL_ASSIGNED 1300L +#define ERROR_SOME_NOT_MAPPED 1301L +#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302L +#define ERROR_LOCAL_USER_SESSION_KEY 1303L +#define ERROR_NULL_LM_PASSWORD 1304L +#define ERROR_UNKNOWN_REVISION 1305L +#define ERROR_REVISION_MISMATCH 1306L +#define ERROR_INVALID_OWNER 1307L +#define ERROR_INVALID_PRIMARY_GROUP 1308L +#define ERROR_NO_IMPERSONATION_TOKEN 1309L +#define ERROR_CANT_DISABLE_MANDATORY 1310L +#define ERROR_NO_LOGON_SERVERS 1311L +#define ERROR_NO_SUCH_LOGON_SESSION 1312L +#define ERROR_NO_SUCH_PRIVILEGE 1313L +#define ERROR_PRIVILEGE_NOT_HELD 1314L +#define ERROR_INVALID_ACCOUNT_NAME 1315L +#define ERROR_USER_EXISTS 1316L +#define ERROR_NO_SUCH_USER 1317L +#define ERROR_GROUP_EXISTS 1318L +#define ERROR_NO_SUCH_GROUP 1319L +#define ERROR_MEMBER_IN_GROUP 1320L +#define ERROR_MEMBER_NOT_IN_GROUP 1321L +#define ERROR_LAST_ADMIN 1322L +#define ERROR_WRONG_PASSWORD 1323L +#define ERROR_ILL_FORMED_PASSWORD 1324L +#define ERROR_PASSWORD_RESTRICTION 1325L +#define ERROR_LOGON_FAILURE 1326L +#define ERROR_ACCOUNT_RESTRICTION 1327L +#define ERROR_INVALID_LOGON_HOURS 1328L +#define ERROR_INVALID_WORKSTATION 1329L +#define ERROR_PASSWORD_EXPIRED 1330L +#define ERROR_ACCOUNT_DISABLED 1331L +#define ERROR_NONE_MAPPED 1332L +#define ERROR_TOO_MANY_LUIDS_REQUESTED 1333L +#define ERROR_LUIDS_EXHAUSTED 1334L +#define ERROR_INVALID_SUB_AUTHORITY 1335L +#define ERROR_INVALID_ACL 1336L +#define ERROR_INVALID_SID 1337L +#define ERROR_INVALID_SECURITY_DESCR 1338L +#define ERROR_BAD_INHERITANCE_ACL 1340L +#define ERROR_SERVER_DISABLED 1341L +#define ERROR_SERVER_NOT_DISABLED 1342L +#define ERROR_INVALID_ID_AUTHORITY 1343L +#define ERROR_ALLOTTED_SPACE_EXCEEDED 1344L +#define ERROR_INVALID_GROUP_ATTRIBUTES 1345L +#define ERROR_BAD_IMPERSONATION_LEVEL 1346L +#define ERROR_CANT_OPEN_ANONYMOUS 1347L +#define ERROR_BAD_VALIDATION_CLASS 1348L +#define ERROR_BAD_TOKEN_TYPE 1349L +#define ERROR_NO_SECURITY_ON_OBJECT 1350L +#define ERROR_CANT_ACCESS_DOMAIN_INFO 1351L +#define ERROR_INVALID_SERVER_STATE 1352L +#define ERROR_INVALID_DOMAIN_STATE 1353L +#define ERROR_INVALID_DOMAIN_ROLE 1354L +#define ERROR_NO_SUCH_DOMAIN 1355L +#define ERROR_DOMAIN_EXISTS 1356L +#define ERROR_DOMAIN_LIMIT_EXCEEDED 1357L +#define ERROR_INTERNAL_DB_CORRUPTION 1358L +#define ERROR_INTERNAL_ERROR 1359L +#define ERROR_GENERIC_NOT_MAPPED 1360L +#define ERROR_BAD_DESCRIPTOR_FORMAT 1361L +#define ERROR_NOT_LOGON_PROCESS 1362L +#define ERROR_LOGON_SESSION_EXISTS 1363L +#define ERROR_NO_SUCH_PACKAGE 1364L +#define ERROR_BAD_LOGON_SESSION_STATE 1365L +#define ERROR_LOGON_SESSION_COLLISION 1366L +#define ERROR_INVALID_LOGON_TYPE 1367L +#define ERROR_CANNOT_IMPERSONATE 1368L +#define ERROR_RXACT_INVALID_STATE 1369L +#define ERROR_RXACT_COMMIT_FAILURE 1370L +#define ERROR_SPECIAL_ACCOUNT 1371L +#define ERROR_SPECIAL_GROUP 1372L +#define ERROR_SPECIAL_USER 1373L +#define ERROR_MEMBERS_PRIMARY_GROUP 1374L +#define ERROR_TOKEN_ALREADY_IN_USE 1375L +#define ERROR_NO_SUCH_ALIAS 1376L +#define ERROR_MEMBER_NOT_IN_ALIAS 1377L +#define ERROR_MEMBER_IN_ALIAS 1378L +#define ERROR_ALIAS_EXISTS 1379L +#define ERROR_LOGON_NOT_GRANTED 1380L +#define ERROR_TOO_MANY_SECRETS 1381L +#define ERROR_SECRET_TOO_LONG 1382L +#define ERROR_INTERNAL_DB_ERROR 1383L +#define ERROR_TOO_MANY_CONTEXT_IDS 1384L +#define ERROR_LOGON_TYPE_NOT_GRANTED 1385L +#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386L +#define ERROR_NO_SUCH_MEMBER 1387L +#define ERROR_INVALID_MEMBER 1388L +#define ERROR_TOO_MANY_SIDS 1389L +#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390L +#define ERROR_NO_INHERITANCE 1391L +#define ERROR_FILE_CORRUPT 1392L +#define ERROR_DISK_CORRUPT 1393L +#define ERROR_NO_USER_SESSION_KEY 1394L +#define ERROR_LICENSE_QUOTA_EXCEEDED 1395L +#define ERROR_INVALID_WINDOW_HANDLE 1400L +#define ERROR_INVALID_MENU_HANDLE 1401L +#define ERROR_INVALID_CURSOR_HANDLE 1402L +#define ERROR_INVALID_ACCEL_HANDLE 1403L +#define ERROR_INVALID_HOOK_HANDLE 1404L +#define ERROR_INVALID_DWP_HANDLE 1405L +#define ERROR_TLW_WITH_WSCHILD 1406L +#define ERROR_CANNOT_FIND_WND_CLASS 1407L +#define ERROR_WINDOW_OF_OTHER_THREAD 1408L +#define ERROR_HOTKEY_ALREADY_REGISTERED 1409L +#define ERROR_CLASS_ALREADY_EXISTS 1410L +#define ERROR_CLASS_DOES_NOT_EXIST 1411L +#define ERROR_CLASS_HAS_WINDOWS 1412L +#define ERROR_INVALID_INDEX 1413L +#define ERROR_INVALID_ICON_HANDLE 1414L +#define ERROR_PRIVATE_DIALOG_INDEX 1415L +#define ERROR_LISTBOX_ID_NOT_FOUND 1416L +#define ERROR_NO_WILDCARD_CHARACTERS 1417L +#define ERROR_CLIPBOARD_NOT_OPEN 1418L +#define ERROR_HOTKEY_NOT_REGISTERED 1419L +#define ERROR_WINDOW_NOT_DIALOG 1420L +#define ERROR_CONTROL_ID_NOT_FOUND 1421L +#define ERROR_INVALID_COMBOBOX_MESSAGE 1422L +#define ERROR_WINDOW_NOT_COMBOBOX 1423L +#define ERROR_INVALID_EDIT_HEIGHT 1424L +#define ERROR_DC_NOT_FOUND 1425L +#define ERROR_INVALID_HOOK_FILTER 1426L +#define ERROR_INVALID_FILTER_PROC 1427L +#define ERROR_HOOK_NEEDS_HMOD 1428L +#define ERROR_GLOBAL_ONLY_HOOK 1429L +#define ERROR_JOURNAL_HOOK_SET 1430L +#define ERROR_HOOK_NOT_INSTALLED 1431L +#define ERROR_INVALID_LB_MESSAGE 1432L +#define ERROR_SETCOUNT_ON_BAD_LB 1433L +#define ERROR_LB_WITHOUT_TABSTOPS 1434L +#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435L +#define ERROR_CHILD_WINDOW_MENU 1436L +#define ERROR_NO_SYSTEM_MENU 1437L +#define ERROR_INVALID_MSGBOX_STYLE 1438L +#define ERROR_INVALID_SPI_VALUE 1439L +#define ERROR_SCREEN_ALREADY_LOCKED 1440L +#define ERROR_HWNDS_HAVE_DIFF_PARENT 1441L +#define ERROR_NOT_CHILD_WINDOW 1442L +#define ERROR_INVALID_GW_COMMAND 1443L +#define ERROR_INVALID_THREAD_ID 1444L +#define ERROR_NON_MDICHILD_WINDOW 1445L +#define ERROR_POPUP_ALREADY_ACTIVE 1446L +#define ERROR_NO_SCROLLBARS 1447L +#define ERROR_INVALID_SCROLLBAR_RANGE 1448L +#define ERROR_INVALID_SHOWWIN_COMMAND 1449L +#define ERROR_NO_SYSTEM_RESOURCES 1450L +#define ERROR_NONPAGED_SYSTEM_RESOURCES 1451L +#define ERROR_PAGED_SYSTEM_RESOURCES 1452L +#define ERROR_WORKING_SET_QUOTA 1453L +#define ERROR_PAGEFILE_QUOTA 1454L +#define ERROR_COMMITMENT_LIMIT 1455L +#define ERROR_MENU_ITEM_NOT_FOUND 1456L +#define ERROR_EVENTLOG_FILE_CORRUPT 1500L +#define ERROR_EVENTLOG_CANT_START 1501L +#define ERROR_LOG_FILE_FULL 1502L +#define ERROR_EVENTLOG_FILE_CHANGED 1503L +#define RPC_S_INVALID_STRING_BINDING 1700L +#define RPC_S_WRONG_KIND_OF_BINDING 1701L +#define RPC_S_INVALID_BINDING 1702L +#define RPC_S_PROTSEQ_NOT_SUPPORTED 1703L +#define RPC_S_INVALID_RPC_PROTSEQ 1704L +#define RPC_S_INVALID_STRING_UUID 1705L +#define RPC_S_INVALID_ENDPOINT_FORMAT 1706L +#define RPC_S_INVALID_NET_ADDR 1707L +#define RPC_S_NO_ENDPOINT_FOUND 1708L +#define RPC_S_INVALID_TIMEOUT 1709L +#define RPC_S_OBJECT_NOT_FOUND 1710L +#define RPC_S_ALREADY_REGISTERED 1711L +#define RPC_S_TYPE_ALREADY_REGISTERED 1712L +#define RPC_S_ALREADY_LISTENING 1713L +#define RPC_S_NO_PROTSEQS_REGISTERED 1714L +#define RPC_S_NOT_LISTENING 1715L +#define RPC_S_UNKNOWN_MGR_TYPE 1716L +#define RPC_S_UNKNOWN_IF 1717L +#define RPC_S_NO_BINDINGS 1718L +#define RPC_S_NO_PROTSEQS 1719L +#define RPC_S_CANT_CREATE_ENDPOINT 1720L +#define RPC_S_OUT_OF_RESOURCES 1721L +#define RPC_S_SERVER_UNAVAILABLE 1722L +#define RPC_S_SERVER_TOO_BUSY 1723L +#define RPC_S_INVALID_NETWORK_OPTIONS 1724L +#define RPC_S_NO_CALL_ACTIVE 1725L +#define RPC_S_CALL_FAILED 1726L +#define RPC_S_CALL_FAILED_DNE 1727L +#define RPC_S_PROTOCOL_ERROR 1728L +#define RPC_S_UNSUPPORTED_TRANS_SYN 1730L +#define RPC_S_UNSUPPORTED_TYPE 1732L +#define RPC_S_INVALID_TAG 1733L +#define RPC_S_INVALID_BOUND 1734L +#define RPC_S_NO_ENTRY_NAME 1735L +#define RPC_S_INVALID_NAME_SYNTAX 1736L +#define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737L +#define RPC_S_UUID_NO_ADDRESS 1739L +#define RPC_S_DUPLICATE_ENDPOINT 1740L +#define RPC_S_UNKNOWN_AUTHN_TYPE 1741L +#define RPC_S_MAX_CALLS_TOO_SMALL 1742L +#define RPC_S_STRING_TOO_LONG 1743L +#define RPC_S_PROTSEQ_NOT_FOUND 1744L +#define RPC_S_PROCNUM_OUT_OF_RANGE 1745L +#define RPC_S_BINDING_HAS_NO_AUTH 1746L +#define RPC_S_UNKNOWN_AUTHN_SERVICE 1747L +#define RPC_S_UNKNOWN_AUTHN_LEVEL 1748L +#define RPC_S_INVALID_AUTH_IDENTITY 1749L +#define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750L +#define EPT_S_INVALID_ENTRY 1751L +#define EPT_S_CANT_PERFORM_OP 1752L +#define EPT_S_NOT_REGISTERED 1753L +#define RPC_S_NOTHING_TO_EXPORT 1754L +#define RPC_S_INCOMPLETE_NAME 1755L +#define RPC_S_INVALID_VERS_OPTION 1756L +#define RPC_S_NO_MORE_MEMBERS 1757L +#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758L +#define RPC_S_INTERFACE_NOT_FOUND 1759L +#define RPC_S_ENTRY_ALREADY_EXISTS 1760L +#define RPC_S_ENTRY_NOT_FOUND 1761L +#define RPC_S_NAME_SERVICE_UNAVAILABLE 1762L +#define RPC_S_INVALID_NAF_ID 1763L +#define RPC_S_CANNOT_SUPPORT 1764L +#define RPC_S_NO_CONTEXT_AVAILABLE 1765L +#define RPC_S_INTERNAL_ERROR 1766L +#define RPC_S_ZERO_DIVIDE 1767L +#define RPC_S_ADDRESS_ERROR 1768L +#define RPC_S_FP_DIV_ZERO 1769L +#define RPC_S_FP_UNDERFLOW 1770L +#define RPC_S_FP_OVERFLOW 1771L +#define RPC_X_NO_MORE_ENTRIES 1772L +#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773L +#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774L +#define RPC_X_SS_IN_NULL_CONTEXT 1775L +#define RPC_X_SS_CONTEXT_DAMAGED 1777L +#define RPC_X_SS_HANDLES_MISMATCH 1778L +#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779L +#define RPC_X_NULL_REF_POINTER 1780L +#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781L +#define RPC_X_BYTE_COUNT_TOO_SMALL 1782L +#define RPC_X_BAD_STUB_DATA 1783L +#define ERROR_INVALID_USER_BUFFER 1784L +#define ERROR_UNRECOGNIZED_MEDIA 1785L +#define ERROR_NO_TRUST_LSA_SECRET 1786L +#define ERROR_NO_TRUST_SAM_ACCOUNT 1787L +#define ERROR_TRUSTED_DOMAIN_FAILURE 1788L +#define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789L +#define ERROR_TRUST_FAILURE 1790L +#define RPC_S_CALL_IN_PROGRESS 1791L +#define ERROR_NETLOGON_NOT_STARTED 1792L +#define ERROR_ACCOUNT_EXPIRED 1793L +#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794L +#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795L +#define ERROR_UNKNOWN_PORT 1796L +#define ERROR_UNKNOWN_PRINTER_DRIVER 1797L +#define ERROR_UNKNOWN_PRINTPROCESSOR 1798L +#define ERROR_INVALID_SEPARATOR_FILE 1799L +#define ERROR_INVALID_PRIORITY 1800L +#define ERROR_INVALID_PRINTER_NAME 1801L +#define ERROR_PRINTER_ALREADY_EXISTS 1802L +#define ERROR_INVALID_PRINTER_COMMAND 1803L +#define ERROR_INVALID_DATATYPE 1804L +#define ERROR_INVALID_ENVIRONMENT 1805L +#define RPC_S_NO_MORE_BINDINGS 1806L +#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807L +#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808L +#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809L +#define ERROR_DOMAIN_TRUST_INCONSISTENT 1810L +#define ERROR_SERVER_HAS_OPEN_HANDLES 1811L +#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L +#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L +#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L +#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L +#define ERROR_NOT_ENOUGH_QUOTA 1816L +#define RPC_S_NO_INTERFACES 1817L +#define RPC_S_CALL_CANCELLED 1818L +#define RPC_S_BINDING_INCOMPLETE 1819L +#define RPC_S_COMM_FAILURE 1820L +#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 1821L +#define RPC_S_NO_PRINC_NAME 1822L +#define RPC_S_NOT_RPC_ERROR 1823L +#define RPC_S_UUID_LOCAL_ONLY 1824L +#define RPC_S_SEC_PKG_ERROR 1825L +#define RPC_S_NOT_CANCELLED 1826L +#define RPC_X_INVALID_ES_ACTION 1827L +#define RPC_X_WRONG_ES_VERSION 1828L +#define RPC_X_WRONG_STUB_VERSION 1829L +#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L +#define EPT_S_CANT_CREATE 1899L +#define RPC_S_INVALID_OBJECT 1900L +#define ERROR_INVALID_TIME 1901L +#define ERROR_INVALID_FORM_NAME 1902L +#define ERROR_INVALID_FORM_SIZE 1903L +#define ERROR_ALREADY_WAITING 1904L +#define ERROR_PRINTER_DELETED 1905L +#define ERROR_INVALID_PRINTER_STATE 1906L +#define ERROR_PASSWORD_MUST_CHANGE 1907L +#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L +#define ERROR_ACCOUNT_LOCKED_OUT 1909L +#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L +#define ERROR_INVALID_PIXEL_FORMAT 2000L +#define ERROR_BAD_DRIVER 2001L +#define ERROR_INVALID_WINDOW_STYLE 2002L +#define ERROR_METAFILE_NOT_SUPPORTED 2003L +#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L +#define ERROR_CLIPPING_NOT_SUPPORTED 2005L +#define ERROR_UNKNOWN_PRINT_MONITOR 3000L +#define ERROR_PRINTER_DRIVER_IN_USE 3001L +#define ERROR_SPOOL_FILE_NOT_FOUND 3002L +#define ERROR_SPL_NO_STARTDOC 3003L +#define ERROR_SPL_NO_ADDJOB 3004L +#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005L +#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006L +#define ERROR_WINS_INTERNAL 4000L +#define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001L +#define ERROR_STATIC_INIT 4002L +#define ERROR_INC_BACKUP 4003L +#define ERROR_FULL_BACKUP 4004L +#define ERROR_REC_NON_EXISTENT 4005L +#define ERROR_RPL_NOT_ALLOWED 4006L +#define SEVERITY_SUCCESS 0 +#define SEVERITY_ERROR 1 +#define FACILITY_WINDOWS 8 +#define FACILITY_STORAGE 3 +#define FACILITY_RPC 1 +#define FACILITY_WIN32 7 +#define FACILITY_CONTROL 10 +#define FACILITY_NULL 0 +#define FACILITY_ITF 4 +#define FACILITY_DISPATCH 2 +#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) +#define FAILED(Status) ((HRESULT)(Status)<0) +#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) +#define HRESULT_CODE(r) ((r)&0xFFFF) +#define SCODE_CODE(c) ((c)&0xFFFF) +#define HRESULT_FACILITY(r) (((r)>>16)&0x1fff) +#define SCODE_FACILITY(c) (((c)>>16)&0x1fff) +#define HRESULT_SEVERITY(r) (((r)>>31)&0x1) +#define SCODE_SEVERITY(c) (((c)>>31)&0x1) +#define MAKE_HRESULT(s,f,c) ((HRESULT)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c)))) +#define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) ) +#define FACILITY_NT_BIT 0x10000000 +#define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0) +#define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT)) +#define GetScode(hr) ((SCODE) (hr)) +#define ResultFromScode(sc) ((HRESULT) (sc)) +#define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase) + +#define NOERROR S_OK +#define E_UNEXPECTED 0x8000FFFFL +#define E_NOTIMPL 0x80004001L +#define E_OUTOFMEMORY 0x8007000EL +#define E_INVALIDARG 0x80070057L +#define E_NOINTERFACE 0x80004002L +#define E_POINTER 0x80004003L +#define E_HANDLE 0x80070006L +#define E_ABORT 0x80004004L +#define E_FAIL 0x80004005L +#define E_ACCESSDENIED 0x80070005L +#define E_PENDING 0x8000000AL +#define CO_E_INIT_TLS 0x80004006L +#define CO_E_INIT_SHARED_ALLOCATOR 0x80004007L +#define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008L +#define CO_E_INIT_CLASS_CACHE 0x80004009L +#define CO_E_INIT_RPC_CHANNEL 0x8000400AL +#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400BL +#define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400CL +#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400DL +#define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400EL +#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400FL +#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010L +#define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011L +#define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012L +#define S_OK (0x00000000L) +#define S_FALSE (0x00000001L) +#define OLE_E_FIRST 0x80040000L +#define OLE_E_LAST 0x800400FFL +#define OLE_S_FIRST 0x00040000L +#define OLE_S_LAST 0x000400FFL +#define OLE_E_OLEVERB 0x80040000L +#define OLE_E_ADVF 0x80040001L +#define OLE_E_ENUM_NOMORE 0x80040002L +#define OLE_E_ADVISENOTSUPPORTED 0x80040003L +#define OLE_E_NOCONNECTION 0x80040004L +#define OLE_E_NOTRUNNING 0x80040005L +#define OLE_E_NOCACHE 0x80040006L +#define OLE_E_BLANK 0x80040007L +#define OLE_E_CLASSDIFF 0x80040008L +#define OLE_E_CANT_GETMONIKER 0x80040009L +#define OLE_E_CANT_BINDTOSOURCE 0x8004000AL +#define OLE_E_STATIC 0x8004000BL +#define OLE_E_PROMPTSAVECANCELLED 0x8004000CL +#define OLE_E_INVALIDRECT 0x8004000DL +#define OLE_E_WRONGCOMPOBJ 0x8004000EL +#define OLE_E_INVALIDHWND 0x8004000FL +#define OLE_E_NOT_INPLACEACTIVE 0x80040010L +#define OLE_E_CANTCONVERT 0x80040011L +#define OLE_E_NOSTORAGE 0x80040012L +#define DV_E_FORMATETC 0x80040064L +#define DV_E_DVTARGETDEVICE 0x80040065L +#define DV_E_STGMEDIUM 0x80040066L +#define DV_E_STATDATA 0x80040067L +#define DV_E_LINDEX 0x80040068L +#define DV_E_TYMED 0x80040069L +#define DV_E_CLIPFORMAT 0x8004006AL +#define DV_E_DVASPECT 0x8004006BL +#define DV_E_DVTARGETDEVICE_SIZE 0x8004006CL +#define DV_E_NOIVIEWOBJECT 0x8004006DL +#define DRAGDROP_E_FIRST 0x80040100L +#define DRAGDROP_E_LAST 0x8004010FL +#define DRAGDROP_S_FIRST 0x00040100L +#define DRAGDROP_S_LAST 0x0004010FL +#define DRAGDROP_E_NOTREGISTERED 0x80040100L +#define DRAGDROP_E_ALREADYREGISTERED 0x80040101L +#define DRAGDROP_E_INVALIDHWND 0x80040102L +#define CLASSFACTORY_E_FIRST 0x80040110L +#define CLASSFACTORY_E_LAST 0x8004011FL +#define CLASSFACTORY_S_FIRST 0x00040110L +#define CLASSFACTORY_S_LAST 0x0004011FL +#define CLASS_E_NOAGGREGATION 0x80040110L +#define CLASS_E_CLASSNOTAVAILABLE 0x80040111L +#define MARSHAL_E_FIRST 0x80040120L +#define MARSHAL_E_LAST 0x8004012FL +#define MARSHAL_S_FIRST 0x00040120L +#define MARSHAL_S_LAST 0x0004012FL +#define DATA_E_FIRST 0x80040130L +#define DATA_E_LAST 0x8004013FL +#define DATA_S_FIRST 0x00040130L +#define DATA_S_LAST 0x0004013FL +#define VIEW_E_FIRST 0x80040140L +#define VIEW_E_LAST 0x8004014FL +#define VIEW_S_FIRST 0x00040140L +#define VIEW_S_LAST 0x0004014FL +#define VIEW_E_DRAW 0x80040140L +#define REGDB_E_FIRST 0x80040150L +#define REGDB_E_LAST 0x8004015FL +#define REGDB_S_FIRST 0x00040150L +#define REGDB_S_LAST 0x0004015FL +#define REGDB_E_READREGDB 0x80040150L +#define REGDB_E_WRITEREGDB 0x80040151L +#define REGDB_E_KEYMISSING 0x80040152L +#define REGDB_E_INVALIDVALUE 0x80040153L +#define REGDB_E_CLASSNOTREG 0x80040154L +#define REGDB_E_IIDNOTREG 0x80040155L +#define CACHE_E_FIRST 0x80040170L +#define CACHE_E_LAST 0x8004017FL +#define CACHE_S_FIRST 0x00040170L +#define CACHE_S_LAST 0x0004017FL +#define CACHE_E_NOCACHE_UPDATED 0x80040170L +#define OLEOBJ_E_FIRST 0x80040180L +#define OLEOBJ_E_LAST 0x8004018FL +#define OLEOBJ_S_FIRST 0x00040180L +#define OLEOBJ_S_LAST 0x0004018FL +#define OLEOBJ_E_NOVERBS 0x80040180L +#define OLEOBJ_E_INVALIDVERB 0x80040181L +#define CLIENTSITE_E_FIRST 0x80040190L +#define CLIENTSITE_E_LAST 0x8004019FL +#define CLIENTSITE_S_FIRST 0x00040190L +#define CLIENTSITE_S_LAST 0x0004019FL +#define INPLACE_E_NOTUNDOABLE 0x800401A0L +#define INPLACE_E_NOTOOLSPACE 0x800401A1L +#define INPLACE_E_FIRST 0x800401A0L +#define INPLACE_E_LAST 0x800401AFL +#define INPLACE_S_FIRST 0x000401A0L +#define INPLACE_S_LAST 0x000401AFL +#define ENUM_E_FIRST 0x800401B0L +#define ENUM_E_LAST 0x800401BFL +#define ENUM_S_FIRST 0x000401B0L +#define ENUM_S_LAST 0x000401BFL +#define CONVERT10_E_FIRST 0x800401C0L +#define CONVERT10_E_LAST 0x800401CFL +#define CONVERT10_S_FIRST 0x000401C0L +#define CONVERT10_S_LAST 0x000401CFL +#define CONVERT10_E_OLESTREAM_GET 0x800401C0L +#define CONVERT10_E_OLESTREAM_PUT 0x800401C1L +#define CONVERT10_E_OLESTREAM_FMT 0x800401C2L +#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB 0x800401C3L +#define CONVERT10_E_STG_FMT 0x800401C4L +#define CONVERT10_E_STG_NO_STD_STREAM 0x800401C5L +#define CONVERT10_E_STG_DIB_TO_BITMAP 0x800401C6L +#define CLIPBRD_E_FIRST 0x800401D0L +#define CLIPBRD_E_LAST 0x800401DFL +#define CLIPBRD_S_FIRST 0x000401D0L +#define CLIPBRD_S_LAST 0x000401DFL +#define CLIPBRD_E_CANT_OPEN 0x800401D0L +#define CLIPBRD_E_CANT_EMPTY 0x800401D1L +#define CLIPBRD_E_CANT_SET 0x800401D2L +#define CLIPBRD_E_BAD_DATA 0x800401D3L +#define CLIPBRD_E_CANT_CLOSE 0x800401D4L +#define MK_E_FIRST 0x800401E0L +#define MK_E_LAST 0x800401EFL +#define MK_S_FIRST 0x000401E0L +#define MK_S_LAST 0x000401EFL +#define MK_E_CONNECTMANUALLY 0x800401E0L +#define MK_E_EXCEEDEDDEADLINE 0x800401E1L +#define MK_E_NEEDGENERIC 0x800401E2L +#define MK_E_UNAVAILABLE 0x800401E3L +#define MK_E_SYNTAX 0x800401E4L +#define MK_E_NOOBJECT 0x800401E5L +#define MK_E_INVALIDEXTENSION 0x800401E6L +#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED 0x800401E7L +#define MK_E_NOTBINDABLE 0x800401E8L +#define MK_E_NOTBOUND 0x800401E9L +#define MK_E_CANTOPENFILE 0x800401EAL +#define MK_E_MUSTBOTHERUSER 0x800401EBL +#define MK_E_NOINVERSE 0x800401ECL +#define MK_E_NOSTORAGE 0x800401EDL +#define MK_E_NOPREFIX 0x800401EEL +#define MK_E_ENUMERATION_FAILED 0x800401EFL +#define CO_E_FIRST 0x800401F0L +#define CO_E_LAST 0x800401FFL +#define CO_S_FIRST 0x000401F0L +#define CO_S_LAST 0x000401FFL +#define CO_E_NOTINITIALIZED 0x800401F0L +#define CO_E_ALREADYINITIALIZED 0x800401F1L +#define CO_E_CANTDETERMINECLASS 0x800401F2L +#define CO_E_CLASSSTRING 0x800401F3L +#define CO_E_IIDSTRING 0x800401F4L +#define CO_E_APPNOTFOUND 0x800401F5L +#define CO_E_APPSINGLEUSE 0x800401F6L +#define CO_E_ERRORINAPP 0x800401F7L +#define CO_E_DLLNOTFOUND 0x800401F8L +#define CO_E_ERRORINDLL 0x800401F9L +#define CO_E_WRONGOSFORAPP 0x800401FAL +#define CO_E_OBJNOTREG 0x800401FBL +#define CO_E_OBJISREG 0x800401FCL +#define CO_E_OBJNOTCONNECTED 0x800401FDL +#define CO_E_APPDIDNTREG 0x800401FEL +#define CO_E_RELEASED 0x800401FFL +#define OLE_S_USEREG 0x00040000L +#define OLE_S_STATIC 0x00040001L +#define OLE_S_MAC_CLIPFORMAT 0x00040002L +#define DRAGDROP_S_DROP 0x00040100L +#define DRAGDROP_S_CANCEL 0x00040101L +#define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L +#define DATA_S_SAMEFORMATETC 0x00040130L +#define VIEW_S_ALREADY_FROZEN 0x00040140L +#define CACHE_S_FORMATETC_NOTSUPPORTED 0x00040170L +#define CACHE_S_SAMECACHE 0x00040171L +#define CACHE_S_SOMECACHES_NOTUPDATED 0x00040172L +#define OLEOBJ_S_INVALIDVERB 0x00040180L +#define OLEOBJ_S_CANNOT_DOVERB_NOW 0x00040181L +#define OLEOBJ_S_INVALIDHWND 0x00040182L +#define INPLACE_S_TRUNCATED 0x000401A0L +#define CONVERT10_S_NO_PRESENTATION 0x000401C0L +#define MK_S_REDUCED_TO_SELF 0x000401E2L +#define MK_S_ME 0x000401E4L +#define MK_S_HIM 0x000401E5L +#define MK_S_US 0x000401E6L +#define MK_S_MONIKERALREADYREGISTERED 0x000401E7L +#define CO_E_CLASS_CREATE_FAILED 0x80080001L +#define CO_E_SCM_ERROR 0x80080002L +#define CO_E_SCM_RPC_FAILURE 0x80080003L +#define CO_E_BAD_PATH 0x80080004L +#define CO_E_SERVER_EXEC_FAILURE 0x80080005L +#define CO_E_OBJSRV_RPC_FAILURE 0x80080006L +#define MK_E_NO_NORMALIZED 0x80080007L +#define CO_E_SERVER_STOPPING 0x80080008L +#define MEM_E_INVALID_ROOT 0x80080009L +#define MEM_E_INVALID_LINK 0x80080010L +#define MEM_E_INVALID_SIZE 0x80080011L +#define DISP_E_UNKNOWNINTERFACE 0x80020001L +#define DISP_E_MEMBERNOTFOUND 0x80020003L +#define DISP_E_PARAMNOTFOUND 0x80020004L +#define DISP_E_TYPEMISMATCH 0x80020005L +#define DISP_E_UNKNOWNNAME 0x80020006L +#define DISP_E_NONAMEDARGS 0x80020007L +#define DISP_E_BADVARTYPE 0x80020008L +#define DISP_E_EXCEPTION 0x80020009L +#define DISP_E_OVERFLOW 0x8002000AL +#define DISP_E_BADINDEX 0x8002000BL +#define DISP_E_UNKNOWNLCID 0x8002000CL +#define DISP_E_ARRAYISLOCKED 0x8002000DL +#define DISP_E_BADPARAMCOUNT 0x8002000EL +#define DISP_E_PARAMNOTOPTIONAL 0x8002000FL +#define DISP_E_BADCALLEE 0x80020010L +#define DISP_E_NOTACOLLECTION 0x80020011L +#define TYPE_E_BUFFERTOOSMALL 0x80028016L +#define TYPE_E_INVDATAREAD 0x80028018L +#define TYPE_E_UNSUPFORMAT 0x80028019L +#define TYPE_E_REGISTRYACCESS 0x8002801CL +#define TYPE_E_LIBNOTREGISTERED 0x8002801DL +#define TYPE_E_UNDEFINEDTYPE 0x80028027L +#define TYPE_E_QUALIFIEDNAMEDISALLOWED 0x80028028L +#define TYPE_E_INVALIDSTATE 0x80028029L +#define TYPE_E_WRONGTYPEKIND 0x8002802AL +#define TYPE_E_ELEMENTNOTFOUND 0x8002802BL +#define TYPE_E_AMBIGUOUSNAME 0x8002802CL +#define TYPE_E_NAMECONFLICT 0x8002802DL +#define TYPE_E_UNKNOWNLCID 0x8002802EL +#define TYPE_E_DLLFUNCTIONNOTFOUND 0x8002802FL +#define TYPE_E_BADMODULEKIND 0x800288BDL +#define TYPE_E_SIZETOOBIG 0x800288C5L +#define TYPE_E_DUPLICATEID 0x800288C6L +#define TYPE_E_INVALIDID 0x800288CFL +#define TYPE_E_TYPEMISMATCH 0x80028CA0L +#define TYPE_E_OUTOFBOUNDS 0x80028CA1L +#define TYPE_E_IOERROR 0x80028CA2L +#define TYPE_E_CANTCREATETMPFILE 0x80028CA3L +#define TYPE_E_CANTLOADLIBRARY 0x80029C4AL +#define TYPE_E_INCONSISTENTPROPFUNCS 0x80029C83L +#define TYPE_E_CIRCULARTYPE 0x80029C84L +#define STG_E_INVALIDFUNCTION 0x80030001L +#define STG_E_FILENOTFOUND 0x80030002L +#define STG_E_PATHNOTFOUND 0x80030003L +#define STG_E_TOOMANYOPENFILES 0x80030004L +#define STG_E_ACCESSDENIED 0x80030005L +#define STG_E_INVALIDHANDLE 0x80030006L +#define STG_E_INSUFFICIENTMEMORY 0x80030008L +#define STG_E_INVALIDPOINTER 0x80030009L +#define STG_E_NOMOREFILES 0x80030012L +#define STG_E_DISKISWRITEPROTECTED 0x80030013L +#define STG_E_SEEKERROR 0x80030019L +#define STG_E_WRITEFAULT 0x8003001DL +#define STG_E_READFAULT 0x8003001EL +#define STG_E_SHAREVIOLATION 0x80030020L +#define STG_E_LOCKVIOLATION 0x80030021L +#define STG_E_FILEALREADYEXISTS 0x80030050L +#define STG_E_INVALIDPARAMETER 0x80030057L +#define STG_E_MEDIUMFULL 0x80030070L +#define STG_E_ABNORMALAPIEXIT 0x800300FAL +#define STG_E_INVALIDHEADER 0x800300FBL +#define STG_E_INVALIDNAME 0x800300FCL +#define STG_E_UNKNOWN 0x800300FDL +#define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FEL +#define STG_E_INVALIDFLAG 0x800300FFL +#define STG_E_INUSE 0x80030100L +#define STG_E_NOTCURRENT 0x80030101L +#define STG_E_REVERTED 0x80030102L +#define STG_E_CANTSAVE 0x80030103L +#define STG_E_OLDFORMAT 0x80030104L +#define STG_E_OLDDLL 0x80030105L +#define STG_E_SHAREREQUIRED 0x80030106L +#define STG_E_NOTFILEBASEDSTORAGE 0x80030107L +#define STG_E_EXTANTMARSHALLINGS 0x80030108L +#define STG_S_CONVERTED 0x00030200L +#define RPC_E_CALL_REJECTED 0x80010001L +#define RPC_E_CALL_CANCELED 0x80010002L +#define RPC_E_CANTPOST_INSENDCALL 0x80010003L +#define RPC_E_CANTCALLOUT_INASYNCCALL 0x80010004L +#define RPC_E_CANTCALLOUT_INEXTERNALCALL 0x80010005L +#define RPC_E_CONNECTION_TERMINATED 0x80010006L +#define RPC_E_SERVER_DIED 0x80010007L +#define RPC_E_CLIENT_DIED 0x80010008L +#define RPC_E_INVALID_DATAPACKET 0x80010009L +#define RPC_E_CANTTRANSMIT_CALL 0x8001000AL +#define RPC_E_CLIENT_CANTMARSHAL_DATA 0x8001000BL +#define RPC_E_CLIENT_CANTUNMARSHAL_DATA 0x8001000CL +#define RPC_E_SERVER_CANTMARSHAL_DATA 0x8001000DL +#define RPC_E_SERVER_CANTUNMARSHAL_DATA 0x8001000EL +#define RPC_E_INVALID_DATA 0x8001000FL +#define RPC_E_INVALID_PARAMETER 0x80010010L +#define RPC_E_CANTCALLOUT_AGAIN 0x80010011L +#define RPC_E_SERVER_DIED_DNE 0x80010012L +#define RPC_E_SYS_CALL_FAILED 0x80010100L +#define RPC_E_OUT_OF_RESOURCES 0x80010101L +#define RPC_E_ATTEMPTED_MULTITHREAD 0x80010102L +#define RPC_E_NOT_REGISTERED 0x80010103L +#define RPC_E_FAULT 0x80010104L +#define RPC_E_SERVERFAULT 0x80010105L +#define RPC_E_CHANGED_MODE 0x80010106L +#define RPC_E_INVALIDMETHOD 0x80010107L +#define RPC_E_DISCONNECTED 0x80010108L +#define RPC_E_RETRY 0x80010109L +#define RPC_E_SERVERCALL_RETRYLATER 0x8001010AL +#define RPC_E_SERVERCALL_REJECTED 0x8001010BL +#define RPC_E_INVALID_CALLDATA 0x8001010CL +#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL 0x8001010DL +#define RPC_E_WRONG_THREAD 0x8001010EL +#define RPC_E_THREAD_NOT_INIT 0x8001010FL +#define RPC_E_UNEXPECTED 0x8001FFFFL + +#define NTE_BAD_UID 0x80090001L +#define NTE_BAD_HASH 0x80090002L +#define NTE_BAD_KEY 0x80090003L +#define NTE_BAD_LEN 0x80090004L +#define NTE_BAD_DATA 0x80090005L +#define NTE_BAD_SIGNATURE 0x80090006L +#define NTE_BAD_VER 0x80090007L +#define NTE_BAD_ALGID 0x80090008L +#define NTE_BAD_FLAGS 0x80090009L +#define NTE_BAD_TYPE 0x8009000AL +#define NTE_BAD_KEY_STATE 0x8009000BL +#define NTE_BAD_HASH_STATE 0x8009000CL +#define NTE_NO_KEY 0x8009000DL +#define NTE_NO_MEMORY 0x8009000EL +#define NTE_EXISTS 0x8009000FL +#define NTE_PERM 0x80090010L +#define NTE_NOT_FOUND 0x80090011L +#define NTE_DOUBLE_ENCRYPT 0x80090012L +#define NTE_BAD_PROVIDER 0x80090013L +#define NTE_BAD_PROV_TYPE 0x80090014L +#define NTE_BAD_PUBLIC_KEY 0x80090015L +#define NTE_BAD_KEYSET 0x80090016L +#define NTE_PROV_TYPE_NOT_DEF 0x80090017L +#define NTE_PROV_TYPE_ENTRY_BAD 0x80090018L +#define NTE_KEYSET_NOT_DEF 0x80090019L +#define NTE_KEYSET_ENTRY_BAD 0x8009001AL +#define NTE_PROV_TYPE_NO_MATCH 0x8009001BL +#define NTE_SIGNATURE_FILE_BAD 0x8009001CL +#define NTE_PROVIDER_DLL_FAIL 0x8009001DL +#define NTE_PROV_DLL_NOT_FOUND 0x8009001EL +#define NTE_BAD_KEYSET_PARAM 0x8009001FL +#define NTE_FAIL 0x80090020L +#define NTE_SYS_ERR 0x80090021L +/* #define NTE_TOKEN_KEYSET_STORAGE ??? */ + +#endif diff --git a/win32/include/winapi/wingdi.h b/win32/include/winapi/wingdi.h index 20e3bbd..b0af5ad 100644 --- a/win32/include/winapi/wingdi.h +++ b/win32/include/winapi/wingdi.h @@ -1,2843 +1,2843 @@ -#ifndef _WINGDI_H
-#define _WINGDI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WINGDIAPI
-#define BI_RGB 0
-#define BI_RLE8 1
-#define BI_RLE4 2
-#define BI_BITFIELDS 3
-#define BI_JPEG 4
-#define BI_PNG 5
-#define LF_FACESIZE 32
-#define LF_FULLFACESIZE 64
-#define CA_NEGATIVE 1
-#define CA_LOG_FILTER 2
-#define ILLUMINANT_DEVICE_DEFAULT 0
-#define ILLUMINANT_A 1
-#define ILLUMINANT_B 2
-#define ILLUMINANT_C 3
-#define ILLUMINANT_D50 4
-#define ILLUMINANT_D55 5
-#define ILLUMINANT_D65 6
-#define ILLUMINANT_D75 7
-#define ILLUMINANT_F2 8
-#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
-#define ILLUMINANT_TUNGSTEN ILLUMINANT_A
-#define ILLUMINANT_DAYLIGHT ILLUMINANT_C
-#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
-#define ILLUMINANT_NTSC ILLUMINANT_C
-#define RGB_GAMMA_MIN 2500
-#define RGB_GAMMA_MAX 65000
-#define REFERENCE_WHITE_MIN 6000
-#define REFERENCE_WHITE_MAX 10000
-#define REFERENCE_BLACK_MIN 0
-#define REFERENCE_BLACK_MAX 4000
-#define COLOR_ADJ_MIN (-100)
-#define COLOR_ADJ_MAX 100
-#define CCHDEVICENAME 32
-#define CCHFORMNAME 32
-#define DI_COMPAT 4
-#define DI_DEFAULTSIZE 8
-#define DI_IMAGE 2
-#define DI_MASK 1
-#define DI_NORMAL 3
-#define DI_APPBANDING 1
-#define EMR_HEADER 1
-#define EMR_POLYBEZIER 2
-#define EMR_POLYGON 3
-#define EMR_POLYLINE 4
-#define EMR_POLYBEZIERTO 5
-#define EMR_POLYLINETO 6
-#define EMR_POLYPOLYLINE 7
-#define EMR_POLYPOLYGON 8
-#define EMR_SETWINDOWEXTEX 9
-#define EMR_SETWINDOWORGEX 10
-#define EMR_SETVIEWPORTEXTEX 11
-#define EMR_SETVIEWPORTORGEX 12
-#define EMR_SETBRUSHORGEX 13
-#define EMR_EOF 14
-#define EMR_SETPIXELV 15
-#define EMR_SETMAPPERFLAGS 16
-#define EMR_SETMAPMODE 17
-#define EMR_SETBKMODE 18
-#define EMR_SETPOLYFILLMODE 19
-#define EMR_SETROP2 20
-#define EMR_SETSTRETCHBLTMODE 21
-#define EMR_SETTEXTALIGN 22
-#define EMR_SETCOLORADJUSTMENT 23
-#define EMR_SETTEXTCOLOR 24
-#define EMR_SETBKCOLOR 25
-#define EMR_OFFSETCLIPRGN 26
-#define EMR_MOVETOEX 27
-#define EMR_SETMETARGN 28
-#define EMR_EXCLUDECLIPRECT 29
-#define EMR_INTERSECTCLIPRECT 30
-#define EMR_SCALEVIEWPORTEXTEX 31
-#define EMR_SCALEWINDOWEXTEX 32
-#define EMR_SAVEDC 33
-#define EMR_RESTOREDC 34
-#define EMR_SETWORLDTRANSFORM 35
-#define EMR_MODIFYWORLDTRANSFORM 36
-#define EMR_SELECTOBJECT 37
-#define EMR_CREATEPEN 38
-#define EMR_CREATEBRUSHINDIRECT 39
-#define EMR_DELETEOBJECT 40
-#define EMR_ANGLEARC 41
-#define EMR_ELLIPSE 42
-#define EMR_RECTANGLE 43
-#define EMR_ROUNDRECT 44
-#define EMR_ARC 45
-#define EMR_CHORD 46
-#define EMR_PIE 47
-#define EMR_SELECTPALETTE 48
-#define EMR_CREATEPALETTE 49
-#define EMR_SETPALETTEENTRIES 50
-#define EMR_RESIZEPALETTE 51
-#define EMR_REALIZEPALETTE 52
-#define EMR_EXTFLOODFILL 53
-#define EMR_LINETO 54
-#define EMR_ARCTO 55
-#define EMR_POLYDRAW 56
-#define EMR_SETARCDIRECTION 57
-#define EMR_SETMITERLIMIT 58
-#define EMR_BEGINPATH 59
-#define EMR_ENDPATH 60
-#define EMR_CLOSEFIGURE 61
-#define EMR_FILLPATH 62
-#define EMR_STROKEANDFILLPATH 63
-#define EMR_STROKEPATH 64
-#define EMR_FLATTENPATH 65
-#define EMR_WIDENPATH 66
-#define EMR_SELECTCLIPPATH 67
-#define EMR_ABORTPATH 68
-#define EMR_GDICOMMENT 70
-#define EMR_FILLRGN 71
-#define EMR_FRAMERGN 72
-#define EMR_INVERTRGN 73
-#define EMR_PAINTRGN 74
-#define EMR_EXTSELECTCLIPRGN 75
-#define EMR_BITBLT 76
-#define EMR_STRETCHBLT 77
-#define EMR_MASKBLT 78
-#define EMR_PLGBLT 79
-#define EMR_SETDIBITSTODEVICE 80
-#define EMR_STRETCHDIBITS 81
-#define EMR_EXTCREATEFONTINDIRECTW 82
-#define EMR_EXTTEXTOUTA 83
-#define EMR_EXTTEXTOUTW 84
-#define EMR_POLYBEZIER16 85
-#define EMR_POLYGON16 86
-#define EMR_POLYLINE16 87
-#define EMR_POLYBEZIERTO16 88
-#define EMR_POLYLINETO16 89
-#define EMR_POLYPOLYLINE16 90
-#define EMR_POLYPOLYGON16 91
-#define EMR_POLYDRAW16 92
-#define EMR_CREATEMONOBRUSH 93
-#define EMR_CREATEDIBPATTERNBRUSHPT 94
-#define EMR_EXTCREATEPEN 95
-#define EMR_POLYTEXTOUTA 96
-#define EMR_POLYTEXTOUTW 97
-#define EMR_SETICMMODE 98
-#define EMR_CREATECOLORSPACE 99
-#define EMR_SETCOLORSPACE 100
-#define EMR_DELETECOLORSPACE 101
-#define EMR_GLSRECORD 102
-#define EMR_GLSBOUNDEDRECORD 103
-#define EMR_PIXELFORMAT 104
-#define ENHMETA_SIGNATURE 1179469088
-#define EPS_SIGNATURE 0x46535045
-#define META_SETBKCOLOR 0x201
-#define META_SETBKMODE 0x102
-#define META_SETMAPMODE 0x103
-#define META_SETROP2 0x104
-#define META_SETRELABS 0x105
-#define META_SETPOLYFILLMODE 0x106
-#define META_SETSTRETCHBLTMODE 0x107
-#define META_SETTEXTCHAREXTRA 0x108
-#define META_SETTEXTCOLOR 0x209
-#define META_SETTEXTJUSTIFICATION 0x20A
-#define META_SETWINDOWORG 0x20B
-#define META_SETWINDOWEXT 0x20C
-#define META_SETVIEWPORTORG 0x20D
-#define META_SETVIEWPORTEXT 0x20E
-#define META_OFFSETWINDOWORG 0x20F
-#define META_SCALEWINDOWEXT 0x410
-#define META_OFFSETVIEWPORTORG 0x211
-#define META_SCALEVIEWPORTEXT 0x412
-#define META_LINETO 0x213
-#define META_MOVETO 0x214
-#define META_EXCLUDECLIPRECT 0x415
-#define META_INTERSECTCLIPRECT 0x416
-#define META_ARC 0x817
-#define META_ELLIPSE 0x418
-#define META_FLOODFILL 0x419
-#define META_PIE 0x81A
-#define META_RECTANGLE 0x41B
-#define META_ROUNDRECT 0x61C
-#define META_PATBLT 0x61D
-#define META_SAVEDC 0x1E
-#define META_SETPIXEL 0x41F
-#define META_OFFSETCLIPRGN 0x220
-#define META_TEXTOUT 0x521
-#define META_BITBLT 0x922
-#define META_STRETCHBLT 0xB23
-#define META_POLYGON 0x324
-#define META_POLYLINE 0x325
-#define META_ESCAPE 0x626
-#define META_RESTOREDC 0x127
-#define META_FILLREGION 0x228
-#define META_FRAMEREGION 0x429
-#define META_INVERTREGION 0x12A
-#define META_PAINTREGION 0x12B
-#define META_SELECTCLIPREGION 0x12C
-#define META_SELECTOBJECT 0x12D
-#define META_SETTEXTALIGN 0x12E
-#define META_CHORD 0x830
-#define META_SETMAPPERFLAGS 0x231
-#define META_EXTTEXTOUT 0xa32
-#define META_SETDIBTODEV 0xd33
-#define META_SELECTPALETTE 0x234
-#define META_REALIZEPALETTE 0x35
-#define META_ANIMATEPALETTE 0x436
-#define META_SETPALENTRIES 0x37
-#define META_POLYPOLYGON 0x538
-#define META_RESIZEPALETTE 0x139
-#define META_DIBBITBLT 0x940
-#define META_DIBSTRETCHBLT 0xb41
-#define META_DIBCREATEPATTERNBRUSH 0x142
-#define META_STRETCHDIB 0xf43
-#define META_EXTFLOODFILL 0x548
-#define META_DELETEOBJECT 0x1f0
-#define META_CREATEPALETTE 0xf7
-#define META_CREATEPATTERNBRUSH 0x1F9
-#define META_CREATEPENINDIRECT 0x2FA
-#define META_CREATEFONTINDIRECT 0x2FB
-#define META_CREATEBRUSHINDIRECT 0x2FC
-#define META_CREATEREGION 0x6FF
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define ELF_VENDOR_SIZE 4
-#define ELF_VERSION 0
-#define ELF_CULTURE_LATIN 0
-#define PFD_TYPE_RGBA 0
-#define PFD_TYPE_COLORINDEX 1
-#define PFD_MAIN_PLANE 0
-#define PFD_OVERLAY_PLANE 1
-#define PFD_UNDERLAY_PLANE (-1)
-#define PFD_DOUBLEBUFFER 1
-#define PFD_STEREO 2
-#define PFD_DRAW_TO_WINDOW 4
-#define PFD_DRAW_TO_BITMAP 8
-#define PFD_SUPPORT_GDI 16
-#define PFD_SUPPORT_OPENGL 32
-#define PFD_GENERIC_FORMAT 64
-#define PFD_NEED_PALETTE 128
-#define PFD_NEED_SYSTEM_PALETTE 0x00000100
-#define PFD_SWAP_EXCHANGE 0x00000200
-#define PFD_SWAP_COPY 0x00000400
-#define PFD_GENERIC_ACCELERATED 0x00001000
-#define PFD_DEPTH_DONTCARE 0x20000000
-#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
-#define PFD_STEREO_DONTCARE 0x80000000
-#define SP_ERROR (-1)
-#define SP_OUTOFDISK (-4)
-#define SP_OUTOFMEMORY (-5)
-#define SP_USERABORT (-3)
-#define SP_APPABORT (-2)
-#define BLACKNESS 0x42
-#define NOTSRCERASE 0x1100A6
-#define NOTSRCCOPY 0x330008
-#define SRCERASE 0x440328
-#define DSTINVERT 0x550009
-#define PATINVERT 0x5A0049
-#define SRCINVERT 0x660046
-#define SRCAND 0x8800C6
-#define MERGEPAINT 0xBB0226
-#define MERGECOPY 0xC000CA
-#define SRCCOPY 0xCC0020
-#define SRCPAINT 0xEE0086
-#define PATCOPY 0xF00021
-#define PATPAINT 0xFB0A09
-#define WHITENESS 0xFF0062
-#define R2_BLACK 1
-#define R2_COPYPEN 13
-#define R2_MASKNOTPEN 3
-#define R2_MASKPEN 9
-#define R2_MASKPENNOT 5
-#define R2_MERGENOTPEN 12
-#define R2_MERGEPEN 15
-#define R2_MERGEPENNOT 14
-#define R2_NOP 11
-#define R2_NOT 6
-#define R2_NOTCOPYPEN 4
-#define R2_NOTMASKPEN 8
-#define R2_NOTMERGEPEN 2
-#define R2_NOTXORPEN 10
-#define R2_WHITE 16
-#define R2_XORPEN 7
-#define CM_OUT_OF_GAMUT 255
-#define CM_IN_GAMUT 0
-#define RGN_AND 1
-#define RGN_COPY 5
-#define RGN_DIFF 4
-#define RGN_OR 2
-#define RGN_XOR 3
-#define NULLREGION 1
-#define SIMPLEREGION 2
-#define COMPLEXREGION 3
-#define ERROR 0
-#define CBM_INIT 4
-#define DIB_PAL_COLORS 1
-#define DIB_RGB_COLORS 0
-#define FW_DONTCARE 0
-#define FW_THIN 100
-#define FW_EXTRALIGHT 200
-#define FW_ULTRALIGHT FW_EXTRALIGHT
-#define FW_LIGHT 300
-#define FW_NORMAL 400
-#define FW_REGULAR 400
-#define FW_MEDIUM 500
-#define FW_SEMIBOLD 600
-#define FW_DEMIBOLD FW_SEMIBOLD
-#define FW_BOLD 700
-#define FW_EXTRABOLD 800
-#define FW_ULTRABOLD FW_EXTRABOLD
-#define FW_HEAVY 900
-#define FW_BLACK FW_HEAVY
-#define ANSI_CHARSET 0
-#define DEFAULT_CHARSET 1
-#define SYMBOL_CHARSET 2
-#define SHIFTJIS_CHARSET 128
-#define HANGEUL_CHARSET 129
-#define HANGUL_CHARSET 129
-#define GB2312_CHARSET 134
-#define CHINESEBIG5_CHARSET 136
-#define GREEK_CHARSET 161
-#define TURKISH_CHARSET 162
-#define HEBREW_CHARSET 177
-#define ARABIC_CHARSET 178
-#define BALTIC_CHARSET 186
-#define RUSSIAN_CHARSET 204
-#define THAI_CHARSET 222
-#define EASTEUROPE_CHARSET 238
-#define OEM_CHARSET 255
-#define JOHAB_CHARSET 130
-#define VIETNAMESE_CHARSET 163
-#define MAC_CHARSET 77
-#define BALTIC_CHARSET 186
-#define JOHAB_CHARSET 130
-#define VIETNAMESE_CHARSET 163
-#define OUT_DEFAULT_PRECIS 0
-#define OUT_STRING_PRECIS 1
-#define OUT_CHARACTER_PRECIS 2
-#define OUT_STROKE_PRECIS 3
-#define OUT_TT_PRECIS 4
-#define OUT_DEVICE_PRECIS 5
-#define OUT_RASTER_PRECIS 6
-#define OUT_TT_ONLY_PRECIS 7
-#define OUT_OUTLINE_PRECIS 8
-#define CLIP_DEFAULT_PRECIS 0
-#define CLIP_CHARACTER_PRECIS 1
-#define CLIP_STROKE_PRECIS 2
-#define CLIP_MASK 15
-#define CLIP_LH_ANGLES 16
-#define CLIP_TT_ALWAYS 32
-#define CLIP_EMBEDDED 128
-#define DEFAULT_QUALITY 0
-#define DRAFT_QUALITY 1
-#define PROOF_QUALITY 2
-#define NONANTIALIASED_QUALITY 3
-#define ANTIALIASED_QUALITY 4
-#define DEFAULT_PITCH 0
-#define FIXED_PITCH 1
-#define VARIABLE_PITCH 2
-#define MONO_FONT 8
-#define FF_DECORATIVE 80
-#define FF_DONTCARE 0
-#define FF_MODERN 48
-#define FF_ROMAN 16
-#define FF_SCRIPT 64
-#define FF_SWISS 32
-#define PANOSE_COUNT 10
-#define PAN_FAMILYTYPE_INDEX 0
-#define PAN_SERIFSTYLE_INDEX 1
-#define PAN_WEIGHT_INDEX 2
-#define PAN_PROPORTION_INDEX 3
-#define PAN_CONTRAST_INDEX 4
-#define PAN_STROKEVARIATION_INDEX 5
-#define PAN_ARMSTYLE_INDEX 6
-#define PAN_LETTERFORM_INDEX 7
-#define PAN_MIDLINE_INDEX 8
-#define PAN_XHEIGHT_INDEX 9
-#define PAN_CULTURE_LATIN 0
-#define PAN_ANY 0
-#define PAN_NO_FIT 1
-#define PAN_FAMILY_TEXT_DISPLAY 2
-#define PAN_FAMILY_SCRIPT 3
-#define PAN_FAMILY_DECORATIVE 4
-#define PAN_FAMILY_PICTORIAL 5
-#define PAN_SERIF_COVE 2
-#define PAN_SERIF_OBTUSE_COVE 3
-#define PAN_SERIF_SQUARE_COVE 4
-#define PAN_SERIF_OBTUSE_SQUARE_COVE 5
-#define PAN_SERIF_SQUARE 6
-#define PAN_SERIF_THIN 7
-#define PAN_SERIF_BONE 8
-#define PAN_SERIF_EXAGGERATED 9
-#define PAN_SERIF_TRIANGLE 10
-#define PAN_SERIF_NORMAL_SANS 11
-#define PAN_SERIF_OBTUSE_SANS 12
-#define PAN_SERIF_PERP_SANS 13
-#define PAN_SERIF_FLARED 14
-#define PAN_SERIF_ROUNDED 15
-#define PAN_WEIGHT_VERY_LIGHT 2
-#define PAN_WEIGHT_LIGHT 3
-#define PAN_WEIGHT_THIN 4
-#define PAN_WEIGHT_BOOK 5
-#define PAN_WEIGHT_MEDIUM 6
-#define PAN_WEIGHT_DEMI 7
-#define PAN_WEIGHT_BOLD 8
-#define PAN_WEIGHT_HEAVY 9
-#define PAN_WEIGHT_BLACK 10
-#define PAN_WEIGHT_NORD 11
-#define PAN_PROP_OLD_STYLE 2
-#define PAN_PROP_MODERN 3
-#define PAN_PROP_EVEN_WIDTH 4
-#define PAN_PROP_EXPANDED 5
-#define PAN_PROP_CONDENSED 6
-#define PAN_PROP_VERY_EXPANDED 7
-#define PAN_PROP_VERY_CONDENSED 8
-#define PAN_PROP_MONOSPACED 9
-#define PAN_CONTRAST_NONE 2
-#define PAN_CONTRAST_VERY_LOW 3
-#define PAN_CONTRAST_LOW 4
-#define PAN_CONTRAST_MEDIUM_LOW 5
-#define PAN_CONTRAST_MEDIUM 6
-#define PAN_CONTRAST_MEDIUM_HIGH 7
-#define PAN_CONTRAST_HIGH 8
-#define PAN_CONTRAST_VERY_HIGH 9
-#define PAN_STROKE_GRADUAL_DIAG 2
-#define PAN_STROKE_GRADUAL_TRAN 3
-#define PAN_STROKE_GRADUAL_VERT 4
-#define PAN_STROKE_GRADUAL_HORZ 5
-#define PAN_STROKE_RAPID_VERT 6
-#define PAN_STROKE_RAPID_HORZ 7
-#define PAN_STROKE_INSTANT_VERT 8
-#define PAN_STRAIGHT_ARMS_HORZ 2
-#define PAN_STRAIGHT_ARMS_WEDGE 3
-#define PAN_STRAIGHT_ARMS_VERT 4
-#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
-#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
-#define PAN_BENT_ARMS_HORZ 7
-#define PAN_BENT_ARMS_WEDGE 8
-#define PAN_BENT_ARMS_VERT 9
-#define PAN_BENT_ARMS_SINGLE_SERIF 10
-#define PAN_BENT_ARMS_DOUBLE_SERIF 11
-#define PAN_LETT_NORMAL_CONTACT 2
-#define PAN_LETT_NORMAL_WEIGHTED 3
-#define PAN_LETT_NORMAL_BOXED 4
-#define PAN_LETT_NORMAL_FLATTENED 5
-#define PAN_LETT_NORMAL_ROUNDED 6
-#define PAN_LETT_NORMAL_OFF_CENTER 7
-#define PAN_LETT_NORMAL_SQUARE 8
-#define PAN_LETT_OBLIQUE_CONTACT 9
-#define PAN_LETT_OBLIQUE_WEIGHTED 10
-#define PAN_LETT_OBLIQUE_BOXED 11
-#define PAN_LETT_OBLIQUE_FLATTENED 12
-#define PAN_LETT_OBLIQUE_ROUNDED 13
-#define PAN_LETT_OBLIQUE_OFF_CENTER 14
-#define PAN_LETT_OBLIQUE_SQUARE 15
-#define PAN_MIDLINE_STANDARD_TRIMMED 2
-#define PAN_MIDLINE_STANDARD_POINTED 3
-#define PAN_MIDLINE_STANDARD_SERIFED 4
-#define PAN_MIDLINE_HIGH_TRIMMED 5
-#define PAN_MIDLINE_HIGH_POINTED 6
-#define PAN_MIDLINE_HIGH_SERIFED 7
-#define PAN_MIDLINE_CONSTANT_TRIMMED 8
-#define PAN_MIDLINE_CONSTANT_POINTED 9
-#define PAN_MIDLINE_CONSTANT_SERIFED 10
-#define PAN_MIDLINE_LOW_TRIMMED 11
-#define PAN_MIDLINE_LOW_POINTED 12
-#define PAN_MIDLINE_LOW_SERIFED 13
-#define PAN_XHEIGHT_CONSTANT_SMALL 2
-#define PAN_XHEIGHT_CONSTANT_STD 3
-#define PAN_XHEIGHT_CONSTANT_LARGE 4
-#define PAN_XHEIGHT_DUCKING_SMALL 5
-#define PAN_XHEIGHT_DUCKING_STD 6
-#define PAN_XHEIGHT_DUCKING_LARGE 7
-#define FS_LATIN1 1
-#define FS_LATIN2 2
-#define FS_CYRILLIC 4
-#define FS_GREEK 8
-#define FS_TURKISH 16
-#define FS_HEBREW 32
-#define FS_ARABIC 64
-#define FS_BALTIC 128
-#define FS_THAI 0x10000
-#define FS_JISJAPAN 0x20000
-#define FS_CHINESESIMP 0x40000
-#define FS_WANSUNG 0x80000
-#define FS_CHINESETRAD 0x100000
-#define FS_JOHAB 0x200000
-#define FS_SYMBOL 0x80000000
-#define HS_BDIAGONAL 3
-#define HS_CROSS 4
-#define HS_DIAGCROSS 5
-#define HS_FDIAGONAL 2
-#define HS_HORIZONTAL 0
-#define HS_VERTICAL 1
-#define PS_GEOMETRIC 65536
-#define PS_COSMETIC 0
-#define PS_ALTERNATE 8
-#define PS_SOLID 0
-#define PS_DASH 1
-#define PS_DOT 2
-#define PS_DASHDOT 3
-#define PS_DASHDOTDOT 4
-#define PS_NULL 5
-#define PS_USERSTYLE 7
-#define PS_INSIDEFRAME 6
-#define PS_ENDCAP_ROUND 0
-#define PS_ENDCAP_SQUARE 256
-#define PS_ENDCAP_FLAT 512
-#define PS_JOIN_BEVEL 4096
-#define PS_JOIN_MITER 8192
-#define PS_JOIN_ROUND 0
-#define PS_STYLE_MASK 15
-#define PS_ENDCAP_MASK 3840
-#define PS_TYPE_MASK 983040
-#define ALTERNATE 1
-#define WINDING 2
-#define DC_BINNAMES 12
-#define DC_BINS 6
-#define DC_COPIES 18
-#define DC_DRIVER 11
-#define DC_DATATYPE_PRODUCED 21
-#define DC_DUPLEX 7
-#define DC_EMF_COMPLIANT 20
-#define DC_ENUMRESOLUTIONS 13
-#define DC_EXTRA 9
-#define DC_FIELDS 1
-#define DC_FILEDEPENDENCIES 14
-#define DC_MAXEXTENT 5
-#define DC_MINEXTENT 4
-#define DC_ORIENTATION 17
-#define DC_PAPERNAMES 16
-#define DC_PAPERS 2
-#define DC_PAPERSIZE 3
-#define DC_SIZE 8
-#define DC_TRUETYPE 15
-#define DCTT_BITMAP 1
-#define DCTT_DOWNLOAD 2
-#define DCTT_SUBDEV 4
-#define DCTT_DOWNLOAD_OUTLINE 8
-#define DC_VERSION 10
-#define DC_BINADJUST 19
-#define DC_EMF_COMPLIANT 20
-#define DC_DATATYPE_PRODUCED 21
-#define DC_MANUFACTURER 23
-#define DC_MODEL 24
-#define DCBA_FACEUPNONE 0
-#define DCBA_FACEUPCENTER 1
-#define DCBA_FACEUPLEFT 2
-#define DCBA_FACEUPRIGHT 3
-#define DCBA_FACEDOWNNONE 256
-#define DCBA_FACEDOWNCENTER 257
-#define DCBA_FACEDOWNLEFT 258
-#define DCBA_FACEDOWNRIGHT 259
-#define FLOODFILLBORDER 0
-#define FLOODFILLSURFACE 1
-#define ETO_CLIPPED 4
-#define ETO_GLYPH_INDEX 16
-#define ETO_OPAQUE 2
-#define ETO_RTLREADING 128
-#define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
-#define GDICOMMENT_BEGINGROUP 2
-#define GDICOMMENT_ENDGROUP 3
-#define GDICOMMENT_MULTIFORMATS 1073741828
-#define GDICOMMENT_IDENTIFIER 1128875079
-#define AD_COUNTERCLOCKWISE 1
-#define AD_CLOCKWISE 2
-#define RDH_RECTANGLES 1
-#define GCPCLASS_LATIN 1
-#define GCPCLASS_HEBREW 2
-#define GCPCLASS_ARABIC 2
-#define GCPCLASS_NEUTRAL 3
-#define GCPCLASS_LOCALNUMBER 4
-#define GCPCLASS_LATINNUMBER 5
-#define GCPCLASS_LATINNUMERICTERMINATOR 6
-#define GCPCLASS_LATINNUMERICSEPARATOR 7
-#define GCPCLASS_NUMERICSEPARATOR 8
-#define GCPCLASS_PREBOUNDLTR 128
-#define GCPCLASS_PREBOUNDRTL 64
-#define GCPCLASS_POSTBOUNDLTR 32
-#define GCPCLASS_POSTBOUNDRTL 16
-#define GCPGLYPH_LINKBEFORE 0x8000
-#define GCPGLYPH_LINKAFTER 0x4000
-#define DCB_DISABLE 8
-#define DCB_ENABLE 4
-#define DCB_RESET 1
-#define DCB_SET 3
-#define DCB_ACCUMULATE 2
-#define DCB_DIRTY 2
-#define OBJ_BRUSH 2
-#define OBJ_PEN 1
-#define OBJ_PAL 5
-#define OBJ_FONT 6
-#define OBJ_BITMAP 7
-#define OBJ_EXTPEN 11
-#define OBJ_REGION 8
-#define OBJ_DC 3
-#define OBJ_MEMDC 10
-#define OBJ_METAFILE 9
-#define OBJ_METADC 4
-#define OBJ_ENHMETAFILE 13
-#define OBJ_ENHMETADC 12
-#define DRIVERVERSION 0
-#define TECHNOLOGY 2
-#define DT_PLOTTER 0
-#define DT_RASDISPLAY 1
-#define DT_RASPRINTER 2
-#define DT_RASCAMERA 3
-#define DT_CHARSTREAM 4
-#define DT_METAFILE 5
-#define DT_DISPFILE 6
-#define HORZSIZE 4
-#define VERTSIZE 6
-#define HORZRES 8
-#define VERTRES 10
-#define LOGPIXELSX 88
-#define LOGPIXELSY 90
-#define BITSPIXEL 12
-#define PLANES 14
-#define NUMBRUSHES 16
-#define NUMPENS 18
-#define NUMFONTS 22
-#define NUMCOLORS 24
-#define NUMMARKERS 20
-#define ASPECTX 40
-#define ASPECTY 42
-#define ASPECTXY 44
-#define PDEVICESIZE 26
-#define CLIPCAPS 36
-#define SIZEPALETTE 104
-#define NUMRESERVED 106
-#define COLORRES 108
-#define PHYSICALWIDTH 110
-#define PHYSICALHEIGHT 111
-#define PHYSICALOFFSETX 112
-#define PHYSICALOFFSETY 113
-#define SCALINGFACTORX 114
-#define SCALINGFACTORY 115
-#define VREFRESH 116
-#define DESKTOPHORZRES 118
-#define DESKTOPVERTRES 117
-#define BLTALIGNMENT 119
-#define RASTERCAPS 38
-#define RC_BANDING 2
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DI_BITMAP 128
-#define RC_DIBTODEV 512
-#define RC_FLOODFILL 4096
-#define RC_GDI20_OUTPUT 16
-#define RC_PALETTE 256
-#define RC_SCALING 4
-#define RC_STRETCHBLT 2048
-#define RC_STRETCHDIB 8192
-#define RC_DEVBITS 0x8000
-#define RC_OP_DX_OUTPUT 0x4000
-#define CURVECAPS 28
-#define CC_NONE 0
-#define CC_CIRCLES 1
-#define CC_PIE 2
-#define CC_CHORD 4
-#define CC_ELLIPSES 8
-#define CC_WIDE 16
-#define CC_STYLED 32
-#define CC_WIDESTYLED 64
-#define CC_INTERIORS 128
-#define CC_ROUNDRECT 256
-#define LINECAPS 30
-#define LC_NONE 0
-#define LC_POLYLINE 2
-#define LC_MARKER 4
-#define LC_POLYMARKER 8
-#define LC_WIDE 16
-#define LC_STYLED 32
-#define LC_WIDESTYLED 64
-#define LC_INTERIORS 128
-#define POLYGONALCAPS 32
-#define RC_BANDING 2
-#define RC_BIGFONT 1024
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DEVBITS 0x8000
-#define RC_DI_BITMAP 128
-#define RC_GDI20_OUTPUT 16
-#define RC_GDI20_STATE 32
-#define RC_NONE 0
-#define RC_OP_DX_OUTPUT 0x4000
-#define RC_PALETTE 256
-#define RC_SAVEBITMAP 64
-#define RC_SCALING 4
-#define PC_NONE 0
-#define PC_POLYGON 1
-#define PC_POLYPOLYGON 256
-#define PC_PATHS 512
-#define PC_RECTANGLE 2
-#define PC_WINDPOLYGON 4
-#define PC_SCANLINE 8
-#define PC_TRAPEZOID 4
-#define PC_WIDE 16
-#define PC_STYLED 32
-#define PC_WIDESTYLED 64
-#define PC_INTERIORS 128
-#define PC_PATHS 512
-#define TEXTCAPS 34
-#define TC_OP_CHARACTER 1
-#define TC_OP_STROKE 2
-#define TC_CP_STROKE 4
-#define TC_CR_90 8
-#define TC_CR_ANY 16
-#define TC_SF_X_YINDEP 32
-#define TC_SA_DOUBLE 64
-#define TC_SA_INTEGER 128
-#define TC_SA_CONTIN 256
-#define TC_EA_DOUBLE 512
-#define TC_IA_ABLE 1024
-#define TC_UA_ABLE 2048
-#define TC_SO_ABLE 4096
-#define TC_RA_ABLE 8192
-#define TC_VA_ABLE 16384
-#define TC_RESERVED 32768
-#define TC_SCROLLBLT 65536
-#define GCP_DBCS 1
-#define GCP_ERROR 0x8000
-#define GCP_CLASSIN 0x80000
-#define GCP_DIACRITIC 256
-#define GCP_DISPLAYZWG 0x400000
-#define GCP_GLYPHSHAPE 16
-#define GCP_JUSTIFY 0x10000
-#define GCP_JUSTIFYIN 0x200000
-#define GCP_KASHIDA 1024
-#define GCP_LIGATE 32
-#define GCP_MAXEXTENT 0x100000
-#define GCP_NEUTRALOVERRIDE 0x2000000
-#define GCP_NUMERICOVERRIDE 0x1000000
-#define GCP_NUMERICSLATIN 0x4000000
-#define GCP_NUMERICSLOCAL 0x8000000
-#define GCP_REORDER 2
-#define GCP_SYMSWAPOFF 0x800000
-#define GCP_USEKERNING 8
-#define FLI_GLYPHS 0x40000
-#define FLI_MASK 0x103b
-#define GGO_METRICS 0
-#define GGO_BITMAP 1
-#define GGO_NATIVE 2
-#define GGO_BEZIER 3
-#define GGO_GRAY2_BITMAP 4
-#define GGO_GRAY4_BITMAP 5
-#define GGO_GRAY8_BITMAP 6
-#define GGO_GLYPH_INDEX 128
-#define GGO_UNHINTED 256
-#define GM_COMPATIBLE 1
-#define GM_ADVANCED 2
-#define MM_ANISOTROPIC 8
-#define MM_HIENGLISH 5
-#define MM_HIMETRIC 3
-#define MM_ISOTROPIC 7
-#define MM_LOENGLISH 4
-#define MM_LOMETRIC 2
-#define MM_TEXT 1
-#define MM_TWIPS 6
-#define MM_MAX_FIXEDSCALE MM_TWIPS
-#define ABSOLUTE 1
-#define RELATIVE 2
-#define PC_EXPLICIT 2
-#define PC_NOCOLLAPSE 4
-#define PC_RESERVED 1
-#define CLR_NONE 0xffffffff
-#define CLR_INVALID CLR_NONE
-#define CLR_DEFAULT 0xff000000
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define TT_AVAILABLE 1
-#define TT_ENABLED 2
-#define BLACK_BRUSH 4
-#define DKGRAY_BRUSH 3
-#define GRAY_BRUSH 2
-#define HOLLOW_BRUSH 5
-#define LTGRAY_BRUSH 1
-#define NULL_BRUSH 5
-#define WHITE_BRUSH 0
-#define BLACK_PEN 7
-#define NULL_PEN 8
-#define WHITE_PEN 6
-#define ANSI_FIXED_FONT 11
-#define ANSI_VAR_FONT 12
-#define DEVICE_DEFAULT_FONT 14
-#define DEFAULT_GUI_FONT 17
-#define OEM_FIXED_FONT 10
-#define SYSTEM_FONT 13
-#define SYSTEM_FIXED_FONT 16
-#define DEFAULT_PALETTE 15
-#define SYSPAL_NOSTATIC 2
-#define SYSPAL_STATIC 1
-#define SYSPAL_ERROR 0
-#define TA_BASELINE 24
-#define TA_BOTTOM 8
-#define TA_TOP 0
-#define TA_CENTER 6
-#define TA_LEFT 0
-#define TA_RIGHT 2
-#define TA_RTLREADING 256
-#define TA_NOUPDATECP 0
-#define TA_UPDATECP 1
-#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
-#define VTA_BASELINE 24
-#define VTA_CENTER 6
-#define VTA_LEFT TA_BOTTOM
-#define VTA_RIGHT TA_TOP
-#define VTA_BOTTOM TA_RIGHT
-#define VTA_TOP TA_LEFT
-#define MWT_IDENTITY 1
-#define MWT_LEFTMULTIPLY 2
-#define MWT_RIGHTMULTIPLY 3
-#define OPAQUE 2
-#define TRANSPARENT 1
-#define BLACKONWHITE 1
-#define WHITEONBLACK 2
-#define COLORONCOLOR 3
-#define HALFTONE 4
-#define MAXSTRETCHBLTMODE 4
-#define STRETCH_ANDSCANS 1
-#define STRETCH_DELETESCANS 3
-#define STRETCH_HALFTONE 4
-#define STRETCH_ORSCANS 2
-#define TCI_SRCCHARSET 1
-#define TCI_SRCCODEPAGE 2
-#define TCI_SRCFONTSIG 3
-#define ICM_ON 2
-#define ICM_OFF 1
-#define ICM_QUERY 3
-#define NEWFRAME 1
-#define ABORTDOC 2
-#define NEXTBAND 3
-#define SETCOLORTABLE 4
-#define GETCOLORTABLE 5
-#define FLUSHOUTPUT 6
-#define DRAFTMODE 7
-#define QUERYESCSUPPORT 8
-#define SETABORTPROC 9
-#define STARTDOC 10
-#define ENDDOC 11
-#define GETPHYSPAGESIZE 12
-#define GETPRINTINGOFFSET 13
-#define GETSCALINGFACTOR 14
-#define MFCOMMENT 15
-#define GETPENWIDTH 16
-#define SETCOPYCOUNT 17
-#define SELECTPAPERSOURCE 18
-#define DEVICEDATA 19
-#define PASSTHROUGH 19
-#define GETTECHNOLGY 20
-#define GETTECHNOLOGY 20
-#define SETLINECAP 21
-#define SETLINEJOIN 22
-#define SETMITERLIMIT 23
-#define BANDINFO 24
-#define DRAWPATTERNRECT 25
-#define GETVECTORPENSIZE 26
-#define GETVECTORBRUSHSIZE 27
-#define ENABLEDUPLEX 28
-#define GETSETPAPERBINS 29
-#define GETSETPRINTORIENT 30
-#define ENUMPAPERBINS 31
-#define SETDIBSCALING 32
-#define EPSPRINTING 33
-#define ENUMPAPERMETRICS 34
-#define GETSETPAPERMETRICS 35
-#define POSTSCRIPT_DATA 37
-#define POSTSCRIPT_IGNORE 38
-#define MOUSETRAILS 39
-#define GETDEVICEUNITS 42
-#define GETEXTENDEDTEXTMETRICS 256
-#define GETEXTENTTABLE 257
-#define GETPAIRKERNTABLE 258
-#define GETTRACKKERNTABLE 259
-#define EXTTEXTOUT 512
-#define GETFACENAME 513
-#define DOWNLOADFACE 514
-#define ENABLERELATIVEWIDTHS 768
-#define ENABLEPAIRKERNING 769
-#define SETKERNTRACK 770
-#define SETALLJUSTVALUES 771
-#define SETCHARSET 772
-#define STRETCHBLT 2048
-#define GETSETSCREENPARAMS 3072
-#define QUERYDIBSUPPORT 3073
-#define BEGIN_PATH 4096
-#define CLIP_TO_PATH 4097
-#define END_PATH 4098
-#define EXT_DEVICE_CAPS 4099
-#define RESTORE_CTM 4100
-#define SAVE_CTM 4101
-#define SET_ARC_DIRECTION 4102
-#define SET_BACKGROUND_COLOR 4103
-#define SET_POLY_MODE 4104
-#define SET_SCREEN_ANGLE 4105
-#define SET_SPREAD 4106
-#define TRANSFORM_CTM 4107
-#define SET_CLIP_BOX 4108
-#define SET_BOUNDS 4109
-#define SET_MIRROR_MODE 4110
-#define OPENCHANNEL 4110
-#define DOWNLOADHEADER 4111
-#define CLOSECHANNEL 4112
-#define POSTSCRIPT_PASSTHROUGH 4115
-#define ENCAPSULATED_POSTSCRIPT 4116
-#define QDI_SETDIBITS 1
-#define QDI_GETDIBITS 2
-#define QDI_DIBTOSCREEN 4
-#define QDI_STRETCHDIB 8
-#define SP_NOTREPORTED 0x4000
-#define PR_JOBSTATUS 0
-#define ASPECT_FILTERING 1
-#define BS_SOLID 0
-#define BS_NULL 1
-#define BS_HOLLOW 1
-#define BS_HATCHED 2
-#define BS_PATTERN 3
-#define BS_INDEXED 4
-#define BS_DIBPATTERN 5
-#define BS_DIBPATTERNPT 6
-#define BS_PATTERN8X8 7
-#define BS_DIBPATTERN8X8 8
-#define LCS_CALIBRATED_RGB 0
-#define LCS_DEVICE_RGB 1
-#define LCS_DEVICE_CMYK 2
-#define LCS_GM_BUSINESS 1
-#define LCS_GM_GRAPHICS 2
-#define LCS_GM_IMAGES 4
-#define RASTER_FONTTYPE 1
-#define DEVICE_FONTTYPE 2
-#define TRUETYPE_FONTTYPE 4
-#define DMORIENT_PORTRAIT 1
-#define DMORIENT_LANDSCAPE 2
-#define DMPAPER_FIRST 1
-#define DMPAPER_LETTER 1
-#define DMPAPER_LETTERSMALL 2
-#define DMPAPER_TABLOID 3
-#define DMPAPER_LEDGER 4
-#define DMPAPER_LEGAL 5
-#define DMPAPER_STATEMENT 6
-#define DMPAPER_EXECUTIVE 7
-#define DMPAPER_A3 8
-#define DMPAPER_A4 9
-#define DMPAPER_A4SMALL 10
-#define DMPAPER_A5 11
-#define DMPAPER_B4 12
-#define DMPAPER_B5 13
-#define DMPAPER_FOLIO 14
-#define DMPAPER_QUARTO 15
-#define DMPAPER_10X14 16
-#define DMPAPER_11X17 17
-#define DMPAPER_NOTE 18
-#define DMPAPER_ENV_9 19
-#define DMPAPER_ENV_10 20
-#define DMPAPER_ENV_11 21
-#define DMPAPER_ENV_12 22
-#define DMPAPER_ENV_14 23
-#define DMPAPER_CSHEET 24
-#define DMPAPER_DSHEET 25
-#define DMPAPER_ESHEET 26
-#define DMPAPER_ENV_DL 27
-#define DMPAPER_ENV_C5 28
-#define DMPAPER_ENV_C3 29
-#define DMPAPER_ENV_C4 30
-#define DMPAPER_ENV_C6 31
-#define DMPAPER_ENV_C65 32
-#define DMPAPER_ENV_B4 33
-#define DMPAPER_ENV_B5 34
-#define DMPAPER_ENV_B6 35
-#define DMPAPER_ENV_ITALY 36
-#define DMPAPER_ENV_MONARCH 37
-#define DMPAPER_ENV_PERSONAL 38
-#define DMPAPER_FANFOLD_US 39
-#define DMPAPER_FANFOLD_STD_GERMAN 40
-#define DMPAPER_FANFOLD_LGL_GERMAN 41
-#define DMPAPER_ISO_B4 42
-#define DMPAPER_JAPANESE_POSTCARD 43
-#define DMPAPER_9X11 44
-#define DMPAPER_10X11 45
-#define DMPAPER_15X11 46
-#define DMPAPER_ENV_INVITE 47
-#define DMPAPER_RESERVED_48 48
-#define DMPAPER_RESERVED_49 49
-#define DMPAPER_LETTER_EXTRA 50
-#define DMPAPER_LEGAL_EXTRA 51
-#define DMPAPER_TABLOID_EXTRA 52
-#define DMPAPER_A4_EXTRA 53
-#define DMPAPER_LETTER_TRANSVERSE 54
-#define DMPAPER_A4_TRANSVERSE 55
-#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
-#define DMPAPER_A_PLUS 57
-#define DMPAPER_B_PLUS 58
-#define DMPAPER_LETTER_PLUS 59
-#define DMPAPER_A4_PLUS 60
-#define DMPAPER_A5_TRANSVERSE 61
-#define DMPAPER_B5_TRANSVERSE 62
-#define DMPAPER_A3_EXTRA 63
-#define DMPAPER_A5_EXTRA 64
-#define DMPAPER_B5_EXTRA 65
-#define DMPAPER_A2 66
-#define DMPAPER_A3_TRANSVERSE 67
-#define DMPAPER_A3_EXTRA_TRANSVERSE 68
-#define DMPAPER_LAST 68
-#define DMPAPER_USER 256
-#define DMBIN_FIRST 1
-#define DMBIN_UPPER 1
-#define DMBIN_ONLYONE 1
-#define DMBIN_LOWER 2
-#define DMBIN_MIDDLE 3
-#define DMBIN_MANUAL 4
-#define DMBIN_ENVELOPE 5
-#define DMBIN_ENVMANUAL 6
-#define DMBIN_AUTO 7
-#define DMBIN_TRACTOR 8
-#define DMBIN_SMALLFMT 9
-#define DMBIN_LARGEFMT 10
-#define DMBIN_LARGECAPACITY 11
-#define DMBIN_CASSETTE 14
-#define DMBIN_FORMSOURCE 15
-#define DMBIN_LAST 15
-#define DMBIN_USER 256
-#define DMRES_DRAFT (-1)
-#define DMRES_LOW (-2)
-#define DMRES_MEDIUM (-3)
-#define DMRES_HIGH (-4)
-#define DMCOLOR_MONOCHROME 1
-#define DMCOLOR_COLOR 2
-#define DMDUP_SIMPLEX 1
-#define DMDUP_VERTICAL 2
-#define DMDUP_HORIZONTAL 3
-#define DMTT_BITMAP 1
-#define DMTT_DOWNLOAD 2
-#define DMTT_SUBDEV 3
-#define DMTT_DOWNLOAD_OUTLINE 4
-#define DMCOLLATE_FALSE 0
-#define DMCOLLATE_TRUE 1
-#define DM_GRAYSCALE 1
-#define DM_INTERLACED 2
-#define DM_UPDATE 1
-#define DM_COPY 2
-#define DM_PROMPT 4
-#define DM_MODIFY 8
-#define DM_IN_BUFFER DM_MODIFY
-#define DM_IN_PROMPT DM_PROMPT
-#define DM_OUT_BUFFER DM_COPY
-#define DM_OUT_DEFAULT DM_UPDATE
-#define DM_ORIENTATION 1
-#define DM_PAPERSIZE 2
-#define DM_PAPERLENGTH 4
-#define DM_PAPERWIDTH 8
-#define DM_SCALE 16
-#define DM_COPIES 256
-#define DM_DEFAULTSOURCE 512
-#define DM_PRINTQUALITY 1024
-#define DM_COLOR 2048
-#define DM_DUPLEX 4096
-#define DM_YRESOLUTION 8192
-#define DM_TTOPTION 16384
-#define DM_COLLATE 32768
-#define DM_FORMNAME 65536
-#define DM_LOGPIXELS 0x20000
-#define DM_BITSPERPEL 0x40000
-#define DM_PELSWIDTH 0x80000
-#define DM_PELSHEIGHT 0x100000
-#define DM_DISPLAYFLAGS 0x200000
-#define DM_DISPLAYFREQUENCY 0x400000
-#define DM_ICMMETHOD 0x800000
-#define DM_ICMINTENT 0x1000000
-#define DM_MEDIATYPE 0x2000000
-#define DM_DITHERTYPE 0x4000000
-#define DMICMMETHOD_NONE 1
-#define DMICMMETHOD_SYSTEM 2
-#define DMICMMETHOD_DRIVER 3
-#define DMICMMETHOD_DEVICE 4
-#define DMICMMETHOD_USER 256
-#define DMICM_SATURATE 1
-#define DMICM_CONTRAST 2
-#define DMICM_COLORMETRIC 3
-#define DMICM_USER 256
-#define DMMEDIA_STANDARD 1
-#define DMMEDIA_TRANSPARENCY 2
-#define DMMEDIA_GLOSSY 3
-#define DMMEDIA_USER 256
-#define DMDITHER_NONE 1
-#define DMDITHER_COARSE 2
-#define DMDITHER_FINE 3
-#define DMDITHER_LINEART 4
-#define DMDITHER_ERRORDIFFUSION 5
-#define DMDITHER_RESERVED6 6
-#define DMDITHER_RESERVED7 7
-#define DMDITHER_RESERVED8 8
-#define DMDITHER_RESERVED9 9
-#define DMDITHER_GRAYSCALE 10
-#define DMDITHER_USER 256
-#define GDI_ERROR 0xFFFFFFFF
-#define HGDI_ERROR ((HANDLE)GDI_ERROR)
-#define TMPF_FIXED_PITCH 1
-#define TMPF_VECTOR 2
-#define TMPF_TRUETYPE 4
-#define TMPF_DEVICE 8
-#define NTM_ITALIC 1
-#define NTM_BOLD 32
-#define NTM_REGULAR 64
-#define TT_POLYGON_TYPE 24
-#define TT_PRIM_LINE 1
-#define TT_PRIM_QSPLINE 2
-#define FONTMAPPER_MAX 10
-#define ENHMETA_STOCK_OBJECT 0x80000000
-#define WGL_FONT_LINES 0
-#define WGL_FONT_POLYGONS 1
-#define LPD_DOUBLEBUFFER 1
-#define LPD_STEREO 2
-#define LPD_SUPPORT_GDI 16
-#define LPD_SUPPORT_OPENGL 32
-#define LPD_SHARE_DEPTH 64
-#define LPD_SHARE_STENCIL 128
-#define LPD_SHARE_ACCUM 256
-#define LPD_SWAP_EXCHANGE 512
-#define LPD_SWAP_COPY 1024
-#define LPD_TRANSPARENT 4096
-#define LPD_TYPE_RGBA 0
-#define LPD_TYPE_COLORINDEX 1
-#define WGL_SWAP_MAIN_PLANE 1
-#define WGL_SWAP_OVERLAY1 2
-#define WGL_SWAP_OVERLAY2 4
-#define WGL_SWAP_OVERLAY3 8
-#define WGL_SWAP_OVERLAY4 16
-#define WGL_SWAP_OVERLAY5 32
-#define WGL_SWAP_OVERLAY6 64
-#define WGL_SWAP_OVERLAY7 128
-#define WGL_SWAP_OVERLAY8 256
-#define WGL_SWAP_OVERLAY9 512
-#define WGL_SWAP_OVERLAY10 1024
-#define WGL_SWAP_OVERLAY11 2048
-#define WGL_SWAP_OVERLAY12 4096
-#define WGL_SWAP_OVERLAY13 8192
-#define WGL_SWAP_OVERLAY14 16384
-#define WGL_SWAP_OVERLAY15 32768
-#define WGL_SWAP_UNDERLAY1 65536
-#define WGL_SWAP_UNDERLAY2 0x20000
-#define WGL_SWAP_UNDERLAY3 0x40000
-#define WGL_SWAP_UNDERLAY4 0x80000
-#define WGL_SWAP_UNDERLAY5 0x100000
-#define WGL_SWAP_UNDERLAY6 0x200000
-#define WGL_SWAP_UNDERLAY7 0x400000
-#define WGL_SWAP_UNDERLAY8 0x800000
-#define WGL_SWAP_UNDERLAY9 0x1000000
-#define WGL_SWAP_UNDERLAY10 0x2000000
-#define WGL_SWAP_UNDERLAY11 0x4000000
-#define WGL_SWAP_UNDERLAY12 0x8000000
-#define WGL_SWAP_UNDERLAY13 0x10000000
-#define WGL_SWAP_UNDERLAY14 0x20000000
-#define WGL_SWAP_UNDERLAY15 0x40000000
-#define AC_SRC_OVER 0
-#define LAYOUT_RTL 1
-#define LAYOUT_BITMAPORIENTATIONPRESERVED 8
-
-#ifndef RC_INVOKED
-typedef struct _ABC {
- int abcA;
- UINT abcB;
- int abcC;
-} ABC,*LPABC;
-typedef struct _ABCFLOAT {
- FLOAT abcfA;
- FLOAT abcfB;
- FLOAT abcfC;
-} ABCFLOAT,*LPABCFLOAT;
-typedef struct tagBITMAP {
- LONG bmType;
- LONG bmWidth;
- LONG bmHeight;
- LONG bmWidthBytes;
- WORD bmPlanes;
- WORD bmBitsPixel;
- LPVOID bmBits;
-} BITMAP,*PBITMAP,*LPBITMAP;
-typedef struct tagBITMAPCOREHEADER {
- DWORD bcSize;
- WORD bcWidth;
- WORD bcHeight;
- WORD bcPlanes;
- WORD bcBitCount;
-} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
-#pragma pack(push,1)
-typedef struct tagRGBTRIPLE {
- BYTE rgbtBlue;
- BYTE rgbtGreen;
- BYTE rgbtRed;
-} RGBTRIPLE;
-#pragma pack(pop)
-#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 _BITMAPCOREINFO {
- BITMAPCOREHEADER bmciHeader;
- RGBTRIPLE bmciColors[1];
-} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
-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 tagRGBQUAD {
- BYTE rgbBlue;
- BYTE rgbGreen;
- BYTE rgbRed;
- BYTE rgbReserved;
-} RGBQUAD;
-typedef struct tagBITMAPINFO {
- BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[1];
-} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
-typedef long FXPT16DOT16,*LPFXPT16DOT16;
-typedef long FXPT2DOT30,*LPFXPT2DOT30;
-typedef struct tagCIEXYZ {
- FXPT2DOT30 ciexyzX;
- FXPT2DOT30 ciexyzY;
- FXPT2DOT30 ciexyzZ;
-} CIEXYZ,*LPCIEXYZ;
-typedef struct tagCIEXYZTRIPLE {
- CIEXYZ ciexyzRed;
- CIEXYZ ciexyzGreen;
- CIEXYZ ciexyzBlue;
-} CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
-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 tagFONTSIGNATURE {
- DWORD fsUsb[4];
- DWORD fsCsb[2];
-} FONTSIGNATURE,*LPFONTSIGNATURE;
-typedef struct {
- UINT ciCharset;
- UINT ciACP;
- FONTSIGNATURE fs;
-} CHARSETINFO,*LPCHARSETINFO;
-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,*LPCOLORADJUSTMENT;
-typedef struct _devicemodeA {
- BYTE dmDeviceName[CCHDEVICENAME];
- WORD dmSpecVersion;
- WORD dmDriverVersion;
- WORD dmSize;
- WORD dmDriverExtra;
- DWORD dmFields;
- short dmOrientation;
- short dmPaperSize;
- short dmPaperLength;
- short dmPaperWidth;
- short dmScale;
- short dmCopies;
- short dmDefaultSource;
- short dmPrintQuality;
- short dmColor;
- short dmDuplex;
- short dmYResolution;
- short dmTTOption;
- short dmCollate;
- BYTE dmFormName[CCHFORMNAME];
- WORD dmLogPixels;
- DWORD dmBitsPerPel;
- DWORD dmPelsWidth;
- DWORD dmPelsHeight;
- DWORD dmDisplayFlags;
- DWORD dmDisplayFrequency;
- DWORD dmICMMethod;
- DWORD dmICMIntent;
- DWORD dmMediaType;
- DWORD dmDitherType;
- DWORD dmICCManufacturer;
- DWORD dmICCModel;
-} DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
-typedef struct _devicemodeW {
- WCHAR dmDeviceName[CCHDEVICENAME];
- WORD dmSpecVersion;
- WORD dmDriverVersion;
- WORD dmSize;
- WORD dmDriverExtra;
- DWORD dmFields;
- short dmOrientation;
- short dmPaperSize;
- short dmPaperLength;
- short dmPaperWidth;
- short dmScale;
- short dmCopies;
- short dmDefaultSource;
- short dmPrintQuality;
- short dmColor;
- short dmDuplex;
- short dmYResolution;
- short dmTTOption;
- short dmCollate;
- WCHAR dmFormName[CCHFORMNAME];
- WORD dmLogPixels;
- DWORD dmBitsPerPel;
- DWORD dmPelsWidth;
- DWORD dmPelsHeight;
- DWORD dmDisplayFlags;
- DWORD dmDisplayFrequency;
- DWORD dmICMMethod;
- DWORD dmICMIntent;
- DWORD dmMediaType;
- DWORD dmDitherType;
- DWORD dmICCManufacturer;
- DWORD dmICCModel;
-} DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
-typedef struct tagDIBSECTION {
- BITMAP dsBm;
- BITMAPINFOHEADER dsBmih;
- DWORD dsBitfields[3];
- HANDLE dshSection;
- DWORD dsOffset;
-} DIBSECTION;
-typedef struct _DOCINFOA {
- int cbSize;
- LPCTSTR lpszDocName;
- LPCTSTR lpszOutput;
- LPCTSTR lpszDatatype;
- DWORD fwType;
-} DOCINFOA,*LPDOCINFOA;
-typedef struct _DOCINFOW {
- int cbSize;
- LPCWSTR lpszDocName;
- LPCWSTR lpszOutput;
- LPCWSTR lpszDatatype;
- DWORD fwType;
-} DOCINFOW,*LPDOCINFOW;
-typedef struct tagEMR {
- DWORD iType;
- DWORD nSize;
-} EMR,*PEMR;
-typedef struct tagEMRANGLEARC {
- EMR emr;
- POINTL ptlCenter;
- DWORD nRadius;
- FLOAT eStartAngle;
- FLOAT eSweepAngle;
-} EMRANGLEARC,*PEMRANGLEARC;
-typedef struct tagEMRARC {
- EMR emr;
- RECTL rclBox;
- POINTL ptlStart;
- POINTL ptlEnd;
-} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
-typedef struct _XFORM {
- FLOAT eM11;
- FLOAT eM12;
- FLOAT eM21;
- FLOAT eM22;
- FLOAT eDx;
- FLOAT eDy;
-} XFORM,*LPXFORM;
-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 offBitsSrc;
- DWORD cbBitsSrc;
-} EMRBITBLT,*PEMRBITBLT;
-typedef struct tagLOGBRUSH {
- UINT lbStyle;
- COLORREF lbColor;
- LONG lbHatch;
-} LOGBRUSH,*LPLOGBRUSH;
-typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
-typedef struct tagEMRCREATEBRUSHINDIRECT {
- EMR emr;
- DWORD ihBrush;
- LOGBRUSH lb;
-} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
-typedef LONG LCSCSTYPE;
-typedef LONG LCSGAMUTMATCH;
-typedef struct tagLOGCOLORSPACEA {
- DWORD lcsSignature;
- DWORD lcsVersion;
- DWORD lcsSize;
- LCSCSTYPE lcsCSType;
- LCSGAMUTMATCH lcsIntent;
- CIEXYZTRIPLE lcsEndpoints;
- DWORD lcsGammaRed;
- DWORD lcsGammaGreen;
- DWORD lcsGammaBlue;
- CHAR lcsFilename[MAX_PATH];
-} 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[MAX_PATH];
-} LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
-typedef struct tagEMRCREATECOLORSPACE {
- EMR emr;
- DWORD ihCS;
- LOGCOLORSPACEW lcs;
-} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
-typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
- EMR emr;
- DWORD ihBrush;
- DWORD iUsage;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
-} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
-typedef struct tagEMRCREATEMONOBRUSH {
- EMR emr;
- DWORD ihBrush;
- DWORD iUsage;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
-} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
-typedef struct tagPALETTEENTRY {
- BYTE peRed;
- BYTE peGreen;
- BYTE peBlue;
- BYTE peFlags;
-} PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
-typedef struct tagLOGPALETTE {
- WORD palVersion;
- WORD palNumEntries;
- PALETTEENTRY palPalEntry[1];
-} LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
-typedef struct tagEMRCREATEPALETTE {
- EMR emr;
- DWORD ihPal;
- LOGPALETTE lgpl;
-} EMRCREATEPALETTE,*PEMRCREATEPALETTE;
-typedef struct tagLOGPEN {
- UINT lopnStyle;
- POINT lopnWidth;
- COLORREF lopnColor;
-} LOGPEN,*LPLOGPEN;
-typedef struct tagEMRCREATEPEN {
- EMR emr;
- DWORD ihPen;
- LOGPEN lopn;
-} EMRCREATEPEN,*PEMRCREATEPEN;
-typedef struct tagEMRELLIPSE {
- EMR emr;
- RECTL rclBox;
-} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
-typedef struct tagEMREOF {
- EMR emr;
- DWORD nPalEntries;
- DWORD offPalEntries;
- DWORD nSizeLast;
-} EMREOF,*PEMREOF;
-typedef struct tagEMREXCLUDECLIPRECT {
- EMR emr;
- RECTL rclClip;
-} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
-typedef struct tagPANOSE {
- BYTE bFamilyType;
- BYTE bSerifStyle;
- BYTE bWeight;
- BYTE bProportion;
- BYTE bContrast;
- BYTE bStrokeVariation;
- BYTE bArmStyle;
- BYTE bLetterform;
- BYTE bMidline;
- BYTE bXHeight;
-} PANOSE;
-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[LF_FACESIZE];
-} LOGFONTA,*PLOGFONTA,*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[LF_FACESIZE];
-} LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
-typedef struct tagEXTLOGFONTA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- DWORD elfVersion;
- DWORD elfStyleSize;
- DWORD elfMatch;
- DWORD elfReserved;
- BYTE elfVendorId[ELF_VENDOR_SIZE];
- DWORD elfCulture;
- PANOSE elfPanose;
-} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
-typedef struct tagEXTLOGFONTW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- WCHAR elfStyle[LF_FACESIZE];
- DWORD elfVersion;
- DWORD elfStyleSize;
- DWORD elfMatch;
- DWORD elfReserved;
- BYTE elfVendorId[ELF_VENDOR_SIZE];
- DWORD elfCulture;
- PANOSE elfPanose;
-} EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
-typedef struct tagEMREXTCREATEFONTINDIRECTW {
- EMR emr;
- DWORD ihFont;
- EXTLOGFONTW elfw;
-} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
-typedef struct tagEXTLOGPEN {
- UINT elpPenStyle;
- UINT elpWidth;
- UINT elpBrushStyle;
- COLORREF elpColor;
- LONG elpHatch;
- DWORD elpNumEntries;
- DWORD elpStyleEntry[1];
-} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN;
-typedef struct tagEMREXTCREATEPEN {
- EMR emr;
- DWORD ihPen;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
- EXTLOGPEN elp;
-} EMREXTCREATEPEN,*PEMREXTCREATEPEN;
-typedef struct tagEMREXTFLOODFILL {
- EMR emr;
- POINTL ptlStart;
- COLORREF crColor;
- DWORD iMode;
-} EMREXTFLOODFILL,*PEMREXTFLOODFILL;
-typedef struct tagEMREXTSELECTCLIPRGN {
- EMR emr;
- DWORD cbRgnData;
- DWORD iMode;
- BYTE RgnData[1];
-} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
-typedef struct tagEMRTEXT {
- POINTL ptlReference;
- DWORD nChars;
- DWORD offString;
- DWORD fOptions;
- RECTL rcl;
- DWORD offDx;
-} EMRTEXT,*PEMRTEXT;
-typedef struct tagEMREXTTEXTOUTA {
- EMR emr;
- RECTL rclBounds;
- DWORD iGraphicsMode;
- FLOAT exScale;
- FLOAT eyScale;
- EMRTEXT emrtext;
-} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
-typedef struct tagEMRFILLPATH {
- EMR emr;
- RECTL rclBounds;
-} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
-typedef struct tagEMRFILLRGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- DWORD ihBrush;
- BYTE RgnData[1];
-} EMRFILLRGN,*PEMRFILLRGN;
-typedef struct tagEMRFORMAT {
- DWORD dSignature;
- DWORD nVersion;
- DWORD cbData;
- DWORD offData;
-} EMRFORMAT;
-typedef struct tagEMRFRAMERGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- DWORD ihBrush;
- SIZEL szlStroke;
- BYTE RgnData[1];
-} EMRFRAMERGN,*PEMRFRAMERGN;
-typedef struct tagEMRGDICOMMENT {
- EMR emr;
- DWORD cbData;
- BYTE Data[1];
-} EMRGDICOMMENT,*PEMRGDICOMMENT;
-typedef struct tagEMRINVERTRGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- BYTE RgnData[1];
-} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
-typedef struct tagEMRLINETO {
- EMR emr;
- POINTL ptl;
-} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
-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 tagEMRMODIFYWORLDTRANSFORM {
- EMR emr;
- XFORM xform;
- DWORD iMode;
-} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
-typedef struct tagEMROFFSETCLIPRGN {
- EMR emr;
- POINTL ptlOffset;
-} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
-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 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 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;
- POINTL apts[1];
-} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
-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 tagEMRPOLYTEXTOUTA {
- EMR emr;
- RECTL rclBounds;
- DWORD iGraphicsMode;
- FLOAT exScale;
- FLOAT eyScale;
- LONG cStrings;
- EMRTEXT aemrtext[1];
-} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
-typedef struct tagEMRRESIZEPALETTE {
- EMR emr;
- DWORD ihPal;
- DWORD cEntries;
-} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
-typedef struct tagEMRRESTOREDC {
- EMR emr;
- LONG iRelative;
-} EMRRESTOREDC,*PEMRRESTOREDC;
-typedef struct tagEMRROUNDRECT {
- EMR emr;
- RECTL rclBox;
- SIZEL szlCorner;
-} EMRROUNDRECT,*PEMRROUNDRECT;
-typedef struct tagEMRSCALEVIEWPORTEXTEX {
- EMR emr;
- LONG xNum;
- LONG xDenom;
- LONG yNum;
- LONG yDenom;
-} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
-typedef struct tagEMRSELECTCOLORSPACE {
- EMR emr;
- DWORD ihCS;
-} EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
-typedef struct tagEMRSELECTOBJECT {
- EMR emr;
- DWORD ihObject;
-} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
-typedef struct tagEMRSELECTPALETTE {
- EMR emr;
- DWORD ihPal;
-} EMRSELECTPALETTE,*PEMRSELECTPALETTE;
-typedef struct tagEMRSETARCDIRECTION {
- EMR emr;
- DWORD iArcDirection;
-} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
-typedef struct tagEMRSETTEXTCOLOR {
- EMR emr;
- COLORREF crColor;
-} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
-typedef struct tagEMRSETCOLORADJUSTMENT {
- EMR emr;
- COLORADJUSTMENT ColorAdjustment;
-} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
-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 tagEMRSETMAPPERFLAGS {
- EMR emr;
- DWORD dwFlags;
-} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
-typedef struct tagEMRSETMITERLIMIT {
- EMR emr;
- FLOAT eMiterLimit;
-} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
-typedef struct tagEMRSETPALETTEENTRIES {
- EMR emr;
- DWORD ihPal;
- DWORD iStart;
- DWORD cEntries;
- PALETTEENTRY aPalEntries[1];
-} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
-typedef struct tagEMRSETPIXELV {
- EMR emr;
- POINTL ptlPixel;
- COLORREF crColor;
-} EMRSETPIXELV,*PEMRSETPIXELV;
-typedef struct tagEMRSETVIEWPORTEXTEX {
- EMR emr;
- SIZEL szlExtent;
-} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
-typedef struct tagEMRSETVIEWPORTORGEX {
- EMR emr;
- POINTL ptlOrigin;
-} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
-typedef struct tagEMRSETWORLDTRANSFORM {
- EMR emr;
- XFORM xform;
-} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
-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 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 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,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM;
-#pragma pack(push,2)
-typedef struct tagMETAHEADER {
- WORD mtType;
- WORD mtHeaderSize;
- WORD mtVersion;
- DWORD mtSize;
- WORD mtNoObjects;
- DWORD mtMaxRecord;
- WORD mtNoParameters;
-} METAHEADER,*PMETAHEADER,*LPMETAHEADER;
-#pragma pack(pop)
-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;
-} ENHMETAHEADER,*LPENHMETAHEADER;
-typedef struct tagMETARECORD {
- DWORD rdSize;
- WORD rdFunction;
- WORD rdParm[1];
-} METARECORD,*PMETARECORD,*LPMETARECORD;
-typedef struct tagENHMETARECORD {
- DWORD iType;
- DWORD nSize;
- DWORD dParm[1];
-} ENHMETARECORD,*LPENHMETARECORD;
-typedef struct tagHANDLETABLE {
- HGDIOBJ objectHandle[1];
-} HANDLETABLE,*LPHANDLETABLE;
-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,*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,*LPTEXTMETRICW;
-typedef struct _RGNDATAHEADER {
- DWORD dwSize;
- DWORD iType;
- DWORD nCount;
- DWORD nRgnSize;
- RECT rcBound;
-} RGNDATAHEADER;
-typedef struct _RGNDATA {
- RGNDATAHEADER rdh;
- char Buffer[1];
-} RGNDATA,*LPRGNDATA;
-/* for GetRandomRgn */
-#define SYSRGN 4
-typedef struct tagGCP_RESULTSA {
- DWORD lStructSize;
- LPSTR lpOutString;
- UINT *lpOrder;
- INT *lpDx;
- INT *lpCaretPos;
- LPSTR lpClass;
- UINT *lpGlyphs;
- UINT nGlyphs;
- UINT nMaxFit;
-} GCP_RESULTSA,*LPGCP_RESULTSA;
-typedef struct tagGCP_RESULTSW {
- DWORD lStructSize;
- LPWSTR lpOutString;
- UINT *lpOrder;
- INT *lpDx;
- INT *lpCaretPos;
- LPWSTR lpClass;
- UINT *lpGlyphs;
- UINT nGlyphs;
- UINT nMaxFit;
-} GCP_RESULTSW,*LPGCP_RESULTSW;
-typedef struct _GLYPHMETRICS {
- UINT gmBlackBoxX;
- UINT gmBlackBoxY;
- POINT gmptGlyphOrigin;
- short gmCellIncX;
- short gmCellIncY;
-} GLYPHMETRICS,*LPGLYPHMETRICS;
-typedef struct tagKERNINGPAIR {
- WORD wFirst;
- WORD wSecond;
- int iKernAmount;
-} KERNINGPAIR,*LPKERNINGPAIR;
-typedef struct _FIXED {
- WORD fract;
- short value;
-} FIXED;
-typedef struct _MAT2 {
- FIXED eM11;
- FIXED eM12;
- FIXED eM21;
- FIXED eM22;
-} MAT2,*LPMAT2;
-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,*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,*LPOUTLINETEXTMETRICW;
-typedef struct _RASTERIZER_STATUS {
- short nSize;
- short wFlags;
- short nLanguageID;
-} RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
-typedef struct _POLYTEXTA {
- int x;
- int y;
- UINT n;
- LPCSTR lpstr;
- UINT uiFlags;
- RECT rcl;
- int *pdx;
-} POLYTEXTA;
-typedef struct _POLYTEXTW {
- int x;
- int y;
- UINT n;
- LPCWSTR lpstr;
- UINT uiFlags;
- RECT rcl;
- int *pdx;
-} POLYTEXTW;
-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 struct tagMETAFILEPICT {
- LONG mm;
- LONG xExt;
- LONG yExt;
- HMETAFILE hMF;
-} METAFILEPICT,*LPMETAFILEPICT;
-typedef struct tagLOCALESIGNATURE {
- DWORD lsUsb[4];
- DWORD lsCsbDefault[2];
- DWORD lsCsbSupported[2];
-} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
-typedef LONG LCSTYPE;
-#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,*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,*LPNEWTEXTMETRICW;
-#pragma pack(pop)
-typedef struct tagNEWTEXTMETRICEXA {
- NEWTEXTMETRICA ntmTm;
- FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXA;
-typedef struct tagNEWTEXTMETRICEXW {
- NEWTEXTMETRICW ntmTm;
- FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXW;
-typedef struct tagPELARRAY {
- LONG paXCount;
- LONG paYCount;
- LONG paXExt;
- LONG paYExt;
- BYTE paRGBs;
-} PELARRAY,*PPELARRAY,*LPPELARRAY;
-typedef struct tagENUMLOGFONTA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
-} ENUMLOGFONTA,*LPENUMLOGFONTA;
-typedef struct tagENUMLOGFONTW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- WCHAR elfStyle[LF_FACESIZE];
-} ENUMLOGFONTW,*LPENUMLOGFONTW;
-typedef struct tagENUMLOGFONTEXA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- BYTE elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
-typedef struct tagENUMLOGFONTEXW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- BYTE elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
-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 _POINTFLOAT {
- FLOAT x;
- FLOAT y;
-} POINTFLOAT,*PPOINTFLOAT;
-typedef struct _GLYPHMETRICSFLOAT {
- FLOAT gmfBlackBoxX;
- FLOAT gmfBlackBoxY;
- POINTFLOAT gmfptGlyphOrigin;
- FLOAT gmfCellIncX;
- FLOAT gmfCellIncY;
-} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*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;
-typedef struct _BLENDFUNCTION {
- BYTE BlendOp;
- BYTE BlendFlags;
- BYTE SourceConstantAlpha;
- BYTE AlphaFormat;
-} BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;
-typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
-typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
-typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
-typedef OLDFONTENUMPROCA FONTENUMPROCA;
-typedef OLDFONTENUMPROCW FONTENUMPROCW;
-typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
-typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
-typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
-typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
-typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
-typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
-
-
-#define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
-#define MAKEPOINTS(l) (*((POINTS*)&(l)))
-#define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f))
-#define PALETTEINDEX(i) ((0x01000000|(COLORREF)(WORD)(i)))
-#define PALETTERGB(r,g,b) (0x02000000|RGB(r,g,b))
-int WINAPI AbortDoc(HDC);
-BOOL WINAPI AbortPath(HDC);
-int WINAPI AddFontResourceA(LPCSTR);
-int WINAPI AddFontResourceW(LPCWSTR);
-BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
-BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
-BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
-BOOL WINAPI BeginPath(HDC);
-BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
-BOOL WINAPI CancelDC(HDC);
-BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
-BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
-int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
-HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
-BOOL WINAPI CloseFigure(HDC);
-HMETAFILE WINAPI CloseMetaFile(HDC);
-BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
-int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
-BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
-HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
-HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
-HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
-HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
-HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
-HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
-HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
-HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
-HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
-HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
-HDC WINAPI CreateCompatibleDC(HDC);
-HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
-HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
-HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
-HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
-HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
-HRGN WINAPI CreateEllipticRgn(int,int,int,int);
-HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
-HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
-HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
-HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
-HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
-HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
-HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
-HPALETTE WINAPI CreateHalftonePalette(HDC);
-HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
-HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-HDC WINAPI CreateMetaFileA(LPCSTR);
-HDC WINAPI CreateMetaFileW(LPCWSTR);
-HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
-HBRUSH WINAPI CreatePatternBrush(HBITMAP);
-HPEN WINAPI CreatePen(int,int,COLORREF);
-HPEN WINAPI CreatePenIndirect(const LOGPEN*);
-HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
-HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
-HRGN WINAPI CreateRectRgn(int,int,int,int);
-HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
-HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
-BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-HBRUSH WINAPI CreateSolidBrush(COLORREF);
-BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
-BOOL WINAPI DeleteDC(HDC);
-BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
-BOOL WINAPI DeleteMetaFile(HMETAFILE);
-BOOL WINAPI DeleteObject(HGDIOBJ);
-int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
-DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
-DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
-BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
-int WINAPI DrawEscape(HDC,int,int,LPCSTR);
-BOOL WINAPI Ellipse(HDC,int,int,int,int);
-int WINAPI EndDoc(HDC);
-int WINAPI EndPage(HDC);
-BOOL WINAPI EndPath(HDC);
-BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
-int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
-int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
-int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
-int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCA,LPARAM);
-int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
-int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
-BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
-int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
-BOOL WINAPI EqualRgn(HRGN,HRGN);
-int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
-int WINAPI ExcludeClipRect(HDC,int,int,int,int);
-int WINAPI ExcludeUpdateRgn(HDC,HWND);
-HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
-HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
-int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
-BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
-int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
-BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
-BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
-BOOL WINAPI FillPath(HDC);
-int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
-int WINAPI FillRgn(HDC,HRGN,HBRUSH);
-BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
-BOOL WINAPI FlattenPath(HDC);
-BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
-BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
-BOOL WINAPI GdiFlush(void);
-DWORD WINAPI GdiGetBatchLimit(void);
-DWORD WINAPI GdiSetBatchLimit(DWORD);
-#define GetCValue(cmyk) ((BYTE)(cmyk))
-#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
-#define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
-#define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
-#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(c)|((WORD)((BYTE)(m))<<8))|(((DWORD)(BYTE)(y))<<16))|(((DWORD)(BYTE)(k))<<24)))
-#define GetRValue(c) ((BYTE)(c))
-#define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
-#define GetBValue(c) ((BYTE)((c)>>16))
-int WINAPI GetArcDirection(HDC);
-BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
-LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
-BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
-COLORREF WINAPI GetBkColor(HDC);
-int WINAPI GetBkMode(HDC);
-UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
-BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
-BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
-BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
-BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
-BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
-DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
-DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
-BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
-BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
-BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
-BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
-BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
-BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
-int WINAPI GetClipBox(HDC,LPRECT);
-int WINAPI GetClipRgn(HDC,HRGN);
-BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
-HANDLE WINAPI GetColorSpace(HDC);
-HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
-BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
-HCURSOR WINAPI GetCursor(void);
-BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
-int WINAPI GetDeviceCaps(HDC,int);
-BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
-UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
-int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
-HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
-HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
-UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
-UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
-UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
-UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
-UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,PIXELFORMATDESCRIPTOR*);
-DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
-DWORD WINAPI GetFontLanguageInfo(HDC);
-DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-int WINAPI GetGraphicsMode(HDC);
-BOOL WINAPI GetICMProfileA(HDC,DWORD,LPSTR);
-BOOL WINAPI GetICMProfileW(HDC,DWORD,LPWSTR);
-DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
-DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
-BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
-BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
-int WINAPI GetMapMode(HDC);
-HMETAFILE WINAPI GetMetaFileA(LPCSTR);
-HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
-UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
-int WINAPI GetMetaRgn(HDC,HRGN);
-BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
-COLORREF WINAPI GetNearestColor(HDC,COLORREF);
-UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
-int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
-int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
-DWORD WINAPI GetObjectType(HGDIOBJ);
-UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
-UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
-UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
-int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
-COLORREF WINAPI GetPixel(HDC,int,int);
-int WINAPI GetPixelFormat(HDC);
-int WINAPI GetPolyFillMode(HDC);
-BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
-int WINAPI GetRandomRgn (HDC,HRGN,INT);
-DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
-int WINAPI GetRgnBox(HRGN,LPRECT);
-int WINAPI GetROP2(HDC);
-HGDIOBJ WINAPI GetStockObject(int);
-int WINAPI GetStretchBltMode(HDC);
-UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
-UINT WINAPI GetSystemPaletteUse(HDC);
-UINT WINAPI GetTextAlign(HDC);
-int WINAPI GetTextCharacterExtra(HDC);
-int WINAPI GetTextCharset(HDC);
-int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
-COLORREF WINAPI GetTextColor(HDC);
-BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
-BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
-BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
-BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
-BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
-BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
-int WINAPI GetTextFaceA(HDC,int,LPSTR);
-int WINAPI GetTextFaceW(HDC,int,LPWSTR);
-BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
-BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
-BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
-BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
-BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
-BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
-UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
-BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
-int WINAPI IntersectClipRect(HDC,int,int,int,int);
-BOOL WINAPI InvertRgn(HDC,HRGN);
-BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
-BOOL WINAPI LineTo(HDC,int,int);
-BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
-BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
-BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
-BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
-int WINAPI OffsetClipRgn(HDC,int,int);
-int WINAPI OffsetRgn(HRGN,int,int);
-BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
-BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
-BOOL WINAPI PaintRgn(HDC,HRGN);
-BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
-HRGN WINAPI PathToRegion(HDC);
-BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
-BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
-BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
-BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
-BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
-BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
-BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
-BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
-BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
-BOOL WINAPI Polygon(HDC,const POINT*,int);
-BOOL WINAPI Polyline(HDC,const POINT*,int);
-BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
-BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
-BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
-BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
-BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
-BOOL WINAPI PtInRegion(HRGN,int,int);
-BOOL WINAPI PtVisible(HDC,int,int);
-UINT WINAPI RealizePalette(HDC);
-BOOL WINAPI Rectangle(HDC,int,int,int,int);
-BOOL WINAPI RectInRegion(HRGN,LPCRECT);
-BOOL WINAPI RectVisible(HDC,LPCRECT);
-BOOL WINAPI RemoveFontResourceA(LPCSTR);
-BOOL WINAPI RemoveFontResourceW(LPCWSTR);
-HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
-HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
-BOOL WINAPI ResizePalette(HPALETTE,UINT);
-BOOL WINAPI RestoreDC(HDC,int);
-BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
-int WINAPI SaveDC(HDC);
-BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
-BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
-BOOL WINAPI SelectClipPath(HDC,int);
-int WINAPI SelectClipRgn(HDC,HRGN);
-HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
-HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
-int WINAPI SetAbortProc(HDC,ABORTPROC);
-int WINAPI SetArcDirection(HDC,int);
-LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
-BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
-COLORREF WINAPI SetBkColor(HDC,COLORREF);
-int WINAPI SetBkMode(HDC,int);
-UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
-BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
-BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
-BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
-BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
-UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
-int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
-int WINAPI SetGraphicsMode(HDC,int);
-int WINAPI SetICMMode(HDC,int);
-BOOL WINAPI SetICMProfileA(HDC,LPSTR);
-BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
-int WINAPI SetMapMode(HDC,int);
-DWORD WINAPI SetMapperFlags(HDC,DWORD);
-HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
-int WINAPI SetMetaRgn(HDC);
-BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
-UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
-BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
-BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
-int WINAPI SetPolyFillMode(HDC,int);
-BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
-int WINAPI SetROP2(HDC,int);
-int WINAPI SetStretchBltMode(HDC,int);
-UINT WINAPI SetSystemPaletteUse(HDC,UINT);
-UINT WINAPI SetTextAlign(HDC,UINT);
-int WINAPI SetTextCharacterExtra(HDC,int);
-COLORREF WINAPI SetTextColor(HDC,COLORREF);
-BOOL WINAPI SetTextJustification(HDC,int,int);
-BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
-BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
-BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
-BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
-HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
-BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
-int WINAPI StartDocA(HDC,const DOCINFOA*);
-int WINAPI StartDocW(HDC,const DOCINFOW*);
-int WINAPI StartPage(HDC);
-BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
-int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
-BOOL WINAPI StrokeAndFillPath(HDC);
-BOOL WINAPI StrokePath(HDC);
-BOOL WINAPI SwapBuffers(HDC);
-BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
-BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
-BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
-BOOL WINAPI UnrealizeObject(HGDIOBJ);
-BOOL WINAPI UpdateColors(HDC);
-BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
-BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
-BOOL WINAPI WidenPath(HDC);
-BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
-HGLRC WINAPI wglCreateContext(HDC);
-HGLRC WINAPI wglCreateLayerContext(HDC,int);
-BOOL WINAPI wglDeleteContext(HGLRC);
-BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
-HGLRC WINAPI wglGetCurrentContext(void);
-HDC WINAPI wglGetCurrentDC(void);
-int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
-PROC WINAPI wglGetProcAddress(LPCSTR);
-BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
-BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
-int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
-BOOL WINAPI wglShareLists(HGLRC,HGLRC);
-BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
-BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
-BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
-BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-
-#ifdef UNICODE
-typedef WCHAR BCHAR;
-typedef DOCINFOW DOCINFO, *LPDOCINFO;
-typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCW
-#define FONTENUMPROC FONTENUMPROCW
-typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
-typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTW POLYTEXT;
-typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-#define AddFontResource AddFontResourceW
-#define CopyEnhMetaFile CopyEnhMetaFileW
-#define CopyMetaFile CopyMetaFileW
-#define CreateDC CreateDCW
-#define CreateEnhMetaFile CreateEnhMetaFileW
-#define CreateFont CreateFontW
-#define CreateFontIndirect CreateFontIndirectW
-#define CreateIC CreateICW
-#define CreateMetaFile CreateMetaFileW
-#define CreateScalableFontResource CreateScalableFontResourceW
-#define DeviceCapabilities DeviceCapabilitiesW
-#define EnumFontFamilies EnumFontFamiliesW
-#define EnumFontFamiliesEx EnumFontFamiliesExW
-#define EnumFonts EnumFontsW
-#define EnumICMProfiles EnumICMProfilesW
-#define ExtTextOut ExtTextOutW
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatW
-#define GetCharABCWidths GetCharABCWidthsW
-#define GetCharacterPlacement GetCharacterPlacementW
-#define GetCharWidth32 GetCharWidth32W
-#define GetCharWidthFloat GetCharWidthFloatW
-#define GetCharWidth GetCharWidthW
-#define GetEnhMetaFile GetEnhMetaFileW
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
-#define GetGlyphOutline GetGlyphOutlineW
-#define GetICMProfile GetICMProfileW
-#define GetKerningPairs GetKerningPairsW
-#define GetLogColorSpace GetLogColorSpaceW
-#define GetMetaFile GetMetaFileW
-#define GetObject GetObjectW
-#define GetOutlineTextMetrics GetOutlineTextMetricsW
-#define GetTextExtentPoint GetTextExtentPointW
-#define GetTextExtentExPoint GetTextExtentExPointW
-#define GetTextExtentPoint32 GetTextExtentPoint32W
-#define GetTextFace GetTextFaceW
-#define GetTextMetrics GetTextMetricsW
-#define PolyTextOut PolyTextOutW
-#define RemoveFontResource RemoveFontResourceW
-#define ResetDC ResetDCW
-#define SetICMProfile SetICMProfileW
-#define StartDoc StartDocW
-#define TextOut TextOutW
-#define UpdateICMRegKey UpdateICMRegKeyW
-#define wglUseFontBitmaps wglUseFontBitmapsW
-#define wglUseFontOutlines wglUseFontOutlinesW
-#else
-typedef BYTE BCHAR;
-typedef DOCINFOA DOCINFO, *LPDOCINFO;
-typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCA
-#define FONTENUMPROC FONTENUMPROCA
-typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
-typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTA POLYTEXT;
-typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
-typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-#define AddFontResource AddFontResourceA
-#define CopyEnhMetaFile CopyEnhMetaFileA
-#define CopyMetaFile CopyMetaFileA
-#define CreateDC CreateDCA
-#define CreateEnhMetaFile CreateEnhMetaFileA
-#define CreateFont CreateFontA
-#define CreateFontIndirect CreateFontIndirectA
-#define CreateIC CreateICA
-#define CreateMetaFile CreateMetaFileA
-#define CreateScalableFontResource CreateScalableFontResourceA
-#define DeviceCapabilities DeviceCapabilitiesA
-#define EnumFontFamilies EnumFontFamiliesA
-#define EnumFontFamiliesEx EnumFontFamiliesExA
-#define EnumFonts EnumFontsA
-#define EnumICMProfiles EnumICMProfilesA
-#define ExtTextOut ExtTextOutA
-#define GetCharWidthFloat GetCharWidthFloatA
-#define GetCharWidth GetCharWidthA
-#define GetCharacterPlacement GetCharacterPlacementA
-#define GetCharABCWidths GetCharABCWidthsA
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatA
-#define GetCharWidth32 GetCharWidth32A
-#define GetEnhMetaFile GetEnhMetaFileA
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
-#define GetGlyphOutline GetGlyphOutlineA
-#define GetICMProfile GetICMProfileA
-#define GetKerningPairs GetKerningPairsA
-#define GetLogColorSpace GetLogColorSpaceA
-#define GetMetaFile GetMetaFileA
-#define GetObject GetObjectA
-#define GetOutlineTextMetrics GetOutlineTextMetricsA
-#define GetTextExtentPoint GetTextExtentPointA
-#define GetTextExtentExPoint GetTextExtentExPointA
-#define GetTextExtentPoint32 GetTextExtentPoint32A
-#define GetTextFace GetTextFaceA
-#define GetTextMetrics GetTextMetricsA
-#define PolyTextOut PolyTextOutA
-#define RemoveFontResource RemoveFontResourceA
-#define ResetDC ResetDCA
-#define SetICMProfile SetICMProfileA
-#define StartDoc StartDocA
-#define TextOut TextOutA
-#define UpdateICMRegKey UpdateICMRegKeyA
-#define wglUseFontBitmaps wglUseFontBitmapsA
-#define wglUseFontOutlines wglUseFontOutlinesA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINGDI_H +#define _WINGDI_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define WINGDIAPI +#define BI_RGB 0 +#define BI_RLE8 1 +#define BI_RLE4 2 +#define BI_BITFIELDS 3 +#define BI_JPEG 4 +#define BI_PNG 5 +#define LF_FACESIZE 32 +#define LF_FULLFACESIZE 64 +#define CA_NEGATIVE 1 +#define CA_LOG_FILTER 2 +#define ILLUMINANT_DEVICE_DEFAULT 0 +#define ILLUMINANT_A 1 +#define ILLUMINANT_B 2 +#define ILLUMINANT_C 3 +#define ILLUMINANT_D50 4 +#define ILLUMINANT_D55 5 +#define ILLUMINANT_D65 6 +#define ILLUMINANT_D75 7 +#define ILLUMINANT_F2 8 +#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2 +#define ILLUMINANT_TUNGSTEN ILLUMINANT_A +#define ILLUMINANT_DAYLIGHT ILLUMINANT_C +#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2 +#define ILLUMINANT_NTSC ILLUMINANT_C +#define RGB_GAMMA_MIN 2500 +#define RGB_GAMMA_MAX 65000 +#define REFERENCE_WHITE_MIN 6000 +#define REFERENCE_WHITE_MAX 10000 +#define REFERENCE_BLACK_MIN 0 +#define REFERENCE_BLACK_MAX 4000 +#define COLOR_ADJ_MIN (-100) +#define COLOR_ADJ_MAX 100 +#define CCHDEVICENAME 32 +#define CCHFORMNAME 32 +#define DI_COMPAT 4 +#define DI_DEFAULTSIZE 8 +#define DI_IMAGE 2 +#define DI_MASK 1 +#define DI_NORMAL 3 +#define DI_APPBANDING 1 +#define EMR_HEADER 1 +#define EMR_POLYBEZIER 2 +#define EMR_POLYGON 3 +#define EMR_POLYLINE 4 +#define EMR_POLYBEZIERTO 5 +#define EMR_POLYLINETO 6 +#define EMR_POLYPOLYLINE 7 +#define EMR_POLYPOLYGON 8 +#define EMR_SETWINDOWEXTEX 9 +#define EMR_SETWINDOWORGEX 10 +#define EMR_SETVIEWPORTEXTEX 11 +#define EMR_SETVIEWPORTORGEX 12 +#define EMR_SETBRUSHORGEX 13 +#define EMR_EOF 14 +#define EMR_SETPIXELV 15 +#define EMR_SETMAPPERFLAGS 16 +#define EMR_SETMAPMODE 17 +#define EMR_SETBKMODE 18 +#define EMR_SETPOLYFILLMODE 19 +#define EMR_SETROP2 20 +#define EMR_SETSTRETCHBLTMODE 21 +#define EMR_SETTEXTALIGN 22 +#define EMR_SETCOLORADJUSTMENT 23 +#define EMR_SETTEXTCOLOR 24 +#define EMR_SETBKCOLOR 25 +#define EMR_OFFSETCLIPRGN 26 +#define EMR_MOVETOEX 27 +#define EMR_SETMETARGN 28 +#define EMR_EXCLUDECLIPRECT 29 +#define EMR_INTERSECTCLIPRECT 30 +#define EMR_SCALEVIEWPORTEXTEX 31 +#define EMR_SCALEWINDOWEXTEX 32 +#define EMR_SAVEDC 33 +#define EMR_RESTOREDC 34 +#define EMR_SETWORLDTRANSFORM 35 +#define EMR_MODIFYWORLDTRANSFORM 36 +#define EMR_SELECTOBJECT 37 +#define EMR_CREATEPEN 38 +#define EMR_CREATEBRUSHINDIRECT 39 +#define EMR_DELETEOBJECT 40 +#define EMR_ANGLEARC 41 +#define EMR_ELLIPSE 42 +#define EMR_RECTANGLE 43 +#define EMR_ROUNDRECT 44 +#define EMR_ARC 45 +#define EMR_CHORD 46 +#define EMR_PIE 47 +#define EMR_SELECTPALETTE 48 +#define EMR_CREATEPALETTE 49 +#define EMR_SETPALETTEENTRIES 50 +#define EMR_RESIZEPALETTE 51 +#define EMR_REALIZEPALETTE 52 +#define EMR_EXTFLOODFILL 53 +#define EMR_LINETO 54 +#define EMR_ARCTO 55 +#define EMR_POLYDRAW 56 +#define EMR_SETARCDIRECTION 57 +#define EMR_SETMITERLIMIT 58 +#define EMR_BEGINPATH 59 +#define EMR_ENDPATH 60 +#define EMR_CLOSEFIGURE 61 +#define EMR_FILLPATH 62 +#define EMR_STROKEANDFILLPATH 63 +#define EMR_STROKEPATH 64 +#define EMR_FLATTENPATH 65 +#define EMR_WIDENPATH 66 +#define EMR_SELECTCLIPPATH 67 +#define EMR_ABORTPATH 68 +#define EMR_GDICOMMENT 70 +#define EMR_FILLRGN 71 +#define EMR_FRAMERGN 72 +#define EMR_INVERTRGN 73 +#define EMR_PAINTRGN 74 +#define EMR_EXTSELECTCLIPRGN 75 +#define EMR_BITBLT 76 +#define EMR_STRETCHBLT 77 +#define EMR_MASKBLT 78 +#define EMR_PLGBLT 79 +#define EMR_SETDIBITSTODEVICE 80 +#define EMR_STRETCHDIBITS 81 +#define EMR_EXTCREATEFONTINDIRECTW 82 +#define EMR_EXTTEXTOUTA 83 +#define EMR_EXTTEXTOUTW 84 +#define EMR_POLYBEZIER16 85 +#define EMR_POLYGON16 86 +#define EMR_POLYLINE16 87 +#define EMR_POLYBEZIERTO16 88 +#define EMR_POLYLINETO16 89 +#define EMR_POLYPOLYLINE16 90 +#define EMR_POLYPOLYGON16 91 +#define EMR_POLYDRAW16 92 +#define EMR_CREATEMONOBRUSH 93 +#define EMR_CREATEDIBPATTERNBRUSHPT 94 +#define EMR_EXTCREATEPEN 95 +#define EMR_POLYTEXTOUTA 96 +#define EMR_POLYTEXTOUTW 97 +#define EMR_SETICMMODE 98 +#define EMR_CREATECOLORSPACE 99 +#define EMR_SETCOLORSPACE 100 +#define EMR_DELETECOLORSPACE 101 +#define EMR_GLSRECORD 102 +#define EMR_GLSBOUNDEDRECORD 103 +#define EMR_PIXELFORMAT 104 +#define ENHMETA_SIGNATURE 1179469088 +#define EPS_SIGNATURE 0x46535045 +#define META_SETBKCOLOR 0x201 +#define META_SETBKMODE 0x102 +#define META_SETMAPMODE 0x103 +#define META_SETROP2 0x104 +#define META_SETRELABS 0x105 +#define META_SETPOLYFILLMODE 0x106 +#define META_SETSTRETCHBLTMODE 0x107 +#define META_SETTEXTCHAREXTRA 0x108 +#define META_SETTEXTCOLOR 0x209 +#define META_SETTEXTJUSTIFICATION 0x20A +#define META_SETWINDOWORG 0x20B +#define META_SETWINDOWEXT 0x20C +#define META_SETVIEWPORTORG 0x20D +#define META_SETVIEWPORTEXT 0x20E +#define META_OFFSETWINDOWORG 0x20F +#define META_SCALEWINDOWEXT 0x410 +#define META_OFFSETVIEWPORTORG 0x211 +#define META_SCALEVIEWPORTEXT 0x412 +#define META_LINETO 0x213 +#define META_MOVETO 0x214 +#define META_EXCLUDECLIPRECT 0x415 +#define META_INTERSECTCLIPRECT 0x416 +#define META_ARC 0x817 +#define META_ELLIPSE 0x418 +#define META_FLOODFILL 0x419 +#define META_PIE 0x81A +#define META_RECTANGLE 0x41B +#define META_ROUNDRECT 0x61C +#define META_PATBLT 0x61D +#define META_SAVEDC 0x1E +#define META_SETPIXEL 0x41F +#define META_OFFSETCLIPRGN 0x220 +#define META_TEXTOUT 0x521 +#define META_BITBLT 0x922 +#define META_STRETCHBLT 0xB23 +#define META_POLYGON 0x324 +#define META_POLYLINE 0x325 +#define META_ESCAPE 0x626 +#define META_RESTOREDC 0x127 +#define META_FILLREGION 0x228 +#define META_FRAMEREGION 0x429 +#define META_INVERTREGION 0x12A +#define META_PAINTREGION 0x12B +#define META_SELECTCLIPREGION 0x12C +#define META_SELECTOBJECT 0x12D +#define META_SETTEXTALIGN 0x12E +#define META_CHORD 0x830 +#define META_SETMAPPERFLAGS 0x231 +#define META_EXTTEXTOUT 0xa32 +#define META_SETDIBTODEV 0xd33 +#define META_SELECTPALETTE 0x234 +#define META_REALIZEPALETTE 0x35 +#define META_ANIMATEPALETTE 0x436 +#define META_SETPALENTRIES 0x37 +#define META_POLYPOLYGON 0x538 +#define META_RESIZEPALETTE 0x139 +#define META_DIBBITBLT 0x940 +#define META_DIBSTRETCHBLT 0xb41 +#define META_DIBCREATEPATTERNBRUSH 0x142 +#define META_STRETCHDIB 0xf43 +#define META_EXTFLOODFILL 0x548 +#define META_DELETEOBJECT 0x1f0 +#define META_CREATEPALETTE 0xf7 +#define META_CREATEPATTERNBRUSH 0x1F9 +#define META_CREATEPENINDIRECT 0x2FA +#define META_CREATEFONTINDIRECT 0x2FB +#define META_CREATEBRUSHINDIRECT 0x2FC +#define META_CREATEREGION 0x6FF +#define PT_MOVETO 6 +#define PT_LINETO 2 +#define PT_BEZIERTO 4 +#define PT_CLOSEFIGURE 1 +#define ELF_VENDOR_SIZE 4 +#define ELF_VERSION 0 +#define ELF_CULTURE_LATIN 0 +#define PFD_TYPE_RGBA 0 +#define PFD_TYPE_COLORINDEX 1 +#define PFD_MAIN_PLANE 0 +#define PFD_OVERLAY_PLANE 1 +#define PFD_UNDERLAY_PLANE (-1) +#define PFD_DOUBLEBUFFER 1 +#define PFD_STEREO 2 +#define PFD_DRAW_TO_WINDOW 4 +#define PFD_DRAW_TO_BITMAP 8 +#define PFD_SUPPORT_GDI 16 +#define PFD_SUPPORT_OPENGL 32 +#define PFD_GENERIC_FORMAT 64 +#define PFD_NEED_PALETTE 128 +#define PFD_NEED_SYSTEM_PALETTE 0x00000100 +#define PFD_SWAP_EXCHANGE 0x00000200 +#define PFD_SWAP_COPY 0x00000400 +#define PFD_GENERIC_ACCELERATED 0x00001000 +#define PFD_DEPTH_DONTCARE 0x20000000 +#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000 +#define PFD_STEREO_DONTCARE 0x80000000 +#define SP_ERROR (-1) +#define SP_OUTOFDISK (-4) +#define SP_OUTOFMEMORY (-5) +#define SP_USERABORT (-3) +#define SP_APPABORT (-2) +#define BLACKNESS 0x42 +#define NOTSRCERASE 0x1100A6 +#define NOTSRCCOPY 0x330008 +#define SRCERASE 0x440328 +#define DSTINVERT 0x550009 +#define PATINVERT 0x5A0049 +#define SRCINVERT 0x660046 +#define SRCAND 0x8800C6 +#define MERGEPAINT 0xBB0226 +#define MERGECOPY 0xC000CA +#define SRCCOPY 0xCC0020 +#define SRCPAINT 0xEE0086 +#define PATCOPY 0xF00021 +#define PATPAINT 0xFB0A09 +#define WHITENESS 0xFF0062 +#define R2_BLACK 1 +#define R2_COPYPEN 13 +#define R2_MASKNOTPEN 3 +#define R2_MASKPEN 9 +#define R2_MASKPENNOT 5 +#define R2_MERGENOTPEN 12 +#define R2_MERGEPEN 15 +#define R2_MERGEPENNOT 14 +#define R2_NOP 11 +#define R2_NOT 6 +#define R2_NOTCOPYPEN 4 +#define R2_NOTMASKPEN 8 +#define R2_NOTMERGEPEN 2 +#define R2_NOTXORPEN 10 +#define R2_WHITE 16 +#define R2_XORPEN 7 +#define CM_OUT_OF_GAMUT 255 +#define CM_IN_GAMUT 0 +#define RGN_AND 1 +#define RGN_COPY 5 +#define RGN_DIFF 4 +#define RGN_OR 2 +#define RGN_XOR 3 +#define NULLREGION 1 +#define SIMPLEREGION 2 +#define COMPLEXREGION 3 +#define ERROR 0 +#define CBM_INIT 4 +#define DIB_PAL_COLORS 1 +#define DIB_RGB_COLORS 0 +#define FW_DONTCARE 0 +#define FW_THIN 100 +#define FW_EXTRALIGHT 200 +#define FW_ULTRALIGHT FW_EXTRALIGHT +#define FW_LIGHT 300 +#define FW_NORMAL 400 +#define FW_REGULAR 400 +#define FW_MEDIUM 500 +#define FW_SEMIBOLD 600 +#define FW_DEMIBOLD FW_SEMIBOLD +#define FW_BOLD 700 +#define FW_EXTRABOLD 800 +#define FW_ULTRABOLD FW_EXTRABOLD +#define FW_HEAVY 900 +#define FW_BLACK FW_HEAVY +#define ANSI_CHARSET 0 +#define DEFAULT_CHARSET 1 +#define SYMBOL_CHARSET 2 +#define SHIFTJIS_CHARSET 128 +#define HANGEUL_CHARSET 129 +#define HANGUL_CHARSET 129 +#define GB2312_CHARSET 134 +#define CHINESEBIG5_CHARSET 136 +#define GREEK_CHARSET 161 +#define TURKISH_CHARSET 162 +#define HEBREW_CHARSET 177 +#define ARABIC_CHARSET 178 +#define BALTIC_CHARSET 186 +#define RUSSIAN_CHARSET 204 +#define THAI_CHARSET 222 +#define EASTEUROPE_CHARSET 238 +#define OEM_CHARSET 255 +#define JOHAB_CHARSET 130 +#define VIETNAMESE_CHARSET 163 +#define MAC_CHARSET 77 +#define BALTIC_CHARSET 186 +#define JOHAB_CHARSET 130 +#define VIETNAMESE_CHARSET 163 +#define OUT_DEFAULT_PRECIS 0 +#define OUT_STRING_PRECIS 1 +#define OUT_CHARACTER_PRECIS 2 +#define OUT_STROKE_PRECIS 3 +#define OUT_TT_PRECIS 4 +#define OUT_DEVICE_PRECIS 5 +#define OUT_RASTER_PRECIS 6 +#define OUT_TT_ONLY_PRECIS 7 +#define OUT_OUTLINE_PRECIS 8 +#define CLIP_DEFAULT_PRECIS 0 +#define CLIP_CHARACTER_PRECIS 1 +#define CLIP_STROKE_PRECIS 2 +#define CLIP_MASK 15 +#define CLIP_LH_ANGLES 16 +#define CLIP_TT_ALWAYS 32 +#define CLIP_EMBEDDED 128 +#define DEFAULT_QUALITY 0 +#define DRAFT_QUALITY 1 +#define PROOF_QUALITY 2 +#define NONANTIALIASED_QUALITY 3 +#define ANTIALIASED_QUALITY 4 +#define DEFAULT_PITCH 0 +#define FIXED_PITCH 1 +#define VARIABLE_PITCH 2 +#define MONO_FONT 8 +#define FF_DECORATIVE 80 +#define FF_DONTCARE 0 +#define FF_MODERN 48 +#define FF_ROMAN 16 +#define FF_SCRIPT 64 +#define FF_SWISS 32 +#define PANOSE_COUNT 10 +#define PAN_FAMILYTYPE_INDEX 0 +#define PAN_SERIFSTYLE_INDEX 1 +#define PAN_WEIGHT_INDEX 2 +#define PAN_PROPORTION_INDEX 3 +#define PAN_CONTRAST_INDEX 4 +#define PAN_STROKEVARIATION_INDEX 5 +#define PAN_ARMSTYLE_INDEX 6 +#define PAN_LETTERFORM_INDEX 7 +#define PAN_MIDLINE_INDEX 8 +#define PAN_XHEIGHT_INDEX 9 +#define PAN_CULTURE_LATIN 0 +#define PAN_ANY 0 +#define PAN_NO_FIT 1 +#define PAN_FAMILY_TEXT_DISPLAY 2 +#define PAN_FAMILY_SCRIPT 3 +#define PAN_FAMILY_DECORATIVE 4 +#define PAN_FAMILY_PICTORIAL 5 +#define PAN_SERIF_COVE 2 +#define PAN_SERIF_OBTUSE_COVE 3 +#define PAN_SERIF_SQUARE_COVE 4 +#define PAN_SERIF_OBTUSE_SQUARE_COVE 5 +#define PAN_SERIF_SQUARE 6 +#define PAN_SERIF_THIN 7 +#define PAN_SERIF_BONE 8 +#define PAN_SERIF_EXAGGERATED 9 +#define PAN_SERIF_TRIANGLE 10 +#define PAN_SERIF_NORMAL_SANS 11 +#define PAN_SERIF_OBTUSE_SANS 12 +#define PAN_SERIF_PERP_SANS 13 +#define PAN_SERIF_FLARED 14 +#define PAN_SERIF_ROUNDED 15 +#define PAN_WEIGHT_VERY_LIGHT 2 +#define PAN_WEIGHT_LIGHT 3 +#define PAN_WEIGHT_THIN 4 +#define PAN_WEIGHT_BOOK 5 +#define PAN_WEIGHT_MEDIUM 6 +#define PAN_WEIGHT_DEMI 7 +#define PAN_WEIGHT_BOLD 8 +#define PAN_WEIGHT_HEAVY 9 +#define PAN_WEIGHT_BLACK 10 +#define PAN_WEIGHT_NORD 11 +#define PAN_PROP_OLD_STYLE 2 +#define PAN_PROP_MODERN 3 +#define PAN_PROP_EVEN_WIDTH 4 +#define PAN_PROP_EXPANDED 5 +#define PAN_PROP_CONDENSED 6 +#define PAN_PROP_VERY_EXPANDED 7 +#define PAN_PROP_VERY_CONDENSED 8 +#define PAN_PROP_MONOSPACED 9 +#define PAN_CONTRAST_NONE 2 +#define PAN_CONTRAST_VERY_LOW 3 +#define PAN_CONTRAST_LOW 4 +#define PAN_CONTRAST_MEDIUM_LOW 5 +#define PAN_CONTRAST_MEDIUM 6 +#define PAN_CONTRAST_MEDIUM_HIGH 7 +#define PAN_CONTRAST_HIGH 8 +#define PAN_CONTRAST_VERY_HIGH 9 +#define PAN_STROKE_GRADUAL_DIAG 2 +#define PAN_STROKE_GRADUAL_TRAN 3 +#define PAN_STROKE_GRADUAL_VERT 4 +#define PAN_STROKE_GRADUAL_HORZ 5 +#define PAN_STROKE_RAPID_VERT 6 +#define PAN_STROKE_RAPID_HORZ 7 +#define PAN_STROKE_INSTANT_VERT 8 +#define PAN_STRAIGHT_ARMS_HORZ 2 +#define PAN_STRAIGHT_ARMS_WEDGE 3 +#define PAN_STRAIGHT_ARMS_VERT 4 +#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5 +#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6 +#define PAN_BENT_ARMS_HORZ 7 +#define PAN_BENT_ARMS_WEDGE 8 +#define PAN_BENT_ARMS_VERT 9 +#define PAN_BENT_ARMS_SINGLE_SERIF 10 +#define PAN_BENT_ARMS_DOUBLE_SERIF 11 +#define PAN_LETT_NORMAL_CONTACT 2 +#define PAN_LETT_NORMAL_WEIGHTED 3 +#define PAN_LETT_NORMAL_BOXED 4 +#define PAN_LETT_NORMAL_FLATTENED 5 +#define PAN_LETT_NORMAL_ROUNDED 6 +#define PAN_LETT_NORMAL_OFF_CENTER 7 +#define PAN_LETT_NORMAL_SQUARE 8 +#define PAN_LETT_OBLIQUE_CONTACT 9 +#define PAN_LETT_OBLIQUE_WEIGHTED 10 +#define PAN_LETT_OBLIQUE_BOXED 11 +#define PAN_LETT_OBLIQUE_FLATTENED 12 +#define PAN_LETT_OBLIQUE_ROUNDED 13 +#define PAN_LETT_OBLIQUE_OFF_CENTER 14 +#define PAN_LETT_OBLIQUE_SQUARE 15 +#define PAN_MIDLINE_STANDARD_TRIMMED 2 +#define PAN_MIDLINE_STANDARD_POINTED 3 +#define PAN_MIDLINE_STANDARD_SERIFED 4 +#define PAN_MIDLINE_HIGH_TRIMMED 5 +#define PAN_MIDLINE_HIGH_POINTED 6 +#define PAN_MIDLINE_HIGH_SERIFED 7 +#define PAN_MIDLINE_CONSTANT_TRIMMED 8 +#define PAN_MIDLINE_CONSTANT_POINTED 9 +#define PAN_MIDLINE_CONSTANT_SERIFED 10 +#define PAN_MIDLINE_LOW_TRIMMED 11 +#define PAN_MIDLINE_LOW_POINTED 12 +#define PAN_MIDLINE_LOW_SERIFED 13 +#define PAN_XHEIGHT_CONSTANT_SMALL 2 +#define PAN_XHEIGHT_CONSTANT_STD 3 +#define PAN_XHEIGHT_CONSTANT_LARGE 4 +#define PAN_XHEIGHT_DUCKING_SMALL 5 +#define PAN_XHEIGHT_DUCKING_STD 6 +#define PAN_XHEIGHT_DUCKING_LARGE 7 +#define FS_LATIN1 1 +#define FS_LATIN2 2 +#define FS_CYRILLIC 4 +#define FS_GREEK 8 +#define FS_TURKISH 16 +#define FS_HEBREW 32 +#define FS_ARABIC 64 +#define FS_BALTIC 128 +#define FS_THAI 0x10000 +#define FS_JISJAPAN 0x20000 +#define FS_CHINESESIMP 0x40000 +#define FS_WANSUNG 0x80000 +#define FS_CHINESETRAD 0x100000 +#define FS_JOHAB 0x200000 +#define FS_SYMBOL 0x80000000 +#define HS_BDIAGONAL 3 +#define HS_CROSS 4 +#define HS_DIAGCROSS 5 +#define HS_FDIAGONAL 2 +#define HS_HORIZONTAL 0 +#define HS_VERTICAL 1 +#define PS_GEOMETRIC 65536 +#define PS_COSMETIC 0 +#define PS_ALTERNATE 8 +#define PS_SOLID 0 +#define PS_DASH 1 +#define PS_DOT 2 +#define PS_DASHDOT 3 +#define PS_DASHDOTDOT 4 +#define PS_NULL 5 +#define PS_USERSTYLE 7 +#define PS_INSIDEFRAME 6 +#define PS_ENDCAP_ROUND 0 +#define PS_ENDCAP_SQUARE 256 +#define PS_ENDCAP_FLAT 512 +#define PS_JOIN_BEVEL 4096 +#define PS_JOIN_MITER 8192 +#define PS_JOIN_ROUND 0 +#define PS_STYLE_MASK 15 +#define PS_ENDCAP_MASK 3840 +#define PS_TYPE_MASK 983040 +#define ALTERNATE 1 +#define WINDING 2 +#define DC_BINNAMES 12 +#define DC_BINS 6 +#define DC_COPIES 18 +#define DC_DRIVER 11 +#define DC_DATATYPE_PRODUCED 21 +#define DC_DUPLEX 7 +#define DC_EMF_COMPLIANT 20 +#define DC_ENUMRESOLUTIONS 13 +#define DC_EXTRA 9 +#define DC_FIELDS 1 +#define DC_FILEDEPENDENCIES 14 +#define DC_MAXEXTENT 5 +#define DC_MINEXTENT 4 +#define DC_ORIENTATION 17 +#define DC_PAPERNAMES 16 +#define DC_PAPERS 2 +#define DC_PAPERSIZE 3 +#define DC_SIZE 8 +#define DC_TRUETYPE 15 +#define DCTT_BITMAP 1 +#define DCTT_DOWNLOAD 2 +#define DCTT_SUBDEV 4 +#define DCTT_DOWNLOAD_OUTLINE 8 +#define DC_VERSION 10 +#define DC_BINADJUST 19 +#define DC_EMF_COMPLIANT 20 +#define DC_DATATYPE_PRODUCED 21 +#define DC_MANUFACTURER 23 +#define DC_MODEL 24 +#define DCBA_FACEUPNONE 0 +#define DCBA_FACEUPCENTER 1 +#define DCBA_FACEUPLEFT 2 +#define DCBA_FACEUPRIGHT 3 +#define DCBA_FACEDOWNNONE 256 +#define DCBA_FACEDOWNCENTER 257 +#define DCBA_FACEDOWNLEFT 258 +#define DCBA_FACEDOWNRIGHT 259 +#define FLOODFILLBORDER 0 +#define FLOODFILLSURFACE 1 +#define ETO_CLIPPED 4 +#define ETO_GLYPH_INDEX 16 +#define ETO_OPAQUE 2 +#define ETO_RTLREADING 128 +#define GDICOMMENT_WINDOWS_METAFILE (-2147483647) +#define GDICOMMENT_BEGINGROUP 2 +#define GDICOMMENT_ENDGROUP 3 +#define GDICOMMENT_MULTIFORMATS 1073741828 +#define GDICOMMENT_IDENTIFIER 1128875079 +#define AD_COUNTERCLOCKWISE 1 +#define AD_CLOCKWISE 2 +#define RDH_RECTANGLES 1 +#define GCPCLASS_LATIN 1 +#define GCPCLASS_HEBREW 2 +#define GCPCLASS_ARABIC 2 +#define GCPCLASS_NEUTRAL 3 +#define GCPCLASS_LOCALNUMBER 4 +#define GCPCLASS_LATINNUMBER 5 +#define GCPCLASS_LATINNUMERICTERMINATOR 6 +#define GCPCLASS_LATINNUMERICSEPARATOR 7 +#define GCPCLASS_NUMERICSEPARATOR 8 +#define GCPCLASS_PREBOUNDLTR 128 +#define GCPCLASS_PREBOUNDRTL 64 +#define GCPCLASS_POSTBOUNDLTR 32 +#define GCPCLASS_POSTBOUNDRTL 16 +#define GCPGLYPH_LINKBEFORE 0x8000 +#define GCPGLYPH_LINKAFTER 0x4000 +#define DCB_DISABLE 8 +#define DCB_ENABLE 4 +#define DCB_RESET 1 +#define DCB_SET 3 +#define DCB_ACCUMULATE 2 +#define DCB_DIRTY 2 +#define OBJ_BRUSH 2 +#define OBJ_PEN 1 +#define OBJ_PAL 5 +#define OBJ_FONT 6 +#define OBJ_BITMAP 7 +#define OBJ_EXTPEN 11 +#define OBJ_REGION 8 +#define OBJ_DC 3 +#define OBJ_MEMDC 10 +#define OBJ_METAFILE 9 +#define OBJ_METADC 4 +#define OBJ_ENHMETAFILE 13 +#define OBJ_ENHMETADC 12 +#define DRIVERVERSION 0 +#define TECHNOLOGY 2 +#define DT_PLOTTER 0 +#define DT_RASDISPLAY 1 +#define DT_RASPRINTER 2 +#define DT_RASCAMERA 3 +#define DT_CHARSTREAM 4 +#define DT_METAFILE 5 +#define DT_DISPFILE 6 +#define HORZSIZE 4 +#define VERTSIZE 6 +#define HORZRES 8 +#define VERTRES 10 +#define LOGPIXELSX 88 +#define LOGPIXELSY 90 +#define BITSPIXEL 12 +#define PLANES 14 +#define NUMBRUSHES 16 +#define NUMPENS 18 +#define NUMFONTS 22 +#define NUMCOLORS 24 +#define NUMMARKERS 20 +#define ASPECTX 40 +#define ASPECTY 42 +#define ASPECTXY 44 +#define PDEVICESIZE 26 +#define CLIPCAPS 36 +#define SIZEPALETTE 104 +#define NUMRESERVED 106 +#define COLORRES 108 +#define PHYSICALWIDTH 110 +#define PHYSICALHEIGHT 111 +#define PHYSICALOFFSETX 112 +#define PHYSICALOFFSETY 113 +#define SCALINGFACTORX 114 +#define SCALINGFACTORY 115 +#define VREFRESH 116 +#define DESKTOPHORZRES 118 +#define DESKTOPVERTRES 117 +#define BLTALIGNMENT 119 +#define RASTERCAPS 38 +#define RC_BANDING 2 +#define RC_BITBLT 1 +#define RC_BITMAP64 8 +#define RC_DI_BITMAP 128 +#define RC_DIBTODEV 512 +#define RC_FLOODFILL 4096 +#define RC_GDI20_OUTPUT 16 +#define RC_PALETTE 256 +#define RC_SCALING 4 +#define RC_STRETCHBLT 2048 +#define RC_STRETCHDIB 8192 +#define RC_DEVBITS 0x8000 +#define RC_OP_DX_OUTPUT 0x4000 +#define CURVECAPS 28 +#define CC_NONE 0 +#define CC_CIRCLES 1 +#define CC_PIE 2 +#define CC_CHORD 4 +#define CC_ELLIPSES 8 +#define CC_WIDE 16 +#define CC_STYLED 32 +#define CC_WIDESTYLED 64 +#define CC_INTERIORS 128 +#define CC_ROUNDRECT 256 +#define LINECAPS 30 +#define LC_NONE 0 +#define LC_POLYLINE 2 +#define LC_MARKER 4 +#define LC_POLYMARKER 8 +#define LC_WIDE 16 +#define LC_STYLED 32 +#define LC_WIDESTYLED 64 +#define LC_INTERIORS 128 +#define POLYGONALCAPS 32 +#define RC_BANDING 2 +#define RC_BIGFONT 1024 +#define RC_BITBLT 1 +#define RC_BITMAP64 8 +#define RC_DEVBITS 0x8000 +#define RC_DI_BITMAP 128 +#define RC_GDI20_OUTPUT 16 +#define RC_GDI20_STATE 32 +#define RC_NONE 0 +#define RC_OP_DX_OUTPUT 0x4000 +#define RC_PALETTE 256 +#define RC_SAVEBITMAP 64 +#define RC_SCALING 4 +#define PC_NONE 0 +#define PC_POLYGON 1 +#define PC_POLYPOLYGON 256 +#define PC_PATHS 512 +#define PC_RECTANGLE 2 +#define PC_WINDPOLYGON 4 +#define PC_SCANLINE 8 +#define PC_TRAPEZOID 4 +#define PC_WIDE 16 +#define PC_STYLED 32 +#define PC_WIDESTYLED 64 +#define PC_INTERIORS 128 +#define PC_PATHS 512 +#define TEXTCAPS 34 +#define TC_OP_CHARACTER 1 +#define TC_OP_STROKE 2 +#define TC_CP_STROKE 4 +#define TC_CR_90 8 +#define TC_CR_ANY 16 +#define TC_SF_X_YINDEP 32 +#define TC_SA_DOUBLE 64 +#define TC_SA_INTEGER 128 +#define TC_SA_CONTIN 256 +#define TC_EA_DOUBLE 512 +#define TC_IA_ABLE 1024 +#define TC_UA_ABLE 2048 +#define TC_SO_ABLE 4096 +#define TC_RA_ABLE 8192 +#define TC_VA_ABLE 16384 +#define TC_RESERVED 32768 +#define TC_SCROLLBLT 65536 +#define GCP_DBCS 1 +#define GCP_ERROR 0x8000 +#define GCP_CLASSIN 0x80000 +#define GCP_DIACRITIC 256 +#define GCP_DISPLAYZWG 0x400000 +#define GCP_GLYPHSHAPE 16 +#define GCP_JUSTIFY 0x10000 +#define GCP_JUSTIFYIN 0x200000 +#define GCP_KASHIDA 1024 +#define GCP_LIGATE 32 +#define GCP_MAXEXTENT 0x100000 +#define GCP_NEUTRALOVERRIDE 0x2000000 +#define GCP_NUMERICOVERRIDE 0x1000000 +#define GCP_NUMERICSLATIN 0x4000000 +#define GCP_NUMERICSLOCAL 0x8000000 +#define GCP_REORDER 2 +#define GCP_SYMSWAPOFF 0x800000 +#define GCP_USEKERNING 8 +#define FLI_GLYPHS 0x40000 +#define FLI_MASK 0x103b +#define GGO_METRICS 0 +#define GGO_BITMAP 1 +#define GGO_NATIVE 2 +#define GGO_BEZIER 3 +#define GGO_GRAY2_BITMAP 4 +#define GGO_GRAY4_BITMAP 5 +#define GGO_GRAY8_BITMAP 6 +#define GGO_GLYPH_INDEX 128 +#define GGO_UNHINTED 256 +#define GM_COMPATIBLE 1 +#define GM_ADVANCED 2 +#define MM_ANISOTROPIC 8 +#define MM_HIENGLISH 5 +#define MM_HIMETRIC 3 +#define MM_ISOTROPIC 7 +#define MM_LOENGLISH 4 +#define MM_LOMETRIC 2 +#define MM_TEXT 1 +#define MM_TWIPS 6 +#define MM_MAX_FIXEDSCALE MM_TWIPS +#define ABSOLUTE 1 +#define RELATIVE 2 +#define PC_EXPLICIT 2 +#define PC_NOCOLLAPSE 4 +#define PC_RESERVED 1 +#define CLR_NONE 0xffffffff +#define CLR_INVALID CLR_NONE +#define CLR_DEFAULT 0xff000000 +#define PT_MOVETO 6 +#define PT_LINETO 2 +#define PT_BEZIERTO 4 +#define PT_CLOSEFIGURE 1 +#define TT_AVAILABLE 1 +#define TT_ENABLED 2 +#define BLACK_BRUSH 4 +#define DKGRAY_BRUSH 3 +#define GRAY_BRUSH 2 +#define HOLLOW_BRUSH 5 +#define LTGRAY_BRUSH 1 +#define NULL_BRUSH 5 +#define WHITE_BRUSH 0 +#define BLACK_PEN 7 +#define NULL_PEN 8 +#define WHITE_PEN 6 +#define ANSI_FIXED_FONT 11 +#define ANSI_VAR_FONT 12 +#define DEVICE_DEFAULT_FONT 14 +#define DEFAULT_GUI_FONT 17 +#define OEM_FIXED_FONT 10 +#define SYSTEM_FONT 13 +#define SYSTEM_FIXED_FONT 16 +#define DEFAULT_PALETTE 15 +#define SYSPAL_NOSTATIC 2 +#define SYSPAL_STATIC 1 +#define SYSPAL_ERROR 0 +#define TA_BASELINE 24 +#define TA_BOTTOM 8 +#define TA_TOP 0 +#define TA_CENTER 6 +#define TA_LEFT 0 +#define TA_RIGHT 2 +#define TA_RTLREADING 256 +#define TA_NOUPDATECP 0 +#define TA_UPDATECP 1 +#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING) +#define VTA_BASELINE 24 +#define VTA_CENTER 6 +#define VTA_LEFT TA_BOTTOM +#define VTA_RIGHT TA_TOP +#define VTA_BOTTOM TA_RIGHT +#define VTA_TOP TA_LEFT +#define MWT_IDENTITY 1 +#define MWT_LEFTMULTIPLY 2 +#define MWT_RIGHTMULTIPLY 3 +#define OPAQUE 2 +#define TRANSPARENT 1 +#define BLACKONWHITE 1 +#define WHITEONBLACK 2 +#define COLORONCOLOR 3 +#define HALFTONE 4 +#define MAXSTRETCHBLTMODE 4 +#define STRETCH_ANDSCANS 1 +#define STRETCH_DELETESCANS 3 +#define STRETCH_HALFTONE 4 +#define STRETCH_ORSCANS 2 +#define TCI_SRCCHARSET 1 +#define TCI_SRCCODEPAGE 2 +#define TCI_SRCFONTSIG 3 +#define ICM_ON 2 +#define ICM_OFF 1 +#define ICM_QUERY 3 +#define NEWFRAME 1 +#define ABORTDOC 2 +#define NEXTBAND 3 +#define SETCOLORTABLE 4 +#define GETCOLORTABLE 5 +#define FLUSHOUTPUT 6 +#define DRAFTMODE 7 +#define QUERYESCSUPPORT 8 +#define SETABORTPROC 9 +#define STARTDOC 10 +#define ENDDOC 11 +#define GETPHYSPAGESIZE 12 +#define GETPRINTINGOFFSET 13 +#define GETSCALINGFACTOR 14 +#define MFCOMMENT 15 +#define GETPENWIDTH 16 +#define SETCOPYCOUNT 17 +#define SELECTPAPERSOURCE 18 +#define DEVICEDATA 19 +#define PASSTHROUGH 19 +#define GETTECHNOLGY 20 +#define GETTECHNOLOGY 20 +#define SETLINECAP 21 +#define SETLINEJOIN 22 +#define SETMITERLIMIT 23 +#define BANDINFO 24 +#define DRAWPATTERNRECT 25 +#define GETVECTORPENSIZE 26 +#define GETVECTORBRUSHSIZE 27 +#define ENABLEDUPLEX 28 +#define GETSETPAPERBINS 29 +#define GETSETPRINTORIENT 30 +#define ENUMPAPERBINS 31 +#define SETDIBSCALING 32 +#define EPSPRINTING 33 +#define ENUMPAPERMETRICS 34 +#define GETSETPAPERMETRICS 35 +#define POSTSCRIPT_DATA 37 +#define POSTSCRIPT_IGNORE 38 +#define MOUSETRAILS 39 +#define GETDEVICEUNITS 42 +#define GETEXTENDEDTEXTMETRICS 256 +#define GETEXTENTTABLE 257 +#define GETPAIRKERNTABLE 258 +#define GETTRACKKERNTABLE 259 +#define EXTTEXTOUT 512 +#define GETFACENAME 513 +#define DOWNLOADFACE 514 +#define ENABLERELATIVEWIDTHS 768 +#define ENABLEPAIRKERNING 769 +#define SETKERNTRACK 770 +#define SETALLJUSTVALUES 771 +#define SETCHARSET 772 +#define STRETCHBLT 2048 +#define GETSETSCREENPARAMS 3072 +#define QUERYDIBSUPPORT 3073 +#define BEGIN_PATH 4096 +#define CLIP_TO_PATH 4097 +#define END_PATH 4098 +#define EXT_DEVICE_CAPS 4099 +#define RESTORE_CTM 4100 +#define SAVE_CTM 4101 +#define SET_ARC_DIRECTION 4102 +#define SET_BACKGROUND_COLOR 4103 +#define SET_POLY_MODE 4104 +#define SET_SCREEN_ANGLE 4105 +#define SET_SPREAD 4106 +#define TRANSFORM_CTM 4107 +#define SET_CLIP_BOX 4108 +#define SET_BOUNDS 4109 +#define SET_MIRROR_MODE 4110 +#define OPENCHANNEL 4110 +#define DOWNLOADHEADER 4111 +#define CLOSECHANNEL 4112 +#define POSTSCRIPT_PASSTHROUGH 4115 +#define ENCAPSULATED_POSTSCRIPT 4116 +#define QDI_SETDIBITS 1 +#define QDI_GETDIBITS 2 +#define QDI_DIBTOSCREEN 4 +#define QDI_STRETCHDIB 8 +#define SP_NOTREPORTED 0x4000 +#define PR_JOBSTATUS 0 +#define ASPECT_FILTERING 1 +#define BS_SOLID 0 +#define BS_NULL 1 +#define BS_HOLLOW 1 +#define BS_HATCHED 2 +#define BS_PATTERN 3 +#define BS_INDEXED 4 +#define BS_DIBPATTERN 5 +#define BS_DIBPATTERNPT 6 +#define BS_PATTERN8X8 7 +#define BS_DIBPATTERN8X8 8 +#define LCS_CALIBRATED_RGB 0 +#define LCS_DEVICE_RGB 1 +#define LCS_DEVICE_CMYK 2 +#define LCS_GM_BUSINESS 1 +#define LCS_GM_GRAPHICS 2 +#define LCS_GM_IMAGES 4 +#define RASTER_FONTTYPE 1 +#define DEVICE_FONTTYPE 2 +#define TRUETYPE_FONTTYPE 4 +#define DMORIENT_PORTRAIT 1 +#define DMORIENT_LANDSCAPE 2 +#define DMPAPER_FIRST 1 +#define DMPAPER_LETTER 1 +#define DMPAPER_LETTERSMALL 2 +#define DMPAPER_TABLOID 3 +#define DMPAPER_LEDGER 4 +#define DMPAPER_LEGAL 5 +#define DMPAPER_STATEMENT 6 +#define DMPAPER_EXECUTIVE 7 +#define DMPAPER_A3 8 +#define DMPAPER_A4 9 +#define DMPAPER_A4SMALL 10 +#define DMPAPER_A5 11 +#define DMPAPER_B4 12 +#define DMPAPER_B5 13 +#define DMPAPER_FOLIO 14 +#define DMPAPER_QUARTO 15 +#define DMPAPER_10X14 16 +#define DMPAPER_11X17 17 +#define DMPAPER_NOTE 18 +#define DMPAPER_ENV_9 19 +#define DMPAPER_ENV_10 20 +#define DMPAPER_ENV_11 21 +#define DMPAPER_ENV_12 22 +#define DMPAPER_ENV_14 23 +#define DMPAPER_CSHEET 24 +#define DMPAPER_DSHEET 25 +#define DMPAPER_ESHEET 26 +#define DMPAPER_ENV_DL 27 +#define DMPAPER_ENV_C5 28 +#define DMPAPER_ENV_C3 29 +#define DMPAPER_ENV_C4 30 +#define DMPAPER_ENV_C6 31 +#define DMPAPER_ENV_C65 32 +#define DMPAPER_ENV_B4 33 +#define DMPAPER_ENV_B5 34 +#define DMPAPER_ENV_B6 35 +#define DMPAPER_ENV_ITALY 36 +#define DMPAPER_ENV_MONARCH 37 +#define DMPAPER_ENV_PERSONAL 38 +#define DMPAPER_FANFOLD_US 39 +#define DMPAPER_FANFOLD_STD_GERMAN 40 +#define DMPAPER_FANFOLD_LGL_GERMAN 41 +#define DMPAPER_ISO_B4 42 +#define DMPAPER_JAPANESE_POSTCARD 43 +#define DMPAPER_9X11 44 +#define DMPAPER_10X11 45 +#define DMPAPER_15X11 46 +#define DMPAPER_ENV_INVITE 47 +#define DMPAPER_RESERVED_48 48 +#define DMPAPER_RESERVED_49 49 +#define DMPAPER_LETTER_EXTRA 50 +#define DMPAPER_LEGAL_EXTRA 51 +#define DMPAPER_TABLOID_EXTRA 52 +#define DMPAPER_A4_EXTRA 53 +#define DMPAPER_LETTER_TRANSVERSE 54 +#define DMPAPER_A4_TRANSVERSE 55 +#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 +#define DMPAPER_A_PLUS 57 +#define DMPAPER_B_PLUS 58 +#define DMPAPER_LETTER_PLUS 59 +#define DMPAPER_A4_PLUS 60 +#define DMPAPER_A5_TRANSVERSE 61 +#define DMPAPER_B5_TRANSVERSE 62 +#define DMPAPER_A3_EXTRA 63 +#define DMPAPER_A5_EXTRA 64 +#define DMPAPER_B5_EXTRA 65 +#define DMPAPER_A2 66 +#define DMPAPER_A3_TRANSVERSE 67 +#define DMPAPER_A3_EXTRA_TRANSVERSE 68 +#define DMPAPER_LAST 68 +#define DMPAPER_USER 256 +#define DMBIN_FIRST 1 +#define DMBIN_UPPER 1 +#define DMBIN_ONLYONE 1 +#define DMBIN_LOWER 2 +#define DMBIN_MIDDLE 3 +#define DMBIN_MANUAL 4 +#define DMBIN_ENVELOPE 5 +#define DMBIN_ENVMANUAL 6 +#define DMBIN_AUTO 7 +#define DMBIN_TRACTOR 8 +#define DMBIN_SMALLFMT 9 +#define DMBIN_LARGEFMT 10 +#define DMBIN_LARGECAPACITY 11 +#define DMBIN_CASSETTE 14 +#define DMBIN_FORMSOURCE 15 +#define DMBIN_LAST 15 +#define DMBIN_USER 256 +#define DMRES_DRAFT (-1) +#define DMRES_LOW (-2) +#define DMRES_MEDIUM (-3) +#define DMRES_HIGH (-4) +#define DMCOLOR_MONOCHROME 1 +#define DMCOLOR_COLOR 2 +#define DMDUP_SIMPLEX 1 +#define DMDUP_VERTICAL 2 +#define DMDUP_HORIZONTAL 3 +#define DMTT_BITMAP 1 +#define DMTT_DOWNLOAD 2 +#define DMTT_SUBDEV 3 +#define DMTT_DOWNLOAD_OUTLINE 4 +#define DMCOLLATE_FALSE 0 +#define DMCOLLATE_TRUE 1 +#define DM_GRAYSCALE 1 +#define DM_INTERLACED 2 +#define DM_UPDATE 1 +#define DM_COPY 2 +#define DM_PROMPT 4 +#define DM_MODIFY 8 +#define DM_IN_BUFFER DM_MODIFY +#define DM_IN_PROMPT DM_PROMPT +#define DM_OUT_BUFFER DM_COPY +#define DM_OUT_DEFAULT DM_UPDATE +#define DM_ORIENTATION 1 +#define DM_PAPERSIZE 2 +#define DM_PAPERLENGTH 4 +#define DM_PAPERWIDTH 8 +#define DM_SCALE 16 +#define DM_COPIES 256 +#define DM_DEFAULTSOURCE 512 +#define DM_PRINTQUALITY 1024 +#define DM_COLOR 2048 +#define DM_DUPLEX 4096 +#define DM_YRESOLUTION 8192 +#define DM_TTOPTION 16384 +#define DM_COLLATE 32768 +#define DM_FORMNAME 65536 +#define DM_LOGPIXELS 0x20000 +#define DM_BITSPERPEL 0x40000 +#define DM_PELSWIDTH 0x80000 +#define DM_PELSHEIGHT 0x100000 +#define DM_DISPLAYFLAGS 0x200000 +#define DM_DISPLAYFREQUENCY 0x400000 +#define DM_ICMMETHOD 0x800000 +#define DM_ICMINTENT 0x1000000 +#define DM_MEDIATYPE 0x2000000 +#define DM_DITHERTYPE 0x4000000 +#define DMICMMETHOD_NONE 1 +#define DMICMMETHOD_SYSTEM 2 +#define DMICMMETHOD_DRIVER 3 +#define DMICMMETHOD_DEVICE 4 +#define DMICMMETHOD_USER 256 +#define DMICM_SATURATE 1 +#define DMICM_CONTRAST 2 +#define DMICM_COLORMETRIC 3 +#define DMICM_USER 256 +#define DMMEDIA_STANDARD 1 +#define DMMEDIA_TRANSPARENCY 2 +#define DMMEDIA_GLOSSY 3 +#define DMMEDIA_USER 256 +#define DMDITHER_NONE 1 +#define DMDITHER_COARSE 2 +#define DMDITHER_FINE 3 +#define DMDITHER_LINEART 4 +#define DMDITHER_ERRORDIFFUSION 5 +#define DMDITHER_RESERVED6 6 +#define DMDITHER_RESERVED7 7 +#define DMDITHER_RESERVED8 8 +#define DMDITHER_RESERVED9 9 +#define DMDITHER_GRAYSCALE 10 +#define DMDITHER_USER 256 +#define GDI_ERROR 0xFFFFFFFF +#define HGDI_ERROR ((HANDLE)GDI_ERROR) +#define TMPF_FIXED_PITCH 1 +#define TMPF_VECTOR 2 +#define TMPF_TRUETYPE 4 +#define TMPF_DEVICE 8 +#define NTM_ITALIC 1 +#define NTM_BOLD 32 +#define NTM_REGULAR 64 +#define TT_POLYGON_TYPE 24 +#define TT_PRIM_LINE 1 +#define TT_PRIM_QSPLINE 2 +#define FONTMAPPER_MAX 10 +#define ENHMETA_STOCK_OBJECT 0x80000000 +#define WGL_FONT_LINES 0 +#define WGL_FONT_POLYGONS 1 +#define LPD_DOUBLEBUFFER 1 +#define LPD_STEREO 2 +#define LPD_SUPPORT_GDI 16 +#define LPD_SUPPORT_OPENGL 32 +#define LPD_SHARE_DEPTH 64 +#define LPD_SHARE_STENCIL 128 +#define LPD_SHARE_ACCUM 256 +#define LPD_SWAP_EXCHANGE 512 +#define LPD_SWAP_COPY 1024 +#define LPD_TRANSPARENT 4096 +#define LPD_TYPE_RGBA 0 +#define LPD_TYPE_COLORINDEX 1 +#define WGL_SWAP_MAIN_PLANE 1 +#define WGL_SWAP_OVERLAY1 2 +#define WGL_SWAP_OVERLAY2 4 +#define WGL_SWAP_OVERLAY3 8 +#define WGL_SWAP_OVERLAY4 16 +#define WGL_SWAP_OVERLAY5 32 +#define WGL_SWAP_OVERLAY6 64 +#define WGL_SWAP_OVERLAY7 128 +#define WGL_SWAP_OVERLAY8 256 +#define WGL_SWAP_OVERLAY9 512 +#define WGL_SWAP_OVERLAY10 1024 +#define WGL_SWAP_OVERLAY11 2048 +#define WGL_SWAP_OVERLAY12 4096 +#define WGL_SWAP_OVERLAY13 8192 +#define WGL_SWAP_OVERLAY14 16384 +#define WGL_SWAP_OVERLAY15 32768 +#define WGL_SWAP_UNDERLAY1 65536 +#define WGL_SWAP_UNDERLAY2 0x20000 +#define WGL_SWAP_UNDERLAY3 0x40000 +#define WGL_SWAP_UNDERLAY4 0x80000 +#define WGL_SWAP_UNDERLAY5 0x100000 +#define WGL_SWAP_UNDERLAY6 0x200000 +#define WGL_SWAP_UNDERLAY7 0x400000 +#define WGL_SWAP_UNDERLAY8 0x800000 +#define WGL_SWAP_UNDERLAY9 0x1000000 +#define WGL_SWAP_UNDERLAY10 0x2000000 +#define WGL_SWAP_UNDERLAY11 0x4000000 +#define WGL_SWAP_UNDERLAY12 0x8000000 +#define WGL_SWAP_UNDERLAY13 0x10000000 +#define WGL_SWAP_UNDERLAY14 0x20000000 +#define WGL_SWAP_UNDERLAY15 0x40000000 +#define AC_SRC_OVER 0 +#define LAYOUT_RTL 1 +#define LAYOUT_BITMAPORIENTATIONPRESERVED 8 + +#ifndef RC_INVOKED +typedef struct _ABC { + int abcA; + UINT abcB; + int abcC; +} ABC,*LPABC; +typedef struct _ABCFLOAT { + FLOAT abcfA; + FLOAT abcfB; + FLOAT abcfC; +} ABCFLOAT,*LPABCFLOAT; +typedef struct tagBITMAP { + LONG bmType; + LONG bmWidth; + LONG bmHeight; + LONG bmWidthBytes; + WORD bmPlanes; + WORD bmBitsPixel; + LPVOID bmBits; +} BITMAP,*PBITMAP,*LPBITMAP; +typedef struct tagBITMAPCOREHEADER { + DWORD bcSize; + WORD bcWidth; + WORD bcHeight; + WORD bcPlanes; + WORD bcBitCount; +} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; +#pragma pack(push,1) +typedef struct tagRGBTRIPLE { + BYTE rgbtBlue; + BYTE rgbtGreen; + BYTE rgbtRed; +} RGBTRIPLE; +#pragma pack(pop) +#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 _BITMAPCOREINFO { + BITMAPCOREHEADER bmciHeader; + RGBTRIPLE bmciColors[1]; +} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO; +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 tagRGBQUAD { + BYTE rgbBlue; + BYTE rgbGreen; + BYTE rgbRed; + BYTE rgbReserved; +} RGBQUAD; +typedef struct tagBITMAPINFO { + BITMAPINFOHEADER bmiHeader; + RGBQUAD bmiColors[1]; +} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; +typedef long FXPT16DOT16,*LPFXPT16DOT16; +typedef long FXPT2DOT30,*LPFXPT2DOT30; +typedef struct tagCIEXYZ { + FXPT2DOT30 ciexyzX; + FXPT2DOT30 ciexyzY; + FXPT2DOT30 ciexyzZ; +} CIEXYZ,*LPCIEXYZ; +typedef struct tagCIEXYZTRIPLE { + CIEXYZ ciexyzRed; + CIEXYZ ciexyzGreen; + CIEXYZ ciexyzBlue; +} CIEXYZTRIPLE,*LPCIEXYZTRIPLE; +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 tagFONTSIGNATURE { + DWORD fsUsb[4]; + DWORD fsCsb[2]; +} FONTSIGNATURE,*LPFONTSIGNATURE; +typedef struct { + UINT ciCharset; + UINT ciACP; + FONTSIGNATURE fs; +} CHARSETINFO,*LPCHARSETINFO; +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,*LPCOLORADJUSTMENT; +typedef struct _devicemodeA { + BYTE dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + BYTE dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmICCManufacturer; + DWORD dmICCModel; +} DEVMODEA,*LPDEVMODEA,*PDEVMODEA; +typedef struct _devicemodeW { + WCHAR dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + WCHAR dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmICCManufacturer; + DWORD dmICCModel; +} DEVMODEW,*LPDEVMODEW,*PDEVMODEW; +typedef struct tagDIBSECTION { + BITMAP dsBm; + BITMAPINFOHEADER dsBmih; + DWORD dsBitfields[3]; + HANDLE dshSection; + DWORD dsOffset; +} DIBSECTION; +typedef struct _DOCINFOA { + int cbSize; + LPCTSTR lpszDocName; + LPCTSTR lpszOutput; + LPCTSTR lpszDatatype; + DWORD fwType; +} DOCINFOA,*LPDOCINFOA; +typedef struct _DOCINFOW { + int cbSize; + LPCWSTR lpszDocName; + LPCWSTR lpszOutput; + LPCWSTR lpszDatatype; + DWORD fwType; +} DOCINFOW,*LPDOCINFOW; +typedef struct tagEMR { + DWORD iType; + DWORD nSize; +} EMR,*PEMR; +typedef struct tagEMRANGLEARC { + EMR emr; + POINTL ptlCenter; + DWORD nRadius; + FLOAT eStartAngle; + FLOAT eSweepAngle; +} EMRANGLEARC,*PEMRANGLEARC; +typedef struct tagEMRARC { + EMR emr; + RECTL rclBox; + POINTL ptlStart; + POINTL ptlEnd; +} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE; +typedef struct _XFORM { + FLOAT eM11; + FLOAT eM12; + FLOAT eM21; + FLOAT eM22; + FLOAT eDx; + FLOAT eDy; +} XFORM,*LPXFORM; +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 offBitsSrc; + DWORD cbBitsSrc; +} EMRBITBLT,*PEMRBITBLT; +typedef struct tagLOGBRUSH { + UINT lbStyle; + COLORREF lbColor; + LONG lbHatch; +} LOGBRUSH,*LPLOGBRUSH; +typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN; +typedef struct tagEMRCREATEBRUSHINDIRECT { + EMR emr; + DWORD ihBrush; + LOGBRUSH lb; +} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT; +typedef LONG LCSCSTYPE; +typedef LONG LCSGAMUTMATCH; +typedef struct tagLOGCOLORSPACEA { + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + CHAR lcsFilename[MAX_PATH]; +} 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[MAX_PATH]; +} LOGCOLORSPACEW,*LPLOGCOLORSPACEW; +typedef struct tagEMRCREATECOLORSPACE { + EMR emr; + DWORD ihCS; + LOGCOLORSPACEW lcs; +} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE; +typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT; +typedef struct tagEMRCREATEMONOBRUSH { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; +} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH; +typedef struct tagPALETTEENTRY { + BYTE peRed; + BYTE peGreen; + BYTE peBlue; + BYTE peFlags; +} PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY; +typedef struct tagLOGPALETTE { + WORD palVersion; + WORD palNumEntries; + PALETTEENTRY palPalEntry[1]; +} LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE; +typedef struct tagEMRCREATEPALETTE { + EMR emr; + DWORD ihPal; + LOGPALETTE lgpl; +} EMRCREATEPALETTE,*PEMRCREATEPALETTE; +typedef struct tagLOGPEN { + UINT lopnStyle; + POINT lopnWidth; + COLORREF lopnColor; +} LOGPEN,*LPLOGPEN; +typedef struct tagEMRCREATEPEN { + EMR emr; + DWORD ihPen; + LOGPEN lopn; +} EMRCREATEPEN,*PEMRCREATEPEN; +typedef struct tagEMRELLIPSE { + EMR emr; + RECTL rclBox; +} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE; +typedef struct tagEMREOF { + EMR emr; + DWORD nPalEntries; + DWORD offPalEntries; + DWORD nSizeLast; +} EMREOF,*PEMREOF; +typedef struct tagEMREXCLUDECLIPRECT { + EMR emr; + RECTL rclClip; +} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT; +typedef struct tagPANOSE { + BYTE bFamilyType; + BYTE bSerifStyle; + BYTE bWeight; + BYTE bProportion; + BYTE bContrast; + BYTE bStrokeVariation; + BYTE bArmStyle; + BYTE bLetterform; + BYTE bMidline; + BYTE bXHeight; +} PANOSE; +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[LF_FACESIZE]; +} LOGFONTA,*PLOGFONTA,*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[LF_FACESIZE]; +} LOGFONTW,*PLOGFONTW,*LPLOGFONTW; +typedef struct tagEXTLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; +} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA; +typedef struct tagEXTLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; +} EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW; +typedef struct tagEMREXTCREATEFONTINDIRECTW { + EMR emr; + DWORD ihFont; + EXTLOGFONTW elfw; +} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW; +typedef struct tagEXTLOGPEN { + UINT elpPenStyle; + UINT elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + LONG elpHatch; + DWORD elpNumEntries; + DWORD elpStyleEntry[1]; +} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN; +typedef struct tagEMREXTCREATEPEN { + EMR emr; + DWORD ihPen; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + EXTLOGPEN elp; +} EMREXTCREATEPEN,*PEMREXTCREATEPEN; +typedef struct tagEMREXTFLOODFILL { + EMR emr; + POINTL ptlStart; + COLORREF crColor; + DWORD iMode; +} EMREXTFLOODFILL,*PEMREXTFLOODFILL; +typedef struct tagEMREXTSELECTCLIPRGN { + EMR emr; + DWORD cbRgnData; + DWORD iMode; + BYTE RgnData[1]; +} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN; +typedef struct tagEMRTEXT { + POINTL ptlReference; + DWORD nChars; + DWORD offString; + DWORD fOptions; + RECTL rcl; + DWORD offDx; +} EMRTEXT,*PEMRTEXT; +typedef struct tagEMREXTTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + EMRTEXT emrtext; +} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW; +typedef struct tagEMRFILLPATH { + EMR emr; + RECTL rclBounds; +} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH; +typedef struct tagEMRFILLRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + BYTE RgnData[1]; +} EMRFILLRGN,*PEMRFILLRGN; +typedef struct tagEMRFORMAT { + DWORD dSignature; + DWORD nVersion; + DWORD cbData; + DWORD offData; +} EMRFORMAT; +typedef struct tagEMRFRAMERGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + SIZEL szlStroke; + BYTE RgnData[1]; +} EMRFRAMERGN,*PEMRFRAMERGN; +typedef struct tagEMRGDICOMMENT { + EMR emr; + DWORD cbData; + BYTE Data[1]; +} EMRGDICOMMENT,*PEMRGDICOMMENT; +typedef struct tagEMRINVERTRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + BYTE RgnData[1]; +} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN; +typedef struct tagEMRLINETO { + EMR emr; + POINTL ptl; +} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX; +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 tagEMRMODIFYWORLDTRANSFORM { + EMR emr; + XFORM xform; + DWORD iMode; +} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM; +typedef struct tagEMROFFSETCLIPRGN { + EMR emr; + POINTL ptlOffset; +} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN; +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 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 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; + POINTL apts[1]; +} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16; +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 tagEMRPOLYTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + LONG cStrings; + EMRTEXT aemrtext[1]; +} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW; +typedef struct tagEMRRESIZEPALETTE { + EMR emr; + DWORD ihPal; + DWORD cEntries; +} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE; +typedef struct tagEMRRESTOREDC { + EMR emr; + LONG iRelative; +} EMRRESTOREDC,*PEMRRESTOREDC; +typedef struct tagEMRROUNDRECT { + EMR emr; + RECTL rclBox; + SIZEL szlCorner; +} EMRROUNDRECT,*PEMRROUNDRECT; +typedef struct tagEMRSCALEVIEWPORTEXTEX { + EMR emr; + LONG xNum; + LONG xDenom; + LONG yNum; + LONG yDenom; +} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX; +typedef struct tagEMRSELECTCOLORSPACE { + EMR emr; + DWORD ihCS; +} EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE; +typedef struct tagEMRSELECTOBJECT { + EMR emr; + DWORD ihObject; +} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT; +typedef struct tagEMRSELECTPALETTE { + EMR emr; + DWORD ihPal; +} EMRSELECTPALETTE,*PEMRSELECTPALETTE; +typedef struct tagEMRSETARCDIRECTION { + EMR emr; + DWORD iArcDirection; +} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION; +typedef struct tagEMRSETTEXTCOLOR { + EMR emr; + COLORREF crColor; +} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR; +typedef struct tagEMRSETCOLORADJUSTMENT { + EMR emr; + COLORADJUSTMENT ColorAdjustment; +} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT; +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 tagEMRSETMAPPERFLAGS { + EMR emr; + DWORD dwFlags; +} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS; +typedef struct tagEMRSETMITERLIMIT { + EMR emr; + FLOAT eMiterLimit; +} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT; +typedef struct tagEMRSETPALETTEENTRIES { + EMR emr; + DWORD ihPal; + DWORD iStart; + DWORD cEntries; + PALETTEENTRY aPalEntries[1]; +} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES; +typedef struct tagEMRSETPIXELV { + EMR emr; + POINTL ptlPixel; + COLORREF crColor; +} EMRSETPIXELV,*PEMRSETPIXELV; +typedef struct tagEMRSETVIEWPORTEXTEX { + EMR emr; + SIZEL szlExtent; +} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX; +typedef struct tagEMRSETVIEWPORTORGEX { + EMR emr; + POINTL ptlOrigin; +} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX; +typedef struct tagEMRSETWORLDTRANSFORM { + EMR emr; + XFORM xform; +} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM; +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 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 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,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM; +#pragma pack(push,2) +typedef struct tagMETAHEADER { + WORD mtType; + WORD mtHeaderSize; + WORD mtVersion; + DWORD mtSize; + WORD mtNoObjects; + DWORD mtMaxRecord; + WORD mtNoParameters; +} METAHEADER,*PMETAHEADER,*LPMETAHEADER; +#pragma pack(pop) +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; +} ENHMETAHEADER,*LPENHMETAHEADER; +typedef struct tagMETARECORD { + DWORD rdSize; + WORD rdFunction; + WORD rdParm[1]; +} METARECORD,*PMETARECORD,*LPMETARECORD; +typedef struct tagENHMETARECORD { + DWORD iType; + DWORD nSize; + DWORD dParm[1]; +} ENHMETARECORD,*LPENHMETARECORD; +typedef struct tagHANDLETABLE { + HGDIOBJ objectHandle[1]; +} HANDLETABLE,*LPHANDLETABLE; +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,*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,*LPTEXTMETRICW; +typedef struct _RGNDATAHEADER { + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECT rcBound; +} RGNDATAHEADER; +typedef struct _RGNDATA { + RGNDATAHEADER rdh; + char Buffer[1]; +} RGNDATA,*LPRGNDATA; +/* for GetRandomRgn */ +#define SYSRGN 4 +typedef struct tagGCP_RESULTSA { + DWORD lStructSize; + LPSTR lpOutString; + UINT *lpOrder; + INT *lpDx; + INT *lpCaretPos; + LPSTR lpClass; + UINT *lpGlyphs; + UINT nGlyphs; + UINT nMaxFit; +} GCP_RESULTSA,*LPGCP_RESULTSA; +typedef struct tagGCP_RESULTSW { + DWORD lStructSize; + LPWSTR lpOutString; + UINT *lpOrder; + INT *lpDx; + INT *lpCaretPos; + LPWSTR lpClass; + UINT *lpGlyphs; + UINT nGlyphs; + UINT nMaxFit; +} GCP_RESULTSW,*LPGCP_RESULTSW; +typedef struct _GLYPHMETRICS { + UINT gmBlackBoxX; + UINT gmBlackBoxY; + POINT gmptGlyphOrigin; + short gmCellIncX; + short gmCellIncY; +} GLYPHMETRICS,*LPGLYPHMETRICS; +typedef struct tagKERNINGPAIR { + WORD wFirst; + WORD wSecond; + int iKernAmount; +} KERNINGPAIR,*LPKERNINGPAIR; +typedef struct _FIXED { + WORD fract; + short value; +} FIXED; +typedef struct _MAT2 { + FIXED eM11; + FIXED eM12; + FIXED eM21; + FIXED eM22; +} MAT2,*LPMAT2; +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,*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,*LPOUTLINETEXTMETRICW; +typedef struct _RASTERIZER_STATUS { + short nSize; + short wFlags; + short nLanguageID; +} RASTERIZER_STATUS,*LPRASTERIZER_STATUS; +typedef struct _POLYTEXTA { + int x; + int y; + UINT n; + LPCSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; +} POLYTEXTA; +typedef struct _POLYTEXTW { + int x; + int y; + UINT n; + LPCWSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; +} POLYTEXTW; +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 struct tagMETAFILEPICT { + LONG mm; + LONG xExt; + LONG yExt; + HMETAFILE hMF; +} METAFILEPICT,*LPMETAFILEPICT; +typedef struct tagLOCALESIGNATURE { + DWORD lsUsb[4]; + DWORD lsCsbDefault[2]; + DWORD lsCsbSupported[2]; +} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; +typedef LONG LCSTYPE; +#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,*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,*LPNEWTEXTMETRICW; +#pragma pack(pop) +typedef struct tagNEWTEXTMETRICEXA { + NEWTEXTMETRICA ntmTm; + FONTSIGNATURE ntmFontSig; +} NEWTEXTMETRICEXA; +typedef struct tagNEWTEXTMETRICEXW { + NEWTEXTMETRICW ntmTm; + FONTSIGNATURE ntmFontSig; +} NEWTEXTMETRICEXW; +typedef struct tagPELARRAY { + LONG paXCount; + LONG paYCount; + LONG paXExt; + LONG paYExt; + BYTE paRGBs; +} PELARRAY,*PPELARRAY,*LPPELARRAY; +typedef struct tagENUMLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; +} ENUMLOGFONTA,*LPENUMLOGFONTA; +typedef struct tagENUMLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; +} ENUMLOGFONTW,*LPENUMLOGFONTW; +typedef struct tagENUMLOGFONTEXA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; +} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA; +typedef struct tagENUMLOGFONTEXW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; +} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; +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 _POINTFLOAT { + FLOAT x; + FLOAT y; +} POINTFLOAT,*PPOINTFLOAT; +typedef struct _GLYPHMETRICSFLOAT { + FLOAT gmfBlackBoxX; + FLOAT gmfBlackBoxY; + POINTFLOAT gmfptGlyphOrigin; + FLOAT gmfCellIncX; + FLOAT gmfCellIncY; +} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*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; +typedef struct _BLENDFUNCTION { + BYTE BlendOp; + BYTE BlendFlags; + BYTE SourceConstantAlpha; + BYTE AlphaFormat; +} BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION; +typedef BOOL (CALLBACK *ABORTPROC)(HDC,int); +typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM); +typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM); +typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM); +typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM); +typedef OLDFONTENUMPROCA FONTENUMPROCA; +typedef OLDFONTENUMPROCW FONTENUMPROCW; +typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); +typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); +typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM); +typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM); +typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT); +typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA); + + +#define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16))) +#define MAKEPOINTS(l) (*((POINTS*)&(l))) +#define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f)) +#define PALETTEINDEX(i) ((0x01000000|(COLORREF)(WORD)(i))) +#define PALETTERGB(r,g,b) (0x02000000|RGB(r,g,b)) +int WINAPI AbortDoc(HDC); +BOOL WINAPI AbortPath(HDC); +int WINAPI AddFontResourceA(LPCSTR); +int WINAPI AddFontResourceW(LPCWSTR); +BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT); +BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*); +BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI BeginPath(HDC); +BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD); +BOOL WINAPI CancelDC(HDC); +BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD); +BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int); +int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*); +HENHMETAFILE WINAPI CloseEnhMetaFile(HDC); +BOOL WINAPI CloseFigure(HDC); +HMETAFILE WINAPI CloseMetaFile(HDC); +BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD); +int WINAPI CombineRgn(HRGN,HRGN,HRGN,int); +BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*); +HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR); +HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR); +HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR); +HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR); +HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID); +HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*); +HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*); +HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA); +HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW); +HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int); +HDC WINAPI CreateCompatibleDC(HDC); +HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*); +HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*); +HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT); +HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT); +HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT); +HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD); +HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int); +HRGN WINAPI CreateEllipticRgn(int,int,int,int); +HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT); +HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR); +HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR); +HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR); +HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR); +HFONT WINAPI CreateFontIndirectA(const LOGFONTA*); +HFONT WINAPI CreateFontIndirectW(const LOGFONTW*); +HPALETTE WINAPI CreateHalftonePalette(HDC); +HBRUSH WINAPI CreateHatchBrush(int,COLORREF); +HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*); +HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*); +HDC WINAPI CreateMetaFileA(LPCSTR); +HDC WINAPI CreateMetaFileW(LPCWSTR); +HPALETTE WINAPI CreatePalette(const LOGPALETTE*); +HBRUSH WINAPI CreatePatternBrush(HBITMAP); +HPEN WINAPI CreatePen(int,int,COLORREF); +HPEN WINAPI CreatePenIndirect(const LOGPEN*); +HRGN WINAPI CreatePolygonRgn(const POINT*,int,int); +HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int); +HRGN WINAPI CreateRectRgn(int,int,int,int); +HRGN WINAPI CreateRectRgnIndirect(LPCRECT); +HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int); +BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR); +HBRUSH WINAPI CreateSolidBrush(COLORREF); +BOOL WINAPI DeleteColorSpace(HCOLORSPACE); +BOOL WINAPI DeleteDC(HDC); +BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE); +BOOL WINAPI DeleteMetaFile(HMETAFILE); +BOOL WINAPI DeleteObject(HGDIOBJ); +int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR); +DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*); +DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*); +BOOL WINAPI DPtoLP(HDC,LPPOINT,int); +int WINAPI DrawEscape(HDC,int,int,LPCSTR); +BOOL WINAPI Ellipse(HDC,int,int,int,int); +int WINAPI EndDoc(HDC); +int WINAPI EndPage(HDC); +BOOL WINAPI EndPath(HDC); +BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT); +int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM); +int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD); +int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD); +int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCA,LPARAM); +int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM); +int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM); +BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM); +int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM); +BOOL WINAPI EqualRgn(HRGN,HRGN); +int WINAPI Escape(HDC,int,int,LPCSTR,PVOID); +int WINAPI ExcludeClipRect(HDC,int,int,int,int); +int WINAPI ExcludeUpdateRgn(HDC,HWND); +HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*); +HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*); +int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR); +BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT); +int WINAPI ExtSelectClipRgn(HDC,HRGN,int); +BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*); +BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*); +BOOL WINAPI FillPath(HDC); +int WINAPI FillRect(HDC,LPCRECT,HBRUSH); +int WINAPI FillRgn(HDC,HRGN,HBRUSH); +BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI FlattenPath(HDC); +BOOL WINAPI FloodFill(HDC,int,int,COLORREF); +BOOL WINAPI GdiComment(HDC,UINT,const BYTE*); +BOOL WINAPI GdiFlush(void); +DWORD WINAPI GdiGetBatchLimit(void); +DWORD WINAPI GdiSetBatchLimit(DWORD); +#define GetCValue(cmyk) ((BYTE)(cmyk)) +#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8)) +#define GetYValue(cmyk) ((BYTE)((cmyk)>>16)) +#define GetKValue(cmyk) ((BYTE)((cmyk)>>24)) +#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(c)|((WORD)((BYTE)(m))<<8))|(((DWORD)(BYTE)(y))<<16))|(((DWORD)(BYTE)(k))<<24))) +#define GetRValue(c) ((BYTE)(c)) +#define GetGValue(c) ((BYTE)(((WORD)(c))>>8)) +#define GetBValue(c) ((BYTE)((c)>>16)) +int WINAPI GetArcDirection(HDC); +BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE); +LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID); +BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE); +COLORREF WINAPI GetBkColor(HDC); +int WINAPI GetBkMode(HDC); +UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT); +BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT); +BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC); +BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC); +BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT); +BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT); +DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD); +DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD); +BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT); +BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT); +BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT); +int WINAPI GetClipBox(HDC,LPRECT); +int WINAPI GetClipRgn(HDC,HRGN); +BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT); +HANDLE WINAPI GetColorSpace(HDC); +HGDIOBJ WINAPI GetCurrentObject(HDC,UINT); +BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT); +HCURSOR WINAPI GetCursor(void); +BOOL WINAPI GetDCOrgEx(HDC,LPPOINT); +int WINAPI GetDeviceCaps(HDC,int); +BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID); +UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*); +int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT); +HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR); +HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR); +UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR); +UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR); +UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER); +UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY); +UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,PIXELFORMATDESCRIPTOR*); +DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD); +DWORD WINAPI GetFontLanguageInfo(HDC); +DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*); +DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*); +int WINAPI GetGraphicsMode(HDC); +BOOL WINAPI GetICMProfileA(HDC,DWORD,LPSTR); +BOOL WINAPI GetICMProfileW(HDC,DWORD,LPWSTR); +DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR); +DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR); +BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD); +BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD); +int WINAPI GetMapMode(HDC); +HMETAFILE WINAPI GetMetaFileA(LPCSTR); +HMETAFILE WINAPI GetMetaFileW(LPCWSTR); +UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID); +int WINAPI GetMetaRgn(HDC,HRGN); +BOOL WINAPI GetMiterLimit(HDC,PFLOAT); +COLORREF WINAPI GetNearestColor(HDC,COLORREF); +UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF); +int WINAPI GetObjectA(HGDIOBJ,int,PVOID); +int WINAPI GetObjectW(HGDIOBJ,int,PVOID); +DWORD WINAPI GetObjectType(HGDIOBJ); +UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA); +UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW); +UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY); +int WINAPI GetPath(HDC,LPPOINT,PBYTE,int); +COLORREF WINAPI GetPixel(HDC,int,int); +int WINAPI GetPixelFormat(HDC); +int WINAPI GetPolyFillMode(HDC); +BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT); +int WINAPI GetRandomRgn (HDC,HRGN,INT); +DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA); +int WINAPI GetRgnBox(HRGN,LPRECT); +int WINAPI GetROP2(HDC); +HGDIOBJ WINAPI GetStockObject(int); +int WINAPI GetStretchBltMode(HDC); +UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY); +UINT WINAPI GetSystemPaletteUse(HDC); +UINT WINAPI GetTextAlign(HDC); +int WINAPI GetTextCharacterExtra(HDC); +int WINAPI GetTextCharset(HDC); +int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD); +COLORREF WINAPI GetTextColor(HDC); +BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE); +BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE ); +BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE); +BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE); +int WINAPI GetTextFaceA(HDC,int,LPSTR); +int WINAPI GetTextFaceW(HDC,int,LPWSTR); +BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA); +BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW); +BOOL WINAPI GetViewportExtEx(HDC,LPSIZE); +BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT); +BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); +BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT); +UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC); +BOOL WINAPI GetWorldTransform(HDC,LPXFORM); +int WINAPI IntersectClipRect(HDC,int,int,int,int); +BOOL WINAPI InvertRgn(HDC,HRGN); +BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM); +BOOL WINAPI LineTo(HDC,int,int); +BOOL WINAPI LPtoDP(HDC,LPPOINT,int); +BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD); +BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD); +BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT); +int WINAPI OffsetClipRgn(HDC,int,int); +int WINAPI OffsetRgn(HRGN,int,int); +BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI PaintRgn(HDC,HRGN); +BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD); +HRGN WINAPI PathToRegion(HDC); +BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int); +BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT); +BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT); +BOOL WINAPI PlayMetaFile(HDC,HMETAFILE); +BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT); +BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int); +BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD); +BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD); +BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int); +BOOL WINAPI Polygon(HDC,const POINT*,int); +BOOL WINAPI Polyline(HDC,const POINT*,int); +BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD); +BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int); +BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD); +BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int); +BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int); +BOOL WINAPI PtInRegion(HRGN,int,int); +BOOL WINAPI PtVisible(HDC,int,int); +UINT WINAPI RealizePalette(HDC); +BOOL WINAPI Rectangle(HDC,int,int,int,int); +BOOL WINAPI RectInRegion(HRGN,LPCRECT); +BOOL WINAPI RectVisible(HDC,LPCRECT); +BOOL WINAPI RemoveFontResourceA(LPCSTR); +BOOL WINAPI RemoveFontResourceW(LPCWSTR); +HDC WINAPI ResetDCA(HDC,const DEVMODEA*); +HDC WINAPI ResetDCW(HDC,const DEVMODEW*); +BOOL WINAPI ResizePalette(HPALETTE,UINT); +BOOL WINAPI RestoreDC(HDC,int); +BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int); +int WINAPI SaveDC(HDC); +BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE); +BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE); +BOOL WINAPI SelectClipPath(HDC,int); +int WINAPI SelectClipRgn(HDC,HRGN); +HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ); +HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL); +int WINAPI SetAbortProc(HDC,ABORTPROC); +int WINAPI SetArcDirection(HDC,int); +LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID); +BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE); +COLORREF WINAPI SetBkColor(HDC,COLORREF); +int WINAPI SetBkMode(HDC,int); +UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT); +BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*); +BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE); +BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID); +UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*); +int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT); +int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT); +HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*); +int WINAPI SetGraphicsMode(HDC,int); +int WINAPI SetICMMode(HDC,int); +BOOL WINAPI SetICMProfileA(HDC,LPSTR); +BOOL WINAPI SetICMProfileW(HDC,LPWSTR); +int WINAPI SetMapMode(HDC,int); +DWORD WINAPI SetMapperFlags(HDC,DWORD); +HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *); +int WINAPI SetMetaRgn(HDC); +BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT); +UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*); +COLORREF WINAPI SetPixel(HDC,int,int,COLORREF); +BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*); +BOOL WINAPI SetPixelV(HDC,int,int,COLORREF); +int WINAPI SetPolyFillMode(HDC,int); +BOOL WINAPI SetRectRgn(HRGN,int,int,int,int); +int WINAPI SetROP2(HDC,int); +int WINAPI SetStretchBltMode(HDC,int); +UINT WINAPI SetSystemPaletteUse(HDC,UINT); +UINT WINAPI SetTextAlign(HDC,UINT); +int WINAPI SetTextCharacterExtra(HDC,int); +COLORREF WINAPI SetTextColor(HDC,COLORREF); +BOOL WINAPI SetTextJustification(HDC,int,int); +BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE); +BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT); +BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE); +BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT); +HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*); +BOOL WINAPI SetWorldTransform(HDC,const XFORM *); +int WINAPI StartDocA(HDC,const DOCINFOA*); +int WINAPI StartDocW(HDC,const DOCINFOW*); +int WINAPI StartPage(HDC); +BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD); +int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD); +BOOL WINAPI StrokeAndFillPath(HDC); +BOOL WINAPI StrokePath(HDC); +BOOL WINAPI SwapBuffers(HDC); +BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int); +BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int); +BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD); +BOOL WINAPI UnrealizeObject(HGDIOBJ); +BOOL WINAPI UpdateColors(HDC); +BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT); +BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT); +BOOL WINAPI WidenPath(HDC); +BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT); +HGLRC WINAPI wglCreateContext(HDC); +HGLRC WINAPI wglCreateLayerContext(HDC,int); +BOOL WINAPI wglDeleteContext(HGLRC); +BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR); +HGLRC WINAPI wglGetCurrentContext(void); +HDC WINAPI wglGetCurrentDC(void); +int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*); +PROC WINAPI wglGetProcAddress(LPCSTR); +BOOL WINAPI wglMakeCurrent(HDC,HGLRC); +BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL); +int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*); +BOOL WINAPI wglShareLists(HGLRC,HGLRC); +BOOL WINAPI wglSwapLayerBuffers(HDC,UINT); +BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD); +BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD); +BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); +BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); + +#ifdef UNICODE +typedef WCHAR BCHAR; +typedef DOCINFOW DOCINFO, *LPDOCINFO; +typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT; +typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; +#define ICMENUMPROC ICMENUMPROCW +#define FONTENUMPROC FONTENUMPROCW +typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; +typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS; +typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; +typedef POLYTEXTW POLYTEXT; +typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE; +typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; +typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; +typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT; +typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX; +#define AddFontResource AddFontResourceW +#define CopyEnhMetaFile CopyEnhMetaFileW +#define CopyMetaFile CopyMetaFileW +#define CreateDC CreateDCW +#define CreateEnhMetaFile CreateEnhMetaFileW +#define CreateFont CreateFontW +#define CreateFontIndirect CreateFontIndirectW +#define CreateIC CreateICW +#define CreateMetaFile CreateMetaFileW +#define CreateScalableFontResource CreateScalableFontResourceW +#define DeviceCapabilities DeviceCapabilitiesW +#define EnumFontFamilies EnumFontFamiliesW +#define EnumFontFamiliesEx EnumFontFamiliesExW +#define EnumFonts EnumFontsW +#define EnumICMProfiles EnumICMProfilesW +#define ExtTextOut ExtTextOutW +#define GetCharABCWidthsFloat GetCharABCWidthsFloatW +#define GetCharABCWidths GetCharABCWidthsW +#define GetCharacterPlacement GetCharacterPlacementW +#define GetCharWidth32 GetCharWidth32W +#define GetCharWidthFloat GetCharWidthFloatW +#define GetCharWidth GetCharWidthW +#define GetEnhMetaFile GetEnhMetaFileW +#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW +#define GetGlyphOutline GetGlyphOutlineW +#define GetICMProfile GetICMProfileW +#define GetKerningPairs GetKerningPairsW +#define GetLogColorSpace GetLogColorSpaceW +#define GetMetaFile GetMetaFileW +#define GetObject GetObjectW +#define GetOutlineTextMetrics GetOutlineTextMetricsW +#define GetTextExtentPoint GetTextExtentPointW +#define GetTextExtentExPoint GetTextExtentExPointW +#define GetTextExtentPoint32 GetTextExtentPoint32W +#define GetTextFace GetTextFaceW +#define GetTextMetrics GetTextMetricsW +#define PolyTextOut PolyTextOutW +#define RemoveFontResource RemoveFontResourceW +#define ResetDC ResetDCW +#define SetICMProfile SetICMProfileW +#define StartDoc StartDocW +#define TextOut TextOutW +#define UpdateICMRegKey UpdateICMRegKeyW +#define wglUseFontBitmaps wglUseFontBitmapsW +#define wglUseFontOutlines wglUseFontOutlinesW +#else +typedef BYTE BCHAR; +typedef DOCINFOA DOCINFO, *LPDOCINFO; +typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT; +typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; +#define ICMENUMPROC ICMENUMPROCA +#define FONTENUMPROC FONTENUMPROCA +typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; +typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; +typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS; +typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; +typedef POLYTEXTA POLYTEXT; +typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE; +typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; +typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX; +typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT; +typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX; +#define AddFontResource AddFontResourceA +#define CopyEnhMetaFile CopyEnhMetaFileA +#define CopyMetaFile CopyMetaFileA +#define CreateDC CreateDCA +#define CreateEnhMetaFile CreateEnhMetaFileA +#define CreateFont CreateFontA +#define CreateFontIndirect CreateFontIndirectA +#define CreateIC CreateICA +#define CreateMetaFile CreateMetaFileA +#define CreateScalableFontResource CreateScalableFontResourceA +#define DeviceCapabilities DeviceCapabilitiesA +#define EnumFontFamilies EnumFontFamiliesA +#define EnumFontFamiliesEx EnumFontFamiliesExA +#define EnumFonts EnumFontsA +#define EnumICMProfiles EnumICMProfilesA +#define ExtTextOut ExtTextOutA +#define GetCharWidthFloat GetCharWidthFloatA +#define GetCharWidth GetCharWidthA +#define GetCharacterPlacement GetCharacterPlacementA +#define GetCharABCWidths GetCharABCWidthsA +#define GetCharABCWidthsFloat GetCharABCWidthsFloatA +#define GetCharWidth32 GetCharWidth32A +#define GetEnhMetaFile GetEnhMetaFileA +#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA +#define GetGlyphOutline GetGlyphOutlineA +#define GetICMProfile GetICMProfileA +#define GetKerningPairs GetKerningPairsA +#define GetLogColorSpace GetLogColorSpaceA +#define GetMetaFile GetMetaFileA +#define GetObject GetObjectA +#define GetOutlineTextMetrics GetOutlineTextMetricsA +#define GetTextExtentPoint GetTextExtentPointA +#define GetTextExtentExPoint GetTextExtentExPointA +#define GetTextExtentPoint32 GetTextExtentPoint32A +#define GetTextFace GetTextFaceA +#define GetTextMetrics GetTextMetricsA +#define PolyTextOut PolyTextOutA +#define RemoveFontResource RemoveFontResourceA +#define ResetDC ResetDCA +#define SetICMProfile SetICMProfileA +#define StartDoc StartDocA +#define TextOut TextOutA +#define UpdateICMRegKey UpdateICMRegKeyA +#define wglUseFontBitmaps wglUseFontBitmapsA +#define wglUseFontOutlines wglUseFontOutlinesA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/winnetwk.h b/win32/include/winapi/winnetwk.h index fd25ba3..662fba9 100644 --- a/win32/include/winapi/winnetwk.h +++ b/win32/include/winapi/winnetwk.h @@ -1,346 +1,346 @@ -#ifndef _WINNETWK_H
-#define _WINNETWK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WNNC_NET_MSNET 0x00010000
-#define WNNC_NET_LANMAN 0x00020000
-#define WNNC_NET_NETWARE 0x00030000
-#define WNNC_NET_VINES 0x00040000
-#define WNNC_NET_10NET 0x00050000
-#define WNNC_NET_LOCUS 0x00060000
-#define WNNC_NET_SUN_PC_NFS 0x00070000
-#define WNNC_NET_LANSTEP 0x00080000
-#define WNNC_NET_9TILES 0x00090000
-#define WNNC_NET_LANTASTIC 0x000A0000
-#define WNNC_NET_AS400 0x000B0000
-#define WNNC_NET_FTP_NFS 0x000C0000
-#define WNNC_NET_PATHWORKS 0x000D0000
-#define WNNC_NET_LIFENET 0x000E0000
-#define WNNC_NET_POWERLAN 0x000F0000
-#define WNNC_NET_BWNFS 0x00100000
-#define WNNC_NET_COGENT 0x00110000
-#define WNNC_NET_FARALLON 0x00120000
-#define WNNC_NET_APPLETALK 0x00130000
-#define WNNC_NET_INTERGRAPH 0x00140000
-#define WNNC_NET_SYMFONET 0x00150000
-#define WNNC_NET_CLEARCASE 0x00160000
-#define WNNC_NET_FRONTIER 0x00170000
-#define WNNC_NET_BMC 0x00180000
-#define WNNC_NET_DCE 0x00190000
-#define WNNC_NET_AVID 0x001A0000
-#define WNNC_NET_DOCUSPACE 0x001B0000
-#define WNNC_NET_MANGOSOFT 0x001C0000
-#define WNNC_NET_SERNET 0x001D0000
-#define WNNC_NET_DECORB 0x00200000
-#define WNNC_NET_PROTSTOR 0x00210000
-#define WNNC_NET_FJ_REDIR 0x00220000
-#define WNNC_NET_DISTINCT 0x00230000
-#define WNNC_NET_TWINS 0x00240000
-#define WNNC_NET_RDR2SAMPLE 0x00250000
-#define WNNC_NET_CSC 0x00260000
-#define WNNC_NET_3IN1 0x00270000
-#define WNNC_NET_EXTENDNET 0x00290000
-#define WNNC_NET_OBJECT_DIRE 0x00300000
-#define WNNC_NET_MASFAX 0x00310000
-#define WNNC_NET_HOB_NFS 0x00320000
-#define WNNC_NET_SHIVA 0x00330000
-#define WNNC_NET_IBMAL 0x00340000
-#define WNNC_CRED_MANAGER 0xFFFF0000
-
-#define RESOURCE_CONNECTED 1
-#define RESOURCE_GLOBALNET 2
-#define RESOURCE_REMEMBERED 3
-#define RESOURCE_RECENT 4
-#define RESOURCE_CONTEXT 5
-#define RESOURCETYPE_ANY 0
-#define RESOURCETYPE_DISK 1
-#define RESOURCETYPE_PRINT 2
-#define RESOURCETYPE_RESERVED 8
-#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
-#define RESOURCEUSAGE_CONNECTABLE 0x00000001
-#define RESOURCEUSAGE_CONTAINER 0x00000002
-#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
-#define RESOURCEUSAGE_SIBLING 0x00000008
-#define RESOURCEUSAGE_ATTACHED 0x00000010
-#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
-#define RESOURCEUSAGE_RESERVED 0x80000000
-#define RESOURCEDISPLAYTYPE_GENERIC 0
-#define RESOURCEDISPLAYTYPE_DOMAIN 1
-#define RESOURCEDISPLAYTYPE_SERVER 2
-#define RESOURCEDISPLAYTYPE_SHARE 3
-#define RESOURCEDISPLAYTYPE_FILE 4
-#define RESOURCEDISPLAYTYPE_GROUP 5
-#define RESOURCEDISPLAYTYPE_NETWORK 6
-#define RESOURCEDISPLAYTYPE_ROOT 7
-#define RESOURCEDISPLAYTYPE_SHAREADMIN 8
-#define RESOURCEDISPLAYTYPE_DIRECTORY 9
-#define RESOURCEDISPLAYTYPE_TREE 10
-#define NETPROPERTY_PERSISTENT 1
-#define CONNECT_UPDATE_PROFILE 1
-#define CONNECT_UPDATE_RECENT 2
-#define CONNECT_TEMPORARY 4
-#define CONNECT_INTERACTIVE 8
-#define CONNECT_PROMPT 16
-#define CONNECT_NEED_DRIVE 32
-#define CONNECT_REFCOUNT 64
-#define CONNECT_REDIRECT 128
-#define CONNECT_LOCALDRIVE 256
-#define CONNECT_CURRENT_MEDIA 512
-#define CONNDLG_RO_PATH 1
-#define CONNDLG_CONN_POINT 2
-#define CONNDLG_USE_MRU 4
-#define CONNDLG_HIDE_BOX 8
-#define CONNDLG_PERSIST 16
-#define CONNDLG_NOT_PERSIST 32
-#define DISC_UPDATE_PROFILE 1
-#define DISC_NO_FORCE 64
-#define WNFMT_MULTILINE 1
-#define WNFMT_ABBREVIATED 2
-#define WNFMT_INENUM 16
-#define WNFMT_CONNECTION 32
-#define WN_SUCCESS NO_ERROR
-#define WN_NO_ERROR NO_ERROR
-#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
-#define WN_CANCEL ERROR_CANCELLED
-#define WN_RETRY ERROR_RETRY
-#define WN_NET_ERROR ERROR_UNEXP_NET_ERR
-#define WN_MORE_DATA ERROR_MORE_DATA
-#define WN_BAD_POINTER ERROR_INVALID_ADDRESS
-#define WN_BAD_VALUE ERROR_INVALID_PARAMETER
-#define WN_BAD_USER ERROR_BAD_USERNAME
-#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
-#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
-#define WN_FUNCTION_BUSY ERROR_BUSY
-#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
-#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
-#define WN_NO_NETWORK ERROR_NO_NETWORK
-#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
-#define WN_BAD_LEVEL ERROR_INVALID_LEVEL
-#define WN_BAD_HANDLE ERROR_INVALID_HANDLE
-#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
-#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
-#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
-#define WN_OPEN_FILES ERROR_OPEN_FILES
-#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
-#define WN_BAD_NETNAME ERROR_BAD_NET_NAME
-#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
-#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
-#define WN_DEVICE_ERROR ERROR_GEN_FAILURE
-#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
-#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
-#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
-#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
-#define WN_BAD_PROFILE ERROR_BAD_PROFILE
-#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
-#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
-#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
-#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
-#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
-#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
-#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
-#define UNIVERSAL_NAME_INFO_LEVEL 1
-#define REMOTE_NAME_INFO_LEVEL 2
-#define NETINFO_DLL16 1
-#define NETINFO_DISKRED 4
-#define NETINFO_PRINTERRED 8
-#define RP_LOGON 1
-#define RP_INIFILE 2
-#define PP_DISPLAYERRORS 1
-#define WNCON_FORNETCARD 1
-#define WNCON_NOTROUTED 2
-#define WNCON_SLOWLINK 4
-#define WNCON_DYNAMIC 8
-
-#ifndef RC_INVOKED
-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 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 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 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 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 struct _NETINFOSTRUCT{
- DWORD cbStructure;
- DWORD dwProviderVersion;
- DWORD dwStatus;
- DWORD dwCharacteristics;
- DWORD dwHandle;
- WORD wNetType;
- DWORD dwPrinters;
- DWORD dwDrives;
-} NETINFOSTRUCT,*LPNETINFOSTRUCT;
-typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT);
-typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
-typedef struct _NETCONNECTINFOSTRUCT{
- DWORD cbStructure;
- DWORD dwFlags;
- DWORD dwSpeed;
- DWORD dwDelay;
- DWORD dwOptDataSize;
-} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
-
-DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
-DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL);
-DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL);
-DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
-DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
-DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID);
-DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
-DWORD APIENTRY WNetConnectionDialog(HWND,DWORD);
-DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD);
-DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
-DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
-DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
-DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
-DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
-DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
-DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetCloseEnum(HANDLE);
-DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPCSTR*);
-DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPCWSTR*);
-DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
-DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
-DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
-DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
-#ifdef UNICODE
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
-typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-#define WNetEnumResource WNetEnumResourceW
-#define WNetOpenEnum WNetOpenEnumW
-#define WNetGetResourceInformation WNetGetResourceInformationW
-#define WNetGetUniversalName WNetGetUniversalNameW
-#define WNetSetConnection WNetSetConnectionW
-#define WNetUseConnection WNetUseConnectionW
-#define WNetGetConnection WNetGetConnectionW
-#define WNetCancelConnection2 WNetCancelConnection2W
-#define WNetCancelConnection WNetCancelConnectionW
-#define WNetAddConnection3 WNetAddConnection3W
-#define WNetAddConnection2 WNetAddConnection2W
-#define WNetAddConnection WNetAddConnectionW
-#define WNetConnectionDialog1 WNetConnectionDialog1W
-#define WNetDisconnectDialog1 WNetDisconnectDialog1W
-#define WNetGetNetworkInformation WNetGetNetworkInformationW
-#define WNetGetProviderName WNetGetProviderNameW
-#define WNetGetUser WNetGetUserW
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
-#define WNetGetLastError WNetGetLastErrorW
-#else
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
-typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-#define WNetOpenEnum WNetOpenEnumA
-#define WNetEnumResource WNetEnumResourceA
-#define WNetGetResourceInformation WNetGetResourceInformationA
-#define WNetGetUniversalName WNetGetUniversalNameA
-#define WNetConnectionDialog1 WNetConnectionDialog1A
-#define WNetDisconnectDialog1 WNetDisconnectDialog1A
-#define WNetAddConnection2 WNetAddConnection2A
-#define WNetAddConnection3 WNetAddConnection3A
-#define WNetCancelConnection WNetCancelConnectionA
-#define WNetCancelConnection2 WNetCancelConnection2A
-#define WNetGetConnection WNetGetConnectionA
-#define WNetUseConnection WNetUseConnectionA
-#define WNetSetConnection WNetSetConnectionA
-#define WNetAddConnection WNetAddConnectionA
-#define WNetGetUser WNetGetUserA
-#define WNetGetProviderName WNetGetProviderNameA
-#define WNetGetNetworkInformation WNetGetNetworkInformationA
-#define WNetGetLastError WNetGetLastErrorA
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINNETWK_H +#define _WINNETWK_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define WNNC_NET_MSNET 0x00010000 +#define WNNC_NET_LANMAN 0x00020000 +#define WNNC_NET_NETWARE 0x00030000 +#define WNNC_NET_VINES 0x00040000 +#define WNNC_NET_10NET 0x00050000 +#define WNNC_NET_LOCUS 0x00060000 +#define WNNC_NET_SUN_PC_NFS 0x00070000 +#define WNNC_NET_LANSTEP 0x00080000 +#define WNNC_NET_9TILES 0x00090000 +#define WNNC_NET_LANTASTIC 0x000A0000 +#define WNNC_NET_AS400 0x000B0000 +#define WNNC_NET_FTP_NFS 0x000C0000 +#define WNNC_NET_PATHWORKS 0x000D0000 +#define WNNC_NET_LIFENET 0x000E0000 +#define WNNC_NET_POWERLAN 0x000F0000 +#define WNNC_NET_BWNFS 0x00100000 +#define WNNC_NET_COGENT 0x00110000 +#define WNNC_NET_FARALLON 0x00120000 +#define WNNC_NET_APPLETALK 0x00130000 +#define WNNC_NET_INTERGRAPH 0x00140000 +#define WNNC_NET_SYMFONET 0x00150000 +#define WNNC_NET_CLEARCASE 0x00160000 +#define WNNC_NET_FRONTIER 0x00170000 +#define WNNC_NET_BMC 0x00180000 +#define WNNC_NET_DCE 0x00190000 +#define WNNC_NET_AVID 0x001A0000 +#define WNNC_NET_DOCUSPACE 0x001B0000 +#define WNNC_NET_MANGOSOFT 0x001C0000 +#define WNNC_NET_SERNET 0x001D0000 +#define WNNC_NET_DECORB 0x00200000 +#define WNNC_NET_PROTSTOR 0x00210000 +#define WNNC_NET_FJ_REDIR 0x00220000 +#define WNNC_NET_DISTINCT 0x00230000 +#define WNNC_NET_TWINS 0x00240000 +#define WNNC_NET_RDR2SAMPLE 0x00250000 +#define WNNC_NET_CSC 0x00260000 +#define WNNC_NET_3IN1 0x00270000 +#define WNNC_NET_EXTENDNET 0x00290000 +#define WNNC_NET_OBJECT_DIRE 0x00300000 +#define WNNC_NET_MASFAX 0x00310000 +#define WNNC_NET_HOB_NFS 0x00320000 +#define WNNC_NET_SHIVA 0x00330000 +#define WNNC_NET_IBMAL 0x00340000 +#define WNNC_CRED_MANAGER 0xFFFF0000 + +#define RESOURCE_CONNECTED 1 +#define RESOURCE_GLOBALNET 2 +#define RESOURCE_REMEMBERED 3 +#define RESOURCE_RECENT 4 +#define RESOURCE_CONTEXT 5 +#define RESOURCETYPE_ANY 0 +#define RESOURCETYPE_DISK 1 +#define RESOURCETYPE_PRINT 2 +#define RESOURCETYPE_RESERVED 8 +#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF +#define RESOURCEUSAGE_CONNECTABLE 0x00000001 +#define RESOURCEUSAGE_CONTAINER 0x00000002 +#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004 +#define RESOURCEUSAGE_SIBLING 0x00000008 +#define RESOURCEUSAGE_ATTACHED 0x00000010 +#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED) +#define RESOURCEUSAGE_RESERVED 0x80000000 +#define RESOURCEDISPLAYTYPE_GENERIC 0 +#define RESOURCEDISPLAYTYPE_DOMAIN 1 +#define RESOURCEDISPLAYTYPE_SERVER 2 +#define RESOURCEDISPLAYTYPE_SHARE 3 +#define RESOURCEDISPLAYTYPE_FILE 4 +#define RESOURCEDISPLAYTYPE_GROUP 5 +#define RESOURCEDISPLAYTYPE_NETWORK 6 +#define RESOURCEDISPLAYTYPE_ROOT 7 +#define RESOURCEDISPLAYTYPE_SHAREADMIN 8 +#define RESOURCEDISPLAYTYPE_DIRECTORY 9 +#define RESOURCEDISPLAYTYPE_TREE 10 +#define NETPROPERTY_PERSISTENT 1 +#define CONNECT_UPDATE_PROFILE 1 +#define CONNECT_UPDATE_RECENT 2 +#define CONNECT_TEMPORARY 4 +#define CONNECT_INTERACTIVE 8 +#define CONNECT_PROMPT 16 +#define CONNECT_NEED_DRIVE 32 +#define CONNECT_REFCOUNT 64 +#define CONNECT_REDIRECT 128 +#define CONNECT_LOCALDRIVE 256 +#define CONNECT_CURRENT_MEDIA 512 +#define CONNDLG_RO_PATH 1 +#define CONNDLG_CONN_POINT 2 +#define CONNDLG_USE_MRU 4 +#define CONNDLG_HIDE_BOX 8 +#define CONNDLG_PERSIST 16 +#define CONNDLG_NOT_PERSIST 32 +#define DISC_UPDATE_PROFILE 1 +#define DISC_NO_FORCE 64 +#define WNFMT_MULTILINE 1 +#define WNFMT_ABBREVIATED 2 +#define WNFMT_INENUM 16 +#define WNFMT_CONNECTION 32 +#define WN_SUCCESS NO_ERROR +#define WN_NO_ERROR NO_ERROR +#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED +#define WN_CANCEL ERROR_CANCELLED +#define WN_RETRY ERROR_RETRY +#define WN_NET_ERROR ERROR_UNEXP_NET_ERR +#define WN_MORE_DATA ERROR_MORE_DATA +#define WN_BAD_POINTER ERROR_INVALID_ADDRESS +#define WN_BAD_VALUE ERROR_INVALID_PARAMETER +#define WN_BAD_USER ERROR_BAD_USERNAME +#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD +#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED +#define WN_FUNCTION_BUSY ERROR_BUSY +#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR +#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY +#define WN_NO_NETWORK ERROR_NO_NETWORK +#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR +#define WN_BAD_LEVEL ERROR_INVALID_LEVEL +#define WN_BAD_HANDLE ERROR_INVALID_HANDLE +#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED +#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES +#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED +#define WN_OPEN_FILES ERROR_OPEN_FILES +#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE +#define WN_BAD_NETNAME ERROR_BAD_NET_NAME +#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE +#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED +#define WN_DEVICE_ERROR ERROR_GEN_FAILURE +#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL +#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH +#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER +#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE +#define WN_BAD_PROFILE ERROR_BAD_PROFILE +#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE +#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED +#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS +#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER +#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED +#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON +#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS +#define UNIVERSAL_NAME_INFO_LEVEL 1 +#define REMOTE_NAME_INFO_LEVEL 2 +#define NETINFO_DLL16 1 +#define NETINFO_DISKRED 4 +#define NETINFO_PRINTERRED 8 +#define RP_LOGON 1 +#define RP_INIFILE 2 +#define PP_DISPLAYERRORS 1 +#define WNCON_FORNETCARD 1 +#define WNCON_NOTROUTED 2 +#define WNCON_SLOWLINK 4 +#define WNCON_DYNAMIC 8 + +#ifndef RC_INVOKED +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 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 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 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 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 struct _NETINFOSTRUCT{ + DWORD cbStructure; + DWORD dwProviderVersion; + DWORD dwStatus; + DWORD dwCharacteristics; + DWORD dwHandle; + WORD wNetType; + DWORD dwPrinters; + DWORD dwDrives; +} NETINFOSTRUCT,*LPNETINFOSTRUCT; +typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT); +typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT); +typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD); +typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD); +typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD); +typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD); +typedef struct _NETCONNECTINFOSTRUCT{ + DWORD cbStructure; + DWORD dwFlags; + DWORD dwSpeed; + DWORD dwDelay; + DWORD dwOptDataSize; +} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT; + +DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR); +DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR); +DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD); +DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD); +DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD); +DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD); +DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL); +DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL); +DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL); +DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL); +DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD); +DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD); +DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD); +DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD); +DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID); +DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID); +DWORD APIENTRY WNetConnectionDialog(HWND,DWORD); +DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD); +DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA); +DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW); +DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA); +DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW); +DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE); +DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE); +DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD); +DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD); +DWORD APIENTRY WNetCloseEnum(HANDLE); +DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD); +DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD); +DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD); +DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD); +DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD); +DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD); +DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT); +DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT); +DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPCSTR*); +DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPCWSTR*); +DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD); +DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD); +DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT); +DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT); +#ifdef UNICODE +#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW +#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW +#define PFNGETPROFILEPATH PFNGETPROFILEPATHW +typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE; +typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT; +typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT; +typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO; +typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO; +#define WNetEnumResource WNetEnumResourceW +#define WNetOpenEnum WNetOpenEnumW +#define WNetGetResourceInformation WNetGetResourceInformationW +#define WNetGetUniversalName WNetGetUniversalNameW +#define WNetSetConnection WNetSetConnectionW +#define WNetUseConnection WNetUseConnectionW +#define WNetGetConnection WNetGetConnectionW +#define WNetCancelConnection2 WNetCancelConnection2W +#define WNetCancelConnection WNetCancelConnectionW +#define WNetAddConnection3 WNetAddConnection3W +#define WNetAddConnection2 WNetAddConnection2W +#define WNetAddConnection WNetAddConnectionW +#define WNetConnectionDialog1 WNetConnectionDialog1W +#define WNetDisconnectDialog1 WNetDisconnectDialog1W +#define WNetGetNetworkInformation WNetGetNetworkInformationW +#define WNetGetProviderName WNetGetProviderNameW +#define WNetGetUser WNetGetUserW +#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW +#define WNetGetLastError WNetGetLastErrorW +#else +#define PFNGETPROFILEPATH PFNGETPROFILEPATHA +#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA +#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA +typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE; +typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT; +typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT; +typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO; +typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO; +#define WNetOpenEnum WNetOpenEnumA +#define WNetEnumResource WNetEnumResourceA +#define WNetGetResourceInformation WNetGetResourceInformationA +#define WNetGetUniversalName WNetGetUniversalNameA +#define WNetConnectionDialog1 WNetConnectionDialog1A +#define WNetDisconnectDialog1 WNetDisconnectDialog1A +#define WNetAddConnection2 WNetAddConnection2A +#define WNetAddConnection3 WNetAddConnection3A +#define WNetCancelConnection WNetCancelConnectionA +#define WNetCancelConnection2 WNetCancelConnection2A +#define WNetGetConnection WNetGetConnectionA +#define WNetUseConnection WNetUseConnectionA +#define WNetSetConnection WNetSetConnectionA +#define WNetAddConnection WNetAddConnectionA +#define WNetGetUser WNetGetUserA +#define WNetGetProviderName WNetGetProviderNameA +#define WNetGetNetworkInformation WNetGetNetworkInformationA +#define WNetGetLastError WNetGetLastErrorA +#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/winnls.h b/win32/include/winapi/winnls.h index e82fceb..3933812 100644 --- a/win32/include/winapi/winnls.h +++ b/win32/include/winapi/winnls.h @@ -1,651 +1,651 @@ -#ifndef _WINNLS_H
-#define _WINNLS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAX_LEADBYTES 12
-#define MAX_DEFAULTCHAR 2
-#define LOCALE_NOUSEROVERRIDE 0x80000000
-#define LOCALE_USE_CP_ACP 0x40000000
-#define LOCALE_ILANGUAGE 1
-#define LOCALE_SLANGUAGE 2
-#define LOCALE_SENGLANGUAGE 0x1001
-#define LOCALE_SABBREVLANGNAME 3
-#define LOCALE_SNATIVELANGNAME 4
-#define LOCALE_ICOUNTRY 5
-#define LOCALE_SCOUNTRY 6
-#define LOCALE_SENGCOUNTRY 0x1002
-#define LOCALE_SABBREVCTRYNAME 7
-#define LOCALE_SNATIVECTRYNAME 8
-#define LOCALE_IDEFAULTLANGUAGE 9
-#define LOCALE_IDEFAULTCOUNTRY 10
-#define LOCALE_IDEFAULTCODEPAGE 11
-#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
-#define LOCALE_SLIST 12
-#define LOCALE_IMEASURE 13
-#define LOCALE_SDECIMAL 14
-#define LOCALE_STHOUSAND 15
-#define LOCALE_SGROUPING 16
-#define LOCALE_IDIGITS 17
-#define LOCALE_ILZERO 18
-#define LOCALE_INEGNUMBER 0x1010
-#define LOCALE_SNATIVEDIGITS 19
-#define LOCALE_SCURRENCY 20
-#define LOCALE_SINTLSYMBOL 21
-#define LOCALE_SMONDECIMALSEP 22
-#define LOCALE_SMONTHOUSANDSEP 23
-#define LOCALE_SMONGROUPING 24
-#define LOCALE_ICURRDIGITS 25
-#define LOCALE_IINTLCURRDIGITS 26
-#define LOCALE_ICURRENCY 27
-#define LOCALE_INEGCURR 28
-#define LOCALE_SDATE 29
-#define LOCALE_STIME 30
-#define LOCALE_SSHORTDATE 31
-#define LOCALE_SLONGDATE 32
-#define LOCALE_STIMEFORMAT 0x1003
-#define LOCALE_IDATE 33
-#define LOCALE_ILDATE 34
-#define LOCALE_ITIME 35
-#define LOCALE_ITIMEMARKPOSN 0x1005
-#define LOCALE_ICENTURY 36
-#define LOCALE_ITLZERO 37
-#define LOCALE_IDAYLZERO 38
-#define LOCALE_IMONLZERO 39
-#define LOCALE_S1159 40
-#define LOCALE_S2359 41
-#define LOCALE_ICALENDARTYPE 0x1009
-#define LOCALE_IOPTIONALCALENDAR 0x100B
-#define LOCALE_IFIRSTDAYOFWEEK 0x100C
-#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
-#define LOCALE_SDAYNAME1 42
-#define LOCALE_SDAYNAME2 43
-#define LOCALE_SDAYNAME3 44
-#define LOCALE_SDAYNAME4 45
-#define LOCALE_SDAYNAME5 46
-#define LOCALE_SDAYNAME6 47
-#define LOCALE_SDAYNAME7 48
-#define LOCALE_SABBREVDAYNAME1 49
-#define LOCALE_SABBREVDAYNAME2 50
-#define LOCALE_SABBREVDAYNAME3 51
-#define LOCALE_SABBREVDAYNAME4 52
-#define LOCALE_SABBREVDAYNAME5 53
-#define LOCALE_SABBREVDAYNAME6 54
-#define LOCALE_SABBREVDAYNAME7 55
-#define LOCALE_SMONTHNAME1 56
-#define LOCALE_SMONTHNAME2 57
-#define LOCALE_SMONTHNAME3 58
-#define LOCALE_SMONTHNAME4 59
-#define LOCALE_SMONTHNAME5 60
-#define LOCALE_SMONTHNAME6 61
-#define LOCALE_SMONTHNAME7 62
-#define LOCALE_SMONTHNAME8 63
-#define LOCALE_SMONTHNAME9 64
-#define LOCALE_SMONTHNAME10 65
-#define LOCALE_SMONTHNAME11 66
-#define LOCALE_SMONTHNAME12 67
-#define LOCALE_SMONTHNAME13 0x100E
-#define LOCALE_SABBREVMONTHNAME1 68
-#define LOCALE_SABBREVMONTHNAME2 69
-#define LOCALE_SABBREVMONTHNAME3 70
-#define LOCALE_SABBREVMONTHNAME4 71
-#define LOCALE_SABBREVMONTHNAME5 72
-#define LOCALE_SABBREVMONTHNAME6 73
-#define LOCALE_SABBREVMONTHNAME7 74
-#define LOCALE_SABBREVMONTHNAME8 75
-#define LOCALE_SABBREVMONTHNAME9 76
-#define LOCALE_SABBREVMONTHNAME10 77
-#define LOCALE_SABBREVMONTHNAME11 78
-#define LOCALE_SABBREVMONTHNAME12 79
-#define LOCALE_SABBREVMONTHNAME13 0x100F
-#define LOCALE_SPOSITIVESIGN 80
-#define LOCALE_SNEGATIVESIGN 81
-#define LOCALE_IPOSSIGNPOSN 82
-#define LOCALE_INEGSIGNPOSN 83
-#define LOCALE_IPOSSYMPRECEDES 84
-#define LOCALE_IPOSSEPBYSPACE 85
-#define LOCALE_INEGSYMPRECEDES 86
-#define LOCALE_INEGSEPBYSPACE 87
-#define LOCALE_FONTSIGNATURE 88
-#define LOCALE_SISO639LANGNAME 89
-#define LOCALE_SISO3166CTRYNAME 90
-#define LOCALE_SYSTEM_DEFAULT 0x800
-#define LOCALE_USER_DEFAULT 0x400
-#define NORM_IGNORECASE 1
-#define NORM_IGNOREKANATYPE 65536
-#define NORM_IGNORENONSPACE 2
-#define NORM_IGNORESYMBOLS 4
-#define NORM_IGNOREWIDTH 131072
-#define SORT_STRINGSORT 4096
-#define LCMAP_LOWERCASE 0x00000100
-#define LCMAP_UPPERCASE 0x00000200
-#define LCMAP_SORTKEY 0x00000400
-#define LCMAP_BYTEREV 0x00000800
-#define LCMAP_HIRAGANA 0x00100000
-#define LCMAP_KATAKANA 0x00200000
-#define LCMAP_HALFWIDTH 0x00400000
-#define LCMAP_FULLWIDTH 0x00800000
-#define LCMAP_LINGUISTIC_CASING 0x01000000
-#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
-#define LCMAP_TRADITIONAL_CHINESE 0x04000000
-#define ENUM_ALL_CALENDARS (-1)
-#define DATE_SHORTDATE 1
-#define DATE_LONGDATE 2
-#define DATE_USE_ALT_CALENDAR 4
-#define CP_INSTALLED 1
-#define CP_SUPPORTED 2
-#define LCID_INSTALLED 1
-#define LCID_SUPPORTED 2
-#define LCID_ALTERNATE_SORTS 4
-#define MAP_FOLDCZONE 16
-#define MAP_FOLDDIGITS 128
-#define MAP_PRECOMPOSED 32
-#define MAP_COMPOSITE 64
-#define CP_ACP 0
-#define CP_OEMCP 1
-#define CP_MACCP 2
-#define CP_THREAD_ACP 3
-#define CP_SYMBOL 42
-#define CP_UTF7 65000
-#define CP_UTF8 65001
-#define CT_CTYPE1 1
-#define CT_CTYPE2 2
-#define CT_CTYPE3 4
-#define C1_UPPER 1
-#define C1_LOWER 2
-#define C1_DIGIT 4
-#define C1_SPACE 8
-#define C1_PUNCT 16
-#define C1_CNTRL 32
-#define C1_BLANK 64
-#define C1_XDIGIT 128
-#define C1_ALPHA 256
-#define C2_LEFTTORIGHT 1
-#define C2_RIGHTTOLEFT 2
-#define C2_EUROPENUMBER 3
-#define C2_EUROPESEPARATOR 4
-#define C2_EUROPETERMINATOR 5
-#define C2_ARABICNUMBER 6
-#define C2_COMMONSEPARATOR 7
-#define C2_BLOCKSEPARATOR 8
-#define C2_SEGMENTSEPARATOR 9
-#define C2_WHITESPACE 10
-#define C2_OTHERNEUTRAL 11
-#define C2_NOTAPPLICABLE 0
-#define C3_NONSPACING 1
-#define C3_DIACRITIC 2
-#define C3_VOWELMARK 4
-#define C3_SYMBOL 8
-#define C3_KATAKANA 16
-#define C3_HIRAGANA 32
-#define C3_HALFWIDTH 64
-#define C3_FULLWIDTH 128
-#define C3_IDEOGRAPH 256
-#define C3_KASHIDA 512
-#define C3_LEXICAL 1024
-#define C3_ALPHA 32768
-#define C3_NOTAPPLICABLE 0
-#define TIME_NOMINUTESORSECONDS 1
-#define TIME_NOSECONDS 2
-#define TIME_NOTIMEMARKER 4
-#define TIME_FORCE24HOURFORMAT 8
-#define MB_PRECOMPOSED 1
-#define MB_COMPOSITE 2
-#define MB_ERR_INVALID_CHARS 8
-#define MB_USEGLYPHCHARS 4
-#define WC_COMPOSITECHECK 512
-#define WC_DISCARDNS 16
-#define WC_SEPCHARS 32
-#define WC_DEFAULTCHAR 64
-#define CTRY_DEFAULT 0
-#define CTRY_ALBANIA 355
-#define CTRY_ALGERIA 213
-#define CTRY_ARGENTINA 54
-#define CTRY_ARMENIA 374
-#define CTRY_AUSTRALIA 61
-#define CTRY_AUSTRIA 43
-#define CTRY_AZERBAIJAN 994
-#define CTRY_BAHRAIN 973
-#define CTRY_BELARUS 375
-#define CTRY_BELGIUM 32
-#define CTRY_BELIZE 501
-#define CTRY_BOLIVIA 591
-#define CTRY_BRAZIL 55
-#define CTRY_BRUNEI_DARUSSALAM 673
-#define CTRY_BULGARIA 359
-#define CTRY_CANADA 2
-#define CTRY_CARIBBEAN 1
-#define CTRY_CHILE 56
-#define CTRY_COLOMBIA 57
-#define CTRY_COSTA_RICA 506
-#define CTRY_CROATIA 385
-#define CTRY_CZECH 420
-#define CTRY_DENMARK 45
-#define CTRY_DOMINICAN_REPUBLIC 1
-#define CTRY_ECUADOR 593
-#define CTRY_EGYPT 20
-#define CTRY_EL_SALVADOR 503
-#define CTRY_ESTONIA 372
-#define CTRY_FAEROE_ISLANDS 298
-#define CTRY_FINLAND 358
-#define CTRY_FRANCE 33
-#define CTRY_GEORGIA 995
-#define CTRY_GERMANY 49
-#define CTRY_GREECE 30
-#define CTRY_GUATEMALA 502
-#define CTRY_HONDURAS 504
-#define CTRY_HONG_KONG 852
-#define CTRY_HUNGARY 36
-#define CTRY_ICELAND 354
-#define CTRY_INDIA 91
-#define CTRY_INDONESIA 62
-#define CTRY_IRAN 981
-#define CTRY_IRAQ 964
-#define CTRY_IRELAND 353
-#define CTRY_ISRAEL 972
-#define CTRY_ITALY 39
-#define CTRY_JAMAICA 1
-#define CTRY_JAPAN 81
-#define CTRY_JORDAN 962
-#define CTRY_KAZAKSTAN 7
-#define CTRY_KENYA 254
-#define CTRY_KUWAIT 965
-#define CTRY_LATVIA 371
-#define CTRY_LEBANON 961
-#define CTRY_LIBYA 218
-#define CTRY_LIECHTENSTEIN 41
-#define CTRY_LITHUANIA 370
-#define CTRY_LUXEMBOURG 352
-#define CTRY_MACAU 853
-#define CTRY_MACEDONIA 389
-#define CTRY_MALAYSIA 60
-#define CTRY_MEXICO 52
-#define CTRY_MONACO 33
-#define CTRY_MOROCCO 212
-#define CTRY_NETHERLANDS 31
-#define CTRY_NEW_ZEALAND 64
-#define CTRY_NICARAGUA 505
-#define CTRY_NORWAY 47
-#define CTRY_OMAN 968
-#define CTRY_PAKISTAN 92
-#define CTRY_PANAMA 507
-#define CTRY_PARAGUAY 595
-#define CTRY_PERU 51
-#define CTRY_PHILIPPINES 63
-#define CTRY_POLAND 48
-#define CTRY_PORTUGAL 351
-#define CTRY_PRCHINA 86
-#define CTRY_PUERTO_RICO 1
-#define CTRY_QATAR 974
-#define CTRY_ROMANIA 40
-#define CTRY_RUSSIA 7
-#define CTRY_SAUDI_ARABIA 966
-#define CTRY_SERBIA 381
-#define CTRY_SINGAPORE 65
-#define CTRY_SLOVAK 421
-#define CTRY_SLOVENIA 386
-#define CTRY_SOUTH_AFRICA 27
-#define CTRY_SOUTH_KOREA 82
-#define CTRY_SPAIN 34
-#define CTRY_SWEDEN 46
-#define CTRY_SWITZERLAND 41
-#define CTRY_SYRIA 963
-#define CTRY_TAIWAN 886
-#define CTRY_TATARSTAN 7
-#define CTRY_THAILAND 66
-#define CTRY_TRINIDAD_Y_TOBAGO 1
-#define CTRY_TUNISIA 216
-#define CTRY_TURKEY 90
-#define CTRY_UAE 971
-#define CTRY_UKRAINE 380
-#define CTRY_UNITED_KINGDOM 44
-#define CTRY_UNITED_STATES 1
-#define CTRY_URUGUAY 598
-#define CTRY_UZBEKISTAN 7
-#define CTRY_VENEZUELA 58
-#define CTRY_VIET_NAM 84
-#define CTRY_YEMEN 967
-#define CTRY_ZIMBABWE 263
-#define CAL_ICALINTVALUE 1
-#define CAL_SCALNAME 2
-#define CAL_IYEAROFFSETRANGE 3
-#define CAL_SERASTRING 4
-#define CAL_SSHORTDATE 5
-#define CAL_SLONGDATE 6
-#define CAL_SDAYNAME1 7
-#define CAL_SDAYNAME2 8
-#define CAL_SDAYNAME3 9
-#define CAL_SDAYNAME4 10
-#define CAL_SDAYNAME5 11
-#define CAL_SDAYNAME6 12
-#define CAL_SDAYNAME7 13
-#define CAL_SABBREVDAYNAME1 14
-#define CAL_SABBREVDAYNAME2 15
-#define CAL_SABBREVDAYNAME3 16
-#define CAL_SABBREVDAYNAME4 17
-#define CAL_SABBREVDAYNAME5 18
-#define CAL_SABBREVDAYNAME6 19
-#define CAL_SABBREVDAYNAME7 20
-#define CAL_SMONTHNAME1 21
-#define CAL_SMONTHNAME2 22
-#define CAL_SMONTHNAME3 23
-#define CAL_SMONTHNAME4 24
-#define CAL_SMONTHNAME5 25
-#define CAL_SMONTHNAME6 26
-#define CAL_SMONTHNAME7 27
-#define CAL_SMONTHNAME8 28
-#define CAL_SMONTHNAME9 29
-#define CAL_SMONTHNAME10 30
-#define CAL_SMONTHNAME11 31
-#define CAL_SMONTHNAME12 32
-#define CAL_SMONTHNAME13 33
-#define CAL_SABBREVMONTHNAME1 34
-#define CAL_SABBREVMONTHNAME2 35
-#define CAL_SABBREVMONTHNAME3 36
-#define CAL_SABBREVMONTHNAME4 37
-#define CAL_SABBREVMONTHNAME5 38
-#define CAL_SABBREVMONTHNAME6 39
-#define CAL_SABBREVMONTHNAME7 40
-#define CAL_SABBREVMONTHNAME8 41
-#define CAL_SABBREVMONTHNAME9 42
-#define CAL_SABBREVMONTHNAME10 43
-#define CAL_SABBREVMONTHNAME11 44
-#define CAL_SABBREVMONTHNAME12 45
-#define CAL_SABBREVMONTHNAME13 46
-#define CAL_GREGORIAN 1
-#define CAL_GREGORIAN_US 2
-#define CAL_JAPAN 3
-#define CAL_TAIWAN 4
-#define CAL_KOREA 5
-#define CAL_HIJRI 6
-#define CAL_THAI 7
-#define CAL_HEBREW 8
-#define CAL_GREGORIAN_ME_FRENCH 9
-#define CAL_GREGORIAN_ARABIC 10
-#define CAL_GREGORIAN_XLIT_ENGLISH 11
-#define CAL_GREGORIAN_XLIT_FRENCH 12
-#define CSTR_LESS_THAN 1
-#define CSTR_EQUAL 2
-#define CSTR_GREATER_THAN 3
-#define LGRPID_INSTALLED 1
-#define LGRPID_SUPPORTED 2
-#define LGRPID_WESTERN_EUROPE 1
-#define LGRPID_CENTRAL_EUROPE 2
-#define LGRPID_BALTIC 3
-#define LGRPID_GREEK 4
-#define LGRPID_CYRILLIC 5
-#define LGRPID_TURKISH 6
-#define LGRPID_JAPANESE 7
-#define LGRPID_KOREAN 8
-#define LGRPID_TRADITIONAL_CHINESE 9
-#define LGRPID_SIMPLIFIED_CHINESE 10
-#define LGRPID_THAI 11
-#define LGRPID_HEBREW 12
-#define LGRPID_ARABIC 13
-#define LGRPID_VIETNAMESE 14
-#define LGRPID_INDIC 15
-#define LGRPID_GEORGIAN 16
-#define LGRPID_ARMENIAN 17
-
-#if(WINVER >= 0x0500)
-#define LOCALE_SYEARMONTH 0x1006
-#define LOCALE_SENGCURRNAME 0x1007
-#define LOCALE_SNATIVECURRNAME 0x1008
-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
-#define LOCALE_SSORTNAME 0x1013
-#define LOCALE_IDIGITSUBSTITUTION 0x1014
-#define LOCALE_IPAPERSIZE 0x100A
-#define DATE_YEARMONTH 8
-#define DATE_LTRREADING 16
-#define DATE_RTLREADING 32
-#define MAP_EXPAND_LIGATURES 0x2000
-#define WC_NO_BEST_FIT_CHARS 1024
-#define CAL_SYEARMONTH 47
-#define CAL_ITWODIGITYEARMAX 48
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#endif /* WINVER >= 0x0500 */
-#ifndef _BASETSD_H
-typedef long LONG_PTR;
-#endif
-
-#ifndef RC_INVOKED
-typedef DWORD LCTYPE;
-typedef DWORD CALTYPE;
-typedef DWORD CALID;
-typedef DWORD LGRPID;
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
-
-typedef struct _cpinfo {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
-} CPINFO,*LPCPINFO;
-typedef struct _cpinfoexA {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
- WCHAR UnicodeDefaultChar;
- UINT CodePage;
- CHAR CodePageName[MAX_PATH];
-} CPINFOEXA, *LPCPINFOEXA;
-typedef struct _cpinfoexW {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
- WCHAR UnicodeDefaultChar;
- UINT CodePage;
- WCHAR CodePageName[MAX_PATH];
-} CPINFOEXW, *LPCPINFOEXW;
-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 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;
-
-int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
-int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
-LCID WINAPI ConvertDefaultLocale(LCID);
-BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
-BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
-BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
-BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
-BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
-BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
-BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
-BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
-int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
-int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
-UINT WINAPI GetACP(void);
-BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
-BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
-BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
-int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
-int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
-int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
-int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
-int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-UINT WINAPI GetOEMCP(void);
-BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
-LANGID WINAPI GetSystemDefaultLangID(void);
-LCID WINAPI GetSystemDefaultLCID(void);
-LCID WINAPI GetThreadLocale(void);
-int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-LANGID WINAPI GetUserDefaultLangID(void);
-LCID WINAPI GetUserDefaultLCID(void);
-BOOL WINAPI IsDBCSLeadByte(BYTE);
-BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
-BOOL WINAPI IsValidCodePage(UINT);
-BOOL WINAPI IsValidLocale(LCID,DWORD);
-int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
-int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
-int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
-BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
-BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
-BOOL WINAPI SetThreadLocale(LCID);
-int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
-#if (WINVER >= 0x0500)
-BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
-BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
-BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
-BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
-BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
-BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
-BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
-BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
-LANGID WINAPI GetSystemDefaultUILanguage(void);
-LANGID WINAPI GetUserDefaultUILanguage(void);
-BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
-#endif /* (WINVER >= 0x0500) */
-
-#ifdef UNICODE
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-#define CompareString CompareStringW
-#define EnumCalendarInfo EnumCalendarInfoW
-#define EnumSystemCodePages EnumSystemCodePagesW
-#define EnumSystemLocales EnumSystemLocalesW
-#define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringW
-#define GetCPInfoEx GetCPInfoExW
-#define GetCurrencyFormat GetCurrencyFormatW
-#define GetDateFormat GetDateFormatW
-#define GetLocaleInfo GetLocaleInfoW
-#define GetNumberFormat GetNumberFormatW
-#define GetStringTypeEx GetStringTypeExW
-#define GetTimeFormat GetTimeFormatW
-#define LCMapString LCMapStringW
-#define SetLocaleInfo SetLocaleInfoW
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExW;
-#define EnumDateFormatsEx EnumDateFormatsExW;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
-#define EnumUILanguages EnumUILanguagesW;
-#endif /* (WINVER >= 0x0500) */
-#else
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
-typedef CPINFOEXA CPINFOEX;
-typedef LPCPINFOEXA LPCPINFOEX;
-typedef CURRENCYFMTA CURRENCYFMT;
-typedef LPCURRENCYFMTA LPCURRENCYFMT;
-typedef NUMBERFMTA NUMBERFMT;
-typedef LPNUMBERFMTA LPNUMBERFMT;
-#define CompareString CompareStringA
-#define EnumCalendarInfo EnumCalendarInfoA
-#define EnumSystemCodePages EnumSystemCodePagesA
-#define EnumSystemLocales EnumSystemLocalesA
-#define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringA
-#define GetCPInfoEx GetCPInfoExA
-#define GetCurrencyFormat GetCurrencyFormatA
-#define GetDateFormat GetDateFormatA
-#define GetLocaleInfo GetLocaleInfoA
-#define GetNumberFormat GetNumberFormatA
-#define GetStringTypeEx GetStringTypeExA
-#define GetTimeFormat GetTimeFormatA
-#define LCMapString LCMapStringA
-#define SetLocaleInfo SetLocaleInfoA
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExA;
-#define EnumDateFormatsEx EnumDateFormatsExA;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
-#define EnumUILanguages EnumUILanguagesA;
-#endif /* (WINVER >= 0x0500) */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINNLS_H +#define _WINNLS_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define MAX_LEADBYTES 12 +#define MAX_DEFAULTCHAR 2 +#define LOCALE_NOUSEROVERRIDE 0x80000000 +#define LOCALE_USE_CP_ACP 0x40000000 +#define LOCALE_ILANGUAGE 1 +#define LOCALE_SLANGUAGE 2 +#define LOCALE_SENGLANGUAGE 0x1001 +#define LOCALE_SABBREVLANGNAME 3 +#define LOCALE_SNATIVELANGNAME 4 +#define LOCALE_ICOUNTRY 5 +#define LOCALE_SCOUNTRY 6 +#define LOCALE_SENGCOUNTRY 0x1002 +#define LOCALE_SABBREVCTRYNAME 7 +#define LOCALE_SNATIVECTRYNAME 8 +#define LOCALE_IDEFAULTLANGUAGE 9 +#define LOCALE_IDEFAULTCOUNTRY 10 +#define LOCALE_IDEFAULTCODEPAGE 11 +#define LOCALE_IDEFAULTANSICODEPAGE 0x1004 +#define LOCALE_SLIST 12 +#define LOCALE_IMEASURE 13 +#define LOCALE_SDECIMAL 14 +#define LOCALE_STHOUSAND 15 +#define LOCALE_SGROUPING 16 +#define LOCALE_IDIGITS 17 +#define LOCALE_ILZERO 18 +#define LOCALE_INEGNUMBER 0x1010 +#define LOCALE_SNATIVEDIGITS 19 +#define LOCALE_SCURRENCY 20 +#define LOCALE_SINTLSYMBOL 21 +#define LOCALE_SMONDECIMALSEP 22 +#define LOCALE_SMONTHOUSANDSEP 23 +#define LOCALE_SMONGROUPING 24 +#define LOCALE_ICURRDIGITS 25 +#define LOCALE_IINTLCURRDIGITS 26 +#define LOCALE_ICURRENCY 27 +#define LOCALE_INEGCURR 28 +#define LOCALE_SDATE 29 +#define LOCALE_STIME 30 +#define LOCALE_SSHORTDATE 31 +#define LOCALE_SLONGDATE 32 +#define LOCALE_STIMEFORMAT 0x1003 +#define LOCALE_IDATE 33 +#define LOCALE_ILDATE 34 +#define LOCALE_ITIME 35 +#define LOCALE_ITIMEMARKPOSN 0x1005 +#define LOCALE_ICENTURY 36 +#define LOCALE_ITLZERO 37 +#define LOCALE_IDAYLZERO 38 +#define LOCALE_IMONLZERO 39 +#define LOCALE_S1159 40 +#define LOCALE_S2359 41 +#define LOCALE_ICALENDARTYPE 0x1009 +#define LOCALE_IOPTIONALCALENDAR 0x100B +#define LOCALE_IFIRSTDAYOFWEEK 0x100C +#define LOCALE_IFIRSTWEEKOFYEAR 0x100D +#define LOCALE_SDAYNAME1 42 +#define LOCALE_SDAYNAME2 43 +#define LOCALE_SDAYNAME3 44 +#define LOCALE_SDAYNAME4 45 +#define LOCALE_SDAYNAME5 46 +#define LOCALE_SDAYNAME6 47 +#define LOCALE_SDAYNAME7 48 +#define LOCALE_SABBREVDAYNAME1 49 +#define LOCALE_SABBREVDAYNAME2 50 +#define LOCALE_SABBREVDAYNAME3 51 +#define LOCALE_SABBREVDAYNAME4 52 +#define LOCALE_SABBREVDAYNAME5 53 +#define LOCALE_SABBREVDAYNAME6 54 +#define LOCALE_SABBREVDAYNAME7 55 +#define LOCALE_SMONTHNAME1 56 +#define LOCALE_SMONTHNAME2 57 +#define LOCALE_SMONTHNAME3 58 +#define LOCALE_SMONTHNAME4 59 +#define LOCALE_SMONTHNAME5 60 +#define LOCALE_SMONTHNAME6 61 +#define LOCALE_SMONTHNAME7 62 +#define LOCALE_SMONTHNAME8 63 +#define LOCALE_SMONTHNAME9 64 +#define LOCALE_SMONTHNAME10 65 +#define LOCALE_SMONTHNAME11 66 +#define LOCALE_SMONTHNAME12 67 +#define LOCALE_SMONTHNAME13 0x100E +#define LOCALE_SABBREVMONTHNAME1 68 +#define LOCALE_SABBREVMONTHNAME2 69 +#define LOCALE_SABBREVMONTHNAME3 70 +#define LOCALE_SABBREVMONTHNAME4 71 +#define LOCALE_SABBREVMONTHNAME5 72 +#define LOCALE_SABBREVMONTHNAME6 73 +#define LOCALE_SABBREVMONTHNAME7 74 +#define LOCALE_SABBREVMONTHNAME8 75 +#define LOCALE_SABBREVMONTHNAME9 76 +#define LOCALE_SABBREVMONTHNAME10 77 +#define LOCALE_SABBREVMONTHNAME11 78 +#define LOCALE_SABBREVMONTHNAME12 79 +#define LOCALE_SABBREVMONTHNAME13 0x100F +#define LOCALE_SPOSITIVESIGN 80 +#define LOCALE_SNEGATIVESIGN 81 +#define LOCALE_IPOSSIGNPOSN 82 +#define LOCALE_INEGSIGNPOSN 83 +#define LOCALE_IPOSSYMPRECEDES 84 +#define LOCALE_IPOSSEPBYSPACE 85 +#define LOCALE_INEGSYMPRECEDES 86 +#define LOCALE_INEGSEPBYSPACE 87 +#define LOCALE_FONTSIGNATURE 88 +#define LOCALE_SISO639LANGNAME 89 +#define LOCALE_SISO3166CTRYNAME 90 +#define LOCALE_SYSTEM_DEFAULT 0x800 +#define LOCALE_USER_DEFAULT 0x400 +#define NORM_IGNORECASE 1 +#define NORM_IGNOREKANATYPE 65536 +#define NORM_IGNORENONSPACE 2 +#define NORM_IGNORESYMBOLS 4 +#define NORM_IGNOREWIDTH 131072 +#define SORT_STRINGSORT 4096 +#define LCMAP_LOWERCASE 0x00000100 +#define LCMAP_UPPERCASE 0x00000200 +#define LCMAP_SORTKEY 0x00000400 +#define LCMAP_BYTEREV 0x00000800 +#define LCMAP_HIRAGANA 0x00100000 +#define LCMAP_KATAKANA 0x00200000 +#define LCMAP_HALFWIDTH 0x00400000 +#define LCMAP_FULLWIDTH 0x00800000 +#define LCMAP_LINGUISTIC_CASING 0x01000000 +#define LCMAP_SIMPLIFIED_CHINESE 0x02000000 +#define LCMAP_TRADITIONAL_CHINESE 0x04000000 +#define ENUM_ALL_CALENDARS (-1) +#define DATE_SHORTDATE 1 +#define DATE_LONGDATE 2 +#define DATE_USE_ALT_CALENDAR 4 +#define CP_INSTALLED 1 +#define CP_SUPPORTED 2 +#define LCID_INSTALLED 1 +#define LCID_SUPPORTED 2 +#define LCID_ALTERNATE_SORTS 4 +#define MAP_FOLDCZONE 16 +#define MAP_FOLDDIGITS 128 +#define MAP_PRECOMPOSED 32 +#define MAP_COMPOSITE 64 +#define CP_ACP 0 +#define CP_OEMCP 1 +#define CP_MACCP 2 +#define CP_THREAD_ACP 3 +#define CP_SYMBOL 42 +#define CP_UTF7 65000 +#define CP_UTF8 65001 +#define CT_CTYPE1 1 +#define CT_CTYPE2 2 +#define CT_CTYPE3 4 +#define C1_UPPER 1 +#define C1_LOWER 2 +#define C1_DIGIT 4 +#define C1_SPACE 8 +#define C1_PUNCT 16 +#define C1_CNTRL 32 +#define C1_BLANK 64 +#define C1_XDIGIT 128 +#define C1_ALPHA 256 +#define C2_LEFTTORIGHT 1 +#define C2_RIGHTTOLEFT 2 +#define C2_EUROPENUMBER 3 +#define C2_EUROPESEPARATOR 4 +#define C2_EUROPETERMINATOR 5 +#define C2_ARABICNUMBER 6 +#define C2_COMMONSEPARATOR 7 +#define C2_BLOCKSEPARATOR 8 +#define C2_SEGMENTSEPARATOR 9 +#define C2_WHITESPACE 10 +#define C2_OTHERNEUTRAL 11 +#define C2_NOTAPPLICABLE 0 +#define C3_NONSPACING 1 +#define C3_DIACRITIC 2 +#define C3_VOWELMARK 4 +#define C3_SYMBOL 8 +#define C3_KATAKANA 16 +#define C3_HIRAGANA 32 +#define C3_HALFWIDTH 64 +#define C3_FULLWIDTH 128 +#define C3_IDEOGRAPH 256 +#define C3_KASHIDA 512 +#define C3_LEXICAL 1024 +#define C3_ALPHA 32768 +#define C3_NOTAPPLICABLE 0 +#define TIME_NOMINUTESORSECONDS 1 +#define TIME_NOSECONDS 2 +#define TIME_NOTIMEMARKER 4 +#define TIME_FORCE24HOURFORMAT 8 +#define MB_PRECOMPOSED 1 +#define MB_COMPOSITE 2 +#define MB_ERR_INVALID_CHARS 8 +#define MB_USEGLYPHCHARS 4 +#define WC_COMPOSITECHECK 512 +#define WC_DISCARDNS 16 +#define WC_SEPCHARS 32 +#define WC_DEFAULTCHAR 64 +#define CTRY_DEFAULT 0 +#define CTRY_ALBANIA 355 +#define CTRY_ALGERIA 213 +#define CTRY_ARGENTINA 54 +#define CTRY_ARMENIA 374 +#define CTRY_AUSTRALIA 61 +#define CTRY_AUSTRIA 43 +#define CTRY_AZERBAIJAN 994 +#define CTRY_BAHRAIN 973 +#define CTRY_BELARUS 375 +#define CTRY_BELGIUM 32 +#define CTRY_BELIZE 501 +#define CTRY_BOLIVIA 591 +#define CTRY_BRAZIL 55 +#define CTRY_BRUNEI_DARUSSALAM 673 +#define CTRY_BULGARIA 359 +#define CTRY_CANADA 2 +#define CTRY_CARIBBEAN 1 +#define CTRY_CHILE 56 +#define CTRY_COLOMBIA 57 +#define CTRY_COSTA_RICA 506 +#define CTRY_CROATIA 385 +#define CTRY_CZECH 420 +#define CTRY_DENMARK 45 +#define CTRY_DOMINICAN_REPUBLIC 1 +#define CTRY_ECUADOR 593 +#define CTRY_EGYPT 20 +#define CTRY_EL_SALVADOR 503 +#define CTRY_ESTONIA 372 +#define CTRY_FAEROE_ISLANDS 298 +#define CTRY_FINLAND 358 +#define CTRY_FRANCE 33 +#define CTRY_GEORGIA 995 +#define CTRY_GERMANY 49 +#define CTRY_GREECE 30 +#define CTRY_GUATEMALA 502 +#define CTRY_HONDURAS 504 +#define CTRY_HONG_KONG 852 +#define CTRY_HUNGARY 36 +#define CTRY_ICELAND 354 +#define CTRY_INDIA 91 +#define CTRY_INDONESIA 62 +#define CTRY_IRAN 981 +#define CTRY_IRAQ 964 +#define CTRY_IRELAND 353 +#define CTRY_ISRAEL 972 +#define CTRY_ITALY 39 +#define CTRY_JAMAICA 1 +#define CTRY_JAPAN 81 +#define CTRY_JORDAN 962 +#define CTRY_KAZAKSTAN 7 +#define CTRY_KENYA 254 +#define CTRY_KUWAIT 965 +#define CTRY_LATVIA 371 +#define CTRY_LEBANON 961 +#define CTRY_LIBYA 218 +#define CTRY_LIECHTENSTEIN 41 +#define CTRY_LITHUANIA 370 +#define CTRY_LUXEMBOURG 352 +#define CTRY_MACAU 853 +#define CTRY_MACEDONIA 389 +#define CTRY_MALAYSIA 60 +#define CTRY_MEXICO 52 +#define CTRY_MONACO 33 +#define CTRY_MOROCCO 212 +#define CTRY_NETHERLANDS 31 +#define CTRY_NEW_ZEALAND 64 +#define CTRY_NICARAGUA 505 +#define CTRY_NORWAY 47 +#define CTRY_OMAN 968 +#define CTRY_PAKISTAN 92 +#define CTRY_PANAMA 507 +#define CTRY_PARAGUAY 595 +#define CTRY_PERU 51 +#define CTRY_PHILIPPINES 63 +#define CTRY_POLAND 48 +#define CTRY_PORTUGAL 351 +#define CTRY_PRCHINA 86 +#define CTRY_PUERTO_RICO 1 +#define CTRY_QATAR 974 +#define CTRY_ROMANIA 40 +#define CTRY_RUSSIA 7 +#define CTRY_SAUDI_ARABIA 966 +#define CTRY_SERBIA 381 +#define CTRY_SINGAPORE 65 +#define CTRY_SLOVAK 421 +#define CTRY_SLOVENIA 386 +#define CTRY_SOUTH_AFRICA 27 +#define CTRY_SOUTH_KOREA 82 +#define CTRY_SPAIN 34 +#define CTRY_SWEDEN 46 +#define CTRY_SWITZERLAND 41 +#define CTRY_SYRIA 963 +#define CTRY_TAIWAN 886 +#define CTRY_TATARSTAN 7 +#define CTRY_THAILAND 66 +#define CTRY_TRINIDAD_Y_TOBAGO 1 +#define CTRY_TUNISIA 216 +#define CTRY_TURKEY 90 +#define CTRY_UAE 971 +#define CTRY_UKRAINE 380 +#define CTRY_UNITED_KINGDOM 44 +#define CTRY_UNITED_STATES 1 +#define CTRY_URUGUAY 598 +#define CTRY_UZBEKISTAN 7 +#define CTRY_VENEZUELA 58 +#define CTRY_VIET_NAM 84 +#define CTRY_YEMEN 967 +#define CTRY_ZIMBABWE 263 +#define CAL_ICALINTVALUE 1 +#define CAL_SCALNAME 2 +#define CAL_IYEAROFFSETRANGE 3 +#define CAL_SERASTRING 4 +#define CAL_SSHORTDATE 5 +#define CAL_SLONGDATE 6 +#define CAL_SDAYNAME1 7 +#define CAL_SDAYNAME2 8 +#define CAL_SDAYNAME3 9 +#define CAL_SDAYNAME4 10 +#define CAL_SDAYNAME5 11 +#define CAL_SDAYNAME6 12 +#define CAL_SDAYNAME7 13 +#define CAL_SABBREVDAYNAME1 14 +#define CAL_SABBREVDAYNAME2 15 +#define CAL_SABBREVDAYNAME3 16 +#define CAL_SABBREVDAYNAME4 17 +#define CAL_SABBREVDAYNAME5 18 +#define CAL_SABBREVDAYNAME6 19 +#define CAL_SABBREVDAYNAME7 20 +#define CAL_SMONTHNAME1 21 +#define CAL_SMONTHNAME2 22 +#define CAL_SMONTHNAME3 23 +#define CAL_SMONTHNAME4 24 +#define CAL_SMONTHNAME5 25 +#define CAL_SMONTHNAME6 26 +#define CAL_SMONTHNAME7 27 +#define CAL_SMONTHNAME8 28 +#define CAL_SMONTHNAME9 29 +#define CAL_SMONTHNAME10 30 +#define CAL_SMONTHNAME11 31 +#define CAL_SMONTHNAME12 32 +#define CAL_SMONTHNAME13 33 +#define CAL_SABBREVMONTHNAME1 34 +#define CAL_SABBREVMONTHNAME2 35 +#define CAL_SABBREVMONTHNAME3 36 +#define CAL_SABBREVMONTHNAME4 37 +#define CAL_SABBREVMONTHNAME5 38 +#define CAL_SABBREVMONTHNAME6 39 +#define CAL_SABBREVMONTHNAME7 40 +#define CAL_SABBREVMONTHNAME8 41 +#define CAL_SABBREVMONTHNAME9 42 +#define CAL_SABBREVMONTHNAME10 43 +#define CAL_SABBREVMONTHNAME11 44 +#define CAL_SABBREVMONTHNAME12 45 +#define CAL_SABBREVMONTHNAME13 46 +#define CAL_GREGORIAN 1 +#define CAL_GREGORIAN_US 2 +#define CAL_JAPAN 3 +#define CAL_TAIWAN 4 +#define CAL_KOREA 5 +#define CAL_HIJRI 6 +#define CAL_THAI 7 +#define CAL_HEBREW 8 +#define CAL_GREGORIAN_ME_FRENCH 9 +#define CAL_GREGORIAN_ARABIC 10 +#define CAL_GREGORIAN_XLIT_ENGLISH 11 +#define CAL_GREGORIAN_XLIT_FRENCH 12 +#define CSTR_LESS_THAN 1 +#define CSTR_EQUAL 2 +#define CSTR_GREATER_THAN 3 +#define LGRPID_INSTALLED 1 +#define LGRPID_SUPPORTED 2 +#define LGRPID_WESTERN_EUROPE 1 +#define LGRPID_CENTRAL_EUROPE 2 +#define LGRPID_BALTIC 3 +#define LGRPID_GREEK 4 +#define LGRPID_CYRILLIC 5 +#define LGRPID_TURKISH 6 +#define LGRPID_JAPANESE 7 +#define LGRPID_KOREAN 8 +#define LGRPID_TRADITIONAL_CHINESE 9 +#define LGRPID_SIMPLIFIED_CHINESE 10 +#define LGRPID_THAI 11 +#define LGRPID_HEBREW 12 +#define LGRPID_ARABIC 13 +#define LGRPID_VIETNAMESE 14 +#define LGRPID_INDIC 15 +#define LGRPID_GEORGIAN 16 +#define LGRPID_ARMENIAN 17 + +#if(WINVER >= 0x0500) +#define LOCALE_SYEARMONTH 0x1006 +#define LOCALE_SENGCURRNAME 0x1007 +#define LOCALE_SNATIVECURRNAME 0x1008 +#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012 +#define LOCALE_SSORTNAME 0x1013 +#define LOCALE_IDIGITSUBSTITUTION 0x1014 +#define LOCALE_IPAPERSIZE 0x100A +#define DATE_YEARMONTH 8 +#define DATE_LTRREADING 16 +#define DATE_RTLREADING 32 +#define MAP_EXPAND_LIGATURES 0x2000 +#define WC_NO_BEST_FIT_CHARS 1024 +#define CAL_SYEARMONTH 47 +#define CAL_ITWODIGITYEARMAX 48 +#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE +#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER +#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP +#endif /* WINVER >= 0x0500 */ +#ifndef _BASETSD_H +typedef long LONG_PTR; +#endif + +#ifndef RC_INVOKED +typedef DWORD LCTYPE; +typedef DWORD CALTYPE; +typedef DWORD CALID; +typedef DWORD LGRPID; +typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID); +typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID); +typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR); +typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); +typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR); +typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR); +typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR); +typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); +typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR); +typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID); +typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID); +typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR); +typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR); + +typedef struct _cpinfo { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; +} CPINFO,*LPCPINFO; +typedef struct _cpinfoexA { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; + WCHAR UnicodeDefaultChar; + UINT CodePage; + CHAR CodePageName[MAX_PATH]; +} CPINFOEXA, *LPCPINFOEXA; +typedef struct _cpinfoexW { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; + WCHAR UnicodeDefaultChar; + UINT CodePage; + WCHAR CodePageName[MAX_PATH]; +} CPINFOEXW, *LPCPINFOEXW; +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 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; + +int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int); +int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int); +LCID WINAPI ConvertDefaultLocale(LCID); +BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE); +BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE); +BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD); +BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD); +BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD); +BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD); +int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int); +int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int); +UINT WINAPI GetACP(void); +BOOL WINAPI GetCPInfo(UINT,LPCPINFO); +BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA); +BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW); +int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int); +int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int); +int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); +int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); +int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int); +int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int); +int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int); +int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int); +UINT WINAPI GetOEMCP(void); +BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD); +BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD); +BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD); +BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD); +LANGID WINAPI GetSystemDefaultLangID(void); +LCID WINAPI GetSystemDefaultLCID(void); +LCID WINAPI GetThreadLocale(void); +int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int); +int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int); +LANGID WINAPI GetUserDefaultLangID(void); +LCID WINAPI GetUserDefaultLCID(void); +BOOL WINAPI IsDBCSLeadByte(BYTE); +BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE); +BOOL WINAPI IsValidCodePage(UINT); +BOOL WINAPI IsValidLocale(LCID,DWORD); +int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int); +int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int); +int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int); +BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR); +BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR); +BOOL WINAPI SetThreadLocale(LCID); +int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL); +#if (WINVER >= 0x0500) +BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE); +BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE); +BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD); +BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD); +BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR); +BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR); +BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR); +BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR); +BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR); +BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR); +LANGID WINAPI GetSystemDefaultUILanguage(void); +LANGID WINAPI GetUserDefaultUILanguage(void); +BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD); +#endif /* (WINVER >= 0x0500) */ + +#ifdef UNICODE +#define CALINFO_ENUMPROC CALINFO_ENUMPROCW +#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW +#define LOCALE_ENUMPROC LOCALE_ENUMPROCW +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW +#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW +#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW +#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW +#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW +typedef CPINFOEXW CPINFOEX; +typedef LPCPINFOEXW LPCPINFOEX; +typedef CURRENCYFMTW CURRENCYFMT; +typedef LPCURRENCYFMTW LPCURRENCYFMT; +typedef NUMBERFMTW NUMBERFMT; +typedef LPNUMBERFMTW LPNUMBERFMT; +#define CompareString CompareStringW +#define EnumCalendarInfo EnumCalendarInfoW +#define EnumSystemCodePages EnumSystemCodePagesW +#define EnumSystemLocales EnumSystemLocalesW +#define EnumTimeFormats EnumTimeFormatsW +#define FoldString FoldStringW +#define GetCPInfoEx GetCPInfoExW +#define GetCurrencyFormat GetCurrencyFormatW +#define GetDateFormat GetDateFormatW +#define GetLocaleInfo GetLocaleInfoW +#define GetNumberFormat GetNumberFormatW +#define GetStringTypeEx GetStringTypeExW +#define GetTimeFormat GetTimeFormatW +#define LCMapString LCMapStringW +#define SetLocaleInfo SetLocaleInfoW +#if (WINVER >= 0x0500) +#define EnumCalendarInfoEx EnumCalendarInfoExW; +#define EnumDateFormatsEx EnumDateFormatsExW; +#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW; +#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW; +#define EnumUILanguages EnumUILanguagesW; +#endif /* (WINVER >= 0x0500) */ +#else +#define CALINFO_ENUMPROC CALINFO_ENUMPROCA +#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA +#define LOCALE_ENUMPROC LOCALE_ENUMPROCA +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA +#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA +#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA +#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA +#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA +typedef CPINFOEXA CPINFOEX; +typedef LPCPINFOEXA LPCPINFOEX; +typedef CURRENCYFMTA CURRENCYFMT; +typedef LPCURRENCYFMTA LPCURRENCYFMT; +typedef NUMBERFMTA NUMBERFMT; +typedef LPNUMBERFMTA LPNUMBERFMT; +#define CompareString CompareStringA +#define EnumCalendarInfo EnumCalendarInfoA +#define EnumSystemCodePages EnumSystemCodePagesA +#define EnumSystemLocales EnumSystemLocalesA +#define EnumTimeFormats EnumTimeFormatsA +#define FoldString FoldStringA +#define GetCPInfoEx GetCPInfoExA +#define GetCurrencyFormat GetCurrencyFormatA +#define GetDateFormat GetDateFormatA +#define GetLocaleInfo GetLocaleInfoA +#define GetNumberFormat GetNumberFormatA +#define GetStringTypeEx GetStringTypeExA +#define GetTimeFormat GetTimeFormatA +#define LCMapString LCMapStringA +#define SetLocaleInfo SetLocaleInfoA +#if (WINVER >= 0x0500) +#define EnumCalendarInfoEx EnumCalendarInfoExA; +#define EnumDateFormatsEx EnumDateFormatsExA; +#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA; +#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA; +#define EnumUILanguages EnumUILanguagesA; +#endif /* (WINVER >= 0x0500) */ +#endif /* UNICODE */ +#endif /* RC_INVOKED */ +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/winnt.h b/win32/include/winapi/winnt.h index 5b7cc75..810d991 100644 --- a/win32/include/winapi/winnt.h +++ b/win32/include/winapi/winnt.h @@ -1,2667 +1,2667 @@ -#ifndef _WINNT_H
-#define _WINNT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with windows.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <winerror.h>
-
-#ifndef RC_INVOKED
-#include <string.h>
-
-/* FIXME: add more architectures. Is there a way to specify this in GCC? */
-#ifdef _X86_
-#define UNALIGNED
-#else
-#define UNALIGNED
-#endif
-
-#ifndef VOID
-#define VOID void
-#endif
-typedef char CHAR;
-typedef short SHORT;
-typedef long LONG;
-typedef CHAR CCHAR;
-typedef unsigned char UCHAR,*PUCHAR;
-typedef unsigned short USHORT,*PUSHORT;
-typedef unsigned long ULONG,*PULONG;
-typedef char *PSZ;
-
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED
-#ifndef _WCHAR_T_
-#define _WCHAR_T_
-#undef __need_wchar_t
-#ifndef __cplusplus
-typedef unsigned short wchar_t;
-#endif
-#endif
-#endif
-
-typedef wchar_t WCHAR;
-typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
-typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;
-typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;
-typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;
-#ifndef _TCHAR_DEFINED
-#define _TCHAR_DEFINED
-#ifdef UNICODE
-/*
- * NOTE: This tests UNICODE, which is different from the _UNICODE define
- * used to differentiate standard C runtime calls.
- */
-typedef WCHAR TCHAR;
-typedef WCHAR _TCHAR;
-#else
-typedef CHAR TCHAR;
-typedef CHAR _TCHAR;
-#endif
-#endif
-typedef TCHAR TBYTE,*PTCH,*PTBYTE;
-typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
-typedef const TCHAR *LPCTSTR;
-#ifdef UNICODE
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macro TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(q) L##q
-#else
-#define __TEXT(q) q
-#endif
-/*
- * UNICODE a constant string when UNICODE is defined, else returns the string
- * unmodified.
- * The corresponding macros _TEXT() and _T() for mapping _UNICODE strings
- * passed to C runtime functions are defined in mingw/tchar.h
- */
-#define TEXT(q) __TEXT(q)
-typedef SHORT *PSHORT;
-typedef LONG *PLONG;
-typedef void *HANDLE;
-typedef HANDLE *PHANDLE,*LPHANDLE;
-#ifdef STRICT
-#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n
-#else
-#define DECLARE_HANDLE(n) typedef HANDLE n
-#endif
-typedef DWORD LCID;
-typedef PDWORD PLCID;
-typedef WORD LANGID;
-#ifdef __GNUC__
-#define _HAVE_INT64
-#define _INTEGRAL_MAX_BITS 64
-#undef __int64
-#define __int64 long long
-#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 )
-#define _HAVE_INT64
-#endif /* __GNUC__/__WATCOMC */
-#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-typedef __int64 LONGLONG;
-typedef unsigned __int64 DWORDLONG;
-#else
-typedef double LONGLONG,DWORDLONG;
-#endif
-typedef LONGLONG *PLONGLONG;
-typedef DWORDLONG *PDWORDLONG;
-typedef DWORDLONG ULONGLONG,*PULONGLONG;
-typedef LONGLONG USN;
-#ifdef _HAVE_INT64
-#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b))
-#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b))
-#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b))
-#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b))
-#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b))
-#endif
-#define ANSI_NULL '\0'
-#define UNICODE_NULL L'\0'
-typedef BYTE BOOLEAN,*PBOOLEAN;
-#endif
-
-#define NTAPI __stdcall
-#include <basetsd.h>
-#define APPLICATION_ERROR_MASK 0x20000000
-#define ERROR_SEVERITY_SUCCESS 0x00000000
-#define ERROR_SEVERITY_INFORMATIONAL 0x40000000
-#define ERROR_SEVERITY_WARNING 0x80000000
-#define ERROR_SEVERITY_ERROR 0xC0000000
-#define COMPRESSION_FORMAT_NONE 0
-#define COMPRESSION_FORMAT_DEFAULT 1
-#define COMPRESSION_FORMAT_LZNT1 2
-#define COMPRESSION_ENGINE_STANDARD 0
-#define COMPRESSION_ENGINE_MAXIMUM 256
-#define ACCESS_ALLOWED_ACE_TYPE 0
-#define ACCESS_DENIED_ACE_TYPE 1
-#define ANYSIZE_ARRAY 1
-#define SYSTEM_AUDIT_ACE_TYPE 2
-#define SYSTEM_ALARM_ACE_TYPE 3
-#define OBJECT_INHERIT_ACE 1
-#define CONTAINER_INHERIT_ACE 2
-#define NO_PROPAGATE_INHERIT_ACE 4
-#define INHERIT_ONLY_ACE 8
-#define VALID_INHERIT_FLAGS 16
-#define SUCCESSFUL_ACCESS_ACE_FLAG 64
-#define FAILED_ACCESS_ACE_FLAG 128
-#define DELETE 0x00010000L
-#define READ_CONTROL 0x20000L
-#define WRITE_DAC 0x40000L
-#define WRITE_OWNER 0x80000L
-#define SYNCHRONIZE 0x100000L
-#define STANDARD_RIGHTS_REQUIRED 0xF0000
-#define STANDARD_RIGHTS_READ 0x20000
-#define STANDARD_RIGHTS_WRITE 0x20000
-#define STANDARD_RIGHTS_EXECUTE 0x20000
-#define STANDARD_RIGHTS_ALL 0x1F0000
-#define SPECIFIC_RIGHTS_ALL 0xFFFF
-#define ACCESS_SYSTEM_SECURITY 0x1000000
-#define MAXIMUM_ALLOWED 0x2000000
-#define GENERIC_READ 0x80000000
-#define GENERIC_WRITE 0x40000000
-#define GENERIC_EXECUTE 0x20000000
-#define GENERIC_ALL 0x10000000
-#define FILE_READ_DATA 1
-#define FILE_LIST_DIRECTORY 1
-#define FILE_WRITE_DATA 2
-#define FILE_ADD_FILE 2
-#define FILE_APPEND_DATA 4
-#define FILE_ADD_SUBDIRECTORY 4
-#define FILE_CREATE_PIPE_INSTANCE 4
-#define FILE_READ_EA 8
-#define FILE_READ_PROPERTIES 8
-#define FILE_WRITE_EA 16
-#define FILE_WRITE_PROPERTIES 16
-#define FILE_EXECUTE 32
-#define FILE_TRAVERSE 32
-#define FILE_DELETE_CHILD 64
-#define FILE_READ_ATTRIBUTES 128
-#define FILE_WRITE_ATTRIBUTES 256
-#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x1FF)
-#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE)
-#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE)
-#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE|FILE_READ_ATTRIBUTES|FILE_EXECUTE|SYNCHRONIZE)
-#define FILE_SHARE_READ 1
-#define FILE_SHARE_WRITE 2
-#define FILE_SHARE_DELETE 4
-#define FILE_ATTRIBUTE_READONLY 1
-#define FILE_ATTRIBUTE_HIDDEN 2
-#define FILE_ATTRIBUTE_SYSTEM 4
-#define FILE_ATTRIBUTE_DIRECTORY 16
-#define FILE_ATTRIBUTE_ARCHIVE 32
-#define FILE_ATTRIBUTE_DEVICE 64
-#define FILE_ATTRIBUTE_NORMAL 128
-#define FILE_ATTRIBUTE_TEMPORARY 256
-#define FILE_ATTRIBUTE_SPARSE_FILE 512
-#define FILE_ATTRIBUTE_REPARSE_POINT 1024
-#define FILE_ATTRIBUTE_COMPRESSED 2048
-#define FILE_ATTRIBUTE_OFFLINE 0x1000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x2000
-#define FILE_ATTRIBUTE_ENCRYPTED 0x4000
-#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
-#define FILE_NOTIFY_CHANGE_FILE_NAME 1
-#define FILE_NOTIFY_CHANGE_DIR_NAME 2
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES 4
-#define FILE_NOTIFY_CHANGE_SIZE 8
-#define FILE_NOTIFY_CHANGE_LAST_WRITE 16
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS 32
-#define FILE_NOTIFY_CHANGE_CREATION 64
-#define FILE_NOTIFY_CHANGE_SECURITY 256
-#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
-#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
-#define FILE_CASE_SENSITIVE_SEARCH 1
-#define FILE_CASE_PRESERVED_NAMES 2
-#define FILE_UNICODE_ON_DISK 4
-#define FILE_PERSISTENT_ACLS 8
-#define FILE_FILE_COMPRESSION 16
-#define FILE_VOLUME_QUOTAS 32
-#define FILE_SUPPORTS_SPARSE_FILES 64
-#define FILE_SUPPORTS_REPARSE_POINTS 128
-#define FILE_SUPPORTS_REMOTE_STORAGE 256
-#define FILE_VOLUME_IS_COMPRESSED 0x8000
-#define FILE_SUPPORTS_OBJECT_IDS 0x10000
-#define FILE_SUPPORTS_ENCRYPTION 0x20000
-#define FILE_NAMED_STREAMS 0x40000
-#define IO_COMPLETION_MODIFY_STATE 2
-#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3)
-#define DUPLICATE_CLOSE_SOURCE 1
-#define DUPLICATE_SAME_ACCESS 2
-#define PROCESS_TERMINATE 1
-#define PROCESS_CREATE_THREAD 2
-#define PROCESS_VM_OPERATION 8
-#define PROCESS_VM_READ 16
-#define PROCESS_VM_WRITE 32
-#define PROCESS_DUP_HANDLE 64
-#define PROCESS_CREATE_PROCESS 128
-#define PROCESS_SET_QUOTA 256
-#define PROCESS_SET_INFORMATION 512
-#define PROCESS_QUERY_INFORMATION 1024
-#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
-#define THREAD_TERMINATE 1
-#define THREAD_SUSPEND_RESUME 2
-#define THREAD_GET_CONTEXT 8
-#define THREAD_SET_CONTEXT 16
-#define THREAD_SET_INFORMATION 32
-#define THREAD_QUERY_INFORMATION 64
-#define THREAD_SET_THREAD_TOKEN 128
-#define THREAD_IMPERSONATE 256
-#define THREAD_DIRECT_IMPERSONATION 0x200
-#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF)
-#define EXCEPTION_NONCONTINUABLE 1
-#define EXCEPTION_MAXIMUM_PARAMETERS 15
-/*
- * To prevent gcc compiler warnings, bracket these defines when initialising
- * a SID_IDENTIFIER_AUTHORITY, eg.
- * SID_IDENTIFIER_AUTHORITY aNullSidAuthority = {SECURITY_NULL_SID_AUTHORITY};
- */
-#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
-#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
-#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
-#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
-#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
-#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
-#define SECURITY_NULL_RID 0
-#define SECURITY_WORLD_RID 0
-#define SECURITY_LOCAL_RID 0
-#define SECURITY_CREATOR_OWNER_RID 0
-#define SECURITY_CREATOR_GROUP_RID 1
-#define SECURITY_DIALUP_RID 1
-#define SECURITY_NETWORK_RID 2
-#define SECURITY_BATCH_RID 3
-#define SECURITY_INTERACTIVE_RID 4
-#define SECURITY_LOGON_IDS_RID 5
-#define SECURITY_SERVICE_RID 6
-#define SECURITY_LOCAL_SYSTEM_RID 18
-#define SECURITY_BUILTIN_DOMAIN_RID 32
-#define SECURITY_PRINCIPAL_SELF_RID 10
-#define SID_REVISION 1
-#define DOMAIN_USER_RID_ADMIN 0x1F4L
-#define DOMAIN_USER_RID_GUEST 0x1F5L
-#define DOMAIN_GROUP_RID_ADMINS 0x200L
-#define DOMAIN_GROUP_RID_USERS 0x201L
-#define DOMAIN_ALIAS_RID_ADMINS 0x220L
-#define DOMAIN_ALIAS_RID_USERS 0x221L
-#define DOMAIN_ALIAS_RID_GUESTS 0x222L
-#define DOMAIN_ALIAS_RID_POWER_USERS 0x223L
-#define DOMAIN_ALIAS_RID_ACCOUNT_OPS 0x224L
-#define DOMAIN_ALIAS_RID_SYSTEM_OPS 0x225L
-#define DOMAIN_ALIAS_RID_PRINT_OPS 0x226L
-#define DOMAIN_ALIAS_RID_BACKUP_OPS 0x227L
-#define DOMAIN_ALIAS_RID_REPLICATOR 0x228L
-#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
-#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
-#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
-#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
-#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
-#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
-#define SE_TCB_NAME TEXT("SeTcbPrivilege")
-#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
-#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
-#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
-#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
-#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
-#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
-#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
-#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
-#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
-#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
-#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
-#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
-#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
-#define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
-#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
-#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
-#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
-#define SE_GROUP_MANDATORY 1
-#define SE_GROUP_ENABLED_BY_DEFAULT 2
-#define SE_GROUP_ENABLED 4
-#define SE_GROUP_OWNER 8
-#define SE_GROUP_USE_FOR_DENY_ONLY 16
-#define SE_GROUP_LOGON_ID 3221225472U
-#define SE_GROUP_RESOURCE 536870912
-#define LANG_NEUTRAL 0x00
-#define LANG_ARABIC 0x01
-#define LANG_BULGARIAN 0x02
-#define LANG_CATALAN 0x03
-#define LANG_CHINESE 0x04
-#define LANG_CZECH 0x05
-#define LANG_DANISH 0x06
-#define LANG_GERMAN 0x07
-#define LANG_GREEK 0x08
-#define LANG_ENGLISH 0x09
-#define LANG_SPANISH 0x0a
-#define LANG_FINNISH 0x0b
-#define LANG_FRENCH 0x0c
-#define LANG_HEBREW 0x0d
-#define LANG_HUNGARIAN 0x0e
-#define LANG_ICELANDIC 0x0f
-#define LANG_ITALIAN 0x10
-#define LANG_JAPANESE 0x11
-#define LANG_KOREAN 0x12
-#define LANG_DUTCH 0x13
-#define LANG_NORWEGIAN 0x14
-#define LANG_POLISH 0x15
-#define LANG_PORTUGUESE 0x16
-#define LANG_ROMANIAN 0x18
-#define LANG_RUSSIAN 0x19
-#define LANG_CROATIAN 0x1a
-#define LANG_SERBIAN 0x1a
-#define LANG_SLOVAK 0x1b
-#define LANG_ALBANIAN 0x1c
-#define LANG_SWEDISH 0x1d
-#define LANG_THAI 0x1e
-#define LANG_TURKISH 0x1f
-#define LANG_URDU 0x20
-#define LANG_INDONESIAN 0x21
-#define LANG_UKRAINIAN 0x22
-#define LANG_BELARUSIAN 0x23
-#define LANG_SLOVENIAN 0x24
-#define LANG_ESTONIAN 0x25
-#define LANG_LATVIAN 0x26
-#define LANG_LITHUANIAN 0x27
-#define LANG_FARSI 0x29
-#define LANG_VIETNAMESE 0x2a
-#define LANG_ARMENIAN 0x2b
-#define LANG_AZERI 0x2c
-#define LANG_BASQUE 0x2d
-#define LANG_MACEDONIAN 0x2f
-#define LANG_AFRIKAANS 0x36
-#define LANG_GEORGIAN 0x37
-#define LANG_FAEROESE 0x38
-#define LANG_HINDI 0x39
-#define LANG_MALAY 0x3e
-#define LANG_KAZAK 0x3f
-#define LANG_SWAHILI 0x41
-#define LANG_UZBEK 0x43
-#define LANG_TATAR 0x44
-#define LANG_BENGALI 0x45
-#define LANG_PUNJABI 0x46
-#define LANG_GUJARATI 0x47
-#define LANG_ORIYA 0x48
-#define LANG_TAMIL 0x49
-#define LANG_TELUGU 0x4a
-#define LANG_KANNADA 0x4b
-#define LANG_MALAYALAM 0x4c
-#define LANG_ASSAMESE 0x4d
-#define LANG_MARATHI 0x4e
-#define LANG_SANSKRIT 0x4f
-#define LANG_KONKANI 0x57
-#define LANG_MANIPURI 0x58
-#define LANG_SINDHI 0x59
-#define LANG_KASHMIRI 0x60
-#define LANG_NEPALI 0x61
-#define SUBLANG_NEUTRAL 0x00
-#define SUBLANG_DEFAULT 0x01
-#define SUBLANG_SYS_DEFAULT 0x02
-#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
-#define SUBLANG_ARABIC_IRAQ 0x02
-#define SUBLANG_ARABIC_EGYPT 0x03
-#define SUBLANG_ARABIC_LIBYA 0x04
-#define SUBLANG_ARABIC_ALGERIA 0x05
-#define SUBLANG_ARABIC_MOROCCO 0x06
-#define SUBLANG_ARABIC_TUNISIA 0x07
-#define SUBLANG_ARABIC_OMAN 0x08
-#define SUBLANG_ARABIC_YEMEN 0x09
-#define SUBLANG_ARABIC_SYRIA 0x0a
-#define SUBLANG_ARABIC_JORDAN 0x0b
-#define SUBLANG_ARABIC_LEBANON 0x0c
-#define SUBLANG_ARABIC_KUWAIT 0x0d
-#define SUBLANG_ARABIC_UAE 0x0e
-#define SUBLANG_ARABIC_BAHRAIN 0x0f
-#define SUBLANG_ARABIC_QATAR 0x10
-#define SUBLANG_AZERI_CYRILLIC 0x01
-#define SUBLANG_AZERI_LATIN 0x02
-#define SUBLANG_CHINESE_TRADITIONAL 0x01
-#define SUBLANG_CHINESE_SIMPLIFIED 0x02
-#define SUBLANG_CHINESE_HONGKONG 0x03
-#define SUBLANG_CHINESE_SINGAPORE 0x04
-#define SUBLANG_CHINESE_MACAU 0x05
-#define SUBLANG_DUTCH 0x01
-#define SUBLANG_DUTCH_BELGIAN 0x02
-#define SUBLANG_ENGLISH_US 0x01
-#define SUBLANG_ENGLISH_UK 0x02
-#define SUBLANG_ENGLISH_AUS 0x03
-#define SUBLANG_ENGLISH_CAN 0x04
-#define SUBLANG_ENGLISH_NZ 0x05
-#define SUBLANG_ENGLISH_EIRE 0x06
-#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
-#define SUBLANG_ENGLISH_JAMAICA 0x08
-#define SUBLANG_ENGLISH_CARIBBEAN 0x09
-#define SUBLANG_ENGLISH_BELIZE 0x0a
-#define SUBLANG_ENGLISH_TRINIDAD 0x0b
-#define SUBLANG_ENGLISH_PHILIPPINES 0x0c
-#define SUBLANG_ENGLISH_ZIMBABWE 0x0d
-#define SUBLANG_FRENCH 0x01
-#define SUBLANG_FRENCH_BELGIAN 0x02
-#define SUBLANG_FRENCH_CANADIAN 0x03
-#define SUBLANG_FRENCH_SWISS 0x04
-#define SUBLANG_FRENCH_LUXEMBOURG 0x05
-#define SUBLANG_FRENCH_MONACO 0x06
-#define SUBLANG_GERMAN 0x01
-#define SUBLANG_GERMAN_SWISS 0x02
-#define SUBLANG_GERMAN_AUSTRIAN 0x03
-#define SUBLANG_GERMAN_LUXEMBOURG 0x04
-#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
-#define SUBLANG_ITALIAN 0x01
-#define SUBLANG_ITALIAN_SWISS 0x02
-#define SUBLANG_KASHMIRI_INDIA 0x02
-#define SUBLANG_KOREAN 0x01
-#define SUBLANG_LITHUANIAN 0x01
-#define SUBLANG_MALAY_MALAYSIA 0x01
-#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
-#define SUBLANG_NEPALI_INDIA 0x02
-#define SUBLANG_NORWEGIAN_BOKMAL 0x01
-#define SUBLANG_NORWEGIAN_NYNORSK 0x02
-#define SUBLANG_PORTUGUESE 0x01
-#define SUBLANG_PORTUGUESE_BRAZILIAN 0x02
-#define SUBLANG_SERBIAN_LATIN 0x02
-#define SUBLANG_SERBIAN_CYRILLIC 0x03
-#define SUBLANG_SPANISH 0x01
-#define SUBLANG_SPANISH_MEXICAN 0x02
-#define SUBLANG_SPANISH_MODERN 0x03
-#define SUBLANG_SPANISH_GUATEMALA 0x04
-#define SUBLANG_SPANISH_COSTA_RICA 0x05
-#define SUBLANG_SPANISH_PANAMA 0x06
-#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
-#define SUBLANG_SPANISH_VENEZUELA 0x08
-#define SUBLANG_SPANISH_COLOMBIA 0x09
-#define SUBLANG_SPANISH_PERU 0x0a
-#define SUBLANG_SPANISH_ARGENTINA 0x0b
-#define SUBLANG_SPANISH_ECUADOR 0x0c
-#define SUBLANG_SPANISH_CHILE 0x0d
-#define SUBLANG_SPANISH_URUGUAY 0x0e
-#define SUBLANG_SPANISH_PARAGUAY 0x0f
-#define SUBLANG_SPANISH_BOLIVIA 0x10
-#define SUBLANG_SPANISH_EL_SALVADOR 0x11
-#define SUBLANG_SPANISH_HONDURAS 0x12
-#define SUBLANG_SPANISH_NICARAGUA 0x13
-#define SUBLANG_SPANISH_PUERTO_RICO 0x14
-#define SUBLANG_SWEDISH 0x01
-#define SUBLANG_SWEDISH_FINLAND 0x02
-#define SUBLANG_URDU_PAKISTAN 0x01
-#define SUBLANG_URDU_INDIA 0x02
-#define SUBLANG_UZBEK_LATIN 0x01
-#define SUBLANG_UZBEK_CYRILLIC 0x02
-#define NLS_VALID_LOCALE_MASK 1048575
-#define SORT_DEFAULT 0
-#define SORT_JAPANESE_XJIS 0
-#define SORT_JAPANESE_UNICODE 1
-#define SORT_CHINESE_BIG5 0
-#define SORT_CHINESE_PRCP 0
-#define SORT_CHINESE_UNICODE 1
-#define SORT_CHINESE_PRC 2
-#define SORT_CHINESE_BOPOMOFO 3
-#define SORT_KOREAN_KSC 0
-#define SORT_KOREAN_UNICODE 1
-#define SORT_GERMAN_PHONE_BOOK 1
-#define SORT_HUNGARIAN_DEFAULT 0
-#define SORT_HUNGARIAN_TECHNICAL 1
-#define SORT_GEORGIAN_TRADITIONAL 0
-#define SORT_GEORGIAN_MODERN 1
-#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p))
-#define MAKELCID(l,s) ((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l)))))
-#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff)
-#define SORTIDFROMLCID(l) ((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16))
-#define SORTVERSIONFROMLCID(l) ((WORD)((((DWORD)(l))>>20)&0xf))
-#define SUBLANGID(l) ((WORD)(l)>>10)
-#define LANGIDFROMLCID(l) ((WORD)(l))
-#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)
-#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)
-#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)
-#define ACL_REVISION 2
-#define ACL_REVISION_DS 4
-#define ACL_REVISION1 1
-#define ACL_REVISION2 2
-#define ACL_REVISION3 3
-#define ACL_REVISION4 4
-#define MIN_ACL_REVISION 2
-#define MAX_ACL_REVISION 4
-#define MINCHAR 0x80
-#define MAXCHAR 0x7f
-#define MINSHORT 0x8000
-#define MAXSHORT 0x7fff
-#define MINLONG 0x80000000
-#define MAXLONG 0x7fffffff
-#define MAXBYTE 0xff
-#define MAXWORD 0xffff
-#define MAXDWORD 0xffffffff
-#define PROCESSOR_INTEL_386 386
-#define PROCESSOR_INTEL_486 486
-#define PROCESSOR_INTEL_PENTIUM 586
-#define PROCESSOR_MIPS_R4000 4000
-#define PROCESSOR_ALPHA_21064 21064
-#define PROCESSOR_ARCHITECTURE_INTEL 0
-#define PROCESSOR_ARCHITECTURE_MIPS 1
-#define PROCESSOR_ARCHITECTURE_ALPHA 2
-#define PROCESSOR_ARCHITECTURE_PPC 3
-#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
-#define PF_FLOATING_POINT_PRECISION_ERRATA 0
-#define PF_FLOATING_POINT_EMULATED 1
-#define PF_COMPARE_EXCHANGE_DOUBLE 2
-#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
-#define PF_PPC_MOVEMEM_64BIT_OK 4
-#define PF_ALPHA_BYTE_INSTRUCTIONS 5
-#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
-#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
-#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
-#define PF_PAE_ENABLED 9
-#define PAGE_READONLY 2
-#define PAGE_READWRITE 4
-#define PAGE_WRITECOPY 8
-#define FILE_ACTION_ADDED 1
-#define FILE_ACTION_REMOVED 2
-#define FILE_ACTION_MODIFIED 3
-#define FILE_ACTION_RENAMED_OLD_NAME 4
-#define FILE_ACTION_RENAMED_NEW_NAME 5
-#define HEAP_NO_SERIALIZE 1
-#define HEAP_GROWABLE 2
-#define HEAP_GENERATE_EXCEPTIONS 4
-#define HEAP_ZERO_MEMORY 8
-#define HEAP_REALLOC_IN_PLACE_ONLY 16
-#define HEAP_TAIL_CHECKING_ENABLED 32
-#define HEAP_FREE_CHECKING_ENABLED 64
-#define HEAP_DISABLE_COALESCE_ON_FREE 128
-#define HEAP_CREATE_ALIGN_16 0x0000
-#define HEAP_CREATE_ENABLE_TRACING 0x20000
-#define HEAP_MAXIMUM_TAG 0xFFF
-#define HEAP_PSEUDO_TAG_FLAG 0x8000
-#define HEAP_TAG_SHIFT 16
-#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16)))
-#define KEY_QUERY_VALUE 1
-#define KEY_SET_VALUE 2
-#define KEY_CREATE_SUB_KEY 4
-#define KEY_ENUMERATE_SUB_KEYS 8
-#define KEY_NOTIFY 16
-#define KEY_CREATE_LINK 32
-#define KEY_WRITE 0x20006
-#define KEY_EXECUTE 0x20019
-#define KEY_READ 0x20019
-#define KEY_ALL_ACCESS 0xf003f
-#define REG_WHOLE_HIVE_VOLATILE 1
-#define REG_REFRESH_HIVE 2
-#define REG_NO_LAZY_FLUSH 4
-#define REG_OPTION_RESERVED 0
-#define REG_OPTION_NON_VOLATILE 0
-#define REG_OPTION_VOLATILE 1
-#define REG_OPTION_CREATE_LINK 2
-#define REG_OPTION_BACKUP_RESTORE 4
-#define REG_OPTION_OPEN_LINK 8
-#define REG_LEGAL_OPTION 15
-#define OWNER_SECURITY_INFORMATION 1
-#define GROUP_SECURITY_INFORMATION 2
-#define DACL_SECURITY_INFORMATION 4
-#define SACL_SECURITY_INFORMATION 8
-#define MAXIMUM_PROCESSORS 32
-#define PAGE_EXECUTE 16
-#define PAGE_EXECUTE_READ 32
-#define PAGE_EXECUTE_READWRITE 64
-#define PAGE_GUARD 256
-#define PAGE_NOACCESS 1
-#define PAGE_NOCACHE 512
-#define MEM_COMMIT 0x1000
-#define MEM_RESERVE 0x2000
-#define MEM_DECOMMIT 0x4000
-#define MEM_RELEASE 0x8000
-#define MEM_FREE 0x10000
-#define MEM_PRIVATE 0x20000
-#define MEM_MAPPED 0x40000
-#define MEM_RESET 0x80000
-#define MEM_TOP_DOWN 0x100000
-#define MEM_WRITE_WATCH 0x200000 /* 98/Me */
-#define MEM_PHYSICAL 0x400000
-#define MEM_4MB_PAGES 0x80000000
-#define MEM_IMAGE 16777216
-#define SEC_FILE 0x800000
-#define SEC_IMAGE 0x1000000
-#define SEC_VLM 0x2000000
-#define SEC_RESERVE 0x4000000
-#define SEC_COMMIT 0x8000000
-#define SEC_NOCACHE 0x10000000
-#define PAGE_EXECUTE_WRITECOPY 128
-#define SECTION_EXTEND_SIZE 16
-#define SECTION_MAP_READ 4
-#define SECTION_MAP_WRITE 2
-#define SECTION_QUERY 1
-#define SECTION_ALL_ACCESS 0xf001f
-#define MESSAGE_RESOURCE_UNICODE 1
-#define RTL_CRITSECT_TYPE 0
-#define RTL_RESOURCE_TYPE 1
-#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))
-#define IMAGE_SIZEOF_FILE_HEADER 20
-#define IMAGE_FILE_RELOCS_STRIPPED 1
-#define IMAGE_FILE_EXECUTABLE_IMAGE 2
-#define IMAGE_FILE_LINE_NUMS_STRIPPED 4
-#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8
-#define IMAGE_FILE_BYTES_REVERSED_LO 128
-#define IMAGE_FILE_32BIT_MACHINE 256
-#define IMAGE_FILE_DEBUG_STRIPPED 512
-#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024
-#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048
-#define IMAGE_FILE_SYSTEM 4096
-#define IMAGE_FILE_DLL 8192
-#define IMAGE_FILE_UP_SYSTEM_ONLY 16384
-#define IMAGE_FILE_BYTES_REVERSED_HI 32768
-#define IMAGE_FILE_MACHINE_UNKNOWN 0
-#define IMAGE_FILE_MACHINE_I386 332
-#define IMAGE_FILE_MACHINE_R3000 354
-#define IMAGE_FILE_MACHINE_R4000 358
-#define IMAGE_FILE_MACHINE_R10000 360
-#define IMAGE_FILE_MACHINE_ALPHA 388
-#define IMAGE_FILE_MACHINE_POWERPC 496
-#define IMAGE_DOS_SIGNATURE 0x5A4D
-#define IMAGE_OS2_SIGNATURE 0x454E
-#define IMAGE_OS2_SIGNATURE_LE 0x454C
-#define IMAGE_VXD_SIGNATURE 0x454C
-#define IMAGE_NT_SIGNATURE 0x00004550
-#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b
-#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
-#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
-#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
-#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
-#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
-#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
-#define IMAGE_SIZEOF_SHORT_NAME 8
-#define IMAGE_SIZEOF_SECTION_HEADER 40
-#define IMAGE_SIZEOF_SYMBOL 18
-#define IMAGE_SIZEOF_AUX_SYMBOL 18
-#define IMAGE_SIZEOF_RELOCATION 10
-#define IMAGE_SIZEOF_BASE_RELOCATION 8
-#define IMAGE_SIZEOF_LINENUMBER 6
-#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
-#define SIZEOF_RFPO_DATA 16
-#define IMAGE_SUBSYSTEM_UNKNOWN 0
-#define IMAGE_SUBSYSTEM_NATIVE 1
-#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
-#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
-#define IMAGE_SUBSYSTEM_OS2_CUI 5
-#define IMAGE_SUBSYSTEM_POSIX_CUI 7
-#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
-#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
-#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
-#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
-#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
-#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
-#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
-#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
-#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
-#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
-#define IMAGE_DIRECTORY_ENTRY_TLS 9
-#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
-#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
-#define IMAGE_DIRECTORY_ENTRY_IAT 12
-#define IMAGE_SCN_TYPE_NO_PAD 8
-#define IMAGE_SCN_CNT_CODE 32
-#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
-#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
-#define IMAGE_SCN_LNK_OTHER 256
-#define IMAGE_SCN_LNK_INFO 512
-#define IMAGE_SCN_LNK_REMOVE 2048
-#define IMAGE_SCN_LNK_COMDAT 4096
-#define IMAGE_SCN_MEM_FARDATA 0x8000
-#define IMAGE_SCN_MEM_PURGEABLE 0x20000
-#define IMAGE_SCN_MEM_16BIT 0x20000
-#define IMAGE_SCN_MEM_LOCKED 0x40000
-#define IMAGE_SCN_MEM_PRELOAD 0x80000
-#define IMAGE_SCN_ALIGN_1BYTES 0x100000
-#define IMAGE_SCN_ALIGN_2BYTES 0x200000
-#define IMAGE_SCN_ALIGN_4BYTES 0x300000
-#define IMAGE_SCN_ALIGN_8BYTES 0x400000
-#define IMAGE_SCN_ALIGN_16BYTES 0x500000
-#define IMAGE_SCN_ALIGN_32BYTES 0x600000
-#define IMAGE_SCN_ALIGN_64BYTES 0x700000
-#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
-#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
-#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
-#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
-#define IMAGE_SCN_MEM_SHARED 0x10000000
-#define IMAGE_SCN_MEM_EXECUTE 0x20000000
-#define IMAGE_SCN_MEM_READ 0x40000000
-#define IMAGE_SCN_MEM_WRITE 0x80000000
-#define IMAGE_SYM_UNDEFINED 0
-#define IMAGE_SYM_ABSOLUTE (-1)
-#define IMAGE_SYM_DEBUG (-2)
-#define IMAGE_SYM_TYPE_NULL 0
-#define IMAGE_SYM_TYPE_VOID 1
-#define IMAGE_SYM_TYPE_CHAR 2
-#define IMAGE_SYM_TYPE_SHORT 3
-#define IMAGE_SYM_TYPE_INT 4
-#define IMAGE_SYM_TYPE_LONG 5
-#define IMAGE_SYM_TYPE_FLOAT 6
-#define IMAGE_SYM_TYPE_DOUBLE 7
-#define IMAGE_SYM_TYPE_STRUCT 8
-#define IMAGE_SYM_TYPE_UNION 9
-#define IMAGE_SYM_TYPE_ENUM 10
-#define IMAGE_SYM_TYPE_MOE 11
-#define IMAGE_SYM_TYPE_BYTE 12
-#define IMAGE_SYM_TYPE_WORD 13
-#define IMAGE_SYM_TYPE_UINT 14
-#define IMAGE_SYM_TYPE_DWORD 15
-#define IMAGE_SYM_TYPE_PCODE 32768
-#define IMAGE_SYM_DTYPE_NULL 0
-#define IMAGE_SYM_DTYPE_POINTER 1
-#define IMAGE_SYM_DTYPE_FUNCTION 2
-#define IMAGE_SYM_DTYPE_ARRAY 3
-#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
-#define IMAGE_SYM_CLASS_NULL 0
-#define IMAGE_SYM_CLASS_AUTOMATIC 1
-#define IMAGE_SYM_CLASS_EXTERNAL 2
-#define IMAGE_SYM_CLASS_STATIC 3
-#define IMAGE_SYM_CLASS_REGISTER 4
-#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
-#define IMAGE_SYM_CLASS_LABEL 6
-#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
-#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
-#define IMAGE_SYM_CLASS_ARGUMENT 9
-#define IMAGE_SYM_CLASS_STRUCT_TAG 10
-#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
-#define IMAGE_SYM_CLASS_UNION_TAG 12
-#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
-#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
-#define IMAGE_SYM_CLASS_ENUM_TAG 15
-#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
-#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
-#define IMAGE_SYM_CLASS_BIT_FIELD 18
-#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
-#define IMAGE_SYM_CLASS_BLOCK 100
-#define IMAGE_SYM_CLASS_FUNCTION 101
-#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
-#define IMAGE_SYM_CLASS_FILE 103
-#define IMAGE_SYM_CLASS_SECTION 104
-#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
-#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
-#define IMAGE_COMDAT_SELECT_ANY 2
-#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
-#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
-#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
-#define IMAGE_COMDAT_SELECT_LARGEST 6
-#define IMAGE_COMDAT_SELECT_NEWEST 7
-#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
-#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
-#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
-#define IMAGE_REL_I386_ABSOLUTE 0
-#define IMAGE_REL_I386_DIR16 1
-#define IMAGE_REL_I386_REL16 2
-#define IMAGE_REL_I386_DIR32 6
-#define IMAGE_REL_I386_DIR32NB 7
-#define IMAGE_REL_I386_SEG12 9
-#define IMAGE_REL_I386_SECTION 10
-#define IMAGE_REL_I386_SECREL 11
-#define IMAGE_REL_I386_REL32 20
-#define IMAGE_REL_MIPS_ABSOLUTE 0
-#define IMAGE_REL_MIPS_REFHALF 1
-#define IMAGE_REL_MIPS_REFWORD 2
-#define IMAGE_REL_MIPS_JMPADDR 3
-#define IMAGE_REL_MIPS_REFHI 4
-#define IMAGE_REL_MIPS_REFLO 5
-#define IMAGE_REL_MIPS_GPREL 6
-#define IMAGE_REL_MIPS_LITERAL 7
-#define IMAGE_REL_MIPS_SECTION 10
-#define IMAGE_REL_MIPS_SECREL 11
-#define IMAGE_REL_MIPS_SECRELLO 12
-#define IMAGE_REL_MIPS_SECRELHI 13
-#define IMAGE_REL_MIPS_REFWORDNB 34
-#define IMAGE_REL_MIPS_PAIR 35
-#define IMAGE_REL_ALPHA_ABSOLUTE 0
-#define IMAGE_REL_ALPHA_REFLONG 1
-#define IMAGE_REL_ALPHA_REFQUAD 2
-#define IMAGE_REL_ALPHA_GPREL32 3
-#define IMAGE_REL_ALPHA_LITERAL 4
-#define IMAGE_REL_ALPHA_LITUSE 5
-#define IMAGE_REL_ALPHA_GPDISP 6
-#define IMAGE_REL_ALPHA_BRADDR 7
-#define IMAGE_REL_ALPHA_HINT 8
-#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
-#define IMAGE_REL_ALPHA_REFHI 10
-#define IMAGE_REL_ALPHA_REFLO 11
-#define IMAGE_REL_ALPHA_PAIR 12
-#define IMAGE_REL_ALPHA_MATCH 13
-#define IMAGE_REL_ALPHA_SECTION 14
-#define IMAGE_REL_ALPHA_SECREL 15
-#define IMAGE_REL_ALPHA_REFLONGNB 16
-#define IMAGE_REL_ALPHA_SECRELLO 17
-#define IMAGE_REL_ALPHA_SECRELHI 18
-#define IMAGE_REL_PPC_ABSOLUTE 0
-#define IMAGE_REL_PPC_ADDR64 1
-#define IMAGE_REL_PPC_ADDR32 2
-#define IMAGE_REL_PPC_ADDR24 3
-#define IMAGE_REL_PPC_ADDR16 4
-#define IMAGE_REL_PPC_ADDR14 5
-#define IMAGE_REL_PPC_REL24 6
-#define IMAGE_REL_PPC_REL14 7
-#define IMAGE_REL_PPC_TOCREL16 8
-#define IMAGE_REL_PPC_TOCREL14 9
-#define IMAGE_REL_PPC_ADDR32NB 10
-#define IMAGE_REL_PPC_SECREL 11
-#define IMAGE_REL_PPC_SECTION 12
-#define IMAGE_REL_PPC_IFGLUE 13
-#define IMAGE_REL_PPC_IMGLUE 14
-#define IMAGE_REL_PPC_SECREL16 15
-#define IMAGE_REL_PPC_REFHI 16
-#define IMAGE_REL_PPC_REFLO 17
-#define IMAGE_REL_PPC_PAIR 18
-#define IMAGE_REL_PPC_TYPEMASK 255
-#define IMAGE_REL_PPC_NEG 256
-#define IMAGE_REL_PPC_BRTAKEN 512
-#define IMAGE_REL_PPC_BRNTAKEN 1024
-#define IMAGE_REL_PPC_TOCDEFN 2048
-#define IMAGE_REL_BASED_ABSOLUTE 0
-#define IMAGE_REL_BASED_HIGH 1
-#define IMAGE_REL_BASED_LOW 2
-#define IMAGE_REL_BASED_HIGHLOW 3
-#define IMAGE_REL_BASED_HIGHADJ 4
-#define IMAGE_REL_BASED_MIPS_JMPADDR 5
-#define IMAGE_ARCHIVE_START_SIZE 8
-#define IMAGE_ARCHIVE_START "!<arch>\n"
-#define IMAGE_ARCHIVE_END "`\n"
-#define IMAGE_ARCHIVE_PAD "\n"
-#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
-#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
-#define IMAGE_ORDINAL_FLAG 0x80000000
-#define IMAGE_SNAP_BY_ORDINAL(o) ((o&IMAGE_ORDINAL_FLAG)!=0)
-#define IMAGE_ORDINAL(o) (o&0xffff)
-#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
-#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
-#define IMAGE_DEBUG_TYPE_UNKNOWN 0
-#define IMAGE_DEBUG_TYPE_COFF 1
-#define IMAGE_DEBUG_TYPE_CODEVIEW 2
-#define IMAGE_DEBUG_TYPE_FPO 3
-#define IMAGE_DEBUG_TYPE_MISC 4
-#define IMAGE_DEBUG_TYPE_EXCEPTION 5
-#define IMAGE_DEBUG_TYPE_FIXUP 6
-#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
-#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
-#define FRAME_FPO 0
-#define FRAME_TRAP 1
-#define FRAME_TSS 2
-#define FRAME_NONFPO 3
-#define IMAGE_DEBUG_MISC_EXENAME 1
-#define N_BTMASK 0x000F
-#define N_TMASK 0x0030
-#define N_TMASK1 0x00C0
-#define N_TMASK2 0x00F0
-#define N_BTSHFT 4
-#define N_TSHIFT 2
-#define IS_TEXT_UNICODE_ASCII16 1
-#define IS_TEXT_UNICODE_REVERSE_ASCII16 16
-#define IS_TEXT_UNICODE_STATISTICS 2
-#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32
-#define IS_TEXT_UNICODE_CONTROLS 4
-#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64
-#define IS_TEXT_UNICODE_SIGNATURE 8
-#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128
-#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256
-#define IS_TEXT_UNICODE_ODD_LENGTH 512
-#define IS_TEXT_UNICODE_NULL_BYTES 4096
-#define IS_TEXT_UNICODE_UNICODE_MASK 15
-#define IS_TEXT_UNICODE_REVERSE_MASK 240
-#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840
-#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440
-#define SERVICE_KERNEL_DRIVER 1
-#define SERVICE_FILE_SYSTEM_DRIVER 2
-#define SERVICE_ADAPTER 4
-#define SERVICE_RECOGNIZER_DRIVER 8
-#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER)
-#define SERVICE_WIN32_OWN_PROCESS 16
-#define SERVICE_WIN32_SHARE_PROCESS 32
-#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS)
-#define SERVICE_INTERACTIVE_PROCESS 256
-#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS)
-#define SERVICE_BOOT_START 0
-#define SERVICE_SYSTEM_START 1
-#define SERVICE_AUTO_START 2
-#define SERVICE_DEMAND_START 3
-#define SERVICE_DISABLED 4
-#define SERVICE_ERROR_IGNORE 0
-#define SERVICE_ERROR_NORMAL 1
-#define SERVICE_ERROR_SEVERE 2
-#define SERVICE_ERROR_CRITICAL 3
-#define SE_OWNER_DEFAULTED 1
-#define SE_GROUP_DEFAULTED 2
-#define SE_DACL_PRESENT 4
-#define SE_DACL_DEFAULTED 8
-#define SE_SACL_PRESENT 16
-#define SE_SACL_DEFAULTED 32
-#define SE_DACL_AUTO_INHERIT_REQ 256
-#define SE_SACL_AUTO_INHERIT_REQ 512
-#define SE_DACL_AUTO_INHERITED 1024
-#define SE_SACL_AUTO_INHERITED 2048
-#define SE_DACL_PROTECTED 4096
-#define SE_SACL_PROTECTED 8192
-#define SE_SELF_RELATIVE 0x8000
-#define SECURITY_DESCRIPTOR_MIN_LENGTH 20
-#define SECURITY_DESCRIPTOR_REVISION 1
-#define SECURITY_DESCRIPTOR_REVISION1 1
-#define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1
-#define SE_PRIVILEGE_ENABLED 2
-#define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000
-#define PRIVILEGE_SET_ALL_NECESSARY 1
-#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation
-#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation
-#define SECURITY_DYNAMIC_TRACKING TRUE
-#define SECURITY_STATIC_TRACKING FALSE
-#define TOKEN_SOURCE_LENGTH 8
-#define TOKEN_ADJUST_DEFAULT 128
-#define TOKEN_ADJUST_GROUPS 64
-#define TOKEN_ADJUST_PRIVILEGES 32
-#define TOKEN_ALL_ACCESS 0xf00ff
-#define TOKEN_ASSIGN_PRIMARY 1
-#define TOKEN_DUPLICATE 2
-#define TOKEN_EXECUTE 0x20000
-#define TOKEN_IMPERSONATE 4
-#define TOKEN_QUERY 8
-#define TOKEN_QUERY_SOURCE 16
-#define TOKEN_READ 0x20008
-#define TOKEN_WRITE 0x200e0
-#define DLL_PROCESS_DETACH 0
-#define DLL_PROCESS_ATTACH 1
-#define DLL_THREAD_ATTACH 2
-#define DLL_THREAD_DETACH 3
-#define DBG_CONTINUE 0x10002
-#define DBG_TERMINATE_THREAD 0x40010003
-#define DBG_TERMINATE_PROCESS 0x40010004
-#define DBG_CONTROL_C 0x40010005
-#define DBG_CONTROL_BREAK 0x40010008
-#define DBG_EXCEPTION_NOT_HANDLED 0x80010001
-#define TAPE_ABSOLUTE_POSITION 0
-#define TAPE_LOGICAL_POSITION 1
-#define TAPE_PSEUDO_LOGICAL_POSITION 2
-#define TAPE_REWIND 0
-#define TAPE_ABSOLUTE_BLOCK 1
-#define TAPE_LOGICAL_BLOCK 2
-#define TAPE_PSEUDO_LOGICAL_BLOCK 3
-#define TAPE_SPACE_END_OF_DATA 4
-#define TAPE_SPACE_RELATIVE_BLOCKS 5
-#define TAPE_SPACE_FILEMARKS 6
-#define TAPE_SPACE_SEQUENTIAL_FMKS 7
-#define TAPE_SPACE_SETMARKS 8
-#define TAPE_SPACE_SEQUENTIAL_SMKS 9
-#define TAPE_DRIVE_FIXED 1
-#define TAPE_DRIVE_SELECT 2
-#define TAPE_DRIVE_INITIATOR 4
-#define TAPE_DRIVE_ERASE_SHORT 16
-#define TAPE_DRIVE_ERASE_LONG 32
-#define TAPE_DRIVE_ERASE_BOP_ONLY 64
-#define TAPE_DRIVE_ERASE_IMMEDIATE 128
-#define TAPE_DRIVE_TAPE_CAPACITY 256
-#define TAPE_DRIVE_TAPE_REMAINING 512
-#define TAPE_DRIVE_FIXED_BLOCK 1024
-#define TAPE_DRIVE_VARIABLE_BLOCK 2048
-#define TAPE_DRIVE_WRITE_PROTECT 4096
-#define TAPE_DRIVE_EOT_WZ_SIZE 8192
-#define TAPE_DRIVE_ECC 0x10000
-#define TAPE_DRIVE_COMPRESSION 0x20000
-#define TAPE_DRIVE_PADDING 0x40000
-#define TAPE_DRIVE_REPORT_SMKS 0x80000
-#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000
-#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000
-#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000
-#define TAPE_DRIVE_EJECT_MEDIA 0x1000000
-#define TAPE_DRIVE_CLEAN_REQUESTS 0x2000000
-#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x4000000
-#define TAPE_DRIVE_RESERVED_BIT 0x80000000
-#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001
-#define TAPE_DRIVE_TENSION 0x80000002
-#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004
-#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008
-#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010
-#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020
-#define TAPE_DRIVE_TENSION_IMMED 0x80000040
-#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080
-#define TAPE_DRIVE_SET_ECC 0x80000100
-#define TAPE_DRIVE_SET_COMPRESSION 0x80000200
-#define TAPE_DRIVE_SET_PADDING 0x80000400
-#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800
-#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000
-#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000
-#define TAPE_DRIVE_LOGICAL_BLK 0x80004000
-#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000
-#define TAPE_DRIVE_END_OF_DATA 0x80010000
-#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000
-#define TAPE_DRIVE_FILEMARKS 0x80040000
-#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000
-#define TAPE_DRIVE_SETMARKS 0x80100000
-#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000
-#define TAPE_DRIVE_REVERSE_POSITION 0x80400000
-#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000
-#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000
-#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000
-#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000
-#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000
-#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000
-#define TAPE_DRIVE_FORMAT 0xA0000000
-#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000
-#define TAPE_DRIVE_HIGH_FEATURES 0x80000000
-#define TAPE_FIXED_PARTITIONS 0
-#define TAPE_INITIATOR_PARTITIONS 2
-#define TAPE_SELECT_PARTITIONS 1
-#define TAPE_FILEMARKS 1
-#define TAPE_LONG_FILEMARKS 3
-#define TAPE_SETMARKS 0
-#define TAPE_SHORT_FILEMARKS 2
-#define TAPE_ERASE_LONG 1
-#define TAPE_ERASE_SHORT 0
-#define TAPE_LOAD 0
-#define TAPE_UNLOAD 1
-#define TAPE_TENSION 2
-#define TAPE_LOCK 3
-#define TAPE_UNLOCK 4
-#define TAPE_FORMAT 5
-#define VER_PLATFORM_WIN32s 0
-#define VER_PLATFORM_WIN32_WINDOWS 1
-#define VER_PLATFORM_WIN32_NT 2
-#define VER_NT_WORKSTATION 1
-#define VER_NT_DOMAIN_CONTROLLER 2
-#define VER_NT_SERVER 3
-#define VER_SUITE_SMALLBUSINESS 1
-#define VER_SUITE_ENTERPRISE 2
-#define VER_SUITE_BACKOFFICE 4
-#define VER_SUITE_TERMINAL 16
-#define VER_SUITE_SMALLBUSINESS_RESTRICTED 32
-#define VER_SUITE_DATACENTER 128
-#define VER_SUITE_PERSONAL 512
-#define BTYPE(x) ((x)&N_BTMASK)
-#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
-#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
-#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))
-#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)
-#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
-#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
-#define TLS_MINIMUM_AVAILABLE 64
-#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
-#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
-#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
-#define IO_REPARSE_TAG_RESERVED_ZERO 0
-#define IO_REPARSE_TAG_RESERVED_ONE 1
-#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
-#define IsReparseTagMicrosoft(x) ((x)&0x80000000)
-#define IsReparseTagHighLatency(x) ((x)&0x40000000)
-#define IsReparseTagNameSurrogate(x) ((x)&0x20000000)
-#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF
-#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
-#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO
-#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
-#ifndef RC_INVOKED
-typedef DWORD ACCESS_MASK, *PACCESS_MASK;
-#ifndef _GUID_DEFINED /* also defined in basetyps.h */
-#define _GUID_DEFINED
-typedef struct _GUID {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} GUID, *REFGUID, *LPGUID;
-#define SYSTEM_LUID { QuadPart:999 }
-#endif /* _GUID_DEFINED */
-typedef struct _GENERIC_MAPPING {
- ACCESS_MASK GenericRead;
- ACCESS_MASK GenericWrite;
- ACCESS_MASK GenericExecute;
- ACCESS_MASK GenericAll;
-} GENERIC_MAPPING, *PGENERIC_MAPPING;
-typedef struct _ACE_HEADER {
- BYTE AceType;
- BYTE AceFlags;
- WORD AceSize;
-} ACE_HEADER;
-typedef struct _ACCESS_ALLOWED_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} ACCESS_ALLOWED_ACE;
-typedef struct _ACCESS_DENIED_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} ACCESS_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,*PSYSTEM_ALARM_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 _ACL {
- BYTE AclRevision;
- BYTE Sbz1;
- WORD AclSize;
- WORD AceCount;
- WORD Sbz2;
-} ACL,*PACL;
-typedef struct _ACL_REVISION_INFORMATION {
- DWORD AclRevision;
-} ACL_REVISION_INFORMATION;
-typedef struct _ACL_SIZE_INFORMATION {
- DWORD AceCount;
- DWORD AclBytesInUse;
- DWORD AclBytesFree;
-} ACL_SIZE_INFORMATION;
-
-/* FIXME: add more machines */
-#ifdef _X86_
-#define SIZE_OF_80387_REGISTERS 80
-#define CONTEXT_i386 0x10000
-#define CONTEXT_i486 0x10000
-#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
-#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
-#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
-#define MAXIMUM_SUPPORTED_EXTENSION 512
-typedef struct _FLOATING_SAVE_AREA {
- DWORD ControlWord;
- DWORD StatusWord;
- DWORD TagWord;
- DWORD ErrorOffset;
- DWORD ErrorSelector;
- DWORD DataOffset;
- DWORD DataSelector;
- BYTE RegisterArea[80];
- DWORD Cr0NpxState;
-} FLOATING_SAVE_AREA;
-typedef struct _CONTEXT {
- DWORD ContextFlags;
- DWORD Dr0;
- DWORD Dr1;
- DWORD Dr2;
- DWORD Dr3;
- DWORD Dr6;
- DWORD Dr7;
- 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[MAXIMUM_SUPPORTED_EXTENSION];
-} CONTEXT;
-#elif defined(_PPC_)
-#define CONTEXT_CONTROL 1L
-#define CONTEXT_FLOATING_POINT 2L
-#define CONTEXT_INTEGER 4L
-#define CONTEXT_DEBUG_REGISTERS 8L
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-typedef struct {
- double Fpr0;
- double Fpr1;
- double Fpr2;
- double Fpr3;
- double Fpr4;
- double Fpr5;
- double Fpr6;
- double Fpr7;
- double Fpr8;
- double Fpr9;
- double Fpr10;
- double Fpr11;
- double Fpr12;
- double Fpr13;
- double Fpr14;
- double Fpr15;
- double Fpr16;
- double Fpr17;
- double Fpr18;
- double Fpr19;
- double Fpr20;
- double Fpr21;
- double Fpr22;
- double Fpr23;
- double Fpr24;
- double Fpr25;
- double Fpr26;
- double Fpr27;
- double Fpr28;
- double Fpr29;
- double Fpr30;
- double Fpr31;
- double Fpscr;
- DWORD Gpr0;
- DWORD Gpr1;
- DWORD Gpr2;
- DWORD Gpr3;
- DWORD Gpr4;
- DWORD Gpr5;
- DWORD Gpr6;
- DWORD Gpr7;
- DWORD Gpr8;
- DWORD Gpr9;
- DWORD Gpr10;
- DWORD Gpr11;
- DWORD Gpr12;
- DWORD Gpr13;
- DWORD Gpr14;
- DWORD Gpr15;
- DWORD Gpr16;
- DWORD Gpr17;
- DWORD Gpr18;
- DWORD Gpr19;
- DWORD Gpr20;
- DWORD Gpr21;
- DWORD Gpr22;
- DWORD Gpr23;
- DWORD Gpr24;
- DWORD Gpr25;
- DWORD Gpr26;
- DWORD Gpr27;
- DWORD Gpr28;
- DWORD Gpr29;
- DWORD Gpr30;
- DWORD Gpr31;
- DWORD Cr;
- DWORD Xer;
- DWORD Msr;
- DWORD Iar;
- DWORD Lr;
- DWORD Ctr;
- DWORD ContextFlags;
- DWORD Fill[3];
- DWORD Dr0;
- DWORD Dr1;
- DWORD Dr2;
- DWORD Dr3;
- DWORD Dr4;
- DWORD Dr5;
- DWORD Dr6;
- DWORD Dr7;
-} CONTEXT;
-#elif defined(_ALPHA_)
-#define CONTEXT_ALPHA 0x20000
-#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
-#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L)
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-typedef struct _CONTEXT {
- ULONGLONG FltF0;
- ULONGLONG FltF1;
- ULONGLONG FltF2;
- ULONGLONG FltF3;
- ULONGLONG FltF4;
- ULONGLONG FltF5;
- ULONGLONG FltF6;
- ULONGLONG FltF7;
- ULONGLONG FltF8;
- ULONGLONG FltF9;
- ULONGLONG FltF10;
- ULONGLONG FltF11;
- ULONGLONG FltF12;
- ULONGLONG FltF13;
- ULONGLONG FltF14;
- ULONGLONG FltF15;
- ULONGLONG FltF16;
- ULONGLONG FltF17;
- ULONGLONG FltF18;
- ULONGLONG FltF19;
- ULONGLONG FltF20;
- ULONGLONG FltF21;
- ULONGLONG FltF22;
- ULONGLONG FltF23;
- ULONGLONG FltF24;
- ULONGLONG FltF25;
- ULONGLONG FltF26;
- ULONGLONG FltF27;
- ULONGLONG FltF28;
- ULONGLONG FltF29;
- ULONGLONG FltF30;
- ULONGLONG FltF31;
- ULONGLONG IntV0;
- ULONGLONG IntT0;
- ULONGLONG IntT1;
- ULONGLONG IntT2;
- ULONGLONG IntT3;
- ULONGLONG IntT4;
- ULONGLONG IntT5;
- ULONGLONG IntT6;
- ULONGLONG IntT7;
- ULONGLONG IntS0;
- ULONGLONG IntS1;
- ULONGLONG IntS2;
- ULONGLONG IntS3;
- ULONGLONG IntS4;
- ULONGLONG IntS5;
- ULONGLONG IntFp;
- ULONGLONG IntA0;
- ULONGLONG IntA1;
- ULONGLONG IntA2;
- ULONGLONG IntA3;
- ULONGLONG IntA4;
- ULONGLONG IntA5;
- ULONGLONG IntT8;
- ULONGLONG IntT9;
- ULONGLONG IntT10;
- ULONGLONG IntT11;
- ULONGLONG IntRa;
- ULONGLONG IntT12;
- ULONGLONG IntAt;
- ULONGLONG IntGp;
- ULONGLONG IntSp;
- ULONGLONG IntZero;
- ULONGLONG Fpcr;
- ULONGLONG SoftFpcr;
- ULONGLONG Fir;
- DWORD Psr;
- DWORD ContextFlags;
- DWORD Fill[4];
-} CONTEXT;
-#elif defined(SHx)
-
-/* These are the debug or break registers on the SH3 */
-typedef struct _DEBUG_REGISTERS {
- ULONG BarA;
- UCHAR BasrA;
- UCHAR BamrA;
- USHORT BbrA;
- ULONG BarB;
- UCHAR BasrB;
- UCHAR BamrB;
- USHORT BbrB;
- ULONG BdrB;
- ULONG BdmrB;
- USHORT Brcr;
- USHORT Align;
-} DEBUG_REGISTERS, *PDEBUG_REGISTERS;
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_SH3 0x00000040
-#define CONTEXT_SH4 0x000000c0 /* CONTEXT_SH3 | 0x80 - must contain the SH3 bits */
-
-#ifdef SH3
-#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L)
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
-#else /* SH4 */
-#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L)
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT)
-#endif
-
-/* Context Frame */
-
-/* This frame is used to store a limited processor context into the */
-/* Thread structure for CPUs which have no floating point support. */
-
-typedef struct _CONTEXT {
- /* The flags values within this flag control the contents of */
- /* a CONTEXT record. */
-
- /* If the context record is used as an input parameter, then */
- /* for each portion of the context record controlled by a flag */
- /* whose value is set, it is assumed that that portion of the */
- /* context record contains valid context. If the context record */
- /* is being used to modify a thread's context, then only that */
- /* portion of the threads context will be modified. */
-
- /* If the context record is used as an IN OUT parameter to capture */
- /* the context of a thread, then only those portions of the thread's */
- /* context corresponding to set flags will be returned. */
-
- /* The context record is never used as an OUT only parameter. */
-
-
- ULONG ContextFlags;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_INTEGER. */
-
- /* N.B. The registers RA and R15 are defined in this section, but are */
- /* considered part of the control context rather than part of the integer */
- /* context. */
-
- ULONG PR;
- ULONG MACH;
- ULONG MACL;
- ULONG GBR;
- ULONG R0;
- ULONG R1;
- ULONG R2;
- ULONG R3;
- ULONG R4;
- ULONG R5;
- ULONG R6;
- ULONG R7;
- ULONG R8;
- ULONG R9;
- ULONG R10;
- ULONG R11;
- ULONG R12;
- ULONG R13;
- ULONG R14;
- ULONG R15;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_CONTROL. */
-
- /* N.B. The registers r15 and ra are defined in the integer section, */
- /* but are considered part of the control context rather than part of */
- /* the integer context. */
-
- ULONG Fir;
- ULONG Psr;
-
-#if !defined(SH3e) && !defined(SH4)
- ULONG OldStuff[2];
- DEBUG_REGISTERS DebugRegisters;
-#else
- ULONG Fpscr;
- ULONG Fpul;
- ULONG FRegs[16];
-#if defined(SH4)
- ULONG xFRegs[16];
-#endif
-#endif
-} CONTEXT;
-
-#elif defined(MIPS)
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_R4000 0x00010000 /* r4000 context */
-
-#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L)
-#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L)
-
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-
-/* Context Frame */
-
-/* N.B. This frame must be exactly a multiple of 16 bytes in length. */
-
-/* This frame has a several purposes: 1) it is used as an argument to */
-/* NtContinue, 2) it is used to constuct a call frame for APC delivery, */
-/* 3) it is used to construct a call frame for exception dispatching */
-/* in user mode, and 4) it is used in the user level thread creation */
-/* routines. */
-
-/* The layout of the record conforms to a standard call frame. */
-
-
-typedef struct _CONTEXT {
-
- /* This section is always present and is used as an argument build */
- /* area. */
-
- DWORD Argument[4];
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_FLOATING_POINT. */
-
- DWORD FltF0;
- DWORD FltF1;
- DWORD FltF2;
- DWORD FltF3;
- DWORD FltF4;
- DWORD FltF5;
- DWORD FltF6;
- DWORD FltF7;
- DWORD FltF8;
- DWORD FltF9;
- DWORD FltF10;
- DWORD FltF11;
- DWORD FltF12;
- DWORD FltF13;
- DWORD FltF14;
- DWORD FltF15;
- DWORD FltF16;
- DWORD FltF17;
- DWORD FltF18;
- DWORD FltF19;
- DWORD FltF20;
- DWORD FltF21;
- DWORD FltF22;
- DWORD FltF23;
- DWORD FltF24;
- DWORD FltF25;
- DWORD FltF26;
- DWORD FltF27;
- DWORD FltF28;
- DWORD FltF29;
- DWORD FltF30;
- DWORD FltF31;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_INTEGER. */
-
- /* N.B. The registers gp, sp, and ra are defined in this section, but are */
- /* considered part of the control context rather than part of the integer */
- /* context. */
-
- /* N.B. Register zero is not stored in the frame. */
-
- DWORD IntZero;
- DWORD IntAt;
- DWORD IntV0;
- DWORD IntV1;
- DWORD IntA0;
- DWORD IntA1;
- DWORD IntA2;
- DWORD IntA3;
- DWORD IntT0;
- DWORD IntT1;
- DWORD IntT2;
- DWORD IntT3;
- DWORD IntT4;
- DWORD IntT5;
- DWORD IntT6;
- DWORD IntT7;
- DWORD IntS0;
- DWORD IntS1;
- DWORD IntS2;
- DWORD IntS3;
- DWORD IntS4;
- DWORD IntS5;
- DWORD IntS6;
- DWORD IntS7;
- DWORD IntT8;
- DWORD IntT9;
- DWORD IntK0;
- DWORD IntK1;
- DWORD IntGp;
- DWORD IntSp;
- DWORD IntS8;
- DWORD IntRa;
- DWORD IntLo;
- DWORD IntHi;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_FLOATING_POINT. */
-
- DWORD Fsr;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_CONTROL. */
-
- /* N.B. The registers gp, sp, and ra are defined in the integer section, */
- /* but are considered part of the control context rather than part of */
- /* the integer context. */
-
- DWORD Fir;
- DWORD Psr;
-
- /* The flags values within this flag control the contents of */
- /* a CONTEXT record. */
-
- /* If the context record is used as an input parameter, then */
- /* for each portion of the context record controlled by a flag */
- /* whose value is set, it is assumed that that portion of the */
- /* context record contains valid context. If the context record */
- /* is being used to modify a thread's context, then only that */
- /* portion of the threads context will be modified. */
-
- /* If the context record is used as an IN OUT parameter to capture */
- /* the context of a thread, then only those portions of the thread's */
- /* context corresponding to set flags will be returned. */
-
- /* The context record is never used as an OUT only parameter. */
-
- DWORD ContextFlags;
-
- DWORD Fill[2];
-
-} CONTEXT;
-#elif defined(ARM)
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_ARM 0x0000040
-#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L)
-
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
-
-typedef struct _CONTEXT {
- /* The flags values within this flag control the contents of
- a CONTEXT record.
-
- If the context record is used as an input parameter, then
- for each portion of the context record controlled by a flag
- whose value is set, it is assumed that that portion of the
- context record contains valid context. If the context record
- is being used to modify a thread's context, then only that
- portion of the threads context will be modified.
-
- If the context record is used as an IN OUT parameter to capture
- the context of a thread, then only those portions of the thread's
- context corresponding to set flags will be returned.
-
- The context record is never used as an OUT only parameter. */
-
- ULONG ContextFlags;
-
- /* This section is specified/returned if the ContextFlags word contains
- the flag CONTEXT_INTEGER. */
- ULONG R0;
- ULONG R1;
- ULONG R2;
- ULONG R3;
- ULONG R4;
- ULONG R5;
- ULONG R6;
- ULONG R7;
- ULONG R8;
- ULONG R9;
- ULONG R10;
- ULONG R11;
- ULONG R12;
-
- ULONG Sp;
- ULONG Lr;
- ULONG Pc;
- ULONG Psr;
-} CONTEXT;
-
-#else
-#error "undefined processor type"
-#endif
-typedef CONTEXT *PCONTEXT,*LPCONTEXT;
-typedef struct _EXCEPTION_RECORD {
- DWORD ExceptionCode;
- DWORD ExceptionFlags;
- struct _EXCEPTION_RECORD *ExceptionRecord;
- PVOID ExceptionAddress;
- DWORD NumberParameters;
- DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
-} EXCEPTION_RECORD,*PEXCEPTION_RECORD;
-typedef struct _EXCEPTION_POINTERS {
- PEXCEPTION_RECORD ExceptionRecord;
- PCONTEXT ContextRecord;
-} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS;
-typedef union _LARGE_INTEGER {
- struct {
- DWORD LowPart;
- LONG HighPart;
- } u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
- _ANONYMOUS_STRUCT struct {
- DWORD LowPart;
- LONG HighPart;
- };
-#endif /* NONAMELESSUNION */
- LONGLONG QuadPart;
-} LARGE_INTEGER, *PLARGE_INTEGER;
-typedef union _ULARGE_INTEGER {
- struct {
- DWORD LowPart;
- DWORD HighPart;
- } u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
- _ANONYMOUS_STRUCT struct {
- DWORD LowPart;
- DWORD HighPart;
- };
-#endif /* NONAMELESSUNION */
- ULONGLONG QuadPart;
-} ULARGE_INTEGER, *PULARGE_INTEGER;
-typedef LARGE_INTEGER LUID,*PLUID;
-#pragma pack(push,4)
-typedef struct _LUID_AND_ATTRIBUTES {
- LUID Luid;
- DWORD Attributes;
-} LUID_AND_ATTRIBUTES;
-#pragma pack(pop)
-typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-typedef struct _PRIVILEGE_SET {
- DWORD PrivilegeCount;
- DWORD Control;
- LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
-} PRIVILEGE_SET,*PPRIVILEGE_SET;
-typedef struct _SECURITY_ATTRIBUTES {
- DWORD nLength;
- LPVOID lpSecurityDescriptor;
- BOOL bInheritHandle;
-} SECURITY_ATTRIBUTES,*PSECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES;
-typedef enum _SECURITY_IMPERSONATION_LEVEL {
- SecurityAnonymous,
- SecurityIdentification,
- SecurityImpersonation,
- SecurityDelegation
-} SECURITY_IMPERSONATION_LEVEL;
-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 PVOID PACCESS_TOKEN;
-typedef struct _SE_IMPERSONATION_STATE {
- PACCESS_TOKEN Token;
- BOOLEAN CopyOnOpen;
- BOOLEAN EffectiveOnly;
- SECURITY_IMPERSONATION_LEVEL Level;
-} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE;
-typedef struct _SID_IDENTIFIER_AUTHORITY {
- BYTE Value[6];
-} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
-typedef PVOID PSID;
-typedef struct _SID {
- BYTE Revision;
- BYTE SubAuthorityCount;
- SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
- DWORD SubAuthority[ANYSIZE_ARRAY];
-} SID, *PISID;
-typedef struct _SID_AND_ATTRIBUTES {
- PSID Sid;
- DWORD Attributes;
-} SID_AND_ATTRIBUTES;
-typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-typedef struct _TOKEN_SOURCE {
- CHAR SourceName[TOKEN_SOURCE_LENGTH];
- LUID SourceIdentifier;
-} TOKEN_SOURCE,*PTOKEN_SOURCE;
-typedef struct _TOKEN_CONTROL {
- LUID TokenId;
- LUID AuthenticationId;
- LUID ModifiedId;
- TOKEN_SOURCE TokenSource;
-} TOKEN_CONTROL,*PTOKEN_CONTROL;
-typedef struct _TOKEN_DEFAULT_DACL {
- PACL DefaultDacl;
-} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL;
-typedef struct _TOKEN_GROUPS {
- DWORD GroupCount;
- SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
-} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
-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_PRIVILEGES {
- DWORD PrivilegeCount;
- LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
-} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
-typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE;
-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;
-typedef struct _TOKEN_USER {
- SID_AND_ATTRIBUTES User;
-} TOKEN_USER, *PTOKEN_USER;
-typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;
-typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;
-typedef struct _SECURITY_DESCRIPTOR {
- BYTE Revision;
- BYTE Sbz1;
- SECURITY_DESCRIPTOR_CONTROL Control;
- PSID Owner;
- PSID Group;
- PACL Sacl;
- PACL Dacl;
-} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
-typedef enum _TOKEN_INFORMATION_CLASS {
- TokenUser=1,TokenGroups,TokenPrivileges,TokenOwner,
- TokenPrimaryGroup,TokenDefaultDacl,TokenSource,TokenType,
- TokenImpersonationLevel,TokenStatistics,TokenRestrictedSids,
- TokenSessionId
-} TOKEN_INFORMATION_CLASS;
-typedef enum _SID_NAME_USE {
- SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,
- SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown
-} SID_NAME_USE,*PSID_NAME_USE;
-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 struct _IO_COUNTERS {
- ULONGLONG ReadOperationCount;
- ULONGLONG WriteOperationCount;
- ULONGLONG OtherOperationCount;
- ULONGLONG ReadTransferCount;
- ULONGLONG WriteTransferCount;
- ULONGLONG OtherTransferCount;
-} IO_COUNTERS, *PIO_COUNTERS;
-typedef struct _FILE_NOTIFY_INFORMATION {
- DWORD NextEntryOffset;
- DWORD Action;
- DWORD FileNameLength;
- WCHAR FileName[1];
-} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
-typedef struct _TAPE_ERASE {
- DWORD Type;
- BOOLEAN Immediate;
-} TAPE_ERASE,*PTAPE_ERASE;
-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_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_GET_POSITION {
- ULONG Type;
- ULONG Partition;
- ULONG OffsetLow;
- ULONG OffsetHigh;
-} TAPE_GET_POSITION,*PTAPE_GET_POSITION;
-typedef struct _TAPE_PREPARE {
- DWORD Operation;
- BOOLEAN Immediate;
-} TAPE_PREPARE,*PTAPE_PREPARE;
-typedef struct _TAPE_SET_DRIVE_PARAMETERS {
- BOOLEAN ECC;
- BOOLEAN Compression;
- BOOLEAN DataPadding;
- BOOLEAN ReportSetmarks;
- ULONG EOTWarningZoneSize;
-} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS;
-typedef struct _TAPE_SET_MEDIA_PARAMETERS {
- ULONG BlockSize;
-} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS;
-typedef struct _TAPE_SET_POSITION {
- DWORD Method;
- DWORD Partition;
- LARGE_INTEGER Offset;
- BOOLEAN Immediate;
-} TAPE_SET_POSITION,*PTAPE_SET_POSITION;
-typedef struct _TAPE_WRITE_MARKS {
- DWORD Type;
- DWORD Count;
- BOOLEAN Immediate;
-} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS;
-typedef struct _TAPE_CREATE_PARTITION {
- DWORD Method;
- DWORD Count;
- DWORD Size;
-} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
-typedef struct _MEMORY_BASIC_INFORMATION {
- PVOID BaseAddress;
- PVOID AllocationBase;
- DWORD AllocationProtect;
- DWORD RegionSize;
- DWORD State;
- DWORD Protect;
- DWORD Type;
-} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
-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 _LIST_ENTRY {
- struct _LIST_ENTRY *Flink;
- struct _LIST_ENTRY *Blink;
-} LIST_ENTRY,*PLIST_ENTRY;
-typedef struct _RTL_CRITICAL_SECTION_DEBUG {
- WORD Type;
- WORD CreatorBackTraceIndex;
- struct _RTL_CRITICAL_SECTION *CriticalSection;
- LIST_ENTRY ProcessLocksList;
- DWORD EntryCount;
- DWORD ContentionCount;
- DWORD Spare[2];
-} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG;
-typedef struct _RTL_CRITICAL_SECTION {
- PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
- LONG LockCount;
- LONG RecursionCount;
- HANDLE OwningThread;
- HANDLE LockSemaphore;
- DWORD Reserved;
-} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
-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 _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;
-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;
-#pragma pack(push,2)
-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)
-#pragma pack(push,4)
-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 Reserved1;
- 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[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-} IMAGE_OPTIONAL_HEADER,*PIMAGE_OPTIONAL_HEADER;
-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;
-#pragma pack(pop)
-#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;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_NT_HEADERS {
- DWORD Signature;
- IMAGE_FILE_HEADER FileHeader;
- IMAGE_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_NT_HEADERS,*PIMAGE_NT_HEADERS;
-typedef struct _IMAGE_ROM_HEADERS {
- IMAGE_FILE_HEADER FileHeader;
- IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS;
-typedef struct _IMAGE_SECTION_HEADER {
- BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
- 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(pop)
-#pragma pack(push,2)
-typedef struct _IMAGE_SYMBOL {
- union {
- BYTE ShortName[8];
- struct {
- DWORD Short;
- DWORD Long;
- } Name;
- PBYTE LongName[2];
- } N;
- DWORD Value;
- SHORT SectionNumber;
- WORD Type;
- BYTE StorageClass;
- BYTE NumberOfAuxSymbols;
-} IMAGE_SYMBOL,*PIMAGE_SYMBOL;
-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[IMAGE_SIZEOF_SYMBOL];
- } File;
- struct {
- DWORD Length;
- WORD NumberOfRelocations;
- WORD NumberOfLinenumbers;
- DWORD CheckSum;
- SHORT Number;
- BYTE Selection;
- } Section;
-} IMAGE_AUX_SYMBOL,*PIMAGE_AUX_SYMBOL;
-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 _IMAGE_RELOCATION {
- _ANONYMOUS_UNION union {
- DWORD VirtualAddress;
- DWORD RelocCount;
- } DUMMYUNIONNAME;
- DWORD SymbolTableIndex;
- WORD Type;
-} IMAGE_RELOCATION,*PIMAGE_RELOCATION;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_BASE_RELOCATION {
- DWORD VirtualAddress;
- DWORD SizeOfBlock;
-} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct _IMAGE_LINENUMBER {
- union {
- DWORD SymbolTableIndex;
- DWORD VirtualAddress;
- } Type;
- WORD Linenumber;
-} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER;
-#pragma pack(pop)
-#pragma pack(push,4)
-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;
- PDWORD *AddressOfFunctions;
- PDWORD *AddressOfNames;
- PWORD *AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY;
-typedef struct _IMAGE_IMPORT_BY_NAME {
- WORD Hint;
- BYTE Name[1];
-} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME;
-typedef struct _IMAGE_THUNK_DATA {
- union {
- PBYTE ForwarderString;
- PDWORD Function;
- DWORD Ordinal;
- PIMAGE_IMPORT_BY_NAME AddressOfData;
- } u1;
-} IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA;
-typedef struct _IMAGE_IMPORT_DESCRIPTOR {
- _ANONYMOUS_UNION union {
- DWORD Characteristics;
- PIMAGE_THUNK_DATA OriginalFirstThunk;
- } DUMMYUNIONNAME;
- DWORD TimeDateStamp;
- DWORD ForwarderChain;
- DWORD Name;
- PIMAGE_THUNK_DATA FirstThunk;
-} 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 void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID);
-typedef struct _IMAGE_TLS_DIRECTORY {
- DWORD StartAddressOfRawData;
- DWORD EndAddressOfRawData;
- PDWORD AddressOfIndex;
- PIMAGE_TLS_CALLBACK *AddressOfCallBacks;
- DWORD SizeOfZeroFill;
- DWORD Characteristics;
-} IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY;
-typedef struct _IMAGE_RESOURCE_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- WORD NumberOfNamedEntries;
- WORD NumberOfIdEntries;
-} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY;
-_ANONYMOUS_STRUCT typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- DWORD NameOffset:31;
- DWORD NameIsString:1;
- }DUMMYSTRUCTNAME;
- DWORD Name;
- WORD Id;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- DWORD OffsetToData;
- _ANONYMOUS_STRUCT struct {
- DWORD OffsetToDirectory:31;
- DWORD DataIsDirectory:1;
- } DUMMYSTRUCTNAME2;
- } DUMMYUNIONNAME2;
-} 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 _IMAGE_LOAD_CONFIG_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- DWORD GlobalFlagsClear;
- DWORD GlobalFlagsSet;
- DWORD CriticalSectionDefaultTimeout;
- DWORD DeCommitFreeBlockThreshold;
- DWORD DeCommitTotalFreeThreshold;
- PVOID LockPrefixTable;
- DWORD MaximumAllocationSize;
- DWORD VirtualMemoryThreshold;
- DWORD ProcessHeapFlags;
- DWORD Reserved[4];
-} IMAGE_LOAD_CONFIG_DIRECTORY,*PIMAGE_LOAD_CONFIG_DIRECTORY;
-typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
- DWORD BeginAddress;
- DWORD EndAddress;
- PVOID ExceptionHandler;
- PVOID HandlerData;
- DWORD PrologEndAddress;
-} IMAGE_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 _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_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 Reserved[3];
-} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
-#pragma pack(pop)
-typedef enum _CM_SERVICE_NODE_TYPE {
- DriverType=SERVICE_KERNEL_DRIVER,
- FileSystemType=SERVICE_FILE_SYSTEM_DRIVER,
- Win32ServiceOwnProcess=SERVICE_WIN32_OWN_PROCESS,
- Win32ServiceShareProcess=SERVICE_WIN32_SHARE_PROCESS,
- AdapterType=SERVICE_ADAPTER,
- RecognizerType=SERVICE_RECOGNIZER_DRIVER
-} SERVICE_NODE_TYPE;
-typedef enum _CM_SERVICE_LOAD_TYPE {
- BootLoad=SERVICE_BOOT_START,
- SystemLoad=SERVICE_SYSTEM_START,
- AutoLoad=SERVICE_AUTO_START,
- DemandLoad=SERVICE_DEMAND_START,
- DisableLoad=SERVICE_DISABLED
-} SERVICE_LOAD_TYPE;
-typedef enum _CM_ERROR_CONTROL_TYPE {
- IgnoreError=SERVICE_ERROR_IGNORE,
- NormalError=SERVICE_ERROR_NORMAL,
- SevereError=SERVICE_ERROR_SEVERE,
- CriticalError=SERVICE_ERROR_CRITICAL
-} SERVICE_ERROR_TYPE;
-typedef struct _NT_TIB {
- struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
- PVOID StackBase;
- PVOID StackLimit;
- PVOID SubSystemTib;
- _ANONYMOUS_UNION union {
- PVOID FiberData;
- DWORD Version;
- } DUMMYUNIONNAME;
- PVOID ArbitraryUserPointer;
- struct _NT_TIB *Self;
-} NT_TIB,*PNT_TIB;
-typedef struct _REPARSE_DATA_BUFFER {
- DWORD ReparseTag;
- WORD ReparseDataLength;
- WORD Reserved;
- _ANONYMOUS_UNION union {
- struct {
- WORD SubstituteNameOffset;
- WORD SubstituteNameLength;
- WORD PrintNameOffset;
- WORD PrintNameLength;
- WCHAR PathBuffer[1];
- } SymbolicLinkReparseBuffer;
- struct {
- WORD SubstituteNameOffset;
- WORD SubstituteNameLength;
- WORD PrintNameOffset;
- WORD PrintNameLength;
- WCHAR PathBuffer[1];
- } MountPointReparseBuffer;
- struct {
- BYTE DataBuffer[1];
- } GenericReparseBuffer;
- } DUMMYUNIONNAME;
-} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
-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;
-typedef struct _REPARSE_POINT_INFORMATION {
- WORD ReparseDataLength;
- WORD UnparsedNameLength;
-} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
-
-#ifdef UNICODE
-typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#else
-typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#endif
-
-#if defined(__GNUC__)
-
-PVOID GetCurrentFiber(void);
-PVOID GetFiberData(void);
-
-PVOID GetCurrentFiber(void);
-extern __inline__ PVOID GetCurrentFiber(void)
-{
- void* ret;
- __asm__ volatile (
- "movl %%fs:0x10,%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- :
- );
- return ret;
-}
-
-PVOID GetFiberData(void);
-extern __inline__ PVOID GetFiberData(void)
-{
- void* ret;
- __asm__ volatile (
- "movl %%fs:0x10,%0\n"
- "movl (%0),%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- :
- );
- return ret;
-}
-
-#else
-
-extern PVOID GetCurrentFiber(void);
-#pragma aux GetCurrentFiber = \
- "mov eax, dword ptr fs:0x10" \
- value [eax] \
- modify [eax];
-
-extern PVOID GetFiberData(void);
-#pragma aux GetFiberData = \
- "mov eax, dword ptr fs:0x10" \
- "mov eax, [eax]" \
- value [eax] \
- modify [eax];
-
-#endif /* __GNUC__ */
-
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
-
+#ifndef _WINNT_H +#define _WINNT_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +/* translate GCC target defines to MS equivalents. Keep this synchronized + with windows.h. */ +#if defined(__i686__) && !defined(_M_IX86) +#define _M_IX86 600 +#elif defined(__i586__) && !defined(_M_IX86) +#define _M_IX86 500 +#elif defined(__i486__) && !defined(_M_IX86) +#define _M_IX86 400 +#elif defined(__i386__) && !defined(_M_IX86) +#define _M_IX86 300 +#endif +#if defined(_M_IX86) && !defined(_X86_) +#define _X86_ +#elif defined(_M_ALPHA) && !defined(_ALPHA_) +#define _ALPHA_ +#elif defined(_M_PPC) && !defined(_PPC_) +#define _PPC_ +#elif defined(_M_MRX000) && !defined(_MIPS_) +#define _MIPS_ +#elif defined(_M_M68K) && !defined(_68K_) +#define _68K_ +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include <winerror.h> + +#ifndef RC_INVOKED +#include <string.h> + +/* FIXME: add more architectures. Is there a way to specify this in GCC? */ +#ifdef _X86_ +#define UNALIGNED +#else +#define UNALIGNED +#endif + +#ifndef VOID +#define VOID void +#endif +typedef char CHAR; +typedef short SHORT; +typedef long LONG; +typedef CHAR CCHAR; +typedef unsigned char UCHAR,*PUCHAR; +typedef unsigned short USHORT,*PUSHORT; +typedef unsigned long ULONG,*PULONG; +typedef char *PSZ; + +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED +#ifndef _WCHAR_T_ +#define _WCHAR_T_ +#undef __need_wchar_t +#ifndef __cplusplus +typedef unsigned short wchar_t; +#endif +#endif +#endif + +typedef wchar_t WCHAR; +typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR; +typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR; +typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR; +typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR; +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED +#ifdef UNICODE +/* + * NOTE: This tests UNICODE, which is different from the _UNICODE define + * used to differentiate standard C runtime calls. + */ +typedef WCHAR TCHAR; +typedef WCHAR _TCHAR; +#else +typedef CHAR TCHAR; +typedef CHAR _TCHAR; +#endif +#endif +typedef TCHAR TBYTE,*PTCH,*PTBYTE; +typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR; +typedef const TCHAR *LPCTSTR; +#ifdef UNICODE +/* + * __TEXT is a private macro whose specific use is to force the expansion of a + * macro passed as an argument to the macro TEXT. DO NOT use this + * macro within your programs. It's name and function could change without + * notice. + */ +#define __TEXT(q) L##q +#else +#define __TEXT(q) q +#endif +/* + * UNICODE a constant string when UNICODE is defined, else returns the string + * unmodified. + * The corresponding macros _TEXT() and _T() for mapping _UNICODE strings + * passed to C runtime functions are defined in mingw/tchar.h + */ +#define TEXT(q) __TEXT(q) +typedef SHORT *PSHORT; +typedef LONG *PLONG; +typedef void *HANDLE; +typedef HANDLE *PHANDLE,*LPHANDLE; +#ifdef STRICT +#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n +#else +#define DECLARE_HANDLE(n) typedef HANDLE n +#endif +typedef DWORD LCID; +typedef PDWORD PLCID; +typedef WORD LANGID; +#ifdef __GNUC__ +#define _HAVE_INT64 +#define _INTEGRAL_MAX_BITS 64 +#undef __int64 +#define __int64 long long +#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 ) +#define _HAVE_INT64 +#endif /* __GNUC__/__WATCOMC */ +#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64) +typedef __int64 LONGLONG; +typedef unsigned __int64 DWORDLONG; +#else +typedef double LONGLONG,DWORDLONG; +#endif +typedef LONGLONG *PLONGLONG; +typedef DWORDLONG *PDWORDLONG; +typedef DWORDLONG ULONGLONG,*PULONGLONG; +typedef LONGLONG USN; +#ifdef _HAVE_INT64 +#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b)) +#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b)) +#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b)) +#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b)) +#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b)) +#endif +#define ANSI_NULL '\0' +#define UNICODE_NULL L'\0' +typedef BYTE BOOLEAN,*PBOOLEAN; +#endif + +#define NTAPI __stdcall +#include <basetsd.h> +#define APPLICATION_ERROR_MASK 0x20000000 +#define ERROR_SEVERITY_SUCCESS 0x00000000 +#define ERROR_SEVERITY_INFORMATIONAL 0x40000000 +#define ERROR_SEVERITY_WARNING 0x80000000 +#define ERROR_SEVERITY_ERROR 0xC0000000 +#define COMPRESSION_FORMAT_NONE 0 +#define COMPRESSION_FORMAT_DEFAULT 1 +#define COMPRESSION_FORMAT_LZNT1 2 +#define COMPRESSION_ENGINE_STANDARD 0 +#define COMPRESSION_ENGINE_MAXIMUM 256 +#define ACCESS_ALLOWED_ACE_TYPE 0 +#define ACCESS_DENIED_ACE_TYPE 1 +#define ANYSIZE_ARRAY 1 +#define SYSTEM_AUDIT_ACE_TYPE 2 +#define SYSTEM_ALARM_ACE_TYPE 3 +#define OBJECT_INHERIT_ACE 1 +#define CONTAINER_INHERIT_ACE 2 +#define NO_PROPAGATE_INHERIT_ACE 4 +#define INHERIT_ONLY_ACE 8 +#define VALID_INHERIT_FLAGS 16 +#define SUCCESSFUL_ACCESS_ACE_FLAG 64 +#define FAILED_ACCESS_ACE_FLAG 128 +#define DELETE 0x00010000L +#define READ_CONTROL 0x20000L +#define WRITE_DAC 0x40000L +#define WRITE_OWNER 0x80000L +#define SYNCHRONIZE 0x100000L +#define STANDARD_RIGHTS_REQUIRED 0xF0000 +#define STANDARD_RIGHTS_READ 0x20000 +#define STANDARD_RIGHTS_WRITE 0x20000 +#define STANDARD_RIGHTS_EXECUTE 0x20000 +#define STANDARD_RIGHTS_ALL 0x1F0000 +#define SPECIFIC_RIGHTS_ALL 0xFFFF +#define ACCESS_SYSTEM_SECURITY 0x1000000 +#define MAXIMUM_ALLOWED 0x2000000 +#define GENERIC_READ 0x80000000 +#define GENERIC_WRITE 0x40000000 +#define GENERIC_EXECUTE 0x20000000 +#define GENERIC_ALL 0x10000000 +#define FILE_READ_DATA 1 +#define FILE_LIST_DIRECTORY 1 +#define FILE_WRITE_DATA 2 +#define FILE_ADD_FILE 2 +#define FILE_APPEND_DATA 4 +#define FILE_ADD_SUBDIRECTORY 4 +#define FILE_CREATE_PIPE_INSTANCE 4 +#define FILE_READ_EA 8 +#define FILE_READ_PROPERTIES 8 +#define FILE_WRITE_EA 16 +#define FILE_WRITE_PROPERTIES 16 +#define FILE_EXECUTE 32 +#define FILE_TRAVERSE 32 +#define FILE_DELETE_CHILD 64 +#define FILE_READ_ATTRIBUTES 128 +#define FILE_WRITE_ATTRIBUTES 256 +#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x1FF) +#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ|FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA|SYNCHRONIZE) +#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|SYNCHRONIZE) +#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE|FILE_READ_ATTRIBUTES|FILE_EXECUTE|SYNCHRONIZE) +#define FILE_SHARE_READ 1 +#define FILE_SHARE_WRITE 2 +#define FILE_SHARE_DELETE 4 +#define FILE_ATTRIBUTE_READONLY 1 +#define FILE_ATTRIBUTE_HIDDEN 2 +#define FILE_ATTRIBUTE_SYSTEM 4 +#define FILE_ATTRIBUTE_DIRECTORY 16 +#define FILE_ATTRIBUTE_ARCHIVE 32 +#define FILE_ATTRIBUTE_DEVICE 64 +#define FILE_ATTRIBUTE_NORMAL 128 +#define FILE_ATTRIBUTE_TEMPORARY 256 +#define FILE_ATTRIBUTE_SPARSE_FILE 512 +#define FILE_ATTRIBUTE_REPARSE_POINT 1024 +#define FILE_ATTRIBUTE_COMPRESSED 2048 +#define FILE_ATTRIBUTE_OFFLINE 0x1000 +#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x2000 +#define FILE_ATTRIBUTE_ENCRYPTED 0x4000 +#define INVALID_FILE_ATTRIBUTES ((DWORD)-1) +#define FILE_NOTIFY_CHANGE_FILE_NAME 1 +#define FILE_NOTIFY_CHANGE_DIR_NAME 2 +#define FILE_NOTIFY_CHANGE_ATTRIBUTES 4 +#define FILE_NOTIFY_CHANGE_SIZE 8 +#define FILE_NOTIFY_CHANGE_LAST_WRITE 16 +#define FILE_NOTIFY_CHANGE_LAST_ACCESS 32 +#define FILE_NOTIFY_CHANGE_CREATION 64 +#define FILE_NOTIFY_CHANGE_SECURITY 256 +#define MAILSLOT_NO_MESSAGE ((DWORD)-1) +#define MAILSLOT_WAIT_FOREVER ((DWORD)-1) +#define FILE_CASE_SENSITIVE_SEARCH 1 +#define FILE_CASE_PRESERVED_NAMES 2 +#define FILE_UNICODE_ON_DISK 4 +#define FILE_PERSISTENT_ACLS 8 +#define FILE_FILE_COMPRESSION 16 +#define FILE_VOLUME_QUOTAS 32 +#define FILE_SUPPORTS_SPARSE_FILES 64 +#define FILE_SUPPORTS_REPARSE_POINTS 128 +#define FILE_SUPPORTS_REMOTE_STORAGE 256 +#define FILE_VOLUME_IS_COMPRESSED 0x8000 +#define FILE_SUPPORTS_OBJECT_IDS 0x10000 +#define FILE_SUPPORTS_ENCRYPTION 0x20000 +#define FILE_NAMED_STREAMS 0x40000 +#define IO_COMPLETION_MODIFY_STATE 2 +#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3) +#define DUPLICATE_CLOSE_SOURCE 1 +#define DUPLICATE_SAME_ACCESS 2 +#define PROCESS_TERMINATE 1 +#define PROCESS_CREATE_THREAD 2 +#define PROCESS_VM_OPERATION 8 +#define PROCESS_VM_READ 16 +#define PROCESS_VM_WRITE 32 +#define PROCESS_DUP_HANDLE 64 +#define PROCESS_CREATE_PROCESS 128 +#define PROCESS_SET_QUOTA 256 +#define PROCESS_SET_INFORMATION 512 +#define PROCESS_QUERY_INFORMATION 1024 +#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF) +#define THREAD_TERMINATE 1 +#define THREAD_SUSPEND_RESUME 2 +#define THREAD_GET_CONTEXT 8 +#define THREAD_SET_CONTEXT 16 +#define THREAD_SET_INFORMATION 32 +#define THREAD_QUERY_INFORMATION 64 +#define THREAD_SET_THREAD_TOKEN 128 +#define THREAD_IMPERSONATE 256 +#define THREAD_DIRECT_IMPERSONATION 0x200 +#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF) +#define EXCEPTION_NONCONTINUABLE 1 +#define EXCEPTION_MAXIMUM_PARAMETERS 15 +/* + * To prevent gcc compiler warnings, bracket these defines when initialising + * a SID_IDENTIFIER_AUTHORITY, eg. + * SID_IDENTIFIER_AUTHORITY aNullSidAuthority = {SECURITY_NULL_SID_AUTHORITY}; + */ +#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} +#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} +#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} +#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} +#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} +#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} +#define SECURITY_NULL_RID 0 +#define SECURITY_WORLD_RID 0 +#define SECURITY_LOCAL_RID 0 +#define SECURITY_CREATOR_OWNER_RID 0 +#define SECURITY_CREATOR_GROUP_RID 1 +#define SECURITY_DIALUP_RID 1 +#define SECURITY_NETWORK_RID 2 +#define SECURITY_BATCH_RID 3 +#define SECURITY_INTERACTIVE_RID 4 +#define SECURITY_LOGON_IDS_RID 5 +#define SECURITY_SERVICE_RID 6 +#define SECURITY_LOCAL_SYSTEM_RID 18 +#define SECURITY_BUILTIN_DOMAIN_RID 32 +#define SECURITY_PRINCIPAL_SELF_RID 10 +#define SID_REVISION 1 +#define DOMAIN_USER_RID_ADMIN 0x1F4L +#define DOMAIN_USER_RID_GUEST 0x1F5L +#define DOMAIN_GROUP_RID_ADMINS 0x200L +#define DOMAIN_GROUP_RID_USERS 0x201L +#define DOMAIN_ALIAS_RID_ADMINS 0x220L +#define DOMAIN_ALIAS_RID_USERS 0x221L +#define DOMAIN_ALIAS_RID_GUESTS 0x222L +#define DOMAIN_ALIAS_RID_POWER_USERS 0x223L +#define DOMAIN_ALIAS_RID_ACCOUNT_OPS 0x224L +#define DOMAIN_ALIAS_RID_SYSTEM_OPS 0x225L +#define DOMAIN_ALIAS_RID_PRINT_OPS 0x226L +#define DOMAIN_ALIAS_RID_BACKUP_OPS 0x227L +#define DOMAIN_ALIAS_RID_REPLICATOR 0x228L +#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege") +#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege") +#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege") +#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege") +#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege") +#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege") +#define SE_TCB_NAME TEXT("SeTcbPrivilege") +#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege") +#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege") +#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege") +#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege") +#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege") +#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege") +#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege") +#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege") +#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege") +#define SE_BACKUP_NAME TEXT("SeBackupPrivilege") +#define SE_RESTORE_NAME TEXT("SeRestorePrivilege") +#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege") +#define SE_DEBUG_NAME TEXT("SeDebugPrivilege") +#define SE_AUDIT_NAME TEXT("SeAuditPrivilege") +#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege") +#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege") +#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege") +#define SE_GROUP_MANDATORY 1 +#define SE_GROUP_ENABLED_BY_DEFAULT 2 +#define SE_GROUP_ENABLED 4 +#define SE_GROUP_OWNER 8 +#define SE_GROUP_USE_FOR_DENY_ONLY 16 +#define SE_GROUP_LOGON_ID 3221225472U +#define SE_GROUP_RESOURCE 536870912 +#define LANG_NEUTRAL 0x00 +#define LANG_ARABIC 0x01 +#define LANG_BULGARIAN 0x02 +#define LANG_CATALAN 0x03 +#define LANG_CHINESE 0x04 +#define LANG_CZECH 0x05 +#define LANG_DANISH 0x06 +#define LANG_GERMAN 0x07 +#define LANG_GREEK 0x08 +#define LANG_ENGLISH 0x09 +#define LANG_SPANISH 0x0a +#define LANG_FINNISH 0x0b +#define LANG_FRENCH 0x0c +#define LANG_HEBREW 0x0d +#define LANG_HUNGARIAN 0x0e +#define LANG_ICELANDIC 0x0f +#define LANG_ITALIAN 0x10 +#define LANG_JAPANESE 0x11 +#define LANG_KOREAN 0x12 +#define LANG_DUTCH 0x13 +#define LANG_NORWEGIAN 0x14 +#define LANG_POLISH 0x15 +#define LANG_PORTUGUESE 0x16 +#define LANG_ROMANIAN 0x18 +#define LANG_RUSSIAN 0x19 +#define LANG_CROATIAN 0x1a +#define LANG_SERBIAN 0x1a +#define LANG_SLOVAK 0x1b +#define LANG_ALBANIAN 0x1c +#define LANG_SWEDISH 0x1d +#define LANG_THAI 0x1e +#define LANG_TURKISH 0x1f +#define LANG_URDU 0x20 +#define LANG_INDONESIAN 0x21 +#define LANG_UKRAINIAN 0x22 +#define LANG_BELARUSIAN 0x23 +#define LANG_SLOVENIAN 0x24 +#define LANG_ESTONIAN 0x25 +#define LANG_LATVIAN 0x26 +#define LANG_LITHUANIAN 0x27 +#define LANG_FARSI 0x29 +#define LANG_VIETNAMESE 0x2a +#define LANG_ARMENIAN 0x2b +#define LANG_AZERI 0x2c +#define LANG_BASQUE 0x2d +#define LANG_MACEDONIAN 0x2f +#define LANG_AFRIKAANS 0x36 +#define LANG_GEORGIAN 0x37 +#define LANG_FAEROESE 0x38 +#define LANG_HINDI 0x39 +#define LANG_MALAY 0x3e +#define LANG_KAZAK 0x3f +#define LANG_SWAHILI 0x41 +#define LANG_UZBEK 0x43 +#define LANG_TATAR 0x44 +#define LANG_BENGALI 0x45 +#define LANG_PUNJABI 0x46 +#define LANG_GUJARATI 0x47 +#define LANG_ORIYA 0x48 +#define LANG_TAMIL 0x49 +#define LANG_TELUGU 0x4a +#define LANG_KANNADA 0x4b +#define LANG_MALAYALAM 0x4c +#define LANG_ASSAMESE 0x4d +#define LANG_MARATHI 0x4e +#define LANG_SANSKRIT 0x4f +#define LANG_KONKANI 0x57 +#define LANG_MANIPURI 0x58 +#define LANG_SINDHI 0x59 +#define LANG_KASHMIRI 0x60 +#define LANG_NEPALI 0x61 +#define SUBLANG_NEUTRAL 0x00 +#define SUBLANG_DEFAULT 0x01 +#define SUBLANG_SYS_DEFAULT 0x02 +#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +#define SUBLANG_ARABIC_IRAQ 0x02 +#define SUBLANG_ARABIC_EGYPT 0x03 +#define SUBLANG_ARABIC_LIBYA 0x04 +#define SUBLANG_ARABIC_ALGERIA 0x05 +#define SUBLANG_ARABIC_MOROCCO 0x06 +#define SUBLANG_ARABIC_TUNISIA 0x07 +#define SUBLANG_ARABIC_OMAN 0x08 +#define SUBLANG_ARABIC_YEMEN 0x09 +#define SUBLANG_ARABIC_SYRIA 0x0a +#define SUBLANG_ARABIC_JORDAN 0x0b +#define SUBLANG_ARABIC_LEBANON 0x0c +#define SUBLANG_ARABIC_KUWAIT 0x0d +#define SUBLANG_ARABIC_UAE 0x0e +#define SUBLANG_ARABIC_BAHRAIN 0x0f +#define SUBLANG_ARABIC_QATAR 0x10 +#define SUBLANG_AZERI_CYRILLIC 0x01 +#define SUBLANG_AZERI_LATIN 0x02 +#define SUBLANG_CHINESE_TRADITIONAL 0x01 +#define SUBLANG_CHINESE_SIMPLIFIED 0x02 +#define SUBLANG_CHINESE_HONGKONG 0x03 +#define SUBLANG_CHINESE_SINGAPORE 0x04 +#define SUBLANG_CHINESE_MACAU 0x05 +#define SUBLANG_DUTCH 0x01 +#define SUBLANG_DUTCH_BELGIAN 0x02 +#define SUBLANG_ENGLISH_US 0x01 +#define SUBLANG_ENGLISH_UK 0x02 +#define SUBLANG_ENGLISH_AUS 0x03 +#define SUBLANG_ENGLISH_CAN 0x04 +#define SUBLANG_ENGLISH_NZ 0x05 +#define SUBLANG_ENGLISH_EIRE 0x06 +#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +#define SUBLANG_ENGLISH_JAMAICA 0x08 +#define SUBLANG_ENGLISH_CARIBBEAN 0x09 +#define SUBLANG_ENGLISH_BELIZE 0x0a +#define SUBLANG_ENGLISH_TRINIDAD 0x0b +#define SUBLANG_ENGLISH_PHILIPPINES 0x0c +#define SUBLANG_ENGLISH_ZIMBABWE 0x0d +#define SUBLANG_FRENCH 0x01 +#define SUBLANG_FRENCH_BELGIAN 0x02 +#define SUBLANG_FRENCH_CANADIAN 0x03 +#define SUBLANG_FRENCH_SWISS 0x04 +#define SUBLANG_FRENCH_LUXEMBOURG 0x05 +#define SUBLANG_FRENCH_MONACO 0x06 +#define SUBLANG_GERMAN 0x01 +#define SUBLANG_GERMAN_SWISS 0x02 +#define SUBLANG_GERMAN_AUSTRIAN 0x03 +#define SUBLANG_GERMAN_LUXEMBOURG 0x04 +#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +#define SUBLANG_ITALIAN 0x01 +#define SUBLANG_ITALIAN_SWISS 0x02 +#define SUBLANG_KASHMIRI_INDIA 0x02 +#define SUBLANG_KOREAN 0x01 +#define SUBLANG_LITHUANIAN 0x01 +#define SUBLANG_MALAY_MALAYSIA 0x01 +#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +#define SUBLANG_NEPALI_INDIA 0x02 +#define SUBLANG_NORWEGIAN_BOKMAL 0x01 +#define SUBLANG_NORWEGIAN_NYNORSK 0x02 +#define SUBLANG_PORTUGUESE 0x01 +#define SUBLANG_PORTUGUESE_BRAZILIAN 0x02 +#define SUBLANG_SERBIAN_LATIN 0x02 +#define SUBLANG_SERBIAN_CYRILLIC 0x03 +#define SUBLANG_SPANISH 0x01 +#define SUBLANG_SPANISH_MEXICAN 0x02 +#define SUBLANG_SPANISH_MODERN 0x03 +#define SUBLANG_SPANISH_GUATEMALA 0x04 +#define SUBLANG_SPANISH_COSTA_RICA 0x05 +#define SUBLANG_SPANISH_PANAMA 0x06 +#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +#define SUBLANG_SPANISH_VENEZUELA 0x08 +#define SUBLANG_SPANISH_COLOMBIA 0x09 +#define SUBLANG_SPANISH_PERU 0x0a +#define SUBLANG_SPANISH_ARGENTINA 0x0b +#define SUBLANG_SPANISH_ECUADOR 0x0c +#define SUBLANG_SPANISH_CHILE 0x0d +#define SUBLANG_SPANISH_URUGUAY 0x0e +#define SUBLANG_SPANISH_PARAGUAY 0x0f +#define SUBLANG_SPANISH_BOLIVIA 0x10 +#define SUBLANG_SPANISH_EL_SALVADOR 0x11 +#define SUBLANG_SPANISH_HONDURAS 0x12 +#define SUBLANG_SPANISH_NICARAGUA 0x13 +#define SUBLANG_SPANISH_PUERTO_RICO 0x14 +#define SUBLANG_SWEDISH 0x01 +#define SUBLANG_SWEDISH_FINLAND 0x02 +#define SUBLANG_URDU_PAKISTAN 0x01 +#define SUBLANG_URDU_INDIA 0x02 +#define SUBLANG_UZBEK_LATIN 0x01 +#define SUBLANG_UZBEK_CYRILLIC 0x02 +#define NLS_VALID_LOCALE_MASK 1048575 +#define SORT_DEFAULT 0 +#define SORT_JAPANESE_XJIS 0 +#define SORT_JAPANESE_UNICODE 1 +#define SORT_CHINESE_BIG5 0 +#define SORT_CHINESE_PRCP 0 +#define SORT_CHINESE_UNICODE 1 +#define SORT_CHINESE_PRC 2 +#define SORT_CHINESE_BOPOMOFO 3 +#define SORT_KOREAN_KSC 0 +#define SORT_KOREAN_UNICODE 1 +#define SORT_GERMAN_PHONE_BOOK 1 +#define SORT_HUNGARIAN_DEFAULT 0 +#define SORT_HUNGARIAN_TECHNICAL 1 +#define SORT_GEORGIAN_TRADITIONAL 0 +#define SORT_GEORGIAN_MODERN 1 +#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p)) +#define MAKELCID(l,s) ((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l))))) +#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff) +#define SORTIDFROMLCID(l) ((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16)) +#define SORTVERSIONFROMLCID(l) ((WORD)((((DWORD)(l))>>20)&0xf)) +#define SUBLANGID(l) ((WORD)(l)>>10) +#define LANGIDFROMLCID(l) ((WORD)(l)) +#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT) +#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT) +#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT) +#define ACL_REVISION 2 +#define ACL_REVISION_DS 4 +#define ACL_REVISION1 1 +#define ACL_REVISION2 2 +#define ACL_REVISION3 3 +#define ACL_REVISION4 4 +#define MIN_ACL_REVISION 2 +#define MAX_ACL_REVISION 4 +#define MINCHAR 0x80 +#define MAXCHAR 0x7f +#define MINSHORT 0x8000 +#define MAXSHORT 0x7fff +#define MINLONG 0x80000000 +#define MAXLONG 0x7fffffff +#define MAXBYTE 0xff +#define MAXWORD 0xffff +#define MAXDWORD 0xffffffff +#define PROCESSOR_INTEL_386 386 +#define PROCESSOR_INTEL_486 486 +#define PROCESSOR_INTEL_PENTIUM 586 +#define PROCESSOR_MIPS_R4000 4000 +#define PROCESSOR_ALPHA_21064 21064 +#define PROCESSOR_ARCHITECTURE_INTEL 0 +#define PROCESSOR_ARCHITECTURE_MIPS 1 +#define PROCESSOR_ARCHITECTURE_ALPHA 2 +#define PROCESSOR_ARCHITECTURE_PPC 3 +#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF +#define PF_FLOATING_POINT_PRECISION_ERRATA 0 +#define PF_FLOATING_POINT_EMULATED 1 +#define PF_COMPARE_EXCHANGE_DOUBLE 2 +#define PF_MMX_INSTRUCTIONS_AVAILABLE 3 +#define PF_PPC_MOVEMEM_64BIT_OK 4 +#define PF_ALPHA_BYTE_INSTRUCTIONS 5 +#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6 +#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7 +#define PF_RDTSC_INSTRUCTION_AVAILABLE 8 +#define PF_PAE_ENABLED 9 +#define PAGE_READONLY 2 +#define PAGE_READWRITE 4 +#define PAGE_WRITECOPY 8 +#define FILE_ACTION_ADDED 1 +#define FILE_ACTION_REMOVED 2 +#define FILE_ACTION_MODIFIED 3 +#define FILE_ACTION_RENAMED_OLD_NAME 4 +#define FILE_ACTION_RENAMED_NEW_NAME 5 +#define HEAP_NO_SERIALIZE 1 +#define HEAP_GROWABLE 2 +#define HEAP_GENERATE_EXCEPTIONS 4 +#define HEAP_ZERO_MEMORY 8 +#define HEAP_REALLOC_IN_PLACE_ONLY 16 +#define HEAP_TAIL_CHECKING_ENABLED 32 +#define HEAP_FREE_CHECKING_ENABLED 64 +#define HEAP_DISABLE_COALESCE_ON_FREE 128 +#define HEAP_CREATE_ALIGN_16 0x0000 +#define HEAP_CREATE_ENABLE_TRACING 0x20000 +#define HEAP_MAXIMUM_TAG 0xFFF +#define HEAP_PSEUDO_TAG_FLAG 0x8000 +#define HEAP_TAG_SHIFT 16 +#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16))) +#define KEY_QUERY_VALUE 1 +#define KEY_SET_VALUE 2 +#define KEY_CREATE_SUB_KEY 4 +#define KEY_ENUMERATE_SUB_KEYS 8 +#define KEY_NOTIFY 16 +#define KEY_CREATE_LINK 32 +#define KEY_WRITE 0x20006 +#define KEY_EXECUTE 0x20019 +#define KEY_READ 0x20019 +#define KEY_ALL_ACCESS 0xf003f +#define REG_WHOLE_HIVE_VOLATILE 1 +#define REG_REFRESH_HIVE 2 +#define REG_NO_LAZY_FLUSH 4 +#define REG_OPTION_RESERVED 0 +#define REG_OPTION_NON_VOLATILE 0 +#define REG_OPTION_VOLATILE 1 +#define REG_OPTION_CREATE_LINK 2 +#define REG_OPTION_BACKUP_RESTORE 4 +#define REG_OPTION_OPEN_LINK 8 +#define REG_LEGAL_OPTION 15 +#define OWNER_SECURITY_INFORMATION 1 +#define GROUP_SECURITY_INFORMATION 2 +#define DACL_SECURITY_INFORMATION 4 +#define SACL_SECURITY_INFORMATION 8 +#define MAXIMUM_PROCESSORS 32 +#define PAGE_EXECUTE 16 +#define PAGE_EXECUTE_READ 32 +#define PAGE_EXECUTE_READWRITE 64 +#define PAGE_GUARD 256 +#define PAGE_NOACCESS 1 +#define PAGE_NOCACHE 512 +#define MEM_COMMIT 0x1000 +#define MEM_RESERVE 0x2000 +#define MEM_DECOMMIT 0x4000 +#define MEM_RELEASE 0x8000 +#define MEM_FREE 0x10000 +#define MEM_PRIVATE 0x20000 +#define MEM_MAPPED 0x40000 +#define MEM_RESET 0x80000 +#define MEM_TOP_DOWN 0x100000 +#define MEM_WRITE_WATCH 0x200000 /* 98/Me */ +#define MEM_PHYSICAL 0x400000 +#define MEM_4MB_PAGES 0x80000000 +#define MEM_IMAGE 16777216 +#define SEC_FILE 0x800000 +#define SEC_IMAGE 0x1000000 +#define SEC_VLM 0x2000000 +#define SEC_RESERVE 0x4000000 +#define SEC_COMMIT 0x8000000 +#define SEC_NOCACHE 0x10000000 +#define PAGE_EXECUTE_WRITECOPY 128 +#define SECTION_EXTEND_SIZE 16 +#define SECTION_MAP_READ 4 +#define SECTION_MAP_WRITE 2 +#define SECTION_QUERY 1 +#define SECTION_ALL_ACCESS 0xf001f +#define MESSAGE_RESOURCE_UNICODE 1 +#define RTL_CRITSECT_TYPE 0 +#define RTL_RESOURCE_TYPE 1 +#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f)) +#define IMAGE_SIZEOF_FILE_HEADER 20 +#define IMAGE_FILE_RELOCS_STRIPPED 1 +#define IMAGE_FILE_EXECUTABLE_IMAGE 2 +#define IMAGE_FILE_LINE_NUMS_STRIPPED 4 +#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8 +#define IMAGE_FILE_BYTES_REVERSED_LO 128 +#define IMAGE_FILE_32BIT_MACHINE 256 +#define IMAGE_FILE_DEBUG_STRIPPED 512 +#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024 +#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048 +#define IMAGE_FILE_SYSTEM 4096 +#define IMAGE_FILE_DLL 8192 +#define IMAGE_FILE_UP_SYSTEM_ONLY 16384 +#define IMAGE_FILE_BYTES_REVERSED_HI 32768 +#define IMAGE_FILE_MACHINE_UNKNOWN 0 +#define IMAGE_FILE_MACHINE_I386 332 +#define IMAGE_FILE_MACHINE_R3000 354 +#define IMAGE_FILE_MACHINE_R4000 358 +#define IMAGE_FILE_MACHINE_R10000 360 +#define IMAGE_FILE_MACHINE_ALPHA 388 +#define IMAGE_FILE_MACHINE_POWERPC 496 +#define IMAGE_DOS_SIGNATURE 0x5A4D +#define IMAGE_OS2_SIGNATURE 0x454E +#define IMAGE_OS2_SIGNATURE_LE 0x454C +#define IMAGE_VXD_SIGNATURE 0x454C +#define IMAGE_NT_SIGNATURE 0x00004550 +#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b +#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 +#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944 +#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56 +#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28 +#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224 +#define IMAGE_SIZEOF_SHORT_NAME 8 +#define IMAGE_SIZEOF_SECTION_HEADER 40 +#define IMAGE_SIZEOF_SYMBOL 18 +#define IMAGE_SIZEOF_AUX_SYMBOL 18 +#define IMAGE_SIZEOF_RELOCATION 10 +#define IMAGE_SIZEOF_BASE_RELOCATION 8 +#define IMAGE_SIZEOF_LINENUMBER 6 +#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 +#define SIZEOF_RFPO_DATA 16 +#define IMAGE_SUBSYSTEM_UNKNOWN 0 +#define IMAGE_SUBSYSTEM_NATIVE 1 +#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 +#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 +#define IMAGE_SUBSYSTEM_OS2_CUI 5 +#define IMAGE_SUBSYSTEM_POSIX_CUI 7 +#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader)) +#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 +#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 +#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 +#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 +#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 +#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 +#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 +#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 +#define IMAGE_DIRECTORY_ENTRY_TLS 9 +#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 +#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 +#define IMAGE_DIRECTORY_ENTRY_IAT 12 +#define IMAGE_SCN_TYPE_NO_PAD 8 +#define IMAGE_SCN_CNT_CODE 32 +#define IMAGE_SCN_CNT_INITIALIZED_DATA 64 +#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128 +#define IMAGE_SCN_LNK_OTHER 256 +#define IMAGE_SCN_LNK_INFO 512 +#define IMAGE_SCN_LNK_REMOVE 2048 +#define IMAGE_SCN_LNK_COMDAT 4096 +#define IMAGE_SCN_MEM_FARDATA 0x8000 +#define IMAGE_SCN_MEM_PURGEABLE 0x20000 +#define IMAGE_SCN_MEM_16BIT 0x20000 +#define IMAGE_SCN_MEM_LOCKED 0x40000 +#define IMAGE_SCN_MEM_PRELOAD 0x80000 +#define IMAGE_SCN_ALIGN_1BYTES 0x100000 +#define IMAGE_SCN_ALIGN_2BYTES 0x200000 +#define IMAGE_SCN_ALIGN_4BYTES 0x300000 +#define IMAGE_SCN_ALIGN_8BYTES 0x400000 +#define IMAGE_SCN_ALIGN_16BYTES 0x500000 +#define IMAGE_SCN_ALIGN_32BYTES 0x600000 +#define IMAGE_SCN_ALIGN_64BYTES 0x700000 +#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000 +#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000 +#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000 +#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000 +#define IMAGE_SCN_MEM_SHARED 0x10000000 +#define IMAGE_SCN_MEM_EXECUTE 0x20000000 +#define IMAGE_SCN_MEM_READ 0x40000000 +#define IMAGE_SCN_MEM_WRITE 0x80000000 +#define IMAGE_SYM_UNDEFINED 0 +#define IMAGE_SYM_ABSOLUTE (-1) +#define IMAGE_SYM_DEBUG (-2) +#define IMAGE_SYM_TYPE_NULL 0 +#define IMAGE_SYM_TYPE_VOID 1 +#define IMAGE_SYM_TYPE_CHAR 2 +#define IMAGE_SYM_TYPE_SHORT 3 +#define IMAGE_SYM_TYPE_INT 4 +#define IMAGE_SYM_TYPE_LONG 5 +#define IMAGE_SYM_TYPE_FLOAT 6 +#define IMAGE_SYM_TYPE_DOUBLE 7 +#define IMAGE_SYM_TYPE_STRUCT 8 +#define IMAGE_SYM_TYPE_UNION 9 +#define IMAGE_SYM_TYPE_ENUM 10 +#define IMAGE_SYM_TYPE_MOE 11 +#define IMAGE_SYM_TYPE_BYTE 12 +#define IMAGE_SYM_TYPE_WORD 13 +#define IMAGE_SYM_TYPE_UINT 14 +#define IMAGE_SYM_TYPE_DWORD 15 +#define IMAGE_SYM_TYPE_PCODE 32768 +#define IMAGE_SYM_DTYPE_NULL 0 +#define IMAGE_SYM_DTYPE_POINTER 1 +#define IMAGE_SYM_DTYPE_FUNCTION 2 +#define IMAGE_SYM_DTYPE_ARRAY 3 +#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1) +#define IMAGE_SYM_CLASS_NULL 0 +#define IMAGE_SYM_CLASS_AUTOMATIC 1 +#define IMAGE_SYM_CLASS_EXTERNAL 2 +#define IMAGE_SYM_CLASS_STATIC 3 +#define IMAGE_SYM_CLASS_REGISTER 4 +#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5 +#define IMAGE_SYM_CLASS_LABEL 6 +#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7 +#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8 +#define IMAGE_SYM_CLASS_ARGUMENT 9 +#define IMAGE_SYM_CLASS_STRUCT_TAG 10 +#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11 +#define IMAGE_SYM_CLASS_UNION_TAG 12 +#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13 +#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14 +#define IMAGE_SYM_CLASS_ENUM_TAG 15 +#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16 +#define IMAGE_SYM_CLASS_REGISTER_PARAM 17 +#define IMAGE_SYM_CLASS_BIT_FIELD 18 +#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68 +#define IMAGE_SYM_CLASS_BLOCK 100 +#define IMAGE_SYM_CLASS_FUNCTION 101 +#define IMAGE_SYM_CLASS_END_OF_STRUCT 102 +#define IMAGE_SYM_CLASS_FILE 103 +#define IMAGE_SYM_CLASS_SECTION 104 +#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105 +#define IMAGE_COMDAT_SELECT_NODUPLICATES 1 +#define IMAGE_COMDAT_SELECT_ANY 2 +#define IMAGE_COMDAT_SELECT_SAME_SIZE 3 +#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4 +#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 +#define IMAGE_COMDAT_SELECT_LARGEST 6 +#define IMAGE_COMDAT_SELECT_NEWEST 7 +#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 +#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 +#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 +#define IMAGE_REL_I386_ABSOLUTE 0 +#define IMAGE_REL_I386_DIR16 1 +#define IMAGE_REL_I386_REL16 2 +#define IMAGE_REL_I386_DIR32 6 +#define IMAGE_REL_I386_DIR32NB 7 +#define IMAGE_REL_I386_SEG12 9 +#define IMAGE_REL_I386_SECTION 10 +#define IMAGE_REL_I386_SECREL 11 +#define IMAGE_REL_I386_REL32 20 +#define IMAGE_REL_MIPS_ABSOLUTE 0 +#define IMAGE_REL_MIPS_REFHALF 1 +#define IMAGE_REL_MIPS_REFWORD 2 +#define IMAGE_REL_MIPS_JMPADDR 3 +#define IMAGE_REL_MIPS_REFHI 4 +#define IMAGE_REL_MIPS_REFLO 5 +#define IMAGE_REL_MIPS_GPREL 6 +#define IMAGE_REL_MIPS_LITERAL 7 +#define IMAGE_REL_MIPS_SECTION 10 +#define IMAGE_REL_MIPS_SECREL 11 +#define IMAGE_REL_MIPS_SECRELLO 12 +#define IMAGE_REL_MIPS_SECRELHI 13 +#define IMAGE_REL_MIPS_REFWORDNB 34 +#define IMAGE_REL_MIPS_PAIR 35 +#define IMAGE_REL_ALPHA_ABSOLUTE 0 +#define IMAGE_REL_ALPHA_REFLONG 1 +#define IMAGE_REL_ALPHA_REFQUAD 2 +#define IMAGE_REL_ALPHA_GPREL32 3 +#define IMAGE_REL_ALPHA_LITERAL 4 +#define IMAGE_REL_ALPHA_LITUSE 5 +#define IMAGE_REL_ALPHA_GPDISP 6 +#define IMAGE_REL_ALPHA_BRADDR 7 +#define IMAGE_REL_ALPHA_HINT 8 +#define IMAGE_REL_ALPHA_INLINE_REFLONG 9 +#define IMAGE_REL_ALPHA_REFHI 10 +#define IMAGE_REL_ALPHA_REFLO 11 +#define IMAGE_REL_ALPHA_PAIR 12 +#define IMAGE_REL_ALPHA_MATCH 13 +#define IMAGE_REL_ALPHA_SECTION 14 +#define IMAGE_REL_ALPHA_SECREL 15 +#define IMAGE_REL_ALPHA_REFLONGNB 16 +#define IMAGE_REL_ALPHA_SECRELLO 17 +#define IMAGE_REL_ALPHA_SECRELHI 18 +#define IMAGE_REL_PPC_ABSOLUTE 0 +#define IMAGE_REL_PPC_ADDR64 1 +#define IMAGE_REL_PPC_ADDR32 2 +#define IMAGE_REL_PPC_ADDR24 3 +#define IMAGE_REL_PPC_ADDR16 4 +#define IMAGE_REL_PPC_ADDR14 5 +#define IMAGE_REL_PPC_REL24 6 +#define IMAGE_REL_PPC_REL14 7 +#define IMAGE_REL_PPC_TOCREL16 8 +#define IMAGE_REL_PPC_TOCREL14 9 +#define IMAGE_REL_PPC_ADDR32NB 10 +#define IMAGE_REL_PPC_SECREL 11 +#define IMAGE_REL_PPC_SECTION 12 +#define IMAGE_REL_PPC_IFGLUE 13 +#define IMAGE_REL_PPC_IMGLUE 14 +#define IMAGE_REL_PPC_SECREL16 15 +#define IMAGE_REL_PPC_REFHI 16 +#define IMAGE_REL_PPC_REFLO 17 +#define IMAGE_REL_PPC_PAIR 18 +#define IMAGE_REL_PPC_TYPEMASK 255 +#define IMAGE_REL_PPC_NEG 256 +#define IMAGE_REL_PPC_BRTAKEN 512 +#define IMAGE_REL_PPC_BRNTAKEN 1024 +#define IMAGE_REL_PPC_TOCDEFN 2048 +#define IMAGE_REL_BASED_ABSOLUTE 0 +#define IMAGE_REL_BASED_HIGH 1 +#define IMAGE_REL_BASED_LOW 2 +#define IMAGE_REL_BASED_HIGHLOW 3 +#define IMAGE_REL_BASED_HIGHADJ 4 +#define IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define IMAGE_ARCHIVE_START_SIZE 8 +#define IMAGE_ARCHIVE_START "!<arch>\n" +#define IMAGE_ARCHIVE_END "`\n" +#define IMAGE_ARCHIVE_PAD "\n" +#define IMAGE_ARCHIVE_LINKER_MEMBER "/ " +#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " +#define IMAGE_ORDINAL_FLAG 0x80000000 +#define IMAGE_SNAP_BY_ORDINAL(o) ((o&IMAGE_ORDINAL_FLAG)!=0) +#define IMAGE_ORDINAL(o) (o&0xffff) +#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 +#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 +#define IMAGE_DEBUG_TYPE_UNKNOWN 0 +#define IMAGE_DEBUG_TYPE_COFF 1 +#define IMAGE_DEBUG_TYPE_CODEVIEW 2 +#define IMAGE_DEBUG_TYPE_FPO 3 +#define IMAGE_DEBUG_TYPE_MISC 4 +#define IMAGE_DEBUG_TYPE_EXCEPTION 5 +#define IMAGE_DEBUG_TYPE_FIXUP 6 +#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7 +#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8 +#define FRAME_FPO 0 +#define FRAME_TRAP 1 +#define FRAME_TSS 2 +#define FRAME_NONFPO 3 +#define IMAGE_DEBUG_MISC_EXENAME 1 +#define N_BTMASK 0x000F +#define N_TMASK 0x0030 +#define N_TMASK1 0x00C0 +#define N_TMASK2 0x00F0 +#define N_BTSHFT 4 +#define N_TSHIFT 2 +#define IS_TEXT_UNICODE_ASCII16 1 +#define IS_TEXT_UNICODE_REVERSE_ASCII16 16 +#define IS_TEXT_UNICODE_STATISTICS 2 +#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32 +#define IS_TEXT_UNICODE_CONTROLS 4 +#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64 +#define IS_TEXT_UNICODE_SIGNATURE 8 +#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128 +#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256 +#define IS_TEXT_UNICODE_ODD_LENGTH 512 +#define IS_TEXT_UNICODE_NULL_BYTES 4096 +#define IS_TEXT_UNICODE_UNICODE_MASK 15 +#define IS_TEXT_UNICODE_REVERSE_MASK 240 +#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840 +#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440 +#define SERVICE_KERNEL_DRIVER 1 +#define SERVICE_FILE_SYSTEM_DRIVER 2 +#define SERVICE_ADAPTER 4 +#define SERVICE_RECOGNIZER_DRIVER 8 +#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER) +#define SERVICE_WIN32_OWN_PROCESS 16 +#define SERVICE_WIN32_SHARE_PROCESS 32 +#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS) +#define SERVICE_INTERACTIVE_PROCESS 256 +#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS) +#define SERVICE_BOOT_START 0 +#define SERVICE_SYSTEM_START 1 +#define SERVICE_AUTO_START 2 +#define SERVICE_DEMAND_START 3 +#define SERVICE_DISABLED 4 +#define SERVICE_ERROR_IGNORE 0 +#define SERVICE_ERROR_NORMAL 1 +#define SERVICE_ERROR_SEVERE 2 +#define SERVICE_ERROR_CRITICAL 3 +#define SE_OWNER_DEFAULTED 1 +#define SE_GROUP_DEFAULTED 2 +#define SE_DACL_PRESENT 4 +#define SE_DACL_DEFAULTED 8 +#define SE_SACL_PRESENT 16 +#define SE_SACL_DEFAULTED 32 +#define SE_DACL_AUTO_INHERIT_REQ 256 +#define SE_SACL_AUTO_INHERIT_REQ 512 +#define SE_DACL_AUTO_INHERITED 1024 +#define SE_SACL_AUTO_INHERITED 2048 +#define SE_DACL_PROTECTED 4096 +#define SE_SACL_PROTECTED 8192 +#define SE_SELF_RELATIVE 0x8000 +#define SECURITY_DESCRIPTOR_MIN_LENGTH 20 +#define SECURITY_DESCRIPTOR_REVISION 1 +#define SECURITY_DESCRIPTOR_REVISION1 1 +#define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1 +#define SE_PRIVILEGE_ENABLED 2 +#define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000 +#define PRIVILEGE_SET_ALL_NECESSARY 1 +#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation +#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation +#define SECURITY_DYNAMIC_TRACKING TRUE +#define SECURITY_STATIC_TRACKING FALSE +#define TOKEN_SOURCE_LENGTH 8 +#define TOKEN_ADJUST_DEFAULT 128 +#define TOKEN_ADJUST_GROUPS 64 +#define TOKEN_ADJUST_PRIVILEGES 32 +#define TOKEN_ALL_ACCESS 0xf00ff +#define TOKEN_ASSIGN_PRIMARY 1 +#define TOKEN_DUPLICATE 2 +#define TOKEN_EXECUTE 0x20000 +#define TOKEN_IMPERSONATE 4 +#define TOKEN_QUERY 8 +#define TOKEN_QUERY_SOURCE 16 +#define TOKEN_READ 0x20008 +#define TOKEN_WRITE 0x200e0 +#define DLL_PROCESS_DETACH 0 +#define DLL_PROCESS_ATTACH 1 +#define DLL_THREAD_ATTACH 2 +#define DLL_THREAD_DETACH 3 +#define DBG_CONTINUE 0x10002 +#define DBG_TERMINATE_THREAD 0x40010003 +#define DBG_TERMINATE_PROCESS 0x40010004 +#define DBG_CONTROL_C 0x40010005 +#define DBG_CONTROL_BREAK 0x40010008 +#define DBG_EXCEPTION_NOT_HANDLED 0x80010001 +#define TAPE_ABSOLUTE_POSITION 0 +#define TAPE_LOGICAL_POSITION 1 +#define TAPE_PSEUDO_LOGICAL_POSITION 2 +#define TAPE_REWIND 0 +#define TAPE_ABSOLUTE_BLOCK 1 +#define TAPE_LOGICAL_BLOCK 2 +#define TAPE_PSEUDO_LOGICAL_BLOCK 3 +#define TAPE_SPACE_END_OF_DATA 4 +#define TAPE_SPACE_RELATIVE_BLOCKS 5 +#define TAPE_SPACE_FILEMARKS 6 +#define TAPE_SPACE_SEQUENTIAL_FMKS 7 +#define TAPE_SPACE_SETMARKS 8 +#define TAPE_SPACE_SEQUENTIAL_SMKS 9 +#define TAPE_DRIVE_FIXED 1 +#define TAPE_DRIVE_SELECT 2 +#define TAPE_DRIVE_INITIATOR 4 +#define TAPE_DRIVE_ERASE_SHORT 16 +#define TAPE_DRIVE_ERASE_LONG 32 +#define TAPE_DRIVE_ERASE_BOP_ONLY 64 +#define TAPE_DRIVE_ERASE_IMMEDIATE 128 +#define TAPE_DRIVE_TAPE_CAPACITY 256 +#define TAPE_DRIVE_TAPE_REMAINING 512 +#define TAPE_DRIVE_FIXED_BLOCK 1024 +#define TAPE_DRIVE_VARIABLE_BLOCK 2048 +#define TAPE_DRIVE_WRITE_PROTECT 4096 +#define TAPE_DRIVE_EOT_WZ_SIZE 8192 +#define TAPE_DRIVE_ECC 0x10000 +#define TAPE_DRIVE_COMPRESSION 0x20000 +#define TAPE_DRIVE_PADDING 0x40000 +#define TAPE_DRIVE_REPORT_SMKS 0x80000 +#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000 +#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000 +#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000 +#define TAPE_DRIVE_EJECT_MEDIA 0x1000000 +#define TAPE_DRIVE_CLEAN_REQUESTS 0x2000000 +#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x4000000 +#define TAPE_DRIVE_RESERVED_BIT 0x80000000 +#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001 +#define TAPE_DRIVE_TENSION 0x80000002 +#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004 +#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008 +#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010 +#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020 +#define TAPE_DRIVE_TENSION_IMMED 0x80000040 +#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080 +#define TAPE_DRIVE_SET_ECC 0x80000100 +#define TAPE_DRIVE_SET_COMPRESSION 0x80000200 +#define TAPE_DRIVE_SET_PADDING 0x80000400 +#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800 +#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000 +#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000 +#define TAPE_DRIVE_LOGICAL_BLK 0x80004000 +#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000 +#define TAPE_DRIVE_END_OF_DATA 0x80010000 +#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000 +#define TAPE_DRIVE_FILEMARKS 0x80040000 +#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000 +#define TAPE_DRIVE_SETMARKS 0x80100000 +#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000 +#define TAPE_DRIVE_REVERSE_POSITION 0x80400000 +#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000 +#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000 +#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000 +#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000 +#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000 +#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000 +#define TAPE_DRIVE_FORMAT 0xA0000000 +#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000 +#define TAPE_DRIVE_HIGH_FEATURES 0x80000000 +#define TAPE_FIXED_PARTITIONS 0 +#define TAPE_INITIATOR_PARTITIONS 2 +#define TAPE_SELECT_PARTITIONS 1 +#define TAPE_FILEMARKS 1 +#define TAPE_LONG_FILEMARKS 3 +#define TAPE_SETMARKS 0 +#define TAPE_SHORT_FILEMARKS 2 +#define TAPE_ERASE_LONG 1 +#define TAPE_ERASE_SHORT 0 +#define TAPE_LOAD 0 +#define TAPE_UNLOAD 1 +#define TAPE_TENSION 2 +#define TAPE_LOCK 3 +#define TAPE_UNLOCK 4 +#define TAPE_FORMAT 5 +#define VER_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 +#define VER_NT_WORKSTATION 1 +#define VER_NT_DOMAIN_CONTROLLER 2 +#define VER_NT_SERVER 3 +#define VER_SUITE_SMALLBUSINESS 1 +#define VER_SUITE_ENTERPRISE 2 +#define VER_SUITE_BACKOFFICE 4 +#define VER_SUITE_TERMINAL 16 +#define VER_SUITE_SMALLBUSINESS_RESTRICTED 32 +#define VER_SUITE_DATACENTER 128 +#define VER_SUITE_PERSONAL 512 +#define BTYPE(x) ((x)&N_BTMASK) +#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)) +#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT)) +#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT)) +#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG) +#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK)) +#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK)) +#define TLS_MINIMUM_AVAILABLE 64 +#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer) +#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) +#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384 +#define IO_REPARSE_TAG_RESERVED_ZERO 0 +#define IO_REPARSE_TAG_RESERVED_ONE 1 +#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE +#define IsReparseTagMicrosoft(x) ((x)&0x80000000) +#define IsReparseTagHighLatency(x) ((x)&0x40000000) +#define IsReparseTagNameSurrogate(x) ((x)&0x20000000) +#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF +#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE)) +#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO +#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 +#ifndef RC_INVOKED +typedef DWORD ACCESS_MASK, *PACCESS_MASK; +#ifndef _GUID_DEFINED /* also defined in basetyps.h */ +#define _GUID_DEFINED +typedef struct _GUID { + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} GUID, *REFGUID, *LPGUID; +#define SYSTEM_LUID { QuadPart:999 } +#endif /* _GUID_DEFINED */ +typedef struct _GENERIC_MAPPING { + ACCESS_MASK GenericRead; + ACCESS_MASK GenericWrite; + ACCESS_MASK GenericExecute; + ACCESS_MASK GenericAll; +} GENERIC_MAPPING, *PGENERIC_MAPPING; +typedef struct _ACE_HEADER { + BYTE AceType; + BYTE AceFlags; + WORD AceSize; +} ACE_HEADER; +typedef struct _ACCESS_ALLOWED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_ALLOWED_ACE; +typedef struct _ACCESS_DENIED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_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,*PSYSTEM_ALARM_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 _ACL { + BYTE AclRevision; + BYTE Sbz1; + WORD AclSize; + WORD AceCount; + WORD Sbz2; +} ACL,*PACL; +typedef struct _ACL_REVISION_INFORMATION { + DWORD AclRevision; +} ACL_REVISION_INFORMATION; +typedef struct _ACL_SIZE_INFORMATION { + DWORD AceCount; + DWORD AclBytesInUse; + DWORD AclBytesFree; +} ACL_SIZE_INFORMATION; + +/* FIXME: add more machines */ +#ifdef _X86_ +#define SIZE_OF_80387_REGISTERS 80 +#define CONTEXT_i386 0x10000 +#define CONTEXT_i486 0x10000 +#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L) +#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L) +#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L) +#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L) +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS) +#define MAXIMUM_SUPPORTED_EXTENSION 512 +typedef struct _FLOATING_SAVE_AREA { + DWORD ControlWord; + DWORD StatusWord; + DWORD TagWord; + DWORD ErrorOffset; + DWORD ErrorSelector; + DWORD DataOffset; + DWORD DataSelector; + BYTE RegisterArea[80]; + DWORD Cr0NpxState; +} FLOATING_SAVE_AREA; +typedef struct _CONTEXT { + DWORD ContextFlags; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr6; + DWORD Dr7; + 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[MAXIMUM_SUPPORTED_EXTENSION]; +} CONTEXT; +#elif defined(_PPC_) +#define CONTEXT_CONTROL 1L +#define CONTEXT_FLOATING_POINT 2L +#define CONTEXT_INTEGER 4L +#define CONTEXT_DEBUG_REGISTERS 8L +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER) +typedef struct { + double Fpr0; + double Fpr1; + double Fpr2; + double Fpr3; + double Fpr4; + double Fpr5; + double Fpr6; + double Fpr7; + double Fpr8; + double Fpr9; + double Fpr10; + double Fpr11; + double Fpr12; + double Fpr13; + double Fpr14; + double Fpr15; + double Fpr16; + double Fpr17; + double Fpr18; + double Fpr19; + double Fpr20; + double Fpr21; + double Fpr22; + double Fpr23; + double Fpr24; + double Fpr25; + double Fpr26; + double Fpr27; + double Fpr28; + double Fpr29; + double Fpr30; + double Fpr31; + double Fpscr; + DWORD Gpr0; + DWORD Gpr1; + DWORD Gpr2; + DWORD Gpr3; + DWORD Gpr4; + DWORD Gpr5; + DWORD Gpr6; + DWORD Gpr7; + DWORD Gpr8; + DWORD Gpr9; + DWORD Gpr10; + DWORD Gpr11; + DWORD Gpr12; + DWORD Gpr13; + DWORD Gpr14; + DWORD Gpr15; + DWORD Gpr16; + DWORD Gpr17; + DWORD Gpr18; + DWORD Gpr19; + DWORD Gpr20; + DWORD Gpr21; + DWORD Gpr22; + DWORD Gpr23; + DWORD Gpr24; + DWORD Gpr25; + DWORD Gpr26; + DWORD Gpr27; + DWORD Gpr28; + DWORD Gpr29; + DWORD Gpr30; + DWORD Gpr31; + DWORD Cr; + DWORD Xer; + DWORD Msr; + DWORD Iar; + DWORD Lr; + DWORD Ctr; + DWORD ContextFlags; + DWORD Fill[3]; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr4; + DWORD Dr5; + DWORD Dr6; + DWORD Dr7; +} CONTEXT; +#elif defined(_ALPHA_) +#define CONTEXT_ALPHA 0x20000 +#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L) +#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L) +#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L) +#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER) +typedef struct _CONTEXT { + ULONGLONG FltF0; + ULONGLONG FltF1; + ULONGLONG FltF2; + ULONGLONG FltF3; + ULONGLONG FltF4; + ULONGLONG FltF5; + ULONGLONG FltF6; + ULONGLONG FltF7; + ULONGLONG FltF8; + ULONGLONG FltF9; + ULONGLONG FltF10; + ULONGLONG FltF11; + ULONGLONG FltF12; + ULONGLONG FltF13; + ULONGLONG FltF14; + ULONGLONG FltF15; + ULONGLONG FltF16; + ULONGLONG FltF17; + ULONGLONG FltF18; + ULONGLONG FltF19; + ULONGLONG FltF20; + ULONGLONG FltF21; + ULONGLONG FltF22; + ULONGLONG FltF23; + ULONGLONG FltF24; + ULONGLONG FltF25; + ULONGLONG FltF26; + ULONGLONG FltF27; + ULONGLONG FltF28; + ULONGLONG FltF29; + ULONGLONG FltF30; + ULONGLONG FltF31; + ULONGLONG IntV0; + ULONGLONG IntT0; + ULONGLONG IntT1; + ULONGLONG IntT2; + ULONGLONG IntT3; + ULONGLONG IntT4; + ULONGLONG IntT5; + ULONGLONG IntT6; + ULONGLONG IntT7; + ULONGLONG IntS0; + ULONGLONG IntS1; + ULONGLONG IntS2; + ULONGLONG IntS3; + ULONGLONG IntS4; + ULONGLONG IntS5; + ULONGLONG IntFp; + ULONGLONG IntA0; + ULONGLONG IntA1; + ULONGLONG IntA2; + ULONGLONG IntA3; + ULONGLONG IntA4; + ULONGLONG IntA5; + ULONGLONG IntT8; + ULONGLONG IntT9; + ULONGLONG IntT10; + ULONGLONG IntT11; + ULONGLONG IntRa; + ULONGLONG IntT12; + ULONGLONG IntAt; + ULONGLONG IntGp; + ULONGLONG IntSp; + ULONGLONG IntZero; + ULONGLONG Fpcr; + ULONGLONG SoftFpcr; + ULONGLONG Fir; + DWORD Psr; + DWORD ContextFlags; + DWORD Fill[4]; +} CONTEXT; +#elif defined(SHx) + +/* These are the debug or break registers on the SH3 */ +typedef struct _DEBUG_REGISTERS { + ULONG BarA; + UCHAR BasrA; + UCHAR BamrA; + USHORT BbrA; + ULONG BarB; + UCHAR BasrB; + UCHAR BamrB; + USHORT BbrB; + ULONG BdrB; + ULONG BdmrB; + USHORT Brcr; + USHORT Align; +} DEBUG_REGISTERS, *PDEBUG_REGISTERS; + +/* The following flags control the contents of the CONTEXT structure. */ + +#define CONTEXT_SH3 0x00000040 +#define CONTEXT_SH4 0x000000c0 /* CONTEXT_SH3 | 0x80 - must contain the SH3 bits */ + +#ifdef SH3 +#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L) +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS) +#else /* SH4 */ +#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L) +#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L) +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT) +#endif + +/* Context Frame */ + +/* This frame is used to store a limited processor context into the */ +/* Thread structure for CPUs which have no floating point support. */ + +typedef struct _CONTEXT { + /* The flags values within this flag control the contents of */ + /* a CONTEXT record. */ + + /* If the context record is used as an input parameter, then */ + /* for each portion of the context record controlled by a flag */ + /* whose value is set, it is assumed that that portion of the */ + /* context record contains valid context. If the context record */ + /* is being used to modify a thread's context, then only that */ + /* portion of the threads context will be modified. */ + + /* If the context record is used as an IN OUT parameter to capture */ + /* the context of a thread, then only those portions of the thread's */ + /* context corresponding to set flags will be returned. */ + + /* The context record is never used as an OUT only parameter. */ + + + ULONG ContextFlags; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_INTEGER. */ + + /* N.B. The registers RA and R15 are defined in this section, but are */ + /* considered part of the control context rather than part of the integer */ + /* context. */ + + ULONG PR; + ULONG MACH; + ULONG MACL; + ULONG GBR; + ULONG R0; + ULONG R1; + ULONG R2; + ULONG R3; + ULONG R4; + ULONG R5; + ULONG R6; + ULONG R7; + ULONG R8; + ULONG R9; + ULONG R10; + ULONG R11; + ULONG R12; + ULONG R13; + ULONG R14; + ULONG R15; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_CONTROL. */ + + /* N.B. The registers r15 and ra are defined in the integer section, */ + /* but are considered part of the control context rather than part of */ + /* the integer context. */ + + ULONG Fir; + ULONG Psr; + +#if !defined(SH3e) && !defined(SH4) + ULONG OldStuff[2]; + DEBUG_REGISTERS DebugRegisters; +#else + ULONG Fpscr; + ULONG Fpul; + ULONG FRegs[16]; +#if defined(SH4) + ULONG xFRegs[16]; +#endif +#endif +} CONTEXT; + +#elif defined(MIPS) + +/* The following flags control the contents of the CONTEXT structure. */ + +#define CONTEXT_R4000 0x00010000 /* r4000 context */ + +#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L) +#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L) +#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) + +/* Context Frame */ + +/* N.B. This frame must be exactly a multiple of 16 bytes in length. */ + +/* This frame has a several purposes: 1) it is used as an argument to */ +/* NtContinue, 2) it is used to constuct a call frame for APC delivery, */ +/* 3) it is used to construct a call frame for exception dispatching */ +/* in user mode, and 4) it is used in the user level thread creation */ +/* routines. */ + +/* The layout of the record conforms to a standard call frame. */ + + +typedef struct _CONTEXT { + + /* This section is always present and is used as an argument build */ + /* area. */ + + DWORD Argument[4]; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_FLOATING_POINT. */ + + DWORD FltF0; + DWORD FltF1; + DWORD FltF2; + DWORD FltF3; + DWORD FltF4; + DWORD FltF5; + DWORD FltF6; + DWORD FltF7; + DWORD FltF8; + DWORD FltF9; + DWORD FltF10; + DWORD FltF11; + DWORD FltF12; + DWORD FltF13; + DWORD FltF14; + DWORD FltF15; + DWORD FltF16; + DWORD FltF17; + DWORD FltF18; + DWORD FltF19; + DWORD FltF20; + DWORD FltF21; + DWORD FltF22; + DWORD FltF23; + DWORD FltF24; + DWORD FltF25; + DWORD FltF26; + DWORD FltF27; + DWORD FltF28; + DWORD FltF29; + DWORD FltF30; + DWORD FltF31; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_INTEGER. */ + + /* N.B. The registers gp, sp, and ra are defined in this section, but are */ + /* considered part of the control context rather than part of the integer */ + /* context. */ + + /* N.B. Register zero is not stored in the frame. */ + + DWORD IntZero; + DWORD IntAt; + DWORD IntV0; + DWORD IntV1; + DWORD IntA0; + DWORD IntA1; + DWORD IntA2; + DWORD IntA3; + DWORD IntT0; + DWORD IntT1; + DWORD IntT2; + DWORD IntT3; + DWORD IntT4; + DWORD IntT5; + DWORD IntT6; + DWORD IntT7; + DWORD IntS0; + DWORD IntS1; + DWORD IntS2; + DWORD IntS3; + DWORD IntS4; + DWORD IntS5; + DWORD IntS6; + DWORD IntS7; + DWORD IntT8; + DWORD IntT9; + DWORD IntK0; + DWORD IntK1; + DWORD IntGp; + DWORD IntSp; + DWORD IntS8; + DWORD IntRa; + DWORD IntLo; + DWORD IntHi; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_FLOATING_POINT. */ + + DWORD Fsr; + + /* This section is specified/returned if the ContextFlags word contains */ + /* the flag CONTEXT_CONTROL. */ + + /* N.B. The registers gp, sp, and ra are defined in the integer section, */ + /* but are considered part of the control context rather than part of */ + /* the integer context. */ + + DWORD Fir; + DWORD Psr; + + /* The flags values within this flag control the contents of */ + /* a CONTEXT record. */ + + /* If the context record is used as an input parameter, then */ + /* for each portion of the context record controlled by a flag */ + /* whose value is set, it is assumed that that portion of the */ + /* context record contains valid context. If the context record */ + /* is being used to modify a thread's context, then only that */ + /* portion of the threads context will be modified. */ + + /* If the context record is used as an IN OUT parameter to capture */ + /* the context of a thread, then only those portions of the thread's */ + /* context corresponding to set flags will be returned. */ + + /* The context record is never used as an OUT only parameter. */ + + DWORD ContextFlags; + + DWORD Fill[2]; + +} CONTEXT; +#elif defined(ARM) + +/* The following flags control the contents of the CONTEXT structure. */ + +#define CONTEXT_ARM 0x0000040 +#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L) +#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER) + +typedef struct _CONTEXT { + /* The flags values within this flag control the contents of + a CONTEXT record. + + If the context record is used as an input parameter, then + for each portion of the context record controlled by a flag + whose value is set, it is assumed that that portion of the + context record contains valid context. If the context record + is being used to modify a thread's context, then only that + portion of the threads context will be modified. + + If the context record is used as an IN OUT parameter to capture + the context of a thread, then only those portions of the thread's + context corresponding to set flags will be returned. + + The context record is never used as an OUT only parameter. */ + + ULONG ContextFlags; + + /* This section is specified/returned if the ContextFlags word contains + the flag CONTEXT_INTEGER. */ + ULONG R0; + ULONG R1; + ULONG R2; + ULONG R3; + ULONG R4; + ULONG R5; + ULONG R6; + ULONG R7; + ULONG R8; + ULONG R9; + ULONG R10; + ULONG R11; + ULONG R12; + + ULONG Sp; + ULONG Lr; + ULONG Pc; + ULONG Psr; +} CONTEXT; + +#else +#error "undefined processor type" +#endif +typedef CONTEXT *PCONTEXT,*LPCONTEXT; +typedef struct _EXCEPTION_RECORD { + DWORD ExceptionCode; + DWORD ExceptionFlags; + struct _EXCEPTION_RECORD *ExceptionRecord; + PVOID ExceptionAddress; + DWORD NumberParameters; + DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; +} EXCEPTION_RECORD,*PEXCEPTION_RECORD; +typedef struct _EXCEPTION_POINTERS { + PEXCEPTION_RECORD ExceptionRecord; + PCONTEXT ContextRecord; +} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS; +typedef union _LARGE_INTEGER { + struct { + DWORD LowPart; + LONG HighPart; + } u; +#if ! defined(NONAMELESSUNION) || defined(__cplusplus) + _ANONYMOUS_STRUCT struct { + DWORD LowPart; + LONG HighPart; + }; +#endif /* NONAMELESSUNION */ + LONGLONG QuadPart; +} LARGE_INTEGER, *PLARGE_INTEGER; +typedef union _ULARGE_INTEGER { + struct { + DWORD LowPart; + DWORD HighPart; + } u; +#if ! defined(NONAMELESSUNION) || defined(__cplusplus) + _ANONYMOUS_STRUCT struct { + DWORD LowPart; + DWORD HighPart; + }; +#endif /* NONAMELESSUNION */ + ULONGLONG QuadPart; +} ULARGE_INTEGER, *PULARGE_INTEGER; +typedef LARGE_INTEGER LUID,*PLUID; +#pragma pack(push,4) +typedef struct _LUID_AND_ATTRIBUTES { + LUID Luid; + DWORD Attributes; +} LUID_AND_ATTRIBUTES; +#pragma pack(pop) +typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; +typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY; +typedef struct _PRIVILEGE_SET { + DWORD PrivilegeCount; + DWORD Control; + LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; +} PRIVILEGE_SET,*PPRIVILEGE_SET; +typedef struct _SECURITY_ATTRIBUTES { + DWORD nLength; + LPVOID lpSecurityDescriptor; + BOOL bInheritHandle; +} SECURITY_ATTRIBUTES,*PSECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES; +typedef enum _SECURITY_IMPERSONATION_LEVEL { + SecurityAnonymous, + SecurityIdentification, + SecurityImpersonation, + SecurityDelegation +} SECURITY_IMPERSONATION_LEVEL; +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 PVOID PACCESS_TOKEN; +typedef struct _SE_IMPERSONATION_STATE { + PACCESS_TOKEN Token; + BOOLEAN CopyOnOpen; + BOOLEAN EffectiveOnly; + SECURITY_IMPERSONATION_LEVEL Level; +} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE; +typedef struct _SID_IDENTIFIER_AUTHORITY { + BYTE Value[6]; +} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY; +typedef PVOID PSID; +typedef struct _SID { + BYTE Revision; + BYTE SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + DWORD SubAuthority[ANYSIZE_ARRAY]; +} SID, *PISID; +typedef struct _SID_AND_ATTRIBUTES { + PSID Sid; + DWORD Attributes; +} SID_AND_ATTRIBUTES; +typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; +typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY; +typedef struct _TOKEN_SOURCE { + CHAR SourceName[TOKEN_SOURCE_LENGTH]; + LUID SourceIdentifier; +} TOKEN_SOURCE,*PTOKEN_SOURCE; +typedef struct _TOKEN_CONTROL { + LUID TokenId; + LUID AuthenticationId; + LUID ModifiedId; + TOKEN_SOURCE TokenSource; +} TOKEN_CONTROL,*PTOKEN_CONTROL; +typedef struct _TOKEN_DEFAULT_DACL { + PACL DefaultDacl; +} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; +typedef struct _TOKEN_GROUPS { + DWORD GroupCount; + SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; +} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; +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_PRIVILEGES { + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; +} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; +typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE; +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; +typedef struct _TOKEN_USER { + SID_AND_ATTRIBUTES User; +} TOKEN_USER, *PTOKEN_USER; +typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION; +typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL; +typedef struct _SECURITY_DESCRIPTOR { + BYTE Revision; + BYTE Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + PSID Owner; + PSID Group; + PACL Sacl; + PACL Dacl; +} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; +typedef enum _TOKEN_INFORMATION_CLASS { + TokenUser=1,TokenGroups,TokenPrivileges,TokenOwner, + TokenPrimaryGroup,TokenDefaultDacl,TokenSource,TokenType, + TokenImpersonationLevel,TokenStatistics,TokenRestrictedSids, + TokenSessionId +} TOKEN_INFORMATION_CLASS; +typedef enum _SID_NAME_USE { + SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup, + SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown +} SID_NAME_USE,*PSID_NAME_USE; +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 struct _IO_COUNTERS { + ULONGLONG ReadOperationCount; + ULONGLONG WriteOperationCount; + ULONGLONG OtherOperationCount; + ULONGLONG ReadTransferCount; + ULONGLONG WriteTransferCount; + ULONGLONG OtherTransferCount; +} IO_COUNTERS, *PIO_COUNTERS; +typedef struct _FILE_NOTIFY_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + DWORD FileNameLength; + WCHAR FileName[1]; +} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION; +typedef struct _TAPE_ERASE { + DWORD Type; + BOOLEAN Immediate; +} TAPE_ERASE,*PTAPE_ERASE; +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_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_GET_POSITION { + ULONG Type; + ULONG Partition; + ULONG OffsetLow; + ULONG OffsetHigh; +} TAPE_GET_POSITION,*PTAPE_GET_POSITION; +typedef struct _TAPE_PREPARE { + DWORD Operation; + BOOLEAN Immediate; +} TAPE_PREPARE,*PTAPE_PREPARE; +typedef struct _TAPE_SET_DRIVE_PARAMETERS { + BOOLEAN ECC; + BOOLEAN Compression; + BOOLEAN DataPadding; + BOOLEAN ReportSetmarks; + ULONG EOTWarningZoneSize; +} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS; +typedef struct _TAPE_SET_MEDIA_PARAMETERS { + ULONG BlockSize; +} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS; +typedef struct _TAPE_SET_POSITION { + DWORD Method; + DWORD Partition; + LARGE_INTEGER Offset; + BOOLEAN Immediate; +} TAPE_SET_POSITION,*PTAPE_SET_POSITION; +typedef struct _TAPE_WRITE_MARKS { + DWORD Type; + DWORD Count; + BOOLEAN Immediate; +} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS; +typedef struct _TAPE_CREATE_PARTITION { + DWORD Method; + DWORD Count; + DWORD Size; +} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION; +typedef struct _MEMORY_BASIC_INFORMATION { + PVOID BaseAddress; + PVOID AllocationBase; + DWORD AllocationProtect; + DWORD RegionSize; + DWORD State; + DWORD Protect; + DWORD Type; +} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION; +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 _LIST_ENTRY { + struct _LIST_ENTRY *Flink; + struct _LIST_ENTRY *Blink; +} LIST_ENTRY,*PLIST_ENTRY; +typedef struct _RTL_CRITICAL_SECTION_DEBUG { + WORD Type; + WORD CreatorBackTraceIndex; + struct _RTL_CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Spare[2]; +} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG; +typedef struct _RTL_CRITICAL_SECTION { + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD Reserved; +} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION; +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 _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; +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; +#pragma pack(push,2) +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) +#pragma pack(push,4) +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 Reserved1; + 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[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; +} IMAGE_OPTIONAL_HEADER,*PIMAGE_OPTIONAL_HEADER; +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; +#pragma pack(pop) +#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; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_NT_HEADERS { + DWORD Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER OptionalHeader; +} IMAGE_NT_HEADERS,*PIMAGE_NT_HEADERS; +typedef struct _IMAGE_ROM_HEADERS { + IMAGE_FILE_HEADER FileHeader; + IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; +} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS; +typedef struct _IMAGE_SECTION_HEADER { + BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; + 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(pop) +#pragma pack(push,2) +typedef struct _IMAGE_SYMBOL { + union { + BYTE ShortName[8]; + struct { + DWORD Short; + DWORD Long; + } Name; + PBYTE LongName[2]; + } N; + DWORD Value; + SHORT SectionNumber; + WORD Type; + BYTE StorageClass; + BYTE NumberOfAuxSymbols; +} IMAGE_SYMBOL,*PIMAGE_SYMBOL; +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[IMAGE_SIZEOF_SYMBOL]; + } File; + struct { + DWORD Length; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD CheckSum; + SHORT Number; + BYTE Selection; + } Section; +} IMAGE_AUX_SYMBOL,*PIMAGE_AUX_SYMBOL; +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 _IMAGE_RELOCATION { + _ANONYMOUS_UNION union { + DWORD VirtualAddress; + DWORD RelocCount; + } DUMMYUNIONNAME; + DWORD SymbolTableIndex; + WORD Type; +} IMAGE_RELOCATION,*PIMAGE_RELOCATION; +#pragma pack(pop) +#pragma pack(push,4) +typedef struct _IMAGE_BASE_RELOCATION { + DWORD VirtualAddress; + DWORD SizeOfBlock; +} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION; +#pragma pack(pop) +#pragma pack(push,2) +typedef struct _IMAGE_LINENUMBER { + union { + DWORD SymbolTableIndex; + DWORD VirtualAddress; + } Type; + WORD Linenumber; +} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER; +#pragma pack(pop) +#pragma pack(push,4) +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; + PDWORD *AddressOfFunctions; + PDWORD *AddressOfNames; + PWORD *AddressOfNameOrdinals; +} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY; +typedef struct _IMAGE_IMPORT_BY_NAME { + WORD Hint; + BYTE Name[1]; +} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; +typedef struct _IMAGE_THUNK_DATA { + union { + PBYTE ForwarderString; + PDWORD Function; + DWORD Ordinal; + PIMAGE_IMPORT_BY_NAME AddressOfData; + } u1; +} IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA; +typedef struct _IMAGE_IMPORT_DESCRIPTOR { + _ANONYMOUS_UNION union { + DWORD Characteristics; + PIMAGE_THUNK_DATA OriginalFirstThunk; + } DUMMYUNIONNAME; + DWORD TimeDateStamp; + DWORD ForwarderChain; + DWORD Name; + PIMAGE_THUNK_DATA FirstThunk; +} 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 void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID); +typedef struct _IMAGE_TLS_DIRECTORY { + DWORD StartAddressOfRawData; + DWORD EndAddressOfRawData; + PDWORD AddressOfIndex; + PIMAGE_TLS_CALLBACK *AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; +} IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY; +typedef struct _IMAGE_RESOURCE_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + WORD NumberOfNamedEntries; + WORD NumberOfIdEntries; +} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY; +_ANONYMOUS_STRUCT typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + _ANONYMOUS_UNION union { + _ANONYMOUS_STRUCT struct { + DWORD NameOffset:31; + DWORD NameIsString:1; + }DUMMYSTRUCTNAME; + DWORD Name; + WORD Id; + } DUMMYUNIONNAME; + _ANONYMOUS_UNION union { + DWORD OffsetToData; + _ANONYMOUS_STRUCT struct { + DWORD OffsetToDirectory:31; + DWORD DataIsDirectory:1; + } DUMMYSTRUCTNAME2; + } DUMMYUNIONNAME2; +} 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 _IMAGE_LOAD_CONFIG_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD GlobalFlagsClear; + DWORD GlobalFlagsSet; + DWORD CriticalSectionDefaultTimeout; + DWORD DeCommitFreeBlockThreshold; + DWORD DeCommitTotalFreeThreshold; + PVOID LockPrefixTable; + DWORD MaximumAllocationSize; + DWORD VirtualMemoryThreshold; + DWORD ProcessHeapFlags; + DWORD Reserved[4]; +} IMAGE_LOAD_CONFIG_DIRECTORY,*PIMAGE_LOAD_CONFIG_DIRECTORY; +typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + DWORD EndAddress; + PVOID ExceptionHandler; + PVOID HandlerData; + DWORD PrologEndAddress; +} IMAGE_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 _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_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 Reserved[3]; +} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER; +#pragma pack(pop) +typedef enum _CM_SERVICE_NODE_TYPE { + DriverType=SERVICE_KERNEL_DRIVER, + FileSystemType=SERVICE_FILE_SYSTEM_DRIVER, + Win32ServiceOwnProcess=SERVICE_WIN32_OWN_PROCESS, + Win32ServiceShareProcess=SERVICE_WIN32_SHARE_PROCESS, + AdapterType=SERVICE_ADAPTER, + RecognizerType=SERVICE_RECOGNIZER_DRIVER +} SERVICE_NODE_TYPE; +typedef enum _CM_SERVICE_LOAD_TYPE { + BootLoad=SERVICE_BOOT_START, + SystemLoad=SERVICE_SYSTEM_START, + AutoLoad=SERVICE_AUTO_START, + DemandLoad=SERVICE_DEMAND_START, + DisableLoad=SERVICE_DISABLED +} SERVICE_LOAD_TYPE; +typedef enum _CM_ERROR_CONTROL_TYPE { + IgnoreError=SERVICE_ERROR_IGNORE, + NormalError=SERVICE_ERROR_NORMAL, + SevereError=SERVICE_ERROR_SEVERE, + CriticalError=SERVICE_ERROR_CRITICAL +} SERVICE_ERROR_TYPE; +typedef struct _NT_TIB { + struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; + PVOID StackBase; + PVOID StackLimit; + PVOID SubSystemTib; + _ANONYMOUS_UNION union { + PVOID FiberData; + DWORD Version; + } DUMMYUNIONNAME; + PVOID ArbitraryUserPointer; + struct _NT_TIB *Self; +} NT_TIB,*PNT_TIB; +typedef struct _REPARSE_DATA_BUFFER { + DWORD ReparseTag; + WORD ReparseDataLength; + WORD Reserved; + _ANONYMOUS_UNION union { + struct { + WORD SubstituteNameOffset; + WORD SubstituteNameLength; + WORD PrintNameOffset; + WORD PrintNameLength; + WCHAR PathBuffer[1]; + } SymbolicLinkReparseBuffer; + struct { + WORD SubstituteNameOffset; + WORD SubstituteNameLength; + WORD PrintNameOffset; + WORD PrintNameLength; + WCHAR PathBuffer[1]; + } MountPointReparseBuffer; + struct { + BYTE DataBuffer[1]; + } GenericReparseBuffer; + } DUMMYUNIONNAME; +} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; +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; +typedef struct _REPARSE_POINT_INFORMATION { + WORD ReparseDataLength; + WORD UnparsedNameLength; +} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION; + +#ifdef UNICODE +typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; +#else +typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO; +typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX; +#endif + +#if defined(__GNUC__) + +PVOID GetCurrentFiber(void); +PVOID GetFiberData(void); + +PVOID GetCurrentFiber(void); +extern __inline__ PVOID GetCurrentFiber(void) +{ + void* ret; + __asm__ volatile ( + "movl %%fs:0x10,%0" + : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */ + : + ); + return ret; +} + +PVOID GetFiberData(void); +extern __inline__ PVOID GetFiberData(void) +{ + void* ret; + __asm__ volatile ( + "movl %%fs:0x10,%0\n" + "movl (%0),%0" + : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */ + : + ); + return ret; +} + +#else + +extern PVOID GetCurrentFiber(void); +#pragma aux GetCurrentFiber = \ + "mov eax, dword ptr fs:0x10" \ + value [eax] \ + modify [eax]; + +extern PVOID GetFiberData(void); +#pragma aux GetFiberData = \ + "mov eax, dword ptr fs:0x10" \ + "mov eax, [eax]" \ + value [eax] \ + modify [eax]; + +#endif /* __GNUC__ */ + +#endif +#ifdef __cplusplus +} +#endif +#endif + diff --git a/win32/include/winapi/winreg.h b/win32/include/winapi/winreg.h index 712d055..21020b8 100644 --- a/win32/include/winapi/winreg.h +++ b/win32/include/winapi/winreg.h @@ -1,159 +1,159 @@ -#ifndef _WINREG_H
-#define _WINREG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
-#define HKEY_CURRENT_USER ((HKEY)0x80000001)
-#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
-#define HKEY_USERS ((HKEY)0x80000003)
-#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
-#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
-#define HKEY_DYN_DATA ((HKEY)0x80000006)
-#define REG_OPTION_VOLATILE 1
-#define REG_OPTION_NON_VOLATILE 0
-#define REG_CREATED_NEW_KEY 1
-#define REG_OPENED_EXISTING_KEY 2
-#define REG_NONE 0
-#define REG_SZ 1
-#define REG_EXPAND_SZ 2
-#define REG_BINARY 3
-#define REG_DWORD 4
-#define REG_DWORD_BIG_ENDIAN 5
-#define REG_DWORD_LITTLE_ENDIAN 4
-#define REG_LINK 6
-#define REG_MULTI_SZ 7
-#define REG_RESOURCE_LIST 8
-#define REG_FULL_RESOURCE_DESCRIPTOR 9
-#define REG_RESOURCE_REQUIREMENTS_LIST 10
-#define REG_NOTIFY_CHANGE_NAME 1
-#define REG_NOTIFY_CHANGE_ATTRIBUTES 2
-#define REG_NOTIFY_CHANGE_LAST_SET 4
-#define REG_NOTIFY_CHANGE_SECURITY 8
-
-#ifndef RC_INVOKED
-typedef ACCESS_MASK REGSAM;
-typedef struct value_entA {
- LPSTR ve_valuename;
- DWORD ve_valuelen;
- DWORD ve_valueptr;
- DWORD ve_type;
-} VALENTA,*PVALENTA;
-typedef struct value_entW {
- LPWSTR ve_valuename;
- DWORD ve_valuelen;
- DWORD ve_valueptr;
- DWORD ve_type;
-} VALENTW,*PVALENTW;
-BOOL WINAPI AbortSystemShutdownA(LPCSTR);
-BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
-BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
-BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
-LONG WINAPI RegCloseKey(HKEY);
-LONG WINAPI RegConnectRegistryA(LPSTR,HKEY,PHKEY);
-LONG WINAPI RegConnectRegistryW(LPWSTR,HKEY,PHKEY);
-LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
-LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
-LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
-LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
-LONG WINAPI RegDeleteValueA (HKEY,LPCSTR);
-LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
-LONG WINAPI RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD);
-LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
-LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
-LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
-LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegFlushKey(HKEY);
-LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
-LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
-LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
-LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
-LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
-LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
-LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
-LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
-LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD);
-LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD);
-LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
-LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
-LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
-LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
-LONG WINAPI RegRestoreKeyA (HKEY,LPCSTR,DWORD);
-LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
-LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
-LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
-LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
-LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
-LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
-LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
-LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
-LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
-
-#ifdef UNICODE
-typedef VALENTW VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownW
-#define InitiateSystemShutdown InitiateSystemShutdownW
-#define RegConnectRegistry RegConnectRegistryW
-#define RegCreateKey RegCreateKeyW
-#define RegCreateKeyEx RegCreateKeyExW
-#define RegDeleteKey RegDeleteKeyW
-#define RegDeleteValue RegDeleteValueW
-#define RegEnumKey RegEnumKeyW
-#define RegEnumKeyEx RegEnumKeyExW
-#define RegEnumValue RegEnumValueW
-#define RegLoadKey RegLoadKeyW
-#define RegOpenKey RegOpenKeyW
-#define RegOpenKeyEx RegOpenKeyExW
-#define RegQueryInfoKey RegQueryInfoKeyW
-#define RegQueryMultipleValues RegQueryMultipleValuesW
-#define RegQueryValue RegQueryValueW
-#define RegQueryValueEx RegQueryValueExW
-#define RegReplaceKey RegReplaceKeyW
-#define RegRestoreKey RegRestoreKeyW
-#define RegSaveKey RegSaveKeyW
-#define RegSetValue RegSetValueW
-#define RegSetValueEx RegSetValueExW
-#define RegUnLoadKey RegUnLoadKeyW
-#else
-typedef VALENTA VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownA
-#define InitiateSystemShutdown InitiateSystemShutdownA
-#define RegConnectRegistry RegConnectRegistryA
-#define RegCreateKey RegCreateKeyA
-#define RegCreateKeyEx RegCreateKeyExA
-#define RegDeleteKey RegDeleteKeyA
-#define RegDeleteValue RegDeleteValueA
-#define RegEnumKey RegEnumKeyA
-#define RegEnumKeyEx RegEnumKeyExA
-#define RegEnumValue RegEnumValueA
-#define RegLoadKey RegLoadKeyA
-#define RegOpenKey RegOpenKeyA
-#define RegOpenKeyEx RegOpenKeyExA
-#define RegQueryInfoKey RegQueryInfoKeyA
-#define RegQueryMultipleValues RegQueryMultipleValuesA
-#define RegQueryValue RegQueryValueA
-#define RegQueryValueEx RegQueryValueExA
-#define RegReplaceKey RegReplaceKeyA
-#define RegRestoreKey RegRestoreKeyA
-#define RegSaveKey RegSaveKeyA
-#define RegSetValue RegSetValueA
-#define RegSetValueEx RegSetValueExA
-#define RegUnLoadKey RegUnLoadKeyA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINREG_H +#define _WINREG_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define HKEY_CLASSES_ROOT ((HKEY)0x80000000) +#define HKEY_CURRENT_USER ((HKEY)0x80000001) +#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002) +#define HKEY_USERS ((HKEY)0x80000003) +#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004) +#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005) +#define HKEY_DYN_DATA ((HKEY)0x80000006) +#define REG_OPTION_VOLATILE 1 +#define REG_OPTION_NON_VOLATILE 0 +#define REG_CREATED_NEW_KEY 1 +#define REG_OPENED_EXISTING_KEY 2 +#define REG_NONE 0 +#define REG_SZ 1 +#define REG_EXPAND_SZ 2 +#define REG_BINARY 3 +#define REG_DWORD 4 +#define REG_DWORD_BIG_ENDIAN 5 +#define REG_DWORD_LITTLE_ENDIAN 4 +#define REG_LINK 6 +#define REG_MULTI_SZ 7 +#define REG_RESOURCE_LIST 8 +#define REG_FULL_RESOURCE_DESCRIPTOR 9 +#define REG_RESOURCE_REQUIREMENTS_LIST 10 +#define REG_NOTIFY_CHANGE_NAME 1 +#define REG_NOTIFY_CHANGE_ATTRIBUTES 2 +#define REG_NOTIFY_CHANGE_LAST_SET 4 +#define REG_NOTIFY_CHANGE_SECURITY 8 + +#ifndef RC_INVOKED +typedef ACCESS_MASK REGSAM; +typedef struct value_entA { + LPSTR ve_valuename; + DWORD ve_valuelen; + DWORD ve_valueptr; + DWORD ve_type; +} VALENTA,*PVALENTA; +typedef struct value_entW { + LPWSTR ve_valuename; + DWORD ve_valuelen; + DWORD ve_valueptr; + DWORD ve_type; +} VALENTW,*PVALENTW; +BOOL WINAPI AbortSystemShutdownA(LPCSTR); +BOOL WINAPI AbortSystemShutdownW(LPCWSTR); +BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL); +BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL); +LONG WINAPI RegCloseKey(HKEY); +LONG WINAPI RegConnectRegistryA(LPSTR,HKEY,PHKEY); +LONG WINAPI RegConnectRegistryW(LPWSTR,HKEY,PHKEY); +LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY); +LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); +LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD); +LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY); +LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR); +LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR); +LONG WINAPI RegDeleteValueA (HKEY,LPCSTR); +LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR); +LONG WINAPI RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD); +LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD); +LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME); +LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME); +LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegFlushKey(HKEY); +LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD); +LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR); +LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR); +LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL); +LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY); +LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY); +LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY); +LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY); +LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); +LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); +LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD); +LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD); +LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG); +LONG WINAPI RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD); +LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG); +LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR); +LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR); +LONG WINAPI RegRestoreKeyA (HKEY,LPCSTR,DWORD); +LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD); +LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES); +LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES); +LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD); +LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD); +LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD); +LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD); +LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR); +LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR); + +#ifdef UNICODE +typedef VALENTW VALENT,*PVALENT; +#define AbortSystemShutdown AbortSystemShutdownW +#define InitiateSystemShutdown InitiateSystemShutdownW +#define RegConnectRegistry RegConnectRegistryW +#define RegCreateKey RegCreateKeyW +#define RegCreateKeyEx RegCreateKeyExW +#define RegDeleteKey RegDeleteKeyW +#define RegDeleteValue RegDeleteValueW +#define RegEnumKey RegEnumKeyW +#define RegEnumKeyEx RegEnumKeyExW +#define RegEnumValue RegEnumValueW +#define RegLoadKey RegLoadKeyW +#define RegOpenKey RegOpenKeyW +#define RegOpenKeyEx RegOpenKeyExW +#define RegQueryInfoKey RegQueryInfoKeyW +#define RegQueryMultipleValues RegQueryMultipleValuesW +#define RegQueryValue RegQueryValueW +#define RegQueryValueEx RegQueryValueExW +#define RegReplaceKey RegReplaceKeyW +#define RegRestoreKey RegRestoreKeyW +#define RegSaveKey RegSaveKeyW +#define RegSetValue RegSetValueW +#define RegSetValueEx RegSetValueExW +#define RegUnLoadKey RegUnLoadKeyW +#else +typedef VALENTA VALENT,*PVALENT; +#define AbortSystemShutdown AbortSystemShutdownA +#define InitiateSystemShutdown InitiateSystemShutdownA +#define RegConnectRegistry RegConnectRegistryA +#define RegCreateKey RegCreateKeyA +#define RegCreateKeyEx RegCreateKeyExA +#define RegDeleteKey RegDeleteKeyA +#define RegDeleteValue RegDeleteValueA +#define RegEnumKey RegEnumKeyA +#define RegEnumKeyEx RegEnumKeyExA +#define RegEnumValue RegEnumValueA +#define RegLoadKey RegLoadKeyA +#define RegOpenKey RegOpenKeyA +#define RegOpenKeyEx RegOpenKeyExA +#define RegQueryInfoKey RegQueryInfoKeyA +#define RegQueryMultipleValues RegQueryMultipleValuesA +#define RegQueryValue RegQueryValueA +#define RegQueryValueEx RegQueryValueExA +#define RegReplaceKey RegReplaceKeyA +#define RegRestoreKey RegRestoreKeyA +#define RegSaveKey RegSaveKeyA +#define RegSetValue RegSetValueA +#define RegSetValueEx RegSetValueExA +#define RegUnLoadKey RegUnLoadKeyA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/win32/include/winapi/winsvc.h b/win32/include/winapi/winsvc.h index e8802ee..ae60d46 100644 --- a/win32/include/winapi/winsvc.h +++ b/win32/include/winapi/winsvc.h @@ -1,309 +1,309 @@ -#ifndef _WINSVC_H
-#define _WINSVC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
-#define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
-#define SERVICES_FAILED_DATABASEA "ServicesFailed"
-#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
-#define SC_GROUP_IDENTIFIERA '+'
-#define SC_GROUP_IDENTIFIERW L'+'
-#define SC_MANAGER_ALL_ACCESS 0xf003f
-#define SC_MANAGER_CONNECT 1
-#define SC_MANAGER_CREATE_SERVICE 2
-#define SC_MANAGER_ENUMERATE_SERVICE 4
-#define SC_MANAGER_LOCK 8
-#define SC_MANAGER_QUERY_LOCK_STATUS 16
-#define SC_MANAGER_MODIFY_BOOT_CONFIG 32
-#define SERVICE_NO_CHANGE (-1)
-#define SERVICE_STOPPED 1
-#define SERVICE_START_PENDING 2
-#define SERVICE_STOP_PENDING 3
-#define SERVICE_RUNNING 4
-#define SERVICE_CONTINUE_PENDING 5
-#define SERVICE_PAUSE_PENDING 6
-#define SERVICE_PAUSED 7
-#define SERVICE_ACCEPT_STOP 1
-#define SERVICE_ACCEPT_PAUSE_CONTINUE 2
-#define SERVICE_ACCEPT_SHUTDOWN 4
-#define SERVICE_ACCEPT_PARAMCHANGE 8
-#define SERVICE_ACCEPT_NETBINDCHANGE 16
-#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 32
-#define SERVICE_ACCEPT_POWEREVENT 64
-#define SERVICE_ACCEPT_SESSIONCHANGE 128
-#define SERVICE_CONTROL_STOP 1
-#define SERVICE_CONTROL_PAUSE 2
-#define SERVICE_CONTROL_CONTINUE 3
-#define SERVICE_CONTROL_INTERROGATE 4
-#define SERVICE_CONTROL_SHUTDOWN 5
-#define SERVICE_CONTROL_PARAMCHANGE 6
-#define SERVICE_CONTROL_NETBINDADD 7
-#define SERVICE_CONTROL_NETBINDREMOVE 8
-#define SERVICE_CONTROL_NETBINDENABLE 9
-#define SERVICE_CONTROL_NETBINDDISABLE 10
-#define SERVICE_CONTROL_DEVICEEVENT 11
-#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12
-#define SERVICE_CONTROL_POWEREVENT 13
-#define SERVICE_CONTROL_SESSIONCHANGE 14
-#define SERVICE_ACTIVE 1
-#define SERVICE_INACTIVE 2
-#define SERVICE_STATE_ALL 3
-#define SERVICE_QUERY_CONFIG 1
-#define SERVICE_CHANGE_CONFIG 2
-#define SERVICE_QUERY_STATUS 4
-#define SERVICE_ENUMERATE_DEPENDENTS 8
-#define SERVICE_START 16
-#define SERVICE_STOP 32
-#define SERVICE_PAUSE_CONTINUE 64
-#define SERVICE_INTERROGATE 128
-#define SERVICE_USER_DEFINED_CONTROL 256
-#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL)
-#define SERVICE_RUNS_IN_SYSTEM_PROCESS 1
-#define SERVICE_CONFIG_DESCRIPTION 1
-#define SERVICE_CONFIG_FAILURE_ACTIONS 2
-
-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 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 _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 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 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 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 void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
-typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
-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;
-DECLARE_HANDLE(SC_HANDLE);
-typedef SC_HANDLE *LPSC_HANDLE;
-typedef PVOID SC_LOCK;
-typedef DWORD SERVICE_STATUS_HANDLE;
-typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD);
-typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
-typedef struct _SERVICE_DESCRIPTIONA {
- LPSTR lpDescription;
-} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
-typedef struct _SERVICE_DESCRIPTIONW {
- LPWSTR lpDescription;
-} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
-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;
-
-BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
-BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
-BOOL WINAPI CloseServiceHandle(SC_HANDLE);
-BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
-SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
-SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI DeleteService(SC_HANDLE);
-BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
-BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
-BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE);
-BOOL WINAPI NotifyBootConfigStatus(BOOL);
-SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
-SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
-SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
-SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
-BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
-BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
-BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
-BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
-BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
-BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
-BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
-BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA);
-BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
-BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR);
-BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
-
-#ifdef UNICODE
-typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
-#define ChangeServiceConfig ChangeServiceConfigW
-#define ChangeServiceConfig2 ChangeServiceConfig2W
-#define CreateService CreateServiceW
-#define EnumDependentServices EnumDependentServicesW
-#define EnumServicesStatus EnumServicesStatusW
-#define EnumServicesStatusEx EnumServicesStatusExW
-#define GetServiceDisplayName GetServiceDisplayNameW
-#define GetServiceKeyName GetServiceKeyNameW
-#define OpenSCManager OpenSCManagerW
-#define OpenService OpenServiceW
-#define QueryServiceConfig QueryServiceConfigW
-#define QueryServiceConfig2 QueryServiceConfig2W
-#define QueryServiceLockStatus QueryServiceLockStatusW
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
-#define StartService StartServiceW
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
-#else
-typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
-#define ChangeServiceConfig ChangeServiceConfigA
-#define ChangeServiceConfig2 ChangeServiceConfig2A
-#define CreateService CreateServiceA
-#define EnumDependentServices EnumDependentServicesA
-#define EnumServicesStatus EnumServicesStatusA
-#define EnumServicesStatusEx EnumServicesStatusExA
-#define GetServiceDisplayName GetServiceDisplayNameA
-#define GetServiceKeyName GetServiceKeyNameA
-#define OpenSCManager OpenSCManagerA
-#define OpenService OpenServiceA
-#define QueryServiceConfig QueryServiceConfigA
-#define QueryServiceConfig2 QueryServiceConfig2A
-#define QueryServiceLockStatus QueryServiceLockStatusA
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
-#define StartService StartServiceA
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINSVC_H */
+#ifndef _WINSVC_H +#define _WINSVC_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define SERVICES_ACTIVE_DATABASEA "ServicesActive" +#define SERVICES_ACTIVE_DATABASEW L"ServicesActive" +#define SERVICES_FAILED_DATABASEA "ServicesFailed" +#define SERVICES_FAILED_DATABASEW L"ServicesFailed" +#define SC_GROUP_IDENTIFIERA '+' +#define SC_GROUP_IDENTIFIERW L'+' +#define SC_MANAGER_ALL_ACCESS 0xf003f +#define SC_MANAGER_CONNECT 1 +#define SC_MANAGER_CREATE_SERVICE 2 +#define SC_MANAGER_ENUMERATE_SERVICE 4 +#define SC_MANAGER_LOCK 8 +#define SC_MANAGER_QUERY_LOCK_STATUS 16 +#define SC_MANAGER_MODIFY_BOOT_CONFIG 32 +#define SERVICE_NO_CHANGE (-1) +#define SERVICE_STOPPED 1 +#define SERVICE_START_PENDING 2 +#define SERVICE_STOP_PENDING 3 +#define SERVICE_RUNNING 4 +#define SERVICE_CONTINUE_PENDING 5 +#define SERVICE_PAUSE_PENDING 6 +#define SERVICE_PAUSED 7 +#define SERVICE_ACCEPT_STOP 1 +#define SERVICE_ACCEPT_PAUSE_CONTINUE 2 +#define SERVICE_ACCEPT_SHUTDOWN 4 +#define SERVICE_ACCEPT_PARAMCHANGE 8 +#define SERVICE_ACCEPT_NETBINDCHANGE 16 +#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 32 +#define SERVICE_ACCEPT_POWEREVENT 64 +#define SERVICE_ACCEPT_SESSIONCHANGE 128 +#define SERVICE_CONTROL_STOP 1 +#define SERVICE_CONTROL_PAUSE 2 +#define SERVICE_CONTROL_CONTINUE 3 +#define SERVICE_CONTROL_INTERROGATE 4 +#define SERVICE_CONTROL_SHUTDOWN 5 +#define SERVICE_CONTROL_PARAMCHANGE 6 +#define SERVICE_CONTROL_NETBINDADD 7 +#define SERVICE_CONTROL_NETBINDREMOVE 8 +#define SERVICE_CONTROL_NETBINDENABLE 9 +#define SERVICE_CONTROL_NETBINDDISABLE 10 +#define SERVICE_CONTROL_DEVICEEVENT 11 +#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12 +#define SERVICE_CONTROL_POWEREVENT 13 +#define SERVICE_CONTROL_SESSIONCHANGE 14 +#define SERVICE_ACTIVE 1 +#define SERVICE_INACTIVE 2 +#define SERVICE_STATE_ALL 3 +#define SERVICE_QUERY_CONFIG 1 +#define SERVICE_CHANGE_CONFIG 2 +#define SERVICE_QUERY_STATUS 4 +#define SERVICE_ENUMERATE_DEPENDENTS 8 +#define SERVICE_START 16 +#define SERVICE_STOP 32 +#define SERVICE_PAUSE_CONTINUE 64 +#define SERVICE_INTERROGATE 128 +#define SERVICE_USER_DEFINED_CONTROL 256 +#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL) +#define SERVICE_RUNS_IN_SYSTEM_PROCESS 1 +#define SERVICE_CONFIG_DESCRIPTION 1 +#define SERVICE_CONFIG_FAILURE_ACTIONS 2 + +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 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 _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 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 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 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 void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*); +typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*); +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; +DECLARE_HANDLE(SC_HANDLE); +typedef SC_HANDLE *LPSC_HANDLE; +typedef PVOID SC_LOCK; +typedef DWORD SERVICE_STATUS_HANDLE; +typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD); +typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID); +typedef struct _SERVICE_DESCRIPTIONA { + LPSTR lpDescription; +} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA; +typedef struct _SERVICE_DESCRIPTIONW { + LPWSTR lpDescription; +} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW; +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; + +BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR); +BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID); +BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID); +BOOL WINAPI CloseServiceHandle(SC_HANDLE); +BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS); +SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR); +SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR); +BOOL WINAPI DeleteService(SC_HANDLE); +BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD); +BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD); +BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR); +BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR); +BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); +BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); +BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD); +BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD); +SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE); +BOOL WINAPI NotifyBootConfigStatus(BOOL); +SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD); +SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD); +SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD); +SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD); +BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD); +BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD); +BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD); +BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD); +BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD); +BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD); +BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD); +BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS); +BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID); +SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID); +BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS); +BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*); +BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA); +BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW); +BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR); +BOOL WINAPI UnlockServiceDatabase(SC_LOCK); + +#ifdef UNICODE +typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; +typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS; +typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS; +typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; +typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; +typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; +typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION; +typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION; +typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION; +typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS; +typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS; +#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW +#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW +#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW +#define ChangeServiceConfig ChangeServiceConfigW +#define ChangeServiceConfig2 ChangeServiceConfig2W +#define CreateService CreateServiceW +#define EnumDependentServices EnumDependentServicesW +#define EnumServicesStatus EnumServicesStatusW +#define EnumServicesStatusEx EnumServicesStatusExW +#define GetServiceDisplayName GetServiceDisplayNameW +#define GetServiceKeyName GetServiceKeyNameW +#define OpenSCManager OpenSCManagerW +#define OpenService OpenServiceW +#define QueryServiceConfig QueryServiceConfigW +#define QueryServiceConfig2 QueryServiceConfig2W +#define QueryServiceLockStatus QueryServiceLockStatusW +#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW +#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW +#define StartService StartServiceW +#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW +#else +typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS; +typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS; +typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS; +typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG; +typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS; +typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY; +typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION; +typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION; +typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION; +typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS; +typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS; +#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA +#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA +#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA +#define ChangeServiceConfig ChangeServiceConfigA +#define ChangeServiceConfig2 ChangeServiceConfig2A +#define CreateService CreateServiceA +#define EnumDependentServices EnumDependentServicesA +#define EnumServicesStatus EnumServicesStatusA +#define EnumServicesStatusEx EnumServicesStatusExA +#define GetServiceDisplayName GetServiceDisplayNameA +#define GetServiceKeyName GetServiceKeyNameA +#define OpenSCManager OpenSCManagerA +#define OpenService OpenServiceA +#define QueryServiceConfig QueryServiceConfigA +#define QueryServiceConfig2 QueryServiceConfig2A +#define QueryServiceLockStatus QueryServiceLockStatusA +#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA +#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA +#define StartService StartServiceA +#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINSVC_H */ diff --git a/win32/include/winapi/winuser.h b/win32/include/winapi/winuser.h index b85b9b2..8929c6b 100644 --- a/win32/include/winapi/winuser.h +++ b/win32/include/winapi/winuser.h @@ -1,3472 +1,3472 @@ -#ifndef _WINUSER_H
-#define _WINUSER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WC_DIALOG MAKEINTATOM(0x8002)
-#define FALT 16
-#define FCONTROL 8
-#define FNOINVERT 2
-#define FSHIFT 4
-#define FVIRTKEY 1
-#define ATF_TIMEOUTON 1
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_AVAILABLE 4 /* May be obsolete. Not in recent MS docs. */
-#define WH_MIN (-1)
-#define WH_MSGFILTER (-1)
-#define WH_JOURNALRECORD 0
-#define WH_JOURNALPLAYBACK 1
-#define WH_KEYBOARD 2
-#define WH_GETMESSAGE 3
-#define WH_CALLWNDPROC 4
-#define WH_CBT 5
-#define WH_SYSMSGFILTER 6
-#define WH_MOUSE 7
-#define WH_HARDWARE 8
-#define WH_DEBUG 9
-#define WH_SHELL 10
-#define WH_FOREGROUNDIDLE 11
-#define WH_CALLWNDPROCRET 12
-#define WH_KEYBOARD_LL 13
-#define WH_MOUSE_LL 14
-#define WH_MAX 14
-#define WH_MINHOOK WH_MIN
-#define WH_MAXHOOK WH_MAX
-#define HC_ACTION 0
-#define HC_GETNEXT 1
-#define HC_SKIP 2
-#define HC_NOREMOVE 3
-#define HC_NOREM 3
-#define HC_SYSMODALON 4
-#define HC_SYSMODALOFF 5
-#define HCBT_MOVESIZE 0
-#define HCBT_MINMAX 1
-#define HCBT_QS 2
-#define HCBT_CREATEWND 3
-#define HCBT_DESTROYWND 4
-#define HCBT_ACTIVATE 5
-#define HCBT_CLICKSKIPPED 6
-#define HCBT_KEYSKIPPED 7
-#define HCBT_SYSCOMMAND 8
-#define HCBT_SETFOCUS 9
-#define CF_TEXT 1
-#define CF_BITMAP 2
-#define CF_METAFILEPICT 3
-#define CF_SYLK 4
-#define CF_DIF 5
-#define CF_TIFF 6
-#define CF_OEMTEXT 7
-#define CF_DIB 8
-#define CF_PALETTE 9
-#define CF_PENDATA 10
-#define CF_RIFF 11
-#define CF_WAVE 12
-#define CF_UNICODETEXT 13
-#define CF_ENHMETAFILE 14
-#define CF_HDROP 15
-#define CF_LOCALE 16
-#define CF_MAX 17
-#define CF_OWNERDISPLAY 128
-#define CF_DSPTEXT 129
-#define CF_DSPBITMAP 130
-#define CF_DSPMETAFILEPICT 131
-#define CF_DSPENHMETAFILE 142
-#define CF_PRIVATEFIRST 512
-#define CF_PRIVATELAST 767
-#define CF_GDIOBJFIRST 768
-#define CF_GDIOBJLAST 1023
-#define HKL_NEXT 1
-#define HKL_PREV 0
-#define KLF_ACTIVATE 1
-#define KLF_SUBSTITUTE_OK 2
-#define KLF_UNLOADPREVIOUS 4
-#define KLF_REORDER 8
-#define KLF_REPLACELANG 16
-#define KLF_NOTELLSHELL 128
-#define KLF_SETFORPROCESS 256
-#define KL_NAMELENGTH 9
-#define MF_ENABLED 0
-#define MF_GRAYED 1
-#define MF_DISABLED 2
-#define MF_BITMAP 4
-#define MF_CHECKED 8
-#define MF_MENUBARBREAK 32
-#define MF_MENUBREAK 64
-#define MF_OWNERDRAW 256
-#define MF_POPUP 16
-#define MF_SEPARATOR 0x800
-#define MF_STRING 0
-#define MF_UNCHECKED 0
-#define MF_DEFAULT 4096
-#define MF_SYSMENU 0x2000
-#define MF_HELP 0x4000
-#define MF_END 128
-#define MF_RIGHTJUSTIFY 0x4000
-#define MF_MOUSESELECT 0x8000
-#define MF_INSERT 0
-#define MF_CHANGE 128
-#define MF_APPEND 256
-#define MF_DELETE 512
-#define MF_REMOVE 4096
-#define MF_USECHECKBITMAPS 512
-#define MF_UNHILITE 0
-#define MF_HILITE 128
-#define BSF_IGNORECURRENTTASK 2
-#define BSF_QUERY 1
-#define BSF_FLUSHDISK 4
-#define BSF_NOHANG 8
-#define BSF_POSTMESSAGE 16
-#define BSF_FORCEIFHUNG 32
-#define BSF_NOTIMEOUTIFNOTHUNG 64
-#define BSM_ALLCOMPONENTS 0
-#define BSM_APPLICATIONS 8
-#define BSM_ALLDESKTOPS 16
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_NETDRIVER 2
-#define BSM_VXDS 1
-#define BROADCAST_QUERY_DENY 1112363332
-#define ENUM_CURRENT_SETTINGS ((DWORD)-1)
-#define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
-#define DM_BITSPERPEL 0x40000
-#define DM_PELSWIDTH 0x80000
-#define DM_PELSHEIGHT 0x100000
-#define DM_DISPLAYFLAGS 0x200000
-#define DM_DISPLAYFREQUENCY 0x400000
-#define CDS_UPDATEREGISTRY 1
-#define CDS_TEST 2
-#define CDS_FULLSCREEN 4
-#define CDS_GLOBAL 8
-#define CDS_SET_PRIMARY 16
-#define CDS_RESET 0x40000000
-#define CDS_SETRECT 0x20000000
-#define CDS_NORESET 0x10000000
-#define DISP_CHANGE_SUCCESSFUL 0
-#define DISP_CHANGE_RESTART 1
-#define DISP_CHANGE_BADFLAGS (-4)
-#define DISP_CHANGE_BADPARAM (-5)
-#define DISP_CHANGE_FAILED (-1)
-#define DISP_CHANGE_BADMODE (-2)
-#define DISP_CHANGE_NOTUPDATED (-3)
-#define BST_CHECKED 1
-#define BST_INDETERMINATE 2
-#define BST_UNCHECKED 0
-#define BST_FOCUS 8
-#define BST_PUSHED 4
-#define MF_BYCOMMAND 0
-#define MF_BYPOSITION 1024
-#define MF_UNCHECKED 0
-#define MF_HILITE 128
-#define MF_UNHILITE 0
-#define CWP_ALL 0
-#define CWP_SKIPINVISIBLE 1
-#define CWP_SKIPDISABLED 2
-#define CWP_SKIPTRANSPARENT 4
-#define IMAGE_BITMAP 0
-#define IMAGE_ICON 1
-#define IMAGE_CURSOR 2
-#define IMAGE_ENHMETAFILE 3
-#define DF_ALLOWOTHERACCOUNTHOOK 1
-#define DESKTOP_CREATEMENU 4
-#define DESKTOP_CREATEWINDOW 2
-#define DESKTOP_ENUMERATE 64
-#define DESKTOP_HOOKCONTROL 8
-#define DESKTOP_JOURNALPLAYBACK 32
-#define DESKTOP_JOURNALRECORD 16
-#define DESKTOP_READOBJECTS 1
-#define DESKTOP_SWITCHDESKTOP 256
-#define DESKTOP_WRITEOBJECTS 128
-#define CW_USEDEFAULT 0x80000000
-#define WS_BORDER 0x800000
-#define WS_CAPTION 0xc00000
-#define WS_CHILD 0x40000000
-#define WS_CHILDWINDOW 0x40000000
-#define WS_CLIPCHILDREN 0x2000000
-#define WS_CLIPSIBLINGS 0x4000000
-#define WS_DISABLED 0x8000000
-#define WS_DLGFRAME 0x400000
-#define WS_GROUP 0x20000
-#define WS_HSCROLL 0x100000
-#define WS_ICONIC 0x20000000
-#define WS_MAXIMIZE 0x1000000
-#define WS_MAXIMIZEBOX 0x10000
-#define WS_MINIMIZE 0x20000000
-#define WS_MINIMIZEBOX 0x20000
-#define WS_OVERLAPPED 0
-#define WS_OVERLAPPEDWINDOW 0xcf0000
-#define WS_POPUP 0x80000000
-#define WS_POPUPWINDOW 0x80880000
-#define WS_SIZEBOX 0x40000
-#define WS_SYSMENU 0x80000
-#define WS_TABSTOP 0x10000
-#define WS_THICKFRAME 0x40000
-#define WS_TILED 0
-#define WS_TILEDWINDOW 0xcf0000
-#define WS_VISIBLE 0x10000000
-#define WS_VSCROLL 0x200000
-#define MDIS_ALLCHILDSTYLES 1
-#define BS_3STATE 5
-#define BS_AUTO3STATE 6
-#define BS_AUTOCHECKBOX 3
-#define BS_AUTORADIOBUTTON 9
-#define BS_BITMAP 128
-#define BS_BOTTOM 0x800
-#define BS_CENTER 0x300
-#define BS_CHECKBOX 2
-#define BS_DEFPUSHBUTTON 1
-#define BS_GROUPBOX 7
-#define BS_ICON 64
-#define BS_LEFT 256
-#define BS_LEFTTEXT 32
-#define BS_MULTILINE 0x2000
-#define BS_NOTIFY 0x4000
-#define BS_OWNERDRAW 0xb
-#define BS_PUSHBUTTON 0
-#define BS_PUSHLIKE 4096
-#define BS_RADIOBUTTON 4
-#define BS_RIGHT 512
-#define BS_RIGHTBUTTON 32
-#define BS_TEXT 0
-#define BS_TOP 0x400
-#define BS_USERBUTTON 8
-#define BS_VCENTER 0xc00
-#define BS_FLAT 0x8000
-#define CBS_AUTOHSCROLL 64
-#define CBS_DISABLENOSCROLL 0x800
-#define CBS_DROPDOWN 2
-#define CBS_DROPDOWNLIST 3
-#define CBS_HASSTRINGS 512
-#define CBS_LOWERCASE 0x4000
-#define CBS_NOINTEGRALHEIGHT 0x400
-#define CBS_OEMCONVERT 128
-#define CBS_OWNERDRAWFIXED 16
-#define CBS_OWNERDRAWVARIABLE 32
-#define CBS_SIMPLE 1
-#define CBS_SORT 256
-#define CBS_UPPERCASE 0x2000
-#define ES_AUTOHSCROLL 128
-#define ES_AUTOVSCROLL 64
-#define ES_CENTER 1
-#define ES_LEFT 0
-#define ES_LOWERCASE 16
-#define ES_MULTILINE 4
-#define ES_NOHIDESEL 256
-#define ES_NUMBER 0x2000
-#define ES_OEMCONVERT 0x400
-#define ES_PASSWORD 32
-#define ES_READONLY 0x800
-#define ES_RIGHT 2
-#define ES_UPPERCASE 8
-#define ES_WANTRETURN 4096
-#define LBS_DISABLENOSCROLL 4096
-#define LBS_EXTENDEDSEL 0x800
-#define LBS_HASSTRINGS 64
-#define LBS_MULTICOLUMN 512
-#define LBS_MULTIPLESEL 8
-#define LBS_NODATA 0x2000
-#define LBS_NOINTEGRALHEIGHT 256
-#define LBS_NOREDRAW 4
-#define LBS_NOSEL 0x4000
-#define LBS_NOTIFY 1
-#define LBS_OWNERDRAWFIXED 16
-#define LBS_OWNERDRAWVARIABLE 32
-#define LBS_SORT 2
-#define LBS_STANDARD 0xa00003
-#define LBS_USETABSTOPS 128
-#define LBS_WANTKEYBOARDINPUT 0x400
-#define SBS_BOTTOMALIGN 4
-#define SBS_HORZ 0
-#define SBS_LEFTALIGN 2
-#define SBS_RIGHTALIGN 4
-#define SBS_SIZEBOX 8
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
-#define SBS_SIZEBOXTOPLEFTALIGN 2
-#define SBS_SIZEGRIP 16
-#define SBS_TOPALIGN 2
-#define SBS_VERT 1
-#define SS_BITMAP 14
-#define SS_BLACKFRAME 7
-#define SS_BLACKRECT 4
-#define SS_CENTER 1
-#define SS_CENTERIMAGE 512
-#define SS_ENHMETAFILE 15
-#define SS_ETCHEDFRAME 18
-#define SS_ETCHEDHORZ 16
-#define SS_ETCHEDVERT 17
-#define SS_GRAYFRAME 8
-#define SS_GRAYRECT 5
-#define SS_ICON 3
-#define SS_LEFT 0
-#define SS_LEFTNOWORDWRAP 0xc
-#define SS_NOPREFIX 128
-#define SS_NOTIFY 256
-#define SS_OWNERDRAW 0xd
-#define SS_REALSIZEIMAGE 0x800
-#define SS_RIGHT 2
-#define SS_RIGHTJUST 0x400
-#define SS_SIMPLE 11
-#define SS_SUNKEN 4096
-#define SS_WHITEFRAME 9
-#define SS_WHITERECT 6
-#define SS_USERITEM 10
-#define SS_TYPEMASK 0x0000001FL
-#define SS_ENDELLIPSIS 0x00004000L
-#define SS_PATHELLIPSIS 0x00008000L
-#define SS_WORDELLIPSIS 0x0000C000L
-#define SS_ELLIPSISMASK 0x0000C000L
-#define DS_3DLOOK 4
-#define DS_ABSALIGN 1
-#define DS_CENTER 0x800
-#define DS_CENTERMOUSE 4096
-#define DS_CONTEXTHELP 0x2000
-#define DS_CONTROL 0x400
-#define DS_FIXEDSYS 8
-#define DS_LOCALEDIT 32
-#define DS_MODALFRAME 128
-#define DS_NOFAILCREATE 16
-#define DS_NOIDLEMSG 256
-#define DS_SETFONT 64
-#define DS_SETFOREGROUND 512
-#define DS_SYSMODAL 2
-#define WS_EX_ACCEPTFILES 16
-#define WS_EX_APPWINDOW 0x40000
-#define WS_EX_CLIENTEDGE 512
-#define WS_EX_COMPOSITED 0x2000000 /* XP */
-#define WS_EX_CONTEXTHELP 0x400
-#define WS_EX_CONTROLPARENT 0x10000
-#define WS_EX_DLGMODALFRAME 1
-#define WS_EX_LAYERED 0x80000 /* w2k */
-#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */
-#define WS_EX_LEFT 0
-#define WS_EX_LEFTSCROLLBAR 0x4000
-#define WS_EX_LTRREADING 0
-#define WS_EX_MDICHILD 64
-#define WS_EX_NOACTIVATE 0x8000000 /* w2k */
-#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */
-#define WS_EX_NOPARENTNOTIFY 4
-#define WS_EX_OVERLAPPEDWINDOW 0x300
-#define WS_EX_PALETTEWINDOW 0x188
-#define WS_EX_RIGHT 0x1000
-#define WS_EX_RIGHTSCROLLBAR 0
-#define WS_EX_RTLREADING 0x2000
-#define WS_EX_STATICEDGE 0x20000
-#define WS_EX_TOOLWINDOW 128
-#define WS_EX_TOPMOST 8
-#define WS_EX_TRANSPARENT 32
-#define WS_EX_WINDOWEDGE 256
-#define WINSTA_ACCESSCLIPBOARD 4
-#define WINSTA_ACCESSGLOBALATOMS 32
-#define WINSTA_CREATEDESKTOP 8
-#define WINSTA_ENUMDESKTOPS 1
-#define WINSTA_ENUMERATE 256
-#define WINSTA_EXITWINDOWS 64
-#define WINSTA_READATTRIBUTES 2
-#define WINSTA_READSCREEN 512
-#define WINSTA_WRITEATTRIBUTES 16
-#define DDL_READWRITE 0
-#define DDL_READONLY 1
-#define DDL_HIDDEN 2
-#define DDL_SYSTEM 4
-#define DDL_DIRECTORY 16
-#define DDL_ARCHIVE 32
-#define DDL_POSTMSGS 8192
-#define DDL_DRIVES 16384
-#define DDL_EXCLUSIVE 32768
-#define DC_ACTIVE 1
-#define DC_SMALLCAP 2
-#define DC_ICON 4
-#define DC_TEXT 8
-#define DC_INBUTTON 16
-#define DC_CAPTION (DC_ICON|DC_TEXT|DC_BUTTONS)
-#define DC_NC (DC_CAPTION|DC_FRAME)
-#define BDR_RAISEDOUTER 1
-#define BDR_SUNKENOUTER 2
-#define BDR_RAISEDINNER 4
-#define BDR_SUNKENINNER 8
-#define BDR_OUTER 3
-#define BDR_INNER 0xc
-#define BDR_RAISED 5
-#define BDR_SUNKEN 10
-#define EDGE_RAISED (BDR_RAISEDOUTER|BDR_RAISEDINNER)
-#define EDGE_SUNKEN (BDR_SUNKENOUTER|BDR_SUNKENINNER)
-#define EDGE_ETCHED (BDR_SUNKENOUTER|BDR_RAISEDINNER)
-#define EDGE_BUMP (BDR_RAISEDOUTER|BDR_SUNKENINNER)
-#define BF_LEFT 1
-#define BF_TOP 2
-#define BF_RIGHT 4
-#define BF_BOTTOM 8
-#define BF_TOPLEFT (BF_TOP|BF_LEFT)
-#define BF_TOPRIGHT (BF_TOP|BF_RIGHT)
-#define BF_BOTTOMLEFT (BF_BOTTOM|BF_LEFT)
-#define BF_BOTTOMRIGHT (BF_BOTTOM|BF_RIGHT)
-#define BF_RECT (BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM)
-#define BF_DIAGONAL 16
-#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL|BF_TOP|BF_RIGHT)
-#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL|BF_TOP|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL|BF_BOTTOM|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL|BF_BOTTOM|BF_RIGHT)
-#define BF_MIDDLE 0x800
-#define BF_SOFT 0x1000
-#define BF_ADJUST 0x2000
-#define BF_FLAT 0x4000
-#define BF_MONO 0x8000
-#define DFC_CAPTION 1
-#define DFC_MENU 2
-#define DFC_SCROLL 3
-#define DFC_BUTTON 4
-#define DFCS_CAPTIONCLOSE 0
-#define DFCS_CAPTIONMIN 1
-#define DFCS_CAPTIONMAX 2
-#define DFCS_CAPTIONRESTORE 3
-#define DFCS_CAPTIONHELP 4
-#define DFCS_MENUARROW 0
-#define DFCS_MENUCHECK 1
-#define DFCS_MENUBULLET 2
-#define DFCS_MENUARROWRIGHT 4
-#define DFCS_SCROLLUP 0
-#define DFCS_SCROLLDOWN 1
-#define DFCS_SCROLLLEFT 2
-#define DFCS_SCROLLRIGHT 3
-#define DFCS_SCROLLCOMBOBOX 5
-#define DFCS_SCROLLSIZEGRIP 8
-#define DFCS_SCROLLSIZEGRIPRIGHT 16
-#define DFCS_BUTTONCHECK 0
-#define DFCS_BUTTONRADIOIMAGE 1
-#define DFCS_BUTTONRADIOMASK 2
-#define DFCS_BUTTONRADIO 4
-#define DFCS_BUTTON3STATE 8
-#define DFCS_BUTTONPUSH 16
-#define DFCS_INACTIVE 256
-#define DFCS_PUSHED 512
-#define DFCS_CHECKED 1024
-#define DFCS_ADJUSTRECT 0x2000
-#define DFCS_FLAT 0x4000
-#define DFCS_MONO 0x8000
-#define DST_COMPLEX 0
-#define DST_TEXT 1
-#define DST_PREFIXTEXT 2
-#define DST_ICON 3
-#define DST_BITMAP 4
-#define DSS_NORMAL 0
-#define DSS_UNION 16
-#define DSS_DISABLED 32
-#define DSS_MONO 128
-#define DSS_RIGHT 0x8000
-#define DT_BOTTOM 8
-#define DT_CALCRECT 1024
-#define DT_CENTER 1
-#define DT_EDITCONTROL 8192
-#define DT_END_ELLIPSIS 32768
-#define DT_PATH_ELLIPSIS 16384
-#define DT_WORD_ELLIPSIS 0x40000
-#define DT_EXPANDTABS 64
-#define DT_EXTERNALLEADING 512
-#define DT_LEFT 0
-#define DT_MODIFYSTRING 65536
-#define DT_NOCLIP 256
-#define DT_NOPREFIX 2048
-#define DT_RIGHT 2
-#define DT_RTLREADING 131072
-#define DT_SINGLELINE 32
-#define DT_TABSTOP 128
-#define DT_TOP 0
-#define DT_VCENTER 4
-#define DT_WORDBREAK 16
-#define DT_INTERNAL 4096
-#define WB_ISDELIMITER 2
-#define WB_LEFT 0
-#define WB_RIGHT 1
-#define SB_HORZ 0
-#define SB_VERT 1
-#define SB_CTL 2
-#define SB_BOTH 3
-#define ESB_DISABLE_BOTH 3
-#define ESB_DISABLE_DOWN 2
-#define ESB_DISABLE_LEFT 1
-#define ESB_DISABLE_LTUP 1
-#define ESB_DISABLE_RIGHT 2
-#define ESB_DISABLE_RTDN 2
-#define ESB_DISABLE_UP 1
-#define ESB_ENABLE_BOTH 0
-#define SB_LINEUP 0
-#define SB_LINEDOWN 1
-#define SB_LINELEFT 0
-#define SB_LINERIGHT 1
-#define SB_PAGEUP 2
-#define SB_PAGEDOWN 3
-#define SB_PAGELEFT 2
-#define SB_PAGERIGHT 3
-#define SB_THUMBPOSITION 4
-#define SB_THUMBTRACK 5
-#define SB_ENDSCROLL 8
-#define SB_LEFT 6
-#define SB_RIGHT 7
-#define SB_BOTTOM 7
-#define SB_TOP 6
-#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
-#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
-#ifndef XFree86Server
-# define RT_CURSOR MAKEINTRESOURCE(1)
-# define RT_FONT MAKEINTRESOURCE(8)
-#endif /* ndef XFree86Server */
-#define RT_BITMAP MAKEINTRESOURCE(2)
-#define RT_ICON MAKEINTRESOURCE(3)
-#define RT_MENU MAKEINTRESOURCE(4)
-#define RT_DIALOG MAKEINTRESOURCE(5)
-#define RT_STRING MAKEINTRESOURCE(6)
-#define RT_FONTDIR MAKEINTRESOURCE(7)
-#define RT_ACCELERATOR MAKEINTRESOURCE(9)
-#define RT_RCDATA MAKEINTRESOURCE(10)
-#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
-#define DIFFERENCE 11
-#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE)
-#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE)
-#define RT_VERSION MAKEINTRESOURCE(16)
-#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
-#define RT_PLUGPLAY MAKEINTRESOURCE(19)
-#define RT_VXD MAKEINTRESOURCE(20)
-#define RT_ANICURSOR MAKEINTRESOURCE(21)
-#define RT_ANIICON MAKEINTRESOURCE(22)
-#define RT_HTML MAKEINTRESOURCE(23)
-#define EWX_FORCE 4
-#define EWX_LOGOFF 0
-#define EWX_POWEROFF 8
-#define EWX_REBOOT 2
-#define EWX_SHUTDOWN 1
-#define CS_BYTEALIGNCLIENT 4096
-#define CS_BYTEALIGNWINDOW 8192
-#define CS_KEYCVTWINDOW 4
-#define CS_NOKEYCVT 256
-#define CS_CLASSDC 64
-#define CS_DBLCLKS 8
-#define CS_GLOBALCLASS 16384
-#define CS_HREDRAW 2
-#define CS_NOCLOSE 512
-#define CS_OWNDC 32
-#define CS_PARENTDC 128
-#define CS_SAVEBITS 2048
-#define CS_VREDRAW 1
-#define CS_IME 0x10000
-#define GCW_ATOM (-32)
-#define GCL_CBCLSEXTRA (-20)
-#define GCL_CBWNDEXTRA (-18)
-#define GCL_HBRBACKGROUND (-10)
-#define GCL_HCURSOR (-12)
-#define GCL_HICON (-14)
-#define GCL_HICONSM (-34)
-#define GCL_HMODULE (-16)
-#define GCL_MENUNAME (-8)
-#define GCL_STYLE (-26)
-#define GCL_WNDPROC (-24)
-#if 0
- /* This is supposed to be defined by the program using it not defined
- in the win32api headers. I've left it here for documentation purposes.
- */
-#ifndef IDC_STATIC /* May be predefined by resource compiler. */
-#define IDC_STATIC (-1)
-#endif
-#endif
-#define IDC_ARROW MAKEINTRESOURCE(32512)
-#define IDC_IBEAM MAKEINTRESOURCE(32513)
-#define IDC_WAIT MAKEINTRESOURCE(32514)
-#define IDC_CROSS MAKEINTRESOURCE(32515)
-#define IDC_UPARROW MAKEINTRESOURCE(32516)
-#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
-#define IDC_SIZENESW MAKEINTRESOURCE(32643)
-#define IDC_SIZEWE MAKEINTRESOURCE(32644)
-#define IDC_SIZENS MAKEINTRESOURCE(32645)
-#define IDC_SIZEALL MAKEINTRESOURCE(32646)
-#define IDC_NO MAKEINTRESOURCE(32648)
-#define IDC_HAND MAKEINTRESOURCE(32649)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
-#ifndef RC_INVOKED
-#define IDI_APPLICATION MAKEINTRESOURCE(32512)
-#define IDI_HAND MAKEINTRESOURCE(32513)
-#define IDI_QUESTION MAKEINTRESOURCE(32514)
-#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
-#define IDI_ASTERISK MAKEINTRESOURCE(32516)
-#define IDI_WINLOGO MAKEINTRESOURCE(32517)
-#else
-#define IDI_APPLICATION 32512
-#define IDI_HAND 32513
-#define IDI_QUESTION 32514
-#define IDI_EXCLAMATION 32515
-#define IDI_ASTERISK 32516
-#define IDI_WINLOGO 32517
-#endif
-#define IDI_WARNING IDI_EXCLAMATION
-#define IDI_ERROR IDI_HAND
-#define IDI_INFORMATION IDI_ASTERISK
-#define MIIM_STATE 1
-#define MIIM_ID 2
-#define MIIM_SUBMENU 4
-#define MIIM_CHECKMARKS 8
-#define MIIM_TYPE 16
-#define MIIM_DATA 32
-#define MIIM_STRING 64
-#define MIIM_BITMAP 128
-#define MIIM_FTYPE 256
-#define MFT_BITMAP 4
-#define MFT_MENUBARBREAK 32
-#define MFT_MENUBREAK 64
-#define MFT_OWNERDRAW 256
-#define MFT_RADIOCHECK 512
-#define MFT_RIGHTJUSTIFY 0x4000
-#define MFT_SEPARATOR 0x800
-#define MFT_RIGHTORDER 0x2000L
-#define MFT_STRING 0
-#define MFS_CHECKED 8
-#define MFS_DEFAULT 4096
-#define MFS_DISABLED 3
-#define MFS_ENABLED 0
-#define MFS_GRAYED 3
-#define MFS_HILITE 128
-#define MFS_UNCHECKED 0
-#define MFS_UNHILITE 0
-#define GW_HWNDNEXT 2
-#define GW_HWNDPREV 3
-#define GW_CHILD 5
-#define GW_HWNDFIRST 0
-#define GW_HWNDLAST 1
-#define GW_OWNER 4
-#define SW_HIDE 0
-#define SW_NORMAL 1
-#define SW_SHOWNORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_MAXIMIZE 3
-#define SW_SHOWMAXIMIZED 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_FORCEMINIMIZE 11
-#define SW_MAX 11
-#define MB_USERICON 128
-#define MB_ICONASTERISK 64
-#define MB_ICONEXCLAMATION 0x30
-#define MB_ICONWARNING 0x30
-#define MB_ICONERROR 16
-#define MB_ICONHAND 16
-#define MB_ICONQUESTION 32
-#define MB_OK 0
-#define MB_ABORTRETRYIGNORE 2
-#define MB_APPLMODAL 0
-#define MB_DEFAULT_DESKTOP_ONLY 0x20000
-#define MB_HELP 0x4000
-#define MB_RIGHT 0x80000
-#define MB_RTLREADING 0x100000
-#define MB_TOPMOST 0x40000
-#define MB_DEFBUTTON1 0
-#define MB_DEFBUTTON2 256
-#define MB_DEFBUTTON3 512
-#define MB_DEFBUTTON4 0x300
-#define MB_ICONINFORMATION 64
-#define MB_ICONSTOP 16
-#define MB_OKCANCEL 1
-#define MB_RETRYCANCEL 5
-#ifdef _WIN32_WINNT
-#if (_WIN32_WINNT >= 0x0400)
-#define MB_SERVICE_NOTIFICATION 0x00200000
-#else
-#define MB_SERVICE_NOTIFICATION 0x00040000
-#endif
-#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
-#endif
-#define MB_SETFOREGROUND 0x10000
-#define MB_SYSTEMMODAL 4096
-#define MB_TASKMODAL 0x2000
-#define MB_YESNO 4
-#define MB_YESNOCANCEL 3
-#define MB_ICONMASK 240
-#define MB_DEFMASK 3840
-#define MB_MODEMASK 0x00003000
-#define MB_MISCMASK 0x0000C000
-#define MB_NOFOCUS 0x00008000
-#define MB_TYPEMASK 15
-#define MB_TOPMOST 0x40000
-#define IDABORT 3
-#define IDCANCEL 2
-#define IDCLOSE 8
-#define IDHELP 9
-#define IDIGNORE 5
-#define IDNO 7
-#define IDOK 1
-#define IDRETRY 4
-#define IDYES 6
-#define GWL_EXSTYLE (-20)
-#define GWL_STYLE (-16)
-#define GWL_WNDPROC (-4)
-#define GWLP_WNDPROC (-4)
-#define GWL_HINSTANCE (-6)
-#define GWLP_HINSTANCE (-6)
-#define GWL_HWNDPARENT (-8)
-#define GWLP_HWNDPARENT (-8)
-#define GWL_ID (-12)
-#define GWLP_ID (-12)
-#define GWL_USERDATA (-21)
-#define GWLP_USERDATA (-21)
-#define DWL_DLGPROC 4
-#define DWLP_DLGPROC 4
-#define DWL_MSGRESULT 0
-#define DWLP_MSGRESULT 0
-#define DWL_USER 8
-#define DWLP_USER 8
-#define QS_ALLEVENTS 191
-#define QS_ALLINPUT 255
-#define QS_HOTKEY 128
-#define QS_INPUT 7
-#define QS_KEY 1
-#define QS_MOUSE 6
-#define QS_MOUSEBUTTON 4
-#define QS_MOUSEMOVE 2
-#define QS_PAINT 32
-#define QS_POSTMESSAGE 8
-#define QS_SENDMESSAGE 64
-#define QS_TIMER 16
-#define COLOR_3DDKSHADOW 21
-#define COLOR_3DFACE 15
-#define COLOR_3DHILIGHT 20
-#define COLOR_3DHIGHLIGHT 20
-#define COLOR_3DLIGHT 22
-#define COLOR_BTNHILIGHT 20
-#define COLOR_3DSHADOW 16
-#define COLOR_ACTIVEBORDER 10
-#define COLOR_ACTIVECAPTION 2
-#define COLOR_APPWORKSPACE 12
-#define COLOR_BACKGROUND 1
-#define COLOR_DESKTOP 1
-#define COLOR_BTNFACE 15
-#define COLOR_BTNHIGHLIGHT 20
-#define COLOR_BTNSHADOW 16
-#define COLOR_BTNTEXT 18
-#define COLOR_CAPTIONTEXT 9
-#define COLOR_GRAYTEXT 17
-#define COLOR_HIGHLIGHT 13
-#define COLOR_HIGHLIGHTTEXT 14
-#define COLOR_INACTIVEBORDER 11
-#define COLOR_INACTIVECAPTION 3
-#define COLOR_INACTIVECAPTIONTEXT 19
-#define COLOR_INFOBK 24
-#define COLOR_INFOTEXT 23
-#define COLOR_MENU 4
-#define COLOR_MENUTEXT 7
-#define COLOR_SCROLLBAR 0
-#define COLOR_WINDOW 5
-#define COLOR_WINDOWFRAME 6
-#define COLOR_WINDOWTEXT 8
-#define CTLCOLOR_MSGBOX 0
-#define CTLCOLOR_EDIT 1
-#define CTLCOLOR_LISTBOX 2
-#define CTLCOLOR_BTN 3
-#define CTLCOLOR_DLG 4
-#define CTLCOLOR_SCROLLBAR 5
-#define CTLCOLOR_STATIC 6
-#define CTLCOLOR_MAX 7
-#define SM_CXSCREEN 0
-#define SM_CYSCREEN 1
-#define SM_CXVSCROLL 2
-#define SM_CYHSCROLL 3
-#define SM_CYCAPTION 4
-#define SM_CXBORDER 5
-#define SM_CYBORDER 6
-#define SM_CXDLGFRAME 7
-#define SM_CXFIXEDFRAME 7
-#define SM_CYDLGFRAME 8
-#define SM_CYFIXEDFRAME 8
-#define SM_CYVTHUMB 9
-#define SM_CXHTHUMB 10
-#define SM_CXICON 11
-#define SM_CYICON 12
-#define SM_CXCURSOR 13
-#define SM_CYCURSOR 14
-#define SM_CYMENU 15
-#define SM_CXFULLSCREEN 16
-#define SM_CYFULLSCREEN 17
-#define SM_CYKANJIWINDOW 18
-#define SM_MOUSEPRESENT 19
-#define SM_CYVSCROLL 20
-#define SM_CXHSCROLL 21
-#define SM_DEBUG 22
-#define SM_SWAPBUTTON 23
-#define SM_RESERVED1 24
-#define SM_RESERVED2 25
-#define SM_RESERVED3 26
-#define SM_RESERVED4 27
-#define SM_CXMIN 28
-#define SM_CYMIN 29
-#define SM_CXSIZE 30
-#define SM_CYSIZE 31
-#define SM_CXSIZEFRAME 32
-#define SM_CXFRAME 32
-#define SM_CYSIZEFRAME 33
-#define SM_CYFRAME 33
-#define SM_CXMINTRACK 34
-#define SM_CYMINTRACK 35
-#define SM_CXDOUBLECLK 36
-#define SM_CYDOUBLECLK 37
-#define SM_CXICONSPACING 38
-#define SM_CYICONSPACING 39
-#define SM_MENUDROPALIGNMENT 40
-#define SM_PENWINDOWS 41
-#define SM_DBCSENABLED 42
-#define SM_CMOUSEBUTTONS 43
-#define SM_SECURE 44
-#define SM_CXEDGE 45
-#define SM_CYEDGE 46
-#define SM_CXMINSPACING 47
-#define SM_CYMINSPACING 48
-#define SM_CXSMICON 49
-#define SM_CYSMICON 50
-#define SM_CYSMCAPTION 51
-#define SM_CXSMSIZE 52
-#define SM_CYSMSIZE 53
-#define SM_CXMENUSIZE 54
-#define SM_CYMENUSIZE 55
-#define SM_ARRANGE 56
-#define SM_CXMINIMIZED 57
-#define SM_CYMINIMIZED 58
-#define SM_CXMAXTRACK 59
-#define SM_CYMAXTRACK 60
-#define SM_CXMAXIMIZED 61
-#define SM_CYMAXIMIZED 62
-#define SM_NETWORK 63
-#define LR_DEFAULTSIZE 64
-#define SM_CLEANBOOT 67
-#define SM_CXDRAG 68
-#define SM_CYDRAG 69
-#define SM_SHOWSOUNDS 70
-#define SM_CXMENUCHECK 71
-#define SM_CYMENUCHECK 72
-#define SM_SLOWMACHINE 73
-#define SM_MIDEASTENABLED 74
-#define SM_MOUSEWHEELPRESENT 75
-#define SM_XVIRTUALSCREEN 76
-#define SM_YVIRTUALSCREEN 77
-#define SM_CXVIRTUALSCREEN 78
-#define SM_CYVIRTUALSCREEN 79
-#define SM_CMONITORS 80
-#define SM_SAMEDISPLAYFORMAT 81
-#if (_WIN32_WINNT < 0x0400)
-#define SM_CMETRICS 76
-#else
-#define SM_CMETRICS 83
-#endif
-#define ARW_BOTTOMLEFT 0
-#define ARW_BOTTOMRIGHT 1
-#define ARW_HIDE 8
-#define ARW_TOPLEFT 2
-#define ARW_TOPRIGHT 3
-#define ARW_DOWN 4
-#define ARW_LEFT 0
-#define ARW_RIGHT 0
-#define ARW_UP 4
-#define UOI_FLAGS 1
-#define UOI_NAME 2
-#define UOI_TYPE 3
-#define UOI_USER_SID 4
-#define LR_DEFAULTCOLOR 0
-#define LR_MONOCHROME 1
-#define LR_COLOR 2
-#define LR_COPYRETURNORG 4
-#define LR_COPYDELETEORG 8
-#define LR_LOADFROMFILE 16
-#define LR_LOADTRANSPARENT 32
-#define LR_LOADREALSIZE 128
-#define LR_LOADMAP3DCOLORS 4096
-#define LR_CREATEDIBSECTION 8192
-#define LR_COPYFROMRESOURCE 0x4000
-#define LR_SHARED 32768
-#define KEYEVENTF_EXTENDEDKEY 1
-#define KEYEVENTF_KEYUP 2
-#define OBM_BTNCORNERS 32758
-#define OBM_BTSIZE 32761
-#define OBM_CHECK 32760
-#define OBM_CHECKBOXES 32759
-#define OBM_CLOSE 32754
-#define OBM_COMBO 32738
-#define OBM_DNARROW 32752
-#define OBM_DNARROWD 32742
-#define OBM_DNARROWI 32736
-#define OBM_LFARROW 32750
-#define OBM_LFARROWI 32734
-#define OBM_LFARROWD 32740
-#define OBM_MNARROW 32739
-#define OBM_OLD_CLOSE 32767
-#define OBM_OLD_DNARROW 32764
-#define OBM_OLD_LFARROW 32762
-#define OBM_OLD_REDUCE 32757
-#define OBM_OLD_RESTORE 32755
-#define OBM_OLD_RGARROW 32763
-#define OBM_OLD_UPARROW 32765
-#define OBM_OLD_ZOOM 32756
-#define OBM_REDUCE 32749
-#define OBM_REDUCED 32746
-#define OBM_RESTORE 32747
-#define OBM_RESTORED 32744
-#define OBM_RGARROW 32751
-#define OBM_RGARROWD 32741
-#define OBM_RGARROWI 32735
-#define OBM_SIZE 32766
-#define OBM_UPARROW 32753
-#define OBM_UPARROWD 32743
-#define OBM_UPARROWI 32737
-#define OBM_ZOOM 32748
-#define OBM_ZOOMD 32745
-#define OCR_NORMAL 32512
-#define OCR_IBEAM 32513
-#define OCR_WAIT 32514
-#define OCR_CROSS 32515
-#define OCR_UP 32516
-#define OCR_SIZE 32640
-#define OCR_ICON 32641
-#define OCR_SIZENWSE 32642
-#define OCR_SIZENESW 32643
-#define OCR_SIZEWE 32644
-#define OCR_SIZENS 32645
-#define OCR_SIZEALL 32646
-#define OCR_NO 32648
-#define OCR_APPSTARTING 32650
-#define OIC_SAMPLE 32512
-#define OIC_HAND 32513
-#define OIC_QUES 32514
-#define OIC_BANG 32515
-#define OIC_NOTE 32516
-#define OIC_WINLOGO 32517
-#define OIC_WARNING OIC_BANG
-#define OIC_ERROR OIC_HAND
-#define OIC_INFORMATION OIC_NOTE
-#define HELPINFO_MENUITEM 2
-#define HELPINFO_WINDOW 1
-#define MSGF_DIALOGBOX 0
-#define MSGF_MESSAGEBOX 1
-#define MSGF_MENU 2
-#define MSGF_MOVE 3
-#define MSGF_SIZE 4
-#define MSGF_SCROLLBAR 5
-#define MSGF_NEXTWINDOW 6
-#define MSGF_MAINLOOP 8
-#define MSGF_USER 4096
-#define MOUSEEVENTF_MOVE 1
-#define MOUSEEVENTF_LEFTDOWN 2
-#define MOUSEEVENTF_LEFTUP 4
-#define MOUSEEVENTF_RIGHTDOWN 8
-#define MOUSEEVENTF_RIGHTUP 16
-#define MOUSEEVENTF_MIDDLEDOWN 32
-#define MOUSEEVENTF_MIDDLEUP 64
-#define MOUSEEVENTF_WHEEL 0x0800
-#define MOUSEEVENTF_ABSOLUTE 32768
-#define PM_NOREMOVE 0
-#define PM_REMOVE 1
-#define PM_NOYIELD 2
-#define HWND_BROADCAST ((HWND)0xffff)
-#define HWND_BOTTOM ((HWND)1)
-#define HWND_NOTOPMOST ((HWND)(-2))
-#define HWND_TOP ((HWND)0)
-#define HWND_TOPMOST ((HWND)(-1))
-#define HWND_DESKTOP (HWND)0
-#define HWND_MESSAGE ((HWND)(-3)) /* w2k */
-#define RDW_ERASE 4
-#define RDW_FRAME 1024
-#define RDW_INTERNALPAINT 2
-#define RDW_INVALIDATE 1
-#define RDW_NOERASE 32
-#define RDW_NOFRAME 2048
-#define RDW_NOINTERNALPAINT 16
-#define RDW_VALIDATE 8
-#define RDW_ERASENOW 512
-#define RDW_UPDATENOW 256
-#define RDW_ALLCHILDREN 128
-#define RDW_NOCHILDREN 64
-#define SMTO_ABORTIFHUNG 2
-#define SMTO_BLOCK 1
-#define SMTO_NORMAL 0
-#define SIF_ALL 23
-#define SIF_PAGE 2
-#define SIF_POS 4
-#define SIF_RANGE 1
-#define SIF_DISABLENOSCROLL 8
-#define SIF_TRACKPOS 16
-#define SWP_DRAWFRAME 32
-#define SWP_FRAMECHANGED 32
-#define SWP_HIDEWINDOW 128
-#define SWP_NOACTIVATE 16
-#define SWP_NOCOPYBITS 256
-#define SWP_NOMOVE 2
-#define SWP_NOSIZE 1
-#define SWP_NOREDRAW 8
-#define SWP_NOZORDER 4
-#define SWP_SHOWWINDOW 64
-#define SWP_NOOWNERZORDER 512
-#define SWP_NOREPOSITION 512
-#define SWP_NOSENDCHANGING 1024
-#define SWP_DEFERERASE 8192
-#define SWP_ASYNCWINDOWPOS 16384
-#define HSHELL_ACTIVATESHELLWINDOW 3
-#define HSHELL_GETMINRECT 5
-#define HSHELL_LANGUAGE 8
-#define HSHELL_REDRAW 6
-#define HSHELL_TASKMAN 7
-#define HSHELL_WINDOWACTIVATED 4
-#define HSHELL_WINDOWCREATED 1
-#define HSHELL_WINDOWDESTROYED 2
-#define SPI_GETACCESSTIMEOUT 60
-#define SPI_GETANIMATION 72
-#define SPI_GETBEEP 1
-#define SPI_GETBORDER 5
-#define SPI_GETDEFAULTINPUTLANG 89
-#define SPI_GETDRAGFULLWINDOWS 38
-#define SPI_GETFASTTASKSWITCH 35
-#define SPI_GETFILTERKEYS 50
-#define SPI_GETFONTSMOOTHING 74
-#define SPI_GETGRIDGRANULARITY 18
-#define SPI_GETHIGHCONTRAST 66
-#define SPI_GETICONMETRICS 45
-#define SPI_GETICONTITLELOGFONT 31
-#define SPI_GETICONTITLEWRAP 25
-#define SPI_GETKEYBOARDDELAY 22
-#define SPI_GETKEYBOARDPREF 68
-#define SPI_GETKEYBOARDSPEED 10
-#define SPI_GETLOWPOWERACTIVE 83
-#define SPI_GETLOWPOWERTIMEOUT 79
-#define SPI_GETMENUDROPALIGNMENT 27
-#define SPI_GETMINIMIZEDMETRICS 43
-#define SPI_GETMOUSE 3
-#define SPI_GETMOUSEKEYS 54
-#define SPI_GETMOUSETRAILS 94
-#define SPI_GETNONCLIENTMETRICS 41
-#define SPI_GETPOWEROFFACTIVE 84
-#define SPI_GETPOWEROFFTIMEOUT 80
-#define SPI_GETSCREENREADER 70
-#define SPI_GETSCREENSAVEACTIVE 16
-#define SPI_GETSCREENSAVETIMEOUT 14
-#define SPI_GETSERIALKEYS 62
-#define SPI_GETSHOWSOUNDS 56
-#define SPI_GETSOUNDSENTRY 64
-#define SPI_GETSTICKYKEYS 58
-#define SPI_GETTOGGLEKEYS 52
-#define SPI_GETWINDOWSEXTENSION 92
-#define SPI_GETWORKAREA 48
-#define SPI_ICONHORIZONTALSPACING 13
-#define SPI_ICONVERTICALSPACING 24
-#define SPI_LANGDRIVER 12
-#define SPI_SCREENSAVERRUNNING 97
-#define SPI_SETACCESSTIMEOUT 61
-#define SPI_SETANIMATION 73
-#define SPI_SETBEEP 2
-#define SPI_SETBORDER 6
-#define SPI_SETDEFAULTINPUTLANG 90
-#define SPI_SETDESKPATTERN 21
-#define SPI_SETDESKWALLPAPER 20
-#define SPI_SETDOUBLECLICKTIME 32
-#define SPI_SETDOUBLECLKHEIGHT 30
-#define SPI_SETDOUBLECLKWIDTH 29
-#define SPI_SETDRAGFULLWINDOWS 37
-#define SPI_SETDRAGHEIGHT 77
-#define SPI_SETDRAGWIDTH 76
-#define SPI_SETFASTTASKSWITCH 36
-#define SPI_SETFILTERKEYS 51
-#define SPI_SETFONTSMOOTHING 75
-#define SPI_SETGRIDGRANULARITY 19
-#define SPI_SETHANDHELD 78
-#define SPI_SETHIGHCONTRAST 67
-#define SPI_SETICONMETRICS 46
-#define SPI_SETICONTITLELOGFONT 34
-#define SPI_SETICONTITLEWRAP 26
-#define SPI_SETKEYBOARDDELAY 23
-#define SPI_SETKEYBOARDPREF 69
-#define SPI_SETKEYBOARDSPEED 11
-#define SPI_SETLANGTOGGLE 91
-#define SPI_SETLOWPOWERACTIVE 85
-#define SPI_SETLOWPOWERTIMEOUT 81
-#define SPI_SETMENUDROPALIGNMENT 28
-#define SPI_SETMINIMIZEDMETRICS 44
-#define SPI_SETMOUSE 4
-#define SPI_SETMOUSEBUTTONSWAP 33
-#define SPI_SETMOUSEKEYS 55
-#define SPI_SETMOUSETRAILS 93
-#define SPI_SETNONCLIENTMETRICS 42
-#define SPI_SETPENWINDOWS 49
-#define SPI_SETPOWEROFFACTIVE 86
-#define SPI_SETPOWEROFFTIMEOUT 82
-#define SPI_SETSCREENREADER 71
-#define SPI_SETSCREENSAVEACTIVE 17
-#define SPI_SETSCREENSAVERRUNNING 97
-#define SPI_SETSCREENSAVETIMEOUT 15
-#define SPI_SETSERIALKEYS 63
-#define SPI_SETSHOWSOUNDS 57
-#define SPI_SETSOUNDSENTRY 65
-#define SPI_SETSTICKYKEYS 59
-#define SPI_SETTOGGLEKEYS 53
-#define SPI_SETWORKAREA 47
-#define SPIF_UPDATEINIFILE 1
-#define SPIF_SENDWININICHANGE 2
-#define SPIF_SENDCHANGE 2
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_TIMEOUTON 1
-#define WM_APP 32768
-#define WM_ACTIVATE 6
-#define WM_ACTIVATEAPP 28
-/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_AFXFIRST 864
-#define WM_AFXLAST 895
-#define WM_ASKCBFORMATNAME 780
-#define WM_CANCELJOURNAL 75
-#define WM_CANCELMODE 31
-#define WM_CAPTURECHANGED 533
-#define WM_CHANGECBCHAIN 781
-#define WM_CHAR 258
-#define WM_CHARTOITEM 47
-#define WM_CHILDACTIVATE 34
-#define WM_CLEAR 771
-#define WM_CLOSE 16
-#define WM_COMMAND 273
-#define WM_COMMNOTIFY 68 /* obsolete */
-#define WM_COMPACTING 65
-#define WM_COMPAREITEM 57
-#define WM_CONTEXTMENU 123
-#define WM_COPY 769
-#define WM_COPYDATA 74
-#define WM_CREATE 1
-#define WM_CTLCOLORBTN 309
-#define WM_CTLCOLORDLG 310
-#define WM_CTLCOLOREDIT 307
-#define WM_CTLCOLORLISTBOX 308
-#define WM_CTLCOLORMSGBOX 306
-#define WM_CTLCOLORSCROLLBAR 311
-#define WM_CTLCOLORSTATIC 312
-#define WM_CUT 768
-#define WM_DEADCHAR 259
-#define WM_DELETEITEM 45
-#define WM_DESTROY 2
-#define WM_DESTROYCLIPBOARD 775
-#define WM_DEVICECHANGE 537
-#define WM_DEVMODECHANGE 27
-#define WM_DISPLAYCHANGE 126
-#define WM_DRAWCLIPBOARD 776
-#define WM_DRAWITEM 43
-#define WM_DROPFILES 563
-#define WM_ENABLE 10
-#define WM_ENDSESSION 22
-#define WM_ENTERIDLE 289
-#define WM_ENTERMENULOOP 529
-#define WM_ENTERSIZEMOVE 561
-#define WM_ERASEBKGND 20
-#define WM_EXITMENULOOP 530
-#define WM_EXITSIZEMOVE 562
-#define WM_FONTCHANGE 29
-#define WM_GETDLGCODE 135
-#define WM_GETFONT 49
-#define WM_GETHOTKEY 51
-#define WM_GETICON 127
-#define WM_GETMINMAXINFO 36
-#define WM_GETTEXT 13
-#define WM_GETTEXTLENGTH 14
-/* FIXME/CHECK: Are WM_HANDHEL{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_HANDHELDFIRST 856
-#define WM_HANDHELDLAST 863
-#define WM_HELP 83
-#define WM_HOTKEY 786
-#define WM_HSCROLL 276
-#define WM_HSCROLLCLIPBOARD 782
-#define WM_ICONERASEBKGND 39
-#define WM_INITDIALOG 272
-#define WM_INITMENU 278
-#define WM_INITMENUPOPUP 279
-#define WM_INPUTLANGCHANGE 81
-#define WM_INPUTLANGCHANGEREQUEST 80
-#define WM_KEYDOWN 256
-#define WM_KEYUP 257
-#define WM_KILLFOCUS 8
-#define WM_MDIACTIVATE 546
-#define WM_MDICASCADE 551
-#define WM_MDICREATE 544
-#define WM_MDIDESTROY 545
-#define WM_MDIGETACTIVE 553
-#define WM_MDIICONARRANGE 552
-#define WM_MDIMAXIMIZE 549
-#define WM_MDINEXT 548
-#define WM_MDIREFRESHMENU 564
-#define WM_MDIRESTORE 547
-#define WM_MDISETMENU 560
-#define WM_MDITILE 550
-#define WM_MEASUREITEM 44
-#define WM_MENUCHAR 288
-#define WM_MENUSELECT 287
-#define WM_NEXTMENU 531
-#define WM_MOVE 3
-#define WM_MOVING 534
-#define WM_NCACTIVATE 134
-#define WM_NCCALCSIZE 131
-#define WM_NCCREATE 129
-#define WM_NCDESTROY 130
-#define WM_NCHITTEST 132
-#define WM_NCLBUTTONDBLCLK 163
-#define WM_NCLBUTTONDOWN 161
-#define WM_NCLBUTTONUP 162
-#define WM_NCMBUTTONDBLCLK 169
-#define WM_NCMBUTTONDOWN 167
-#define WM_NCMBUTTONUP 168
-#define WM_NCMOUSEMOVE 160
-#define WM_NCPAINT 133
-#define WM_NCRBUTTONDBLCLK 166
-#define WM_NCRBUTTONDOWN 164
-#define WM_NCRBUTTONUP 165
-#define WM_NEXTDLGCTL 40
-#define WM_NEXTMENU 531
-#define WM_NOTIFY 78
-#define WM_NOTIFYFORMAT 85
-#define WM_NULL 0
-#define WM_PAINT 15
-#define WM_PAINTCLIPBOARD 777
-#define WM_PAINTICON 38
-#define WM_PALETTECHANGED 785
-#define WM_PALETTEISCHANGING 784
-#define WM_PARENTNOTIFY 528
-#define WM_PASTE 770
-#define WM_PENWINFIRST 896
-#define WM_PENWINLAST 911
-#define WM_POWER 72
-#define WM_POWERBROADCAST 536
-#define WM_PRINT 791
-#define WM_PRINTCLIENT 792
-#define WM_QUERYDRAGICON 55
-#define WM_QUERYENDSESSION 17
-#define WM_QUERYNEWPALETTE 783
-#define WM_QUERYOPEN 19
-#define WM_QUEUESYNC 35
-#define WM_QUIT 18
-#define WM_RENDERALLFORMATS 774
-#define WM_RENDERFORMAT 773
-#define WM_SETCURSOR 32
-#define WM_SETFOCUS 7
-#define WM_SETFONT 48
-#define WM_SETHOTKEY 50
-#define WM_SETICON 128
-#define WM_SETREDRAW 11
-#define WM_SETTEXT 12
-#define WM_SETTINGCHANGE 26
-#define WM_SHOWWINDOW 24
-#define WM_SIZE 5
-#define WM_SIZECLIPBOARD 779
-#define WM_SIZING 532
-#define WM_SPOOLERSTATUS 42
-#define WM_STYLECHANGED 125
-#define WM_STYLECHANGING 124
-#define WM_SYSCHAR 262
-#define WM_SYSCOLORCHANGE 21
-#define WM_SYSCOMMAND 274
-#define WM_SYSDEADCHAR 263
-#define WM_SYSKEYDOWN 260
-#define WM_SYSKEYUP 261
-#define WM_TCARD 82
-#define WM_TIMECHANGE 30
-#define WM_TIMER 275
-#define WM_UNDO 772
-#define WM_USER 1024
-#define WM_USERCHANGED 84
-#define WM_VKEYTOITEM 46
-#define WM_VSCROLL 277
-#define WM_VSCROLLCLIPBOARD 778
-#define WM_WINDOWPOSCHANGED 71
-#define WM_WINDOWPOSCHANGING 70
-#define WM_WININICHANGE 26
-#define WM_KEYFIRST 256
-#define WM_KEYLAST 264
-#define WM_SYNCPAINT 136
-#define WM_MOUSEACTIVATE 33
-#define WM_MOUSEMOVE 512
-#define WM_LBUTTONDOWN 513
-#define WM_LBUTTONUP 514
-#define WM_LBUTTONDBLCLK 515
-#define WM_RBUTTONDOWN 516
-#define WM_RBUTTONUP 517
-#define WM_RBUTTONDBLCLK 518
-#define WM_MBUTTONDOWN 519
-#define WM_MBUTTONUP 520
-#define WM_MBUTTONDBLCLK 521
-#define WM_MOUSEWHEEL 522
-#define WM_MOUSEFIRST 512
-#define WM_MOUSELAST 522
-#define WM_MOUSEHOVER 0x2A1
-#define WM_MOUSELEAVE 0x2A3
-#if(_WIN32_WINNT >= 0x0400)
-#define WHEEL_DELTA 120
-#define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
-#endif
-#define BM_CLICK 245
-#define BM_GETCHECK 240
-#define BM_GETIMAGE 246
-#define BM_GETSTATE 242
-#define BM_SETCHECK 241
-#define BM_SETIMAGE 247
-#define BM_SETSTATE 243
-#define BM_SETSTYLE 244
-#define BN_CLICKED 0
-#define BN_DBLCLK 5
-#define BN_DISABLE 4
-#define BN_DOUBLECLICKED 5
-#define BN_HILITE 2
-#define BN_KILLFOCUS 7
-#define BN_PAINT 1
-#define BN_PUSHED 2
-#define BN_SETFOCUS 6
-#define BN_UNHILITE 3
-#define BN_UNPUSHED 3
-#define CB_ADDSTRING 323
-#define CB_DELETESTRING 324
-#define CB_DIR 325
-#define CB_FINDSTRING 332
-#define CB_FINDSTRINGEXACT 344
-#define CB_GETCOUNT 326
-#define CB_GETCURSEL 327
-#define CB_GETDROPPEDCONTROLRECT 338
-#define CB_GETDROPPEDSTATE 343
-#define CB_GETDROPPEDWIDTH 351
-#define CB_GETEDITSEL 320
-#define CB_GETEXTENDEDUI 342
-#define CB_GETHORIZONTALEXTENT 349
-#define CB_GETITEMDATA 336
-#define CB_GETITEMHEIGHT 340
-#define CB_GETLBTEXT 328
-#define CB_GETLBTEXTLEN 329
-#define CB_GETLOCALE 346
-#define CB_GETTOPINDEX 347
-#define CB_INITSTORAGE 353
-#define CB_INSERTSTRING 330
-#define CB_LIMITTEXT 321
-#define CB_RESETCONTENT 331
-#define CB_SELECTSTRING 333
-#define CB_SETCURSEL 334
-#define CB_SETDROPPEDWIDTH 352
-#define CB_SETEDITSEL 322
-#define CB_SETEXTENDEDUI 341
-#define CB_SETHORIZONTALEXTENT 350
-#define CB_SETITEMDATA 337
-#define CB_SETITEMHEIGHT 339
-#define CB_SETLOCALE 345
-#define CB_SETTOPINDEX 348
-#define CB_SHOWDROPDOWN 335
-#define CBN_CLOSEUP 8
-#define CBN_DBLCLK 2
-#define CBN_DROPDOWN 7
-#define CBN_EDITCHANGE 5
-#define CBN_EDITUPDATE 6
-#define CBN_ERRSPACE (-1)
-#define CBN_KILLFOCUS 4
-#define CBN_SELCHANGE 1
-#define CBN_SELENDCANCEL 10
-#define CBN_SELENDOK 9
-#define CBN_SETFOCUS 3
-#define EM_CANUNDO 198
-#define EM_CHARFROMPOS 215
-#define EM_EMPTYUNDOBUFFER 205
-#define EM_FMTLINES 200
-#define EM_GETFIRSTVISIBLELINE 206
-#define EM_GETHANDLE 189
-#define EM_GETLIMITTEXT 213
-#define EM_GETLINE 196
-#define EM_GETLINECOUNT 186
-#define EM_GETMARGINS 212
-#define EM_GETMODIFY 184
-#define EM_GETPASSWORDCHAR 210
-#define EM_GETRECT 178
-#define EM_GETSEL 176
-#define EM_GETTHUMB 190
-#define EM_GETWORDBREAKPROC 209
-#define EM_LIMITTEXT 197
-#define EM_LINEFROMCHAR 201
-#define EM_LINEINDEX 187
-#define EM_LINELENGTH 193
-#define EM_LINESCROLL 182
-#define EM_POSFROMCHAR 214
-#define EM_REPLACESEL 194
-#define EM_SCROLL 181
-#define EM_SCROLLCARET 183
-#define EM_SETHANDLE 188
-#define EM_SETLIMITTEXT 197
-#define EM_SETMARGINS 211
-#define EM_SETMODIFY 185
-#define EM_SETPASSWORDCHAR 204
-#define EM_SETREADONLY 207
-#define EM_SETRECT 179
-#define EM_SETRECTNP 180
-#define EM_SETSEL 177
-#define EM_SETTABSTOPS 203
-#define EM_SETWORDBREAKPROC 208
-#define EM_UNDO 199
-#define EN_CHANGE 768
-#define EN_ERRSPACE 1280
-#define EN_HSCROLL 1537
-#define EN_KILLFOCUS 512
-#define EN_MAXTEXT 1281
-#define EN_SETFOCUS 256
-#define EN_UPDATE 1024
-#define EN_VSCROLL 1538
-#define LB_ADDFILE 406
-#define LB_ADDSTRING 384
-#define LB_DELETESTRING 386
-#define LB_DIR 397
-#define LB_FINDSTRING 399
-#define LB_FINDSTRINGEXACT 418
-#define LB_GETANCHORINDEX 413
-#define LB_GETCARETINDEX 415
-#define LB_GETCOUNT 395
-#define LB_GETCURSEL 392
-#define LB_GETHORIZONTALEXTENT 403
-#define LB_GETITEMDATA 409
-#define LB_GETITEMHEIGHT 417
-#define LB_GETITEMRECT 408
-#define LB_GETLOCALE 422
-#define LB_GETSEL 391
-#define LB_GETSELCOUNT 400
-#define LB_GETSELITEMS 401
-#define LB_GETTEXT 393
-#define LB_GETTEXTLEN 394
-#define LB_GETTOPINDEX 398
-#define LB_INITSTORAGE 424
-#define LB_INSERTSTRING 385
-#define LB_ITEMFROMPOINT 425
-#define LB_RESETCONTENT 388
-#define LB_SELECTSTRING 396
-#define LB_SELITEMRANGE 411
-#define LB_SELITEMRANGEEX 387
-#define LB_SETANCHORINDEX 412
-#define LB_SETCARETINDEX 414
-#define LB_SETCOLUMNWIDTH 405
-#define LB_SETCOUNT 423
-#define LB_SETCURSEL 390
-#define LB_SETHORIZONTALEXTENT 404
-#define LB_SETITEMDATA 410
-#define LB_SETITEMHEIGHT 416
-#define LB_SETLOCALE 421
-#define LB_SETSEL 389
-#define LB_SETTABSTOPS 402
-#define LB_SETTOPINDEX 407
-#define LBN_DBLCLK 2
-#define LBN_ERRSPACE (-2)
-#define LBN_KILLFOCUS 5
-#define LBN_SELCANCEL 3
-#define LBN_SELCHANGE 1
-#define LBN_SETFOCUS 4
-#define SBM_ENABLE_ARROWS 228
-#define SBM_GETPOS 225
-#define SBM_GETRANGE 227
-#define SBM_GETSCROLLINFO 234
-#define SBM_SETPOS 224
-#define SBM_SETRANGE 226
-#define SBM_SETRANGEREDRAW 230
-#define SBM_SETSCROLLINFO 233
-#define STM_GETICON 369
-#define STM_GETIMAGE 371
-#define STM_SETICON 368
-#define STM_SETIMAGE 370
-#define STN_CLICKED 0
-#define STN_DBLCLK 1
-#define STN_DISABLE 3
-#define STN_ENABLE 2
-#define DM_GETDEFID WM_USER
-#define DM_SETDEFID (WM_USER+1)
-#define DM_REPOSITION (WM_USER+2)
-#define PSM_PAGEINFO (WM_USER+100)
-#define PSM_SHEETINFO (WM_USER+101)
-#define PSI_SETACTIVE 1
-#define PSI_KILLACTIVE 2
-#define PSI_APPLY 3
-#define PSI_RESET 4
-#define PSI_HASHELP 5
-#define PSI_HELP 6
-#define PSI_CHANGED 1
-#define PSI_GUISTART 2
-#define PSI_REBOOT 3
-#define PSI_GETSIBLINGS 4
-#define DCX_WINDOW 1
-#define DCX_CACHE 2
-#define DCX_PARENTCLIP 32
-#define DCX_CLIPSIBLINGS 16
-#define DCX_CLIPCHILDREN 8
-#define DCX_NORESETATTRS 4
-#define DCX_LOCKWINDOWUPDATE 0x400
-#define DCX_EXCLUDERGN 64
-#define DCX_INTERSECTRGN 128
-#define DCX_VALIDATE 0x200000
-#define GMDI_GOINTOPOPUPS 2
-#define GMDI_USEDISABLED 1
-#define FKF_AVAILABLE 2
-#define FKF_CLICKON 64
-#define FKF_FILTERKEYSON 1
-#define FKF_HOTKEYACTIVE 4
-#define FKF_HOTKEYSOUND 16
-#define FKF_CONFIRMHOTKEY 8
-#define FKF_INDICATOR 32
-#define HCF_HIGHCONTRASTON 1
-#define HCF_AVAILABLE 2
-#define HCF_HOTKEYACTIVE 4
-#define HCF_CONFIRMHOTKEY 8
-#define HCF_HOTKEYSOUND 16
-#define HCF_INDICATOR 32
-#define HCF_HOTKEYAVAILABLE 64
-#define MKF_AVAILABLE 2
-#define MKF_CONFIRMHOTKEY 8
-#define MKF_HOTKEYACTIVE 4
-#define MKF_HOTKEYSOUND 16
-#define MKF_INDICATOR 32
-#define MKF_MOUSEKEYSON 1
-#define MKF_MODIFIERS 64
-#define MKF_REPLACENUMBERS 128
-#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */
-#define SERKF_AVAILABLE 2
-#define SERKF_INDICATOR 4
-#define SERKF_SERIALKEYSON 1
-#define SSF_AVAILABLE 2
-#define SSF_SOUNDSENTRYON 1
-#define SSTF_BORDER 2
-#define SSTF_CHARS 1
-#define SSTF_DISPLAY 3
-#define SSTF_NONE 0
-#define SSGF_DISPLAY 3
-#define SSGF_NONE 0
-#define SSWF_CUSTOM 4
-#define SSWF_DISPLAY 3
-#define SSWF_NONE 0
-#define SSWF_TITLE 1
-#define SSWF_WINDOW 2
-#define SKF_AUDIBLEFEEDBACK 64
-#define SKF_AVAILABLE 2
-#define SKF_CONFIRMHOTKEY 8
-#define SKF_HOTKEYACTIVE 4
-#define SKF_HOTKEYSOUND 16
-#define SKF_INDICATOR 32
-#define SKF_STICKYKEYSON 1
-#define SKF_TRISTATE 128
-#define SKF_TWOKEYSOFF 256
-#define TKF_AVAILABLE 2
-#define TKF_CONFIRMHOTKEY 8
-#define TKF_HOTKEYACTIVE 4
-#define TKF_HOTKEYSOUND 16
-#define TKF_TOGGLEKEYSON 1
-#define MDITILE_SKIPDISABLED 2
-#define MDITILE_HORIZONTAL 1
-#define MDITILE_VERTICAL 0
-#define VK_LBUTTON 1
-#define VK_RBUTTON 2
-#define VK_CANCEL 3
-#define VK_MBUTTON 4
-#define VK_BACK 8
-#define VK_TAB 9
-#define VK_CLEAR 12
-#define VK_RETURN 13
-#define VK_KANA 15
-#define VK_SHIFT 16
-#define VK_CONTROL 17
-#define VK_MENU 18
-#define VK_PAUSE 19
-#define VK_CAPITAL 20
-#define VK_ESCAPE 0x1B
-#define VK_SPACE 32
-#define VK_PRIOR 33
-#define VK_NEXT 34
-#define VK_END 35
-#define VK_HOME 36
-#define VK_LEFT 37
-#define VK_UP 38
-#define VK_RIGHT 39
-#define VK_DOWN 40
-#define VK_SELECT 41
-#define VK_PRINT 42
-#define VK_EXECUTE 43
-#define VK_SNAPSHOT 44
-#define VK_INSERT 45
-#define VK_DELETE 46
-#define VK_HELP 47
-#define VK_LWIN 0x5B
-#define VK_RWIN 0x5C
-#define VK_APPS 0x5D
-#define VK_NUMPAD0 0x60
-#define VK_NUMPAD1 0x61
-#define VK_NUMPAD2 0x62
-#define VK_NUMPAD3 0x63
-#define VK_NUMPAD4 0x64
-#define VK_NUMPAD5 0x65
-#define VK_NUMPAD6 0x66
-#define VK_NUMPAD7 0x67
-#define VK_NUMPAD8 0x68
-#define VK_NUMPAD9 0x69
-#define VK_MULTIPLY 0x6A
-#define VK_ADD 0x6B
-#define VK_SEPARATOR 0x6C
-#define VK_SUBTRACT 0x6D
-#define VK_DECIMAL 0x6E
-#define VK_DIVIDE 0x6F
-#define VK_F1 0x70
-#define VK_F2 0x71
-#define VK_F3 0x72
-#define VK_F4 0x73
-#define VK_F5 0x74
-#define VK_F6 0x75
-#define VK_F7 0x76
-#define VK_F8 0x77
-#define VK_F9 0x78
-#define VK_F10 0x79
-#define VK_F11 0x7A
-#define VK_F12 0x7B
-#define VK_F13 0x7C
-#define VK_F14 0x7D
-#define VK_F15 0x7E
-#define VK_F16 0x7F
-#define VK_F17 0x80
-#define VK_F18 0x81
-#define VK_F19 0x82
-#define VK_F20 0x83
-#define VK_F21 0x84
-#define VK_F22 0x85
-#define VK_F23 0x86
-#define VK_F24 0x87
-#define VK_NUMLOCK 0x90
-#define VK_SCROLL 0x91
-#define VK_LSHIFT 0xA0
-#define VK_RSHIFT 0xA1
-#define VK_LCONTROL 0xA2
-#define VK_RCONTROL 0xA3
-#define VK_LMENU 0xA4
-#define VK_RMENU 0xA5
-#define VK_PROCESSKEY 0xE5
-#define VK_ATTN 0xF6
-#define VK_CRSEL 0xF7
-#define VK_EXSEL 0xF8
-#define VK_EREOF 0xF9
-#define VK_PLAY 0xFA
-#define VK_ZOOM 0xFB
-#define VK_NONAME 0xFC
-#define VK_PA1 0xFD
-#define VK_OEM_CLEAR 0xFE
-#define TME_HOVER 1
-#define TME_LEAVE 2
-#define TME_QUERY 0x40000000
-#define TME_CANCEL 0x80000000
-#define HOVER_DEFAULT 0xFFFFFFFF
-#define MK_LBUTTON 1
-#define MK_RBUTTON 2
-#define MK_SHIFT 4
-#define MK_CONTROL 8
-#define MK_MBUTTON 16
-#define TPM_CENTERALIGN 4
-#define TPM_LEFTALIGN 0
-#define TPM_RIGHTALIGN 8
-#define TPM_LEFTBUTTON 0
-#define TPM_RIGHTBUTTON 2
-#define TPM_HORIZONTAL 0
-#define TPM_VERTICAL 64
-#define TPM_TOPALIGN 0
-#define TPM_VCENTERALIGN 16
-#define TPM_BOTTOMALIGN 32
-#define TPM_NONOTIFY 128
-#define TPM_RETURNCMD 256
-#define HELP_COMMAND 0x102
-#define HELP_CONTENTS 3
-#define HELP_CONTEXT 1
-#define HELP_CONTEXTPOPUP 8
-#define HELP_FORCEFILE 9
-#define HELP_HELPONHELP 4
-#define HELP_INDEX 3
-#define HELP_KEY 0x101
-#define HELP_MULTIKEY 0x201
-#define HELP_PARTIALKEY 0x105
-#define HELP_QUIT 2
-#define HELP_SETCONTENTS 5
-#define HELP_SETINDEX 5
-#define HELP_CONTEXTMENU 0xa
-#define HELP_FINDER 0xb
-#define HELP_WM_HELP 0xc
-#define HELP_TCARD 0x8000
-#define HELP_TCARD_DATA 16
-#define HELP_TCARD_OTHER_CALLER 0x11
-#define IDH_NO_HELP 28440
-#define IDH_MISSING_CONTEXT 28441
-#define IDH_GENERIC_HELP_BUTTON 28442
-#define IDH_OK 28443
-#define IDH_CANCEL 28444
-#define IDH_HELP 28445
-#define LB_CTLCODE 0
-#define LB_OKAY 0
-#define LB_ERR (-1)
-#define LB_ERRSPACE (-2)
-#define CB_OKAY 0
-#define CB_ERR (-1)
-#define CB_ERRSPACE (-2)
-#define HIDE_WINDOW 0
-#define SHOW_OPENWINDOW 1
-#define SHOW_ICONWINDOW 2
-#define SHOW_FULLSCREEN 3
-#define SHOW_OPENNOACTIVATE 4
-#define SW_PARENTCLOSING 1
-#define SW_OTHERZOOM 2
-#define SW_PARENTOPENING 3
-#define SW_OTHERUNZOOM 4
-#define KF_EXTENDED 256
-#define KF_DLGMODE 2048
-#define KF_MENUMODE 4096
-#define KF_ALTDOWN 8192
-#define KF_REPEAT 16384
-#define KF_UP 32768
-#define WSF_VISIBLE 1
-#define PWR_OK 1
-#define PWR_FAIL (-1)
-#define PWR_SUSPENDREQUEST 1
-#define PWR_SUSPENDRESUME 2
-#define PWR_CRITICALRESUME 3
-#define NFR_ANSI 1
-#define NFR_UNICODE 2
-#define NF_QUERY 3
-#define NF_REQUERY 4
-#define MENULOOP_WINDOW 0
-#define MENULOOP_POPUP 1
-#define WMSZ_LEFT 1
-#define WMSZ_RIGHT 2
-#define WMSZ_TOP 3
-#define WMSZ_TOPLEFT 4
-#define WMSZ_TOPRIGHT 5
-#define WMSZ_BOTTOM 6
-#define WMSZ_BOTTOMLEFT 7
-#define WMSZ_BOTTOMRIGHT 8
-#define HTERROR (-2)
-#define HTTRANSPARENT (-1)
-#define HTNOWHERE 0
-#define HTCLIENT 1
-#define HTCAPTION 2
-#define HTSYSMENU 3
-#define HTGROWBOX 4
-#define HTSIZE 4
-#define HTMENU 5
-#define HTHSCROLL 6
-#define HTVSCROLL 7
-#define HTMINBUTTON 8
-#define HTMAXBUTTON 9
-#define HTREDUCE 8
-#define HTZOOM 9
-#define HTLEFT 10
-#define HTSIZEFIRST 10
-#define HTRIGHT 11
-#define HTTOP 12
-#define HTTOPLEFT 13
-#define HTTOPRIGHT 14
-#define HTBOTTOM 15
-#define HTBOTTOMLEFT 16
-#define HTBOTTOMRIGHT 17
-#define HTSIZELAST 17
-#define HTBORDER 18
-#define HTOBJECT 19
-#define HTCLOSE 20
-#define HTHELP 21
-#define MA_ACTIVATE 1
-#define MA_ACTIVATEANDEAT 2
-#define MA_NOACTIVATE 3
-#define MA_NOACTIVATEANDEAT 4
-#define SIZE_RESTORED 0
-#define SIZE_MINIMIZED 1
-#define SIZE_MAXIMIZED 2
-#define SIZE_MAXSHOW 3
-#define SIZE_MAXHIDE 4
-#define SIZENORMAL 0
-#define SIZEICONIC 1
-#define SIZEFULLSCREEN 2
-#define SIZEZOOMSHOW 3
-#define SIZEZOOMHIDE 4
-#define WVR_ALIGNTOP 16
-#define WVR_ALIGNLEFT 32
-#define WVR_ALIGNBOTTOM 64
-#define WVR_ALIGNRIGHT 128
-#define WVR_HREDRAW 256
-#define WVR_VREDRAW 512
-#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW)
-#define WVR_VALIDRECTS 1024
-#define PRF_CHECKVISIBLE 1
-#define PRF_NONCLIENT 2
-#define PRF_CLIENT 4
-#define PRF_ERASEBKGND 8
-#define PRF_CHILDREN 16
-#define PRF_OWNED 32
-#define IDANI_OPEN 1
-#define IDANI_CLOSE 2
-#define IDANI_CAPTION 3
-#define WPF_RESTORETOMAXIMIZED 2
-#define WPF_SETMINPOSITION 1
-#define ODT_MENU 1
-#define ODT_LISTBOX 2
-#define ODT_COMBOBOX 3
-#define ODT_BUTTON 4
-#define ODT_STATIC 5
-#define ODA_DRAWENTIRE 1
-#define ODA_SELECT 2
-#define ODA_FOCUS 4
-#define ODS_SELECTED 1
-#define ODS_GRAYED 2
-#define ODS_DISABLED 4
-#define ODS_CHECKED 8
-#define ODS_FOCUS 16
-#define ODS_DEFAULT 32
-#define ODS_COMBOBOXEDIT 4096
-#define IDHOT_SNAPWINDOW (-1)
-#define IDHOT_SNAPDESKTOP (-2)
-#define DBWF_LPARAMPOINTER 0x8000
-#define DLGWINDOWEXTRA 30
-#define MNC_IGNORE 0
-#define MNC_CLOSE 1
-#define MNC_EXECUTE 2
-#define MNC_SELECT 3
-#define DOF_EXECUTABLE 0x8001
-#define DOF_DOCUMENT 0x8002
-#define DOF_DIRECTORY 0x8003
-#define DOF_MULTIPLE 0x8004
-#define DOF_PROGMAN 1
-#define DOF_SHELLDATA 2
-#define DO_DROPFILE 0x454C4946
-#define DO_PRINTFILE 0x544E5250
-#define SW_SCROLLCHILDREN 1
-#define SW_INVALIDATE 2
-#define SW_ERASE 4
-#define SC_SIZE 0xF000
-#define SC_MOVE 0xF010
-#define SC_MINIMIZE 0xF020
-#define SC_ICON 0xf020
-#define SC_MAXIMIZE 0xF030
-#define SC_ZOOM 0xF030
-#define SC_NEXTWINDOW 0xF040
-#define SC_PREVWINDOW 0xF050
-#define SC_CLOSE 0xF060
-#define SC_VSCROLL 0xF070
-#define SC_HSCROLL 0xF080
-#define SC_MOUSEMENU 0xF090
-#define SC_KEYMENU 0xF100
-#define SC_ARRANGE 0xF110
-#define SC_RESTORE 0xF120
-#define SC_TASKLIST 0xF130
-#define SC_SCREENSAVE 0xF140
-#define SC_HOTKEY 0xF150
-#define SC_DEFAULT 0xF160
-#define SC_MONITORPOWER 0xF170
-#define SC_CONTEXTHELP 0xF180
-#define SC_SEPARATOR 0xF00F
-#define EC_LEFTMARGIN 1
-#define EC_RIGHTMARGIN 2
-#define EC_USEFONTINFO 0xffff
-#define DC_HASDEFID 0x534B
-#define DLGC_WANTARROWS 1
-#define DLGC_WANTTAB 2
-#define DLGC_WANTALLKEYS 4
-#define DLGC_WANTMESSAGE 4
-#define DLGC_HASSETSEL 8
-#define DLGC_DEFPUSHBUTTON 16
-#define DLGC_UNDEFPUSHBUTTON 32
-#define DLGC_RADIOBUTTON 64
-#define DLGC_WANTCHARS 128
-#define DLGC_STATIC 256
-#define DLGC_BUTTON 0x2000
-#define LB_CTLCODE 0
-#define WA_INACTIVE 0
-#define WA_ACTIVE 1
-#define WA_CLICKACTIVE 2
-#define ICON_SMALL 0
-#define ICON_BIG 1
-#define HBMMENU_CALLBACK ((HBITMAP) -1)
-#define HBMMENU_SYSTEM ((HBITMAP)1)
-#define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
-#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3)
-#define HBMMENU_MBAR_CLOSE ((HBITMAP)5)
-#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6)
-#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7)
-#define HBMMENU_POPUP_CLOSE ((HBITMAP)8)
-#define HBMMENU_POPUP_RESTORE ((HBITMAP)9)
-#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10)
-#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11)
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP 2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define LLKHF_ALTDOWN 0x00000020
-
-#ifndef RC_INVOKED
-typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
-typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
-typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD);
-typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD);
-typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int);
-typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
-typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
-typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
-typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-typedef NAMEENUMPROCW DESKTOPENUMPROCW;
-typedef NAMEENUMPROCA WINSTAENUMPROCA;
-typedef NAMEENUMPROCW WINSTAENUMPROCW;
-typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT);
-DECLARE_HANDLE(HHOOK);
-DECLARE_HANDLE(HDWP);
-typedef struct tagACCEL {
- BYTE fVirt;
- WORD key;
- WORD cmd;
-} ACCEL,*LPACCEL;
-typedef struct tagACCESSTIMEOUT {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iTimeOutMSec;
-} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-typedef struct tagANIMATIONINFO {
- UINT cbSize;
- int iMinAnimate;
-} ANIMATIONINFO,*LPANIMATIONINFO;
-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 struct tagCBT_CREATEWNDA {
- LPCREATESTRUCTA lpcs;
- HWND hwndInsertAfter;
-} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-typedef struct tagCBT_CREATEWNDW {
- LPCREATESTRUCTW lpcs;
- HWND hwndInsertAfter;
-} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-typedef struct tagCBTACTIVATESTRUCT {
- BOOL fMouse;
- HWND hWndActive;
-} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
-typedef struct tagCLIENTCREATESTRUCT {
- HANDLE hWindowMenu;
- UINT idFirstChild;
-} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
-typedef struct tagCOMPAREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- HWND hwndItem;
- UINT itemID1;
- DWORD itemData1;
- UINT itemID2;
- DWORD itemData2;
- DWORD dwLocaleId;
-} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
-typedef struct tagCOPYDATASTRUCT {
- DWORD dwData;
- DWORD cbData;
- PVOID lpData;
-} COPYDATASTRUCT,*PCOPYDATASTRUCT;
-typedef struct tagCURSORSHAPE {
- int xHotSpot;
- int yHotSpot;
- int cx;
- int cy;
- int cbWidth;
- BYTE Planes;
- BYTE BitsPixel;
-} CURSORSHAPE,*LPCURSORSHAPE;
-typedef struct tagCWPRETSTRUCT {
- LRESULT lResult;
- LPARAM lParam;
- WPARAM wParam;
- DWORD message;
- HWND hwnd;
-} CWPRETSTRUCT;
-typedef struct tagCWPSTRUCT {
- LPARAM lParam;
- WPARAM wParam;
- UINT message;
- HWND hwnd;
-} CWPSTRUCT,*PCWPSTRUCT;
-typedef struct tagDEBUGHOOKINFO {
- DWORD idThread;
- DWORD idThreadInstaller;
- LPARAM lParam;
- WPARAM wParam;
- int code;
-} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
-typedef struct tagDELETEITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- HWND hwndItem;
- UINT itemData;
-} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
-#pragma pack(push,2)
-typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- short x;
- short y;
- short cx;
- short cy;
- WORD id;
-} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
-typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- WORD cdit;
- short x;
- short y;
- short cx;
- short cy;
-} DLGTEMPLATE,*LPDLGTEMPLATE;
-typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
-#pragma pack(pop)
-typedef struct tagDRAWITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemAction;
- UINT itemState;
- HWND hwndItem;
- HDC hDC;
- RECT rcItem;
- DWORD itemData;
-} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
-typedef struct {
- UINT cbSize;
- int iTabLength;
- int iLeftMargin;
- int iRightMargin;
- UINT uiLengthDrawn;
-} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
-typedef struct tagPAINTSTRUCT {
- HDC hdc;
- BOOL fErase;
- RECT rcPaint;
- BOOL fRestore;
- BOOL fIncUpdate;
- BYTE rgbReserved[32];
-} PAINTSTRUCT,*LPPAINTSTRUCT;
-typedef struct tagMSG {
- HWND hwnd;
- UINT message;
- WPARAM wParam;
- LPARAM lParam;
- DWORD time;
- POINT pt;
-} MSG,*LPMSG,*PMSG;
-typedef struct _ICONINFO {
- BOOL fIcon;
- DWORD xHotspot;
- DWORD yHotspot;
- HBITMAP hbmMask;
- HBITMAP hbmColor;
-} ICONINFO,*PICONINFO;
-typedef struct tagNMHDR {
- HWND hwndFrom;
- UINT idFrom;
- UINT code;
-} NMHDR,*LPNMHDR;
-typedef struct _WNDCLASSA {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HANDLE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
-} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
-typedef struct _WNDCLASSW {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HANDLE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
-} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
-typedef struct _WNDCLASSEXA {
- UINT cbSize;
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HANDLE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
- HICON hIconSm;
-} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
-typedef struct _WNDCLASSEXW {
- UINT cbSize;
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HANDLE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
- HICON hIconSm;
-} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
-typedef struct tagMENUITEMINFOA {
- UINT cbSize;
- UINT fMask;
- UINT fType;
- UINT fState;
- UINT wID;
- HMENU hSubMenu;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPSTR dwTypeData;
- UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
- HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOA,*LPMENUITEMINFOA;
-typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
-typedef struct tagMENUITEMINFOW {
- UINT cbSize;
- UINT fMask;
- UINT fType;
- UINT fState;
- UINT wID;
- HMENU hSubMenu;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPWSTR dwTypeData;
- UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
- HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOW,*LPMENUITEMINFOW;
-typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
-typedef struct tagSCROLLINFO {
- UINT cbSize;
- UINT fMask;
- int nMin;
- int nMax;
- UINT nPage;
- int nPos;
- int nTrackPos;
-} SCROLLINFO,*LPSCROLLINFO;
-typedef const SCROLLINFO *LPCSCROLLINFO;
-typedef struct _WINDOWPLACEMENT {
- UINT length;
- UINT flags;
- UINT showCmd;
- POINT ptMinPosition;
- POINT ptMaxPosition;
- RECT rcNormalPosition;
-} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT;
-typedef struct {
- WORD versionNumber;
- WORD offset;
-} MENUITEMTEMPLATEHEADER;
-typedef struct {
- WORD mtOption;
- WORD mtID;
- WCHAR mtString[1];
-} MENUITEMTEMPLATE;
-typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE;
-typedef struct tagHELPINFO {
- UINT cbSize;
- int iContextType;
- int iCtrlId;
- HANDLE hItemHandle;
- DWORD dwContextId;
- POINT MousePos;
-} HELPINFO,*LPHELPINFO;
-typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO);
-typedef struct {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpszText;
- LPCSTR lpszCaption;
- DWORD dwStyle;
- LPCSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
-} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
-typedef struct {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpszText;
- LPCWSTR lpszCaption;
- DWORD dwStyle;
- LPCWSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
-} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
-typedef struct tagUSEROBJECTFLAGS {
- BOOL fInherit;
- BOOL fReserved;
- DWORD dwFlags;
-} USEROBJECTFLAGS;
-typedef struct tagFILTERKEYS {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iWaitMSec;
- DWORD iDelayMSec;
- DWORD iRepeatMSec;
- DWORD iBounceMSec;
-} FILTERKEYS;
-typedef struct tagHIGHCONTRASTA {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszDefaultScheme;
-} HIGHCONTRASTA,*LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRASTW {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszDefaultScheme;
-} HIGHCONTRASTW,*LPHIGHCONTRASTW;
-typedef struct tagICONMETRICSA {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTA lfFont;
-} ICONMETRICSA,*LPICONMETRICSA;
-typedef struct tagICONMETRICSW {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTW lfFont;
-} ICONMETRICSW,*LPICONMETRICSW;
-typedef struct tagMINIMIZEDMETRICS {
- UINT cbSize;
- int iWidth;
- int iHorzGap;
- int iVertGap;
- int iArrange;
-} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
-typedef struct tagMOUSEKEYS{
- UINT cbSize;
- DWORD dwFlags;
- DWORD iMaxSpeed;
- DWORD iTimeToMaxSpeed;
- DWORD iCtrlSpeed;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} MOUSEKEYS, *LPMOUSEKEYS;
-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,*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,*LPNONCLIENTMETRICSW;
-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 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 struct tagSTICKYKEYS {
- DWORD cbSize;
- DWORD dwFlags;
-} STICKYKEYS,*LPSTICKYKEYS;
-typedef struct tagTOGGLEKEYS {
- DWORD cbSize;
- DWORD dwFlags;
-} TOGGLEKEYS;
-typedef struct tagTRACKMOUSEEVENT {
- DWORD cbSize;
- DWORD dwFlags;
- HWND hwndTrack;
- DWORD dwHoverTime;
-} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
-typedef struct tagTPMPARAMS {
- UINT cbSize;
- RECT rcExclude;
-} TPMPARAMS,*LPTPMPARAMS;
-typedef struct tagEVENTMSG {
- UINT message;
- UINT paramL;
- UINT paramH;
- DWORD time;
- HWND hwnd;
-} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG;
-typedef struct _WINDOWPOS {
- HWND hwnd;
- HWND hwndInsertAfter;
- int x;
- int y;
- int cx;
- int cy;
- UINT flags;
-} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
-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 struct tagMINMAXINFO {
- POINT ptReserved;
- POINT ptMaxSize;
- POINT ptMaxPosition;
- POINT ptMinTrackSize;
- POINT ptMaxTrackSize;
-} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
-typedef struct tagMDINEXTMENU {
- HMENU hmenuIn;
- HMENU hmenuNext;
- HWND hwndNext;
-} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
-typedef struct tagMEASUREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemWidth;
- UINT itemHeight;
- DWORD itemData;
-} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
-typedef struct tagDROPSTRUCT {
- HWND hwndSource;
- HWND hwndSink;
- DWORD wFmt;
- DWORD dwData;
- POINT ptDrop;
- DWORD dwControlData;
-} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
-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 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 struct tagSTYLESTRUCT {
- DWORD styleOld;
- DWORD styleNew;
-} STYLESTRUCT,*LPSTYLESTRUCT;
-typedef struct tagALTTABINFO {
- DWORD cbSize;
- int cItems;
- int cColumns;
- int cRows;
- int iColFocus;
- int iRowFocus;
- int cxItem;
- int cyItem;
- POINT ptStart;
-} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
-typedef struct tagCOMBOBOXINFO {
- DWORD cbSize;
- RECT rcItem;
- RECT rcButton;
- DWORD stateButton;
- HWND hwndCombo;
- HWND hwndItem;
- HWND hwndList;
-} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
-typedef struct tagCURSORINFO {
- DWORD cbSize;
- DWORD flags;
- HCURSOR hCursor;
- POINT ptScreenPos;
-} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
-typedef struct tagMENUBARINFO {
- DWORD cbSize;
- RECT rcBar;
- HMENU hMenu;
- HWND hwndMenu;
- BOOL fBarFocused:1;
- BOOL fFocused:1;
-} MENUBARINFO, *PMENUBARINFO;
-typedef struct tagMENUINFO {
- DWORD cbSize;
- DWORD fMask;
- DWORD dwStyle;
- UINT cyMax;
- HBRUSH hbrBack;
- DWORD dwContextHelpID;
- ULONG_PTR dwMenuData;
-} MENUINFO, *LPMENUINFO;
-typedef MENUINFO CONST *LPCMENUINFO;
-#define CCHILDREN_SCROLLBAR 5
-typedef struct tagSCROLLBARINFO {
- DWORD cbSize;
- RECT rcScrollBar;
- int dxyLineButton;
- int xyThumbTop;
- int xyThumbBottom;
- int reserved;
- DWORD rgstate[CCHILDREN_SCROLLBAR + 1];
-} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
-#define CCHILDREN_TITLEBAR 5
-typedef struct tagTITLEBARINFO {
- DWORD cbSize;
- RECT rcTitleBar;
- DWORD rgstate[CCHILDREN_TITLEBAR + 1];
-} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
-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;
-typedef struct tagLASTINPUTINFO {
- UINT cbSize;
- DWORD dwTime;
-} LASTINPUTINFO, * PLASTINPUTINFO;
-typedef struct tagMONITORINFO {
- DWORD cbSize;
- RECT rcMonitor;
- RECT rcWork;
- DWORD dwFlags;
-} MONITORINFO,*LPMONITORINFO;
-typedef struct tagKBDLLHOOKSTRUCT {
- DWORD vkCode;
- DWORD scanCode;
- DWORD flags;
- DWORD time;
- DWORD dwExtraInfo;
-} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
-
-
-#define AnsiToOem CharToOemA
-#define OemToAnsi OemToCharA
-#define AnsiToOemBuff CharToOemBuffA
-#define OemToAnsiBuff OemToCharBuffA
-#define AnsiUpper CharUpperA
-#define AnsiUpperBuff CharUpperBuffA
-#define AnsiLower CharLowerA
-#define AnsiLowerBuff CharLowerBuffA
-#define AnsiNext CharNextA
-#define AnsiPrev CharPrevA
-#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h))
-#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h))
-#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h))
-#define POINTSTOPOINT(p,ps) { \
- (p).x=LOWORD(*(DWORD *)&ps); \
- (p).y=HIWORD(*(DWORD *)&ps); \
-}
-#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y))
-
-HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
-BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
-BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
-BOOL WINAPI AnyPopup(void);
-BOOL WINAPI AppendMenuA(HMENU,UINT,UINT,LPCSTR);
-BOOL WINAPI AppendMenuW(HMENU,UINT,UINT,LPCWSTR);
-UINT WINAPI ArrangeIconicWindows(HWND);
-BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
-HDWP WINAPI BeginDeferWindowPos(int);
-HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
-BOOL WINAPI BringWindowToTop(HWND);
-long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-BOOL WINAPI CallMsgFilter(PMSG,int);
-LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
-LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
-BOOL WINAPI ChangeClipboardChain(HWND,HWND);
-LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
-LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
-BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
-BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
-LPSTR WINAPI CharLowerA(LPSTR);
-LPWSTR WINAPI CharLowerW(LPWSTR);
-DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
-DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
-LPSTR WINAPI CharNextA(LPCSTR);
-LPWSTR WINAPI CharNextW(LPCWSTR);
-LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
-LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD);
-LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
-LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
-LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
-LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD);
-BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
-BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
-BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
-BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
-LPSTR WINAPI CharUpperA(LPSTR);
-LPWSTR WINAPI CharUpperW(LPWSTR);
-DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
-DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
-BOOL WINAPI CheckDlgButton(HWND,int,UINT);
-DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
-BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
-BOOL WINAPI CheckRadioButton(HWND,int,int,int);
-HWND WINAPI ChildWindowFromPoint(HWND,POINT);
-HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
-BOOL WINAPI ClientToScreen(HWND,LPPOINT);
-BOOL WINAPI ClipCursor(LPCRECT);
-BOOL WINAPI CloseClipboard(void);
-BOOL WINAPI CloseDesktop(HDESK);
-BOOL WINAPI CloseWindow(HWND);
-BOOL WINAPI CloseWindowStation(HWINSTA);
-int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int);
-int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int);
-HCURSOR WINAPI CopyCursor(HCURSOR);
-HICON WINAPI CopyIcon(HICON);
-HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT);
-BOOL WINAPI CopyRect(LPRECT,LPCRECT);
-int WINAPI CountClipboardFormats(void);
-HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int);
-HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int);
-BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int);
-HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
-HDESK WINAPI CreateDesktopA(LPSTR,LPSTR,LPDEVMODEA,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-HDESK WINAPI CreateDesktopW(LPWSTR,LPWSTR,LPDEVMODEW,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
-#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
-#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
-#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
-HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*);
-HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
-HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
-HICON WINAPI CreateIconIndirect(PICONINFO);
-HWND WINAPI CreateMDIWindowA(LPSTR,LPSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-HWND WINAPI CreateMDIWindowW(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-HMENU WINAPI CreateMenu(void);
-HMENU WINAPI CreatePopupMenu(void);
-#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k)
-#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k)
-HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
-HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT);
-LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
-#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
-LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
-LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
-BOOL WINAPI DestroyAcceleratorTable(HACCEL);
-BOOL WINAPI DestroyCaret(void);
-BOOL WINAPI DestroyCursor(HCURSOR);
-BOOL WINAPI DestroyIcon(HICON);
-BOOL WINAPI DestroyMenu(HMENU);
-BOOL WINAPI DestroyWindow(HWND);
-#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0)
-#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0)
-#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0)
-#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
-int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-LONG WINAPI DispatchMessageA(const MSG*);
-LONG WINAPI DispatchMessageW(const MSG*);
-int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT);
-int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT);
-int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT);
-int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT);
-BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int);
-BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int);
-BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int);
-BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int);
-BOOL WINAPI DragDetect(HWND,POINT);
-DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
-BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT);
-BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT);
-BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
-BOOL WINAPI DrawFocusRect(HDC,LPCRECT);
-BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-BOOL WINAPI DrawIcon(HDC,int,int,HICON);
-BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT);
-BOOL WINAPI DrawMenuBar(HWND);
-BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT);
-int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT);
-int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-BOOL WINAPI EmptyClipboard(void);
-BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT);
-BOOL WINAPI EnableScrollBar(HWND,UINT,UINT);
-BOOL WINAPI EnableWindow(HWND,BOOL);
-BOOL WINAPI EndDeferWindowPos(HDWP);
-BOOL WINAPI EndDialog(HWND,int);
-BOOL WINAPI EndMenu(VOID);
-BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
-UINT WINAPI EnumClipboardFormats(UINT);
-BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
-BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
-BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
-BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
-BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-int WINAPI EnumPropsA(HWND,PROPENUMPROCA);
-int WINAPI EnumPropsW(HWND,PROPENUMPROCW);
-int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
-int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
-#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p)
-BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
-BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
-BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
-BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
-BOOL WINAPI EqualRect(LPCRECT,LPCRECT);
-#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
-BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
-HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
-HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
-HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
-BOOL WINAPI FlashWindow(HWND,BOOL);
-int WINAPI FrameRect(HDC,LPCRECT,HBRUSH);
-BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int);
-HWND WINAPI GetActiveWindow(void);
-SHORT WINAPI GetAsyncKeyState(int);
-HWND WINAPI GetCapture(void);
-UINT WINAPI GetCaretBlinkTime(void);
-BOOL WINAPI GetCaretPos(LPPOINT);
-BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,PWNDCLASSA);
-BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,PWNDCLASSEXA);
-BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,PWNDCLASSW);
-BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,PWNDCLASSEXW);
-DWORD WINAPI GetClassLongA(HWND,int);
-DWORD WINAPI GetClassLongW(HWND,int);
-int WINAPI GetClassNameA(HWND,LPSTR,int);
-int WINAPI GetClassNameW(HWND,LPWSTR,int);
-WORD WINAPI GetClassWord(HWND,int);
-BOOL WINAPI GetClientRect(HWND,LPRECT);
-HANDLE WINAPI GetClipboardData(UINT);
-int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int);
-int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int);
-HWND WINAPI GetClipboardOwner(void);
-HWND WINAPI GetClipboardViewer(void);
-BOOL WINAPI GetClipCursor(LPRECT);
-BOOL WINAPI GetCursorPos(LPPOINT);
-HDC WINAPI GetDC(HWND);
-HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
-HWND WINAPI GetDesktopWindow(void);
-long WINAPI GetDialogBaseUnits(void);
-int WINAPI GetDlgCtrlID(HWND);
-HWND WINAPI GetDlgItem(HWND,int);
-UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL);
-UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int);
-UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int);
-UINT WINAPI GetDoubleClickTime(void);
-HWND WINAPI GetFocus(void);
-HWND WINAPI GetForegroundWindow(void);
-BOOL WINAPI GetIconInfo(HICON,PICONINFO);
-BOOL WINAPI GetInputState(void);
-UINT WINAPI GetKBCodePage(void);
-HKL WINAPI GetKeyboardLayout(DWORD);
-int WINAPI GetKeyboardLayoutList(int,HKL*);
-BOOL WINAPI GetKeyboardLayoutNameA(LPSTR);
-BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR);
-BOOL WINAPI GetKeyboardState(PBYTE);
-int WINAPI GetKeyboardType(int);
-int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
-int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
-SHORT WINAPI GetKeyState(int);
-HWND WINAPI GetLastActivePopup(HWND);
-DWORD WINAPI GetLastError(void);
-HMENU WINAPI GetMenu(HWND);
-LONG WINAPI GetMenuCheckMarkDimensions(void);
-DWORD WINAPI GetMenuContextHelpId(HMENU);
-UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
-int WINAPI GetMenuItemCount(HMENU);
-UINT WINAPI GetMenuItemID(HMENU,int);
-BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA);
-BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW);
-BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
-UINT WINAPI GetMenuState(HMENU,UINT,UINT);
-int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT);
-int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT);
-BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
-BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
-LONG WINAPI GetMessageExtraInfo(void);
-DWORD WINAPI GetMessagePos(void);
-LONG WINAPI GetMessageTime(void);
-HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
-HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
-#define GetNextWindow(h,c) GetWindow(h,c)
-HWND WINAPI GetOpenClipboardWindow(void);
-HWND WINAPI GetParent(HWND);
-int WINAPI GetPriorityClipboardFormat(UINT*,int);
-HANDLE WINAPI GetPropA(HWND,LPCSTR);
-HANDLE WINAPI GetPropW(HWND,LPCWSTR);
-DWORD WINAPI GetQueueStatus(UINT);
-BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO);
-int WINAPI GetScrollPos(HWND,int);
-BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT);
-HMENU WINAPI GetSubMenu(HMENU,int);
-DWORD WINAPI GetSysColor(int);
-HBRUSH WINAPI GetSysColorBrush(int);
-#define GetSysModalWindow() (NULL)
-HMENU WINAPI GetSystemMenu(HWND,BOOL);
-int WINAPI GetSystemMetrics(int);
-DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
-DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
-LONG WINAPI GetWindowLongA(HWND,int);
-LONG WINAPI GetWindowLongW(HWND,int);
-#ifdef _WIN64
-LONG_PTR WINAPI GetWindowLongPtrA(HWND,int);
-LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
-#else
-#define GetWindowLongPtrA GetWindowLongA
-#define GetWindowLongPtrW GetWindowLongW
-#endif
-HDESK WINAPI GetThreadDesktop(DWORD);
-HWND WINAPI GetTopWindow(HWND);
-BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
-int WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
-BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD);
-BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD);
-BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-HWND WINAPI GetWindow(HWND,UINT);
-DWORD WINAPI GetWindowContextHelpId(HWND);
-HDC WINAPI GetWindowDC(HWND);
-BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
-BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*);
-BOOL WINAPI GetWindowRect(HWND,LPRECT);
-int WINAPI GetWindowRgn(HWND,HRGN);
-#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-int WINAPI GetWindowTextA(HWND,LPSTR,int);
-int WINAPI GetWindowTextLengthA(HWND);
-int WINAPI GetWindowTextLengthW(HWND);
-int WINAPI GetWindowTextW(HWND,LPWSTR,int);
-WORD WINAPI GetWindowWord(HWND,int);
-BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
-BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
-BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
-BOOL WINAPI GetCursorInfo(PCURSORINFO);
-BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
-DWORD WINAPI GetListBoxInfo(HWND);
-BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
-BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
-BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
-BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
-BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
-BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
-UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
-UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
-BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-BOOL WINAPI HideCaret(HWND);
-BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
-BOOL WINAPI InflateRect(LPRECT,int,int);
-BOOL WINAPI InSendMessage(VOID);
-BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
-BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
-BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
-BOOL WINAPI InvertRect(HDC,LPCRECT);
-BOOL WINAPI IsCharAlphaA(CHAR ch);
-BOOL WINAPI IsCharAlphaNumericA(CHAR);
-BOOL WINAPI IsCharAlphaNumericW(WCHAR);
-BOOL WINAPI IsCharAlphaW(WCHAR);
-BOOL WINAPI IsCharLowerA(CHAR);
-BOOL WINAPI IsCharLowerW(WCHAR);
-BOOL WINAPI IsCharUpperA(CHAR);
-BOOL WINAPI IsCharUpperW(WCHAR);
-BOOL WINAPI IsChild(HWND,HWND);
-BOOL WINAPI IsClipboardFormatAvailable(UINT);
-BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
-BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
-UINT WINAPI IsDlgButtonChecked(HWND,int);
-BOOL WINAPI IsIconic(HWND);
-BOOL WINAPI IsMenu(HMENU);
-BOOL WINAPI IsRectEmpty(LPCRECT);
-BOOL WINAPI IsWindow(HWND);
-BOOL WINAPI IsWindowEnabled(HWND);
-BOOL WINAPI IsWindowUnicode(HWND);
-BOOL WINAPI IsWindowVisible(HWND);
-BOOL WINAPI IsZoomed(HWND);
-VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
-BOOL WINAPI KillTimer(HWND,UINT);
-HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
-HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
-HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
-HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
-HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
-HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
-HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
-HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
-HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
-HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
-HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT);
-HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT);
-HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
-HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
-HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
-HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*);
-HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*);
-HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
-int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int);
-int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int);
-BOOL WINAPI LockWindowUpdate(HWND);
-int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL);
-int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
-BOOL WINAPI MapDialogRect(HWND,LPRECT);
-UINT WINAPI MapVirtualKeyA(UINT,UINT);
-UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
-UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
-UINT WINAPI MapVirtualKeyW(UINT,UINT);
-int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
-int WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
-BOOL WINAPI MessageBeep(UINT);
-int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
-int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
-int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
-int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
-int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
-int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
-BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
-BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL);
-DWORD WINAPI MsgWaitForMultipleObjects(DWORD,LPHANDLE,BOOL,DWORD,DWORD);
-DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,LPHANDLE,DWORD,DWORD,DWORD);
-DWORD WINAPI OemKeyScan(WORD);
-BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
-BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
-BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
-BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
-BOOL WINAPI OffsetRect(LPRECT,int,int);
-BOOL WINAPI OpenClipboard(HWND);
-HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD);
-HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD);
-BOOL WINAPI OpenIcon(HWND);
-HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD);
-HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD);
-HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD);
-BOOL WINAPI PaintDesktop(HDC);
-BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
-BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
-#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l)
-#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l)
-BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
-void WINAPI PostQuitMessage(int);
-BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
-BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
-BOOL WINAPI PtInRect(LPCRECT,POINT);
-BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT);
-ATOM WINAPI RegisterClassA(const WNDCLASSA*);
-ATOM WINAPI RegisterClassW(const WNDCLASSW*);
-ATOM WINAPI RegisterClassExA(const WNDCLASSEXA*);
-ATOM WINAPI RegisterClassExW(const WNDCLASSEXW*);
-UINT WINAPI RegisterClipboardFormatA(LPCSTR);
-UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
-BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
-UINT WINAPI RegisterWindowMessageA(LPCSTR);
-UINT WINAPI RegisterWindowMessageW(LPCWSTR);
-BOOL WINAPI ReleaseCapture(void);
-int WINAPI ReleaseDC(HWND,HDC);
-BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
-HANDLE WINAPI RemovePropA(HWND,LPCSTR);
-HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
-BOOL WINAPI ReplyMessage(LRESULT);
-BOOL WINAPI ScreenToClient(HWND,LPPOINT);
-BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT);
-BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
-int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
-LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
-LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
-LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
-LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
-LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
-HWND WINAPI SetActiveWindow(HWND);
-HWND WINAPI SetCapture(HWND hWnd);
-BOOL WINAPI SetCaretBlinkTime(UINT);
-BOOL WINAPI SetCaretPos(int,int);
-DWORD WINAPI SetClassLongA(HWND,int,LONG);
-DWORD WINAPI SetClassLongW(HWND,int,LONG);
-WORD WINAPI SetClassWord(HWND,int,WORD);
-HANDLE WINAPI SetClipboardData(UINT,HANDLE);
-HWND WINAPI SetClipboardViewer(HWND);
-HCURSOR WINAPI SetCursor(HCURSOR);
-BOOL WINAPI SetCursorPos(int,int);
-VOID WINAPI SetDebugErrorLevel(DWORD);
-BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL);
-BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR);
-BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR);
-BOOL WINAPI SetDoubleClickTime(UINT);
-HWND WINAPI SetFocus(HWND);
-BOOL WINAPI SetForegroundWindow(HWND);
-BOOL WINAPI SetKeyboardState(PBYTE);
-BOOL WINAPI SetMenu(HWND,HMENU);
-BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
-BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
-BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
-BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
-BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-LPARAM WINAPI SetMessageExtraInfo(LPARAM);
-BOOL WINAPI SetMessageQueue(int);
-HWND WINAPI SetParent(HWND,HWND);
-BOOL WINAPI SetProcessWindowStation(HWINSTA);
-BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
-BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
-BOOL WINAPI SetRect(LPRECT,int,int,int,int);
-BOOL WINAPI SetRectEmpty(LPRECT);
-int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL);
-int WINAPI SetScrollPos(HWND,int,int,BOOL);
-BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL);
-BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *);
-#define SetSysModalWindow(h) (NULL)
-BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
-BOOL WINAPI SetThreadDesktop(HDESK);
-UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
-BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
-BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
-BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
-LONG WINAPI SetWindowLongA(HWND,int,LONG);
-LONG WINAPI SetWindowLongW(HWND,int,LONG);
-#ifdef _WIN64
-LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR);
-LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
-#else
-#define SetWindowLongPtrA SetWindowLongA
-#define SetWindowLongPtrW SetWindowLongW
-#endif
-BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
-BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
-int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC);
-HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
-HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
-BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
-BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
-WORD WINAPI SetWindowWord(HWND,int,WORD);
-BOOL WINAPI ShowCaret(HWND);
-int WINAPI ShowCursor(BOOL);
-BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
-BOOL WINAPI ShowScrollBar(HWND,int,BOOL);
-BOOL WINAPI ShowWindow(HWND,int);
-BOOL WINAPI ShowWindowAsync(HWND,int);
-BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT);
-BOOL WINAPI SwapMouseButton(BOOL);
-BOOL WINAPI SwitchDesktop(HDESK);
-BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT);
-BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT);
-LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
-LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int);
-WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *);
-int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT);
-int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL);
-int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
-int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL);
-BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
-BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT);
-BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
-int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
-int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
-BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
-BOOL WINAPI TranslateMessage(const MSG*);
-BOOL WINAPI UnhookWindowsHook(int,HOOKPROC);
-BOOL WINAPI UnhookWindowsHookEx(HHOOK);
-BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT);
-BOOL WINAPI UnloadKeyboardLayout(HKL);
-BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
-BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
-BOOL WINAPI UnregisterHotKey(HWND,int);
-BOOL WINAPI UpdateWindow(HWND);
-BOOL WINAPI ValidateRect(HWND,LPCRECT);
-BOOL WINAPI ValidateRgn(HWND,HRGN);
-SHORT WINAPI VkKeyScanA(CHAR);
-SHORT WINAPI VkKeyScanExA(CHAR,HKL);
-SHORT WINAPI VkKeyScanExW(WCHAR,HKL);
-SHORT WINAPI VkKeyScanW(WCHAR);
-DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
-BOOL WINAPI WaitMessage(void);
-HWND WINAPI WindowFromDC(HDC hDC);
-HWND WINAPI WindowFromPoint(POINT);
-UINT WINAPI WinExec(LPCSTR,UINT);
-BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
-BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
-int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
-int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
-int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
-int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-
-#ifdef UNICODE
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
-#define WINSTAENUMPROC WINSTAENUMPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define MAKEINTRESOURCE MAKEINTRESOURCEW
-typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-#define AppendMenu AppendMenuW
-#define CallWindowProc CallWindowProcW
-#define ChangeDisplaySettings ChangeDisplaySettingsW
-#define ChangeMenu ChangeMenuW
-#define CharLower CharLowerW
-#define CharLowerBuff CharLowerBuffW
-#define CharNext CharNextW
-#define CharNextEx CharNextExW
-#define CharPrev CharPrevW
-#define CharPrevEx CharPrevExW
-#define CharToOem CharToOemW
-#define CharToOemBuff CharToOemBuffW
-#define CharUpper CharUpperW
-#define CharUpperBuff CharUpperBuffW
-#define CopyAcceleratorTable CopyAcceleratorTableW
-#define CreateAcceleratorTable CreateAcceleratorTableW
-#define CreateDesktop CreateDesktopW
-#define CreateDialog CreateDialogW
-#define CreateDialogIndirect CreateDialogIndirectW
-#define CreateDialogIndirectParam CreateDialogIndirectParamW
-#define CreateDialogParam CreateDialogParamW
-#define CreateMDIWindow CreateMDIWindowW
-#define CreateWindow CreateWindowW
-#define CreateWindowEx CreateWindowExW
-#define CreateWindowStation CreateWindowStationW
-#define DefDlgProc DefDlgProcW
-#define DefFrameProc DefFrameProcW
-#define DefMDIChildProc DefMDIChildProcW
-#define DefWindowProc DefWindowProcW
-#define DialogBox DialogBoxW
-#define DialogBoxIndirect DialogBoxIndirectW
-#define DialogBoxIndirectParam DialogBoxIndirectParamW
-#define DialogBoxParam DialogBoxParamW
-#define DispatchMessage DispatchMessageW
-#define DlgDirList DlgDirListW
-#define DlgDirListComboBox DlgDirListComboBoxW
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
-#define DlgDirSelectEx DlgDirSelectExW
-#define DrawState DrawStateW
-#define DrawText DrawTextW
-#define DrawTextEx DrawTextExW
-#define EnumDesktops EnumDesktopsW
-#define EnumDisplaySettings EnumDisplaySettingsW
-#define EnumProps EnumPropsW
-#define EnumPropsEx EnumPropsExW
-#define EnumWindowStations EnumWindowStationsW
-#define FindWindow FindWindowW
-#define FindWindowEx FindWindowExW
-#define GetClassInfo GetClassInfoW
-#define GetClassInfoEx GetClassInfoExW
-#define GetClassLong GetClassLongW
-#define GetClassName GetClassNameW
-#define GetClipboardFormatName GetClipboardFormatNameW
-#define GetDlgItemText GetDlgItemTextW
-#define GetKeyboardLayoutName GetKeyboardLayoutNameW
-#define GetKeyNameText GetKeyNameTextW
-#define GetMenuItemInfo GetMenuItemInfoW
-#define GetMenuString GetMenuStringW
-#define GetMessage GetMessageW
-#define GetMonitorInfo GetMonitorInfoW
-#define GetProp GetPropW
-#define GetTabbedTextExtent GetTabbedTextExtentW
-#define GetUserObjectInformation GetUserObjectInformationW
-#define GetWindowLong GetWindowLongW
-#define GetWindowLongPtr GetWindowLongPtrW
-#define GetWindowText GetWindowTextW
-#define GetWindowTextLength GetWindowTextLengthW
-#define GetAltTabInfo GetAltTabInfoW
-#define GetWindowModuleFileName GetWindowModuleFileNameW
-#define GrayString GrayStringW
-#define InsertMenu InsertMenuW
-#define InsertMenuItem InsertMenuItemW
-#define IsCharAlpha IsCharAlphaW
-#define IsCharAlphaNumeric IsCharAlphaNumericW
-#define IsCharLower IsCharLowerW
-#define IsCharUpper IsCharUpperW
-#define IsDialogMessage IsDialogMessageW
-#define LoadAccelerators LoadAcceleratorsW
-#define LoadBitmap LoadBitmapW
-#define LoadCursor LoadCursorW
-#define LoadCursorFromFile LoadCursorFromFileW
-#define LoadIcon LoadIconW
-#define LoadImage LoadImageW
-#define LoadKeyboardLayout LoadKeyboardLayoutW
-#define LoadMenu LoadMenuW
-#define LoadMenuIndirect LoadMenuIndirectW
-#define LoadString LoadStringW
-#define MapVirtualKey MapVirtualKeyW
-#define MapVirtualKeyEx MapVirtualKeyExW
-#define MessageBox MessageBoxW
-#define MessageBoxEx MessageBoxExW
-#define MessageBoxIndirect MessageBoxIndirectW
-#define ModifyMenu ModifyMenuW
-#define OemToChar OemToCharW
-#define OemToCharBuff OemToCharBuffW
-#define OpenDesktop OpenDesktopW
-#define OpenWindowStation OpenWindowStationW
-#define PeekMessage PeekMessageW
-#define PostAppMessage PostAppMessageW
-#define PostMessage PostMessageW
-#define PostThreadMessage PostThreadMessageW
-#define RegisterClass RegisterClassW
-#define RegisterClassEx RegisterClassExW
-#define RegisterClipboardFormat RegisterClipboardFormatW
-#define RegisterWindowMessage RegisterWindowMessageW
-#define RemoveProp RemovePropW
-#define SendDlgItemMessage SendDlgItemMessageW
-#define SendMessage SendMessageW
-#define SendMessageCallback SendMessageCallbackW
-#define SendMessageTimeout SendMessageTimeoutW
-#define SendNotifyMessage SendNotifyMessageW
-#define SetClassLong SetClassLongW
-#define SetDlgItemText SetDlgItemTextW
-#define SetMenuItemInfo SetMenuItemInfoW
-#define SetProp SetPropW
-#define SetUserObjectInformation SetUserObjectInformationW
-#define SetWindowLong SetWindowLongW
-#define SetWindowLongPtr SetWindowLongPtrW
-#define SetWindowsHook SetWindowsHookW
-#define SetWindowsHookEx SetWindowsHookExW
-#define SetWindowText SetWindowTextW
-#define SystemParametersInfo SystemParametersInfoW
-#define TabbedTextOut TabbedTextOutW
-#define TranslateAccelerator TranslateAcceleratorW
-#define UnregisterClass UnregisterClassW
-#define VkKeyScan VkKeyScanW
-#define VkKeyScanEx VkKeyScanExW
-#define WinHelp WinHelpW
-#define wsprintf wsprintfW
-#define wvsprintf wvsprintfW
-#else
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
-#define WINSTAENUMPROC WINSTAENUMPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define MAKEINTRESOURCE MAKEINTRESOURCEA
-typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
-typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-#define AppendMenu AppendMenuA
-#define CallWindowProc CallWindowProcA
-#define ChangeDisplaySettings ChangeDisplaySettingsA
-#define ChangeMenu ChangeMenuA
-#define CharLower CharLowerA
-#define CharLowerBuff CharLowerBuffA
-#define CharNext CharNextA
-#define CharNextEx CharNextExA
-#define CharPrev CharPrevA
-#define CharPrevEx CharPrevExA
-#define CharToOem CharToOemA
-#define CharToOemBuff CharToOemBuffA
-#define CharUpper CharUpperA
-#define CharUpperBuff CharUpperBuffA
-#define CopyAcceleratorTable CopyAcceleratorTableA
-#define CreateAcceleratorTable CreateAcceleratorTableA
-#define CreateDesktop CreateDesktopA
-#define CreateDialog CreateDialogA
-#define CreateDialogIndirect CreateDialogIndirectA
-#define CreateDialogIndirectParam CreateDialogIndirectParamA
-#define CreateDialogParam CreateDialogParamA
-#define CreateMDIWindow CreateMDIWindowA
-#define CreateWindow CreateWindowA
-#define CreateWindowEx CreateWindowExA
-#define CreateWindowStation CreateWindowStationA
-#define DefDlgProc DefDlgProcA
-#define DefFrameProc DefFrameProcA
-#define DefMDIChildProc DefMDIChildProcA
-#define DefWindowProc DefWindowProcA
-#define DialogBox DialogBoxA
-#define DialogBoxIndirect DialogBoxIndirectA
-#define DialogBoxIndirectParam DialogBoxIndirectParamA
-#define DialogBoxParam DialogBoxParamA
-#define DispatchMessage DispatchMessageA
-#define DlgDirList DlgDirListA
-#define DlgDirListComboBox DlgDirListComboBoxA
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
-#define DlgDirSelectEx DlgDirSelectExA
-#define DrawState DrawStateA
-#define DrawText DrawTextA
-#define DrawTextEx DrawTextExA
-#define EnumDesktops EnumDesktopsA
-#define EnumDisplaySettings EnumDisplaySettingsA
-#define EnumProps EnumPropsA
-#define EnumPropsEx EnumPropsExA
-#define EnumWindowStations EnumWindowStationsA
-#define FindWindow FindWindowA
-#define FindWindowEx FindWindowExA
-#define GetClassInfo GetClassInfoA
-#define GetClassInfoEx GetClassInfoExA
-#define GetClassLong GetClassLongA
-#define GetClassName GetClassNameA
-#define GetClipboardFormatName GetClipboardFormatNameA
-#define GetDlgItemText GetDlgItemTextA
-#define GetKeyboardLayoutName GetKeyboardLayoutNameA
-#define GetKeyNameText GetKeyNameTextA
-#define GetMenuItemInfo GetMenuItemInfoA
-#define GetMenuString GetMenuStringA
-#define GetMessage GetMessageA
-#define GetMonitorInfo GetMonitorInfoA
-#define GetProp GetPropA
-#define GetTabbedTextExtent GetTabbedTextExtentA
-#define GetUserObjectInformation GetUserObjectInformationA
-#define GetWindowLong GetWindowLongA
-#define GetWindowLongPtr GetWindowLongPtrA
-#define GetWindowText GetWindowTextA
-#define GetWindowTextLength GetWindowTextLengthA
-#define GetAltTabInfo GetAltTabInfoA
-#define GetWindowModuleFileName GetWindowModuleFileNameA
-#define GrayString GrayStringA
-#define InsertMenu InsertMenuA
-#define InsertMenuItem InsertMenuItemA
-#define IsCharAlpha IsCharAlphaA
-#define IsCharAlphaNumeric IsCharAlphaNumericA
-#define IsCharLower IsCharLowerA
-#define IsCharUpper IsCharUpperA
-#define IsDialogMessage IsDialogMessageA
-#define LoadAccelerators LoadAcceleratorsA
-#define LoadBitmap LoadBitmapA
-#define LoadCursor LoadCursorA
-#define LoadIcon LoadIconA
-#define LoadCursorFromFile LoadCursorFromFileA
-#define LoadImage LoadImageA
-#define LoadKeyboardLayout LoadKeyboardLayoutA
-#define LoadMenu LoadMenuA
-#define LoadMenuIndirect LoadMenuIndirectA
-#define LoadString LoadStringA
-#define MapVirtualKey MapVirtualKeyA
-#define MapVirtualKeyEx MapVirtualKeyExA
-#define MessageBox MessageBoxA
-#define MessageBoxEx MessageBoxExA
-#define MessageBoxIndirect MessageBoxIndirectA
-#define ModifyMenu ModifyMenuA
-#define OemToChar OemToCharA
-#define OemToCharBuff OemToCharBuffA
-#define OpenDesktop OpenDesktopA
-#define OpenWindowStation OpenWindowStationA
-#define PeekMessage PeekMessageA
-#define PostAppMessage PostAppMessageA
-#define PostMessage PostMessageA
-#define PostThreadMessage PostThreadMessageA
-#define RegisterClass RegisterClassA
-#define RegisterClassEx RegisterClassExA
-#define RegisterClipboardFormat RegisterClipboardFormatA
-#define RegisterWindowMessage RegisterWindowMessageA
-#define RemoveProp RemovePropA
-#define SendDlgItemMessage SendDlgItemMessageA
-#define SendMessage SendMessageA
-#define SendMessageCallback SendMessageCallbackA
-#define SendMessageTimeout SendMessageTimeoutA
-#define SendNotifyMessage SendNotifyMessageA
-#define SetClassLong SetClassLongA
-#define SetDlgItemText SetDlgItemTextA
-#define SetMenuItemInfo SetMenuItemInfoA
-#define SetProp SetPropA
-#define SetUserObjectInformation SetUserObjectInformationA
-#define SetWindowLong SetWindowLongA
-#define SetWindowLongPtr SetWindowLongPtrA
-#define SetWindowsHook SetWindowsHookA
-#define SetWindowsHookEx SetWindowsHookExA
-#define SetWindowText SetWindowTextA
-#define SystemParametersInfo SystemParametersInfoA
-#define TabbedTextOut TabbedTextOutA
-#define TranslateAccelerator TranslateAcceleratorA
-#define UnregisterClass UnregisterClassA
-#define VkKeyScan VkKeyScanA
-#define VkKeyScanEx VkKeyScanExA
-#define WinHelp WinHelpA
-#define wsprintf wsprintfA
-#define wvsprintf wvsprintfA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINUSER_H */
+#ifndef _WINUSER_H +#define _WINUSER_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define WC_DIALOG MAKEINTATOM(0x8002) +#define FALT 16 +#define FCONTROL 8 +#define FNOINVERT 2 +#define FSHIFT 4 +#define FVIRTKEY 1 +#define ATF_TIMEOUTON 1 +#define ATF_ONOFFFEEDBACK 2 +#define ATF_AVAILABLE 4 /* May be obsolete. Not in recent MS docs. */ +#define WH_MIN (-1) +#define WH_MSGFILTER (-1) +#define WH_JOURNALRECORD 0 +#define WH_JOURNALPLAYBACK 1 +#define WH_KEYBOARD 2 +#define WH_GETMESSAGE 3 +#define WH_CALLWNDPROC 4 +#define WH_CBT 5 +#define WH_SYSMSGFILTER 6 +#define WH_MOUSE 7 +#define WH_HARDWARE 8 +#define WH_DEBUG 9 +#define WH_SHELL 10 +#define WH_FOREGROUNDIDLE 11 +#define WH_CALLWNDPROCRET 12 +#define WH_KEYBOARD_LL 13 +#define WH_MOUSE_LL 14 +#define WH_MAX 14 +#define WH_MINHOOK WH_MIN +#define WH_MAXHOOK WH_MAX +#define HC_ACTION 0 +#define HC_GETNEXT 1 +#define HC_SKIP 2 +#define HC_NOREMOVE 3 +#define HC_NOREM 3 +#define HC_SYSMODALON 4 +#define HC_SYSMODALOFF 5 +#define HCBT_MOVESIZE 0 +#define HCBT_MINMAX 1 +#define HCBT_QS 2 +#define HCBT_CREATEWND 3 +#define HCBT_DESTROYWND 4 +#define HCBT_ACTIVATE 5 +#define HCBT_CLICKSKIPPED 6 +#define HCBT_KEYSKIPPED 7 +#define HCBT_SYSCOMMAND 8 +#define HCBT_SETFOCUS 9 +#define CF_TEXT 1 +#define CF_BITMAP 2 +#define CF_METAFILEPICT 3 +#define CF_SYLK 4 +#define CF_DIF 5 +#define CF_TIFF 6 +#define CF_OEMTEXT 7 +#define CF_DIB 8 +#define CF_PALETTE 9 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 +#define CF_HDROP 15 +#define CF_LOCALE 16 +#define CF_MAX 17 +#define CF_OWNERDISPLAY 128 +#define CF_DSPTEXT 129 +#define CF_DSPBITMAP 130 +#define CF_DSPMETAFILEPICT 131 +#define CF_DSPENHMETAFILE 142 +#define CF_PRIVATEFIRST 512 +#define CF_PRIVATELAST 767 +#define CF_GDIOBJFIRST 768 +#define CF_GDIOBJLAST 1023 +#define HKL_NEXT 1 +#define HKL_PREV 0 +#define KLF_ACTIVATE 1 +#define KLF_SUBSTITUTE_OK 2 +#define KLF_UNLOADPREVIOUS 4 +#define KLF_REORDER 8 +#define KLF_REPLACELANG 16 +#define KLF_NOTELLSHELL 128 +#define KLF_SETFORPROCESS 256 +#define KL_NAMELENGTH 9 +#define MF_ENABLED 0 +#define MF_GRAYED 1 +#define MF_DISABLED 2 +#define MF_BITMAP 4 +#define MF_CHECKED 8 +#define MF_MENUBARBREAK 32 +#define MF_MENUBREAK 64 +#define MF_OWNERDRAW 256 +#define MF_POPUP 16 +#define MF_SEPARATOR 0x800 +#define MF_STRING 0 +#define MF_UNCHECKED 0 +#define MF_DEFAULT 4096 +#define MF_SYSMENU 0x2000 +#define MF_HELP 0x4000 +#define MF_END 128 +#define MF_RIGHTJUSTIFY 0x4000 +#define MF_MOUSESELECT 0x8000 +#define MF_INSERT 0 +#define MF_CHANGE 128 +#define MF_APPEND 256 +#define MF_DELETE 512 +#define MF_REMOVE 4096 +#define MF_USECHECKBITMAPS 512 +#define MF_UNHILITE 0 +#define MF_HILITE 128 +#define BSF_IGNORECURRENTTASK 2 +#define BSF_QUERY 1 +#define BSF_FLUSHDISK 4 +#define BSF_NOHANG 8 +#define BSF_POSTMESSAGE 16 +#define BSF_FORCEIFHUNG 32 +#define BSF_NOTIMEOUTIFNOTHUNG 64 +#define BSM_ALLCOMPONENTS 0 +#define BSM_APPLICATIONS 8 +#define BSM_ALLDESKTOPS 16 +#define BSM_INSTALLABLEDRIVERS 4 +#define BSM_NETDRIVER 2 +#define BSM_VXDS 1 +#define BROADCAST_QUERY_DENY 1112363332 +#define ENUM_CURRENT_SETTINGS ((DWORD)-1) +#define ENUM_REGISTRY_SETTINGS ((DWORD)-2) +#define DM_BITSPERPEL 0x40000 +#define DM_PELSWIDTH 0x80000 +#define DM_PELSHEIGHT 0x100000 +#define DM_DISPLAYFLAGS 0x200000 +#define DM_DISPLAYFREQUENCY 0x400000 +#define CDS_UPDATEREGISTRY 1 +#define CDS_TEST 2 +#define CDS_FULLSCREEN 4 +#define CDS_GLOBAL 8 +#define CDS_SET_PRIMARY 16 +#define CDS_RESET 0x40000000 +#define CDS_SETRECT 0x20000000 +#define CDS_NORESET 0x10000000 +#define DISP_CHANGE_SUCCESSFUL 0 +#define DISP_CHANGE_RESTART 1 +#define DISP_CHANGE_BADFLAGS (-4) +#define DISP_CHANGE_BADPARAM (-5) +#define DISP_CHANGE_FAILED (-1) +#define DISP_CHANGE_BADMODE (-2) +#define DISP_CHANGE_NOTUPDATED (-3) +#define BST_CHECKED 1 +#define BST_INDETERMINATE 2 +#define BST_UNCHECKED 0 +#define BST_FOCUS 8 +#define BST_PUSHED 4 +#define MF_BYCOMMAND 0 +#define MF_BYPOSITION 1024 +#define MF_UNCHECKED 0 +#define MF_HILITE 128 +#define MF_UNHILITE 0 +#define CWP_ALL 0 +#define CWP_SKIPINVISIBLE 1 +#define CWP_SKIPDISABLED 2 +#define CWP_SKIPTRANSPARENT 4 +#define IMAGE_BITMAP 0 +#define IMAGE_ICON 1 +#define IMAGE_CURSOR 2 +#define IMAGE_ENHMETAFILE 3 +#define DF_ALLOWOTHERACCOUNTHOOK 1 +#define DESKTOP_CREATEMENU 4 +#define DESKTOP_CREATEWINDOW 2 +#define DESKTOP_ENUMERATE 64 +#define DESKTOP_HOOKCONTROL 8 +#define DESKTOP_JOURNALPLAYBACK 32 +#define DESKTOP_JOURNALRECORD 16 +#define DESKTOP_READOBJECTS 1 +#define DESKTOP_SWITCHDESKTOP 256 +#define DESKTOP_WRITEOBJECTS 128 +#define CW_USEDEFAULT 0x80000000 +#define WS_BORDER 0x800000 +#define WS_CAPTION 0xc00000 +#define WS_CHILD 0x40000000 +#define WS_CHILDWINDOW 0x40000000 +#define WS_CLIPCHILDREN 0x2000000 +#define WS_CLIPSIBLINGS 0x4000000 +#define WS_DISABLED 0x8000000 +#define WS_DLGFRAME 0x400000 +#define WS_GROUP 0x20000 +#define WS_HSCROLL 0x100000 +#define WS_ICONIC 0x20000000 +#define WS_MAXIMIZE 0x1000000 +#define WS_MAXIMIZEBOX 0x10000 +#define WS_MINIMIZE 0x20000000 +#define WS_MINIMIZEBOX 0x20000 +#define WS_OVERLAPPED 0 +#define WS_OVERLAPPEDWINDOW 0xcf0000 +#define WS_POPUP 0x80000000 +#define WS_POPUPWINDOW 0x80880000 +#define WS_SIZEBOX 0x40000 +#define WS_SYSMENU 0x80000 +#define WS_TABSTOP 0x10000 +#define WS_THICKFRAME 0x40000 +#define WS_TILED 0 +#define WS_TILEDWINDOW 0xcf0000 +#define WS_VISIBLE 0x10000000 +#define WS_VSCROLL 0x200000 +#define MDIS_ALLCHILDSTYLES 1 +#define BS_3STATE 5 +#define BS_AUTO3STATE 6 +#define BS_AUTOCHECKBOX 3 +#define BS_AUTORADIOBUTTON 9 +#define BS_BITMAP 128 +#define BS_BOTTOM 0x800 +#define BS_CENTER 0x300 +#define BS_CHECKBOX 2 +#define BS_DEFPUSHBUTTON 1 +#define BS_GROUPBOX 7 +#define BS_ICON 64 +#define BS_LEFT 256 +#define BS_LEFTTEXT 32 +#define BS_MULTILINE 0x2000 +#define BS_NOTIFY 0x4000 +#define BS_OWNERDRAW 0xb +#define BS_PUSHBUTTON 0 +#define BS_PUSHLIKE 4096 +#define BS_RADIOBUTTON 4 +#define BS_RIGHT 512 +#define BS_RIGHTBUTTON 32 +#define BS_TEXT 0 +#define BS_TOP 0x400 +#define BS_USERBUTTON 8 +#define BS_VCENTER 0xc00 +#define BS_FLAT 0x8000 +#define CBS_AUTOHSCROLL 64 +#define CBS_DISABLENOSCROLL 0x800 +#define CBS_DROPDOWN 2 +#define CBS_DROPDOWNLIST 3 +#define CBS_HASSTRINGS 512 +#define CBS_LOWERCASE 0x4000 +#define CBS_NOINTEGRALHEIGHT 0x400 +#define CBS_OEMCONVERT 128 +#define CBS_OWNERDRAWFIXED 16 +#define CBS_OWNERDRAWVARIABLE 32 +#define CBS_SIMPLE 1 +#define CBS_SORT 256 +#define CBS_UPPERCASE 0x2000 +#define ES_AUTOHSCROLL 128 +#define ES_AUTOVSCROLL 64 +#define ES_CENTER 1 +#define ES_LEFT 0 +#define ES_LOWERCASE 16 +#define ES_MULTILINE 4 +#define ES_NOHIDESEL 256 +#define ES_NUMBER 0x2000 +#define ES_OEMCONVERT 0x400 +#define ES_PASSWORD 32 +#define ES_READONLY 0x800 +#define ES_RIGHT 2 +#define ES_UPPERCASE 8 +#define ES_WANTRETURN 4096 +#define LBS_DISABLENOSCROLL 4096 +#define LBS_EXTENDEDSEL 0x800 +#define LBS_HASSTRINGS 64 +#define LBS_MULTICOLUMN 512 +#define LBS_MULTIPLESEL 8 +#define LBS_NODATA 0x2000 +#define LBS_NOINTEGRALHEIGHT 256 +#define LBS_NOREDRAW 4 +#define LBS_NOSEL 0x4000 +#define LBS_NOTIFY 1 +#define LBS_OWNERDRAWFIXED 16 +#define LBS_OWNERDRAWVARIABLE 32 +#define LBS_SORT 2 +#define LBS_STANDARD 0xa00003 +#define LBS_USETABSTOPS 128 +#define LBS_WANTKEYBOARDINPUT 0x400 +#define SBS_BOTTOMALIGN 4 +#define SBS_HORZ 0 +#define SBS_LEFTALIGN 2 +#define SBS_RIGHTALIGN 4 +#define SBS_SIZEBOX 8 +#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4 +#define SBS_SIZEBOXTOPLEFTALIGN 2 +#define SBS_SIZEGRIP 16 +#define SBS_TOPALIGN 2 +#define SBS_VERT 1 +#define SS_BITMAP 14 +#define SS_BLACKFRAME 7 +#define SS_BLACKRECT 4 +#define SS_CENTER 1 +#define SS_CENTERIMAGE 512 +#define SS_ENHMETAFILE 15 +#define SS_ETCHEDFRAME 18 +#define SS_ETCHEDHORZ 16 +#define SS_ETCHEDVERT 17 +#define SS_GRAYFRAME 8 +#define SS_GRAYRECT 5 +#define SS_ICON 3 +#define SS_LEFT 0 +#define SS_LEFTNOWORDWRAP 0xc +#define SS_NOPREFIX 128 +#define SS_NOTIFY 256 +#define SS_OWNERDRAW 0xd +#define SS_REALSIZEIMAGE 0x800 +#define SS_RIGHT 2 +#define SS_RIGHTJUST 0x400 +#define SS_SIMPLE 11 +#define SS_SUNKEN 4096 +#define SS_WHITEFRAME 9 +#define SS_WHITERECT 6 +#define SS_USERITEM 10 +#define SS_TYPEMASK 0x0000001FL +#define SS_ENDELLIPSIS 0x00004000L +#define SS_PATHELLIPSIS 0x00008000L +#define SS_WORDELLIPSIS 0x0000C000L +#define SS_ELLIPSISMASK 0x0000C000L +#define DS_3DLOOK 4 +#define DS_ABSALIGN 1 +#define DS_CENTER 0x800 +#define DS_CENTERMOUSE 4096 +#define DS_CONTEXTHELP 0x2000 +#define DS_CONTROL 0x400 +#define DS_FIXEDSYS 8 +#define DS_LOCALEDIT 32 +#define DS_MODALFRAME 128 +#define DS_NOFAILCREATE 16 +#define DS_NOIDLEMSG 256 +#define DS_SETFONT 64 +#define DS_SETFOREGROUND 512 +#define DS_SYSMODAL 2 +#define WS_EX_ACCEPTFILES 16 +#define WS_EX_APPWINDOW 0x40000 +#define WS_EX_CLIENTEDGE 512 +#define WS_EX_COMPOSITED 0x2000000 /* XP */ +#define WS_EX_CONTEXTHELP 0x400 +#define WS_EX_CONTROLPARENT 0x10000 +#define WS_EX_DLGMODALFRAME 1 +#define WS_EX_LAYERED 0x80000 /* w2k */ +#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */ +#define WS_EX_LEFT 0 +#define WS_EX_LEFTSCROLLBAR 0x4000 +#define WS_EX_LTRREADING 0 +#define WS_EX_MDICHILD 64 +#define WS_EX_NOACTIVATE 0x8000000 /* w2k */ +#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */ +#define WS_EX_NOPARENTNOTIFY 4 +#define WS_EX_OVERLAPPEDWINDOW 0x300 +#define WS_EX_PALETTEWINDOW 0x188 +#define WS_EX_RIGHT 0x1000 +#define WS_EX_RIGHTSCROLLBAR 0 +#define WS_EX_RTLREADING 0x2000 +#define WS_EX_STATICEDGE 0x20000 +#define WS_EX_TOOLWINDOW 128 +#define WS_EX_TOPMOST 8 +#define WS_EX_TRANSPARENT 32 +#define WS_EX_WINDOWEDGE 256 +#define WINSTA_ACCESSCLIPBOARD 4 +#define WINSTA_ACCESSGLOBALATOMS 32 +#define WINSTA_CREATEDESKTOP 8 +#define WINSTA_ENUMDESKTOPS 1 +#define WINSTA_ENUMERATE 256 +#define WINSTA_EXITWINDOWS 64 +#define WINSTA_READATTRIBUTES 2 +#define WINSTA_READSCREEN 512 +#define WINSTA_WRITEATTRIBUTES 16 +#define DDL_READWRITE 0 +#define DDL_READONLY 1 +#define DDL_HIDDEN 2 +#define DDL_SYSTEM 4 +#define DDL_DIRECTORY 16 +#define DDL_ARCHIVE 32 +#define DDL_POSTMSGS 8192 +#define DDL_DRIVES 16384 +#define DDL_EXCLUSIVE 32768 +#define DC_ACTIVE 1 +#define DC_SMALLCAP 2 +#define DC_ICON 4 +#define DC_TEXT 8 +#define DC_INBUTTON 16 +#define DC_CAPTION (DC_ICON|DC_TEXT|DC_BUTTONS) +#define DC_NC (DC_CAPTION|DC_FRAME) +#define BDR_RAISEDOUTER 1 +#define BDR_SUNKENOUTER 2 +#define BDR_RAISEDINNER 4 +#define BDR_SUNKENINNER 8 +#define BDR_OUTER 3 +#define BDR_INNER 0xc +#define BDR_RAISED 5 +#define BDR_SUNKEN 10 +#define EDGE_RAISED (BDR_RAISEDOUTER|BDR_RAISEDINNER) +#define EDGE_SUNKEN (BDR_SUNKENOUTER|BDR_SUNKENINNER) +#define EDGE_ETCHED (BDR_SUNKENOUTER|BDR_RAISEDINNER) +#define EDGE_BUMP (BDR_RAISEDOUTER|BDR_SUNKENINNER) +#define BF_LEFT 1 +#define BF_TOP 2 +#define BF_RIGHT 4 +#define BF_BOTTOM 8 +#define BF_TOPLEFT (BF_TOP|BF_LEFT) +#define BF_TOPRIGHT (BF_TOP|BF_RIGHT) +#define BF_BOTTOMLEFT (BF_BOTTOM|BF_LEFT) +#define BF_BOTTOMRIGHT (BF_BOTTOM|BF_RIGHT) +#define BF_RECT (BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM) +#define BF_DIAGONAL 16 +#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL|BF_TOP|BF_RIGHT) +#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL|BF_TOP|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL|BF_BOTTOM|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL|BF_BOTTOM|BF_RIGHT) +#define BF_MIDDLE 0x800 +#define BF_SOFT 0x1000 +#define BF_ADJUST 0x2000 +#define BF_FLAT 0x4000 +#define BF_MONO 0x8000 +#define DFC_CAPTION 1 +#define DFC_MENU 2 +#define DFC_SCROLL 3 +#define DFC_BUTTON 4 +#define DFCS_CAPTIONCLOSE 0 +#define DFCS_CAPTIONMIN 1 +#define DFCS_CAPTIONMAX 2 +#define DFCS_CAPTIONRESTORE 3 +#define DFCS_CAPTIONHELP 4 +#define DFCS_MENUARROW 0 +#define DFCS_MENUCHECK 1 +#define DFCS_MENUBULLET 2 +#define DFCS_MENUARROWRIGHT 4 +#define DFCS_SCROLLUP 0 +#define DFCS_SCROLLDOWN 1 +#define DFCS_SCROLLLEFT 2 +#define DFCS_SCROLLRIGHT 3 +#define DFCS_SCROLLCOMBOBOX 5 +#define DFCS_SCROLLSIZEGRIP 8 +#define DFCS_SCROLLSIZEGRIPRIGHT 16 +#define DFCS_BUTTONCHECK 0 +#define DFCS_BUTTONRADIOIMAGE 1 +#define DFCS_BUTTONRADIOMASK 2 +#define DFCS_BUTTONRADIO 4 +#define DFCS_BUTTON3STATE 8 +#define DFCS_BUTTONPUSH 16 +#define DFCS_INACTIVE 256 +#define DFCS_PUSHED 512 +#define DFCS_CHECKED 1024 +#define DFCS_ADJUSTRECT 0x2000 +#define DFCS_FLAT 0x4000 +#define DFCS_MONO 0x8000 +#define DST_COMPLEX 0 +#define DST_TEXT 1 +#define DST_PREFIXTEXT 2 +#define DST_ICON 3 +#define DST_BITMAP 4 +#define DSS_NORMAL 0 +#define DSS_UNION 16 +#define DSS_DISABLED 32 +#define DSS_MONO 128 +#define DSS_RIGHT 0x8000 +#define DT_BOTTOM 8 +#define DT_CALCRECT 1024 +#define DT_CENTER 1 +#define DT_EDITCONTROL 8192 +#define DT_END_ELLIPSIS 32768 +#define DT_PATH_ELLIPSIS 16384 +#define DT_WORD_ELLIPSIS 0x40000 +#define DT_EXPANDTABS 64 +#define DT_EXTERNALLEADING 512 +#define DT_LEFT 0 +#define DT_MODIFYSTRING 65536 +#define DT_NOCLIP 256 +#define DT_NOPREFIX 2048 +#define DT_RIGHT 2 +#define DT_RTLREADING 131072 +#define DT_SINGLELINE 32 +#define DT_TABSTOP 128 +#define DT_TOP 0 +#define DT_VCENTER 4 +#define DT_WORDBREAK 16 +#define DT_INTERNAL 4096 +#define WB_ISDELIMITER 2 +#define WB_LEFT 0 +#define WB_RIGHT 1 +#define SB_HORZ 0 +#define SB_VERT 1 +#define SB_CTL 2 +#define SB_BOTH 3 +#define ESB_DISABLE_BOTH 3 +#define ESB_DISABLE_DOWN 2 +#define ESB_DISABLE_LEFT 1 +#define ESB_DISABLE_LTUP 1 +#define ESB_DISABLE_RIGHT 2 +#define ESB_DISABLE_RTDN 2 +#define ESB_DISABLE_UP 1 +#define ESB_ENABLE_BOTH 0 +#define SB_LINEUP 0 +#define SB_LINEDOWN 1 +#define SB_LINELEFT 0 +#define SB_LINERIGHT 1 +#define SB_PAGEUP 2 +#define SB_PAGEDOWN 3 +#define SB_PAGELEFT 2 +#define SB_PAGERIGHT 3 +#define SB_THUMBPOSITION 4 +#define SB_THUMBTRACK 5 +#define SB_ENDSCROLL 8 +#define SB_LEFT 6 +#define SB_RIGHT 7 +#define SB_BOTTOM 7 +#define SB_TOP 6 +#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) +#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) +#ifndef XFree86Server +# define RT_CURSOR MAKEINTRESOURCE(1) +# define RT_FONT MAKEINTRESOURCE(8) +#endif /* ndef XFree86Server */ +#define RT_BITMAP MAKEINTRESOURCE(2) +#define RT_ICON MAKEINTRESOURCE(3) +#define RT_MENU MAKEINTRESOURCE(4) +#define RT_DIALOG MAKEINTRESOURCE(5) +#define RT_STRING MAKEINTRESOURCE(6) +#define RT_FONTDIR MAKEINTRESOURCE(7) +#define RT_ACCELERATOR MAKEINTRESOURCE(9) +#define RT_RCDATA MAKEINTRESOURCE(10) +#define RT_MESSAGETABLE MAKEINTRESOURCE(11) +#define DIFFERENCE 11 +#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE) +#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE) +#define RT_VERSION MAKEINTRESOURCE(16) +#define RT_DLGINCLUDE MAKEINTRESOURCE(17) +#define RT_PLUGPLAY MAKEINTRESOURCE(19) +#define RT_VXD MAKEINTRESOURCE(20) +#define RT_ANICURSOR MAKEINTRESOURCE(21) +#define RT_ANIICON MAKEINTRESOURCE(22) +#define RT_HTML MAKEINTRESOURCE(23) +#define EWX_FORCE 4 +#define EWX_LOGOFF 0 +#define EWX_POWEROFF 8 +#define EWX_REBOOT 2 +#define EWX_SHUTDOWN 1 +#define CS_BYTEALIGNCLIENT 4096 +#define CS_BYTEALIGNWINDOW 8192 +#define CS_KEYCVTWINDOW 4 +#define CS_NOKEYCVT 256 +#define CS_CLASSDC 64 +#define CS_DBLCLKS 8 +#define CS_GLOBALCLASS 16384 +#define CS_HREDRAW 2 +#define CS_NOCLOSE 512 +#define CS_OWNDC 32 +#define CS_PARENTDC 128 +#define CS_SAVEBITS 2048 +#define CS_VREDRAW 1 +#define CS_IME 0x10000 +#define GCW_ATOM (-32) +#define GCL_CBCLSEXTRA (-20) +#define GCL_CBWNDEXTRA (-18) +#define GCL_HBRBACKGROUND (-10) +#define GCL_HCURSOR (-12) +#define GCL_HICON (-14) +#define GCL_HICONSM (-34) +#define GCL_HMODULE (-16) +#define GCL_MENUNAME (-8) +#define GCL_STYLE (-26) +#define GCL_WNDPROC (-24) +#if 0 + /* This is supposed to be defined by the program using it not defined + in the win32api headers. I've left it here for documentation purposes. + */ +#ifndef IDC_STATIC /* May be predefined by resource compiler. */ +#define IDC_STATIC (-1) +#endif +#endif +#define IDC_ARROW MAKEINTRESOURCE(32512) +#define IDC_IBEAM MAKEINTRESOURCE(32513) +#define IDC_WAIT MAKEINTRESOURCE(32514) +#define IDC_CROSS MAKEINTRESOURCE(32515) +#define IDC_UPARROW MAKEINTRESOURCE(32516) +#define IDC_SIZENWSE MAKEINTRESOURCE(32642) +#define IDC_SIZENESW MAKEINTRESOURCE(32643) +#define IDC_SIZEWE MAKEINTRESOURCE(32644) +#define IDC_SIZENS MAKEINTRESOURCE(32645) +#define IDC_SIZEALL MAKEINTRESOURCE(32646) +#define IDC_NO MAKEINTRESOURCE(32648) +#define IDC_HAND MAKEINTRESOURCE(32649) +#define IDC_APPSTARTING MAKEINTRESOURCE(32650) +#define IDC_HELP MAKEINTRESOURCE(32651) +#define IDC_ICON MAKEINTRESOURCE(32641) +#define IDC_SIZE MAKEINTRESOURCE(32640) +#ifndef RC_INVOKED +#define IDI_APPLICATION MAKEINTRESOURCE(32512) +#define IDI_HAND MAKEINTRESOURCE(32513) +#define IDI_QUESTION MAKEINTRESOURCE(32514) +#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) +#define IDI_ASTERISK MAKEINTRESOURCE(32516) +#define IDI_WINLOGO MAKEINTRESOURCE(32517) +#else +#define IDI_APPLICATION 32512 +#define IDI_HAND 32513 +#define IDI_QUESTION 32514 +#define IDI_EXCLAMATION 32515 +#define IDI_ASTERISK 32516 +#define IDI_WINLOGO 32517 +#endif +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK +#define MIIM_STATE 1 +#define MIIM_ID 2 +#define MIIM_SUBMENU 4 +#define MIIM_CHECKMARKS 8 +#define MIIM_TYPE 16 +#define MIIM_DATA 32 +#define MIIM_STRING 64 +#define MIIM_BITMAP 128 +#define MIIM_FTYPE 256 +#define MFT_BITMAP 4 +#define MFT_MENUBARBREAK 32 +#define MFT_MENUBREAK 64 +#define MFT_OWNERDRAW 256 +#define MFT_RADIOCHECK 512 +#define MFT_RIGHTJUSTIFY 0x4000 +#define MFT_SEPARATOR 0x800 +#define MFT_RIGHTORDER 0x2000L +#define MFT_STRING 0 +#define MFS_CHECKED 8 +#define MFS_DEFAULT 4096 +#define MFS_DISABLED 3 +#define MFS_ENABLED 0 +#define MFS_GRAYED 3 +#define MFS_HILITE 128 +#define MFS_UNCHECKED 0 +#define MFS_UNHILITE 0 +#define GW_HWNDNEXT 2 +#define GW_HWNDPREV 3 +#define GW_CHILD 5 +#define GW_HWNDFIRST 0 +#define GW_HWNDLAST 1 +#define GW_OWNER 4 +#define SW_HIDE 0 +#define SW_NORMAL 1 +#define SW_SHOWNORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_MAXIMIZE 3 +#define SW_SHOWMAXIMIZED 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 +#define MB_USERICON 128 +#define MB_ICONASTERISK 64 +#define MB_ICONEXCLAMATION 0x30 +#define MB_ICONWARNING 0x30 +#define MB_ICONERROR 16 +#define MB_ICONHAND 16 +#define MB_ICONQUESTION 32 +#define MB_OK 0 +#define MB_ABORTRETRYIGNORE 2 +#define MB_APPLMODAL 0 +#define MB_DEFAULT_DESKTOP_ONLY 0x20000 +#define MB_HELP 0x4000 +#define MB_RIGHT 0x80000 +#define MB_RTLREADING 0x100000 +#define MB_TOPMOST 0x40000 +#define MB_DEFBUTTON1 0 +#define MB_DEFBUTTON2 256 +#define MB_DEFBUTTON3 512 +#define MB_DEFBUTTON4 0x300 +#define MB_ICONINFORMATION 64 +#define MB_ICONSTOP 16 +#define MB_OKCANCEL 1 +#define MB_RETRYCANCEL 5 +#ifdef _WIN32_WINNT +#if (_WIN32_WINNT >= 0x0400) +#define MB_SERVICE_NOTIFICATION 0x00200000 +#else +#define MB_SERVICE_NOTIFICATION 0x00040000 +#endif +#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000 +#endif +#define MB_SETFOREGROUND 0x10000 +#define MB_SYSTEMMODAL 4096 +#define MB_TASKMODAL 0x2000 +#define MB_YESNO 4 +#define MB_YESNOCANCEL 3 +#define MB_ICONMASK 240 +#define MB_DEFMASK 3840 +#define MB_MODEMASK 0x00003000 +#define MB_MISCMASK 0x0000C000 +#define MB_NOFOCUS 0x00008000 +#define MB_TYPEMASK 15 +#define MB_TOPMOST 0x40000 +#define IDABORT 3 +#define IDCANCEL 2 +#define IDCLOSE 8 +#define IDHELP 9 +#define IDIGNORE 5 +#define IDNO 7 +#define IDOK 1 +#define IDRETRY 4 +#define IDYES 6 +#define GWL_EXSTYLE (-20) +#define GWL_STYLE (-16) +#define GWL_WNDPROC (-4) +#define GWLP_WNDPROC (-4) +#define GWL_HINSTANCE (-6) +#define GWLP_HINSTANCE (-6) +#define GWL_HWNDPARENT (-8) +#define GWLP_HWNDPARENT (-8) +#define GWL_ID (-12) +#define GWLP_ID (-12) +#define GWL_USERDATA (-21) +#define GWLP_USERDATA (-21) +#define DWL_DLGPROC 4 +#define DWLP_DLGPROC 4 +#define DWL_MSGRESULT 0 +#define DWLP_MSGRESULT 0 +#define DWL_USER 8 +#define DWLP_USER 8 +#define QS_ALLEVENTS 191 +#define QS_ALLINPUT 255 +#define QS_HOTKEY 128 +#define QS_INPUT 7 +#define QS_KEY 1 +#define QS_MOUSE 6 +#define QS_MOUSEBUTTON 4 +#define QS_MOUSEMOVE 2 +#define QS_PAINT 32 +#define QS_POSTMESSAGE 8 +#define QS_SENDMESSAGE 64 +#define QS_TIMER 16 +#define COLOR_3DDKSHADOW 21 +#define COLOR_3DFACE 15 +#define COLOR_3DHILIGHT 20 +#define COLOR_3DHIGHLIGHT 20 +#define COLOR_3DLIGHT 22 +#define COLOR_BTNHILIGHT 20 +#define COLOR_3DSHADOW 16 +#define COLOR_ACTIVEBORDER 10 +#define COLOR_ACTIVECAPTION 2 +#define COLOR_APPWORKSPACE 12 +#define COLOR_BACKGROUND 1 +#define COLOR_DESKTOP 1 +#define COLOR_BTNFACE 15 +#define COLOR_BTNHIGHLIGHT 20 +#define COLOR_BTNSHADOW 16 +#define COLOR_BTNTEXT 18 +#define COLOR_CAPTIONTEXT 9 +#define COLOR_GRAYTEXT 17 +#define COLOR_HIGHLIGHT 13 +#define COLOR_HIGHLIGHTTEXT 14 +#define COLOR_INACTIVEBORDER 11 +#define COLOR_INACTIVECAPTION 3 +#define COLOR_INACTIVECAPTIONTEXT 19 +#define COLOR_INFOBK 24 +#define COLOR_INFOTEXT 23 +#define COLOR_MENU 4 +#define COLOR_MENUTEXT 7 +#define COLOR_SCROLLBAR 0 +#define COLOR_WINDOW 5 +#define COLOR_WINDOWFRAME 6 +#define COLOR_WINDOWTEXT 8 +#define CTLCOLOR_MSGBOX 0 +#define CTLCOLOR_EDIT 1 +#define CTLCOLOR_LISTBOX 2 +#define CTLCOLOR_BTN 3 +#define CTLCOLOR_DLG 4 +#define CTLCOLOR_SCROLLBAR 5 +#define CTLCOLOR_STATIC 6 +#define CTLCOLOR_MAX 7 +#define SM_CXSCREEN 0 +#define SM_CYSCREEN 1 +#define SM_CXVSCROLL 2 +#define SM_CYHSCROLL 3 +#define SM_CYCAPTION 4 +#define SM_CXBORDER 5 +#define SM_CYBORDER 6 +#define SM_CXDLGFRAME 7 +#define SM_CXFIXEDFRAME 7 +#define SM_CYDLGFRAME 8 +#define SM_CYFIXEDFRAME 8 +#define SM_CYVTHUMB 9 +#define SM_CXHTHUMB 10 +#define SM_CXICON 11 +#define SM_CYICON 12 +#define SM_CXCURSOR 13 +#define SM_CYCURSOR 14 +#define SM_CYMENU 15 +#define SM_CXFULLSCREEN 16 +#define SM_CYFULLSCREEN 17 +#define SM_CYKANJIWINDOW 18 +#define SM_MOUSEPRESENT 19 +#define SM_CYVSCROLL 20 +#define SM_CXHSCROLL 21 +#define SM_DEBUG 22 +#define SM_SWAPBUTTON 23 +#define SM_RESERVED1 24 +#define SM_RESERVED2 25 +#define SM_RESERVED3 26 +#define SM_RESERVED4 27 +#define SM_CXMIN 28 +#define SM_CYMIN 29 +#define SM_CXSIZE 30 +#define SM_CYSIZE 31 +#define SM_CXSIZEFRAME 32 +#define SM_CXFRAME 32 +#define SM_CYSIZEFRAME 33 +#define SM_CYFRAME 33 +#define SM_CXMINTRACK 34 +#define SM_CYMINTRACK 35 +#define SM_CXDOUBLECLK 36 +#define SM_CYDOUBLECLK 37 +#define SM_CXICONSPACING 38 +#define SM_CYICONSPACING 39 +#define SM_MENUDROPALIGNMENT 40 +#define SM_PENWINDOWS 41 +#define SM_DBCSENABLED 42 +#define SM_CMOUSEBUTTONS 43 +#define SM_SECURE 44 +#define SM_CXEDGE 45 +#define SM_CYEDGE 46 +#define SM_CXMINSPACING 47 +#define SM_CYMINSPACING 48 +#define SM_CXSMICON 49 +#define SM_CYSMICON 50 +#define SM_CYSMCAPTION 51 +#define SM_CXSMSIZE 52 +#define SM_CYSMSIZE 53 +#define SM_CXMENUSIZE 54 +#define SM_CYMENUSIZE 55 +#define SM_ARRANGE 56 +#define SM_CXMINIMIZED 57 +#define SM_CYMINIMIZED 58 +#define SM_CXMAXTRACK 59 +#define SM_CYMAXTRACK 60 +#define SM_CXMAXIMIZED 61 +#define SM_CYMAXIMIZED 62 +#define SM_NETWORK 63 +#define LR_DEFAULTSIZE 64 +#define SM_CLEANBOOT 67 +#define SM_CXDRAG 68 +#define SM_CYDRAG 69 +#define SM_SHOWSOUNDS 70 +#define SM_CXMENUCHECK 71 +#define SM_CYMENUCHECK 72 +#define SM_SLOWMACHINE 73 +#define SM_MIDEASTENABLED 74 +#define SM_MOUSEWHEELPRESENT 75 +#define SM_XVIRTUALSCREEN 76 +#define SM_YVIRTUALSCREEN 77 +#define SM_CXVIRTUALSCREEN 78 +#define SM_CYVIRTUALSCREEN 79 +#define SM_CMONITORS 80 +#define SM_SAMEDISPLAYFORMAT 81 +#if (_WIN32_WINNT < 0x0400) +#define SM_CMETRICS 76 +#else +#define SM_CMETRICS 83 +#endif +#define ARW_BOTTOMLEFT 0 +#define ARW_BOTTOMRIGHT 1 +#define ARW_HIDE 8 +#define ARW_TOPLEFT 2 +#define ARW_TOPRIGHT 3 +#define ARW_DOWN 4 +#define ARW_LEFT 0 +#define ARW_RIGHT 0 +#define ARW_UP 4 +#define UOI_FLAGS 1 +#define UOI_NAME 2 +#define UOI_TYPE 3 +#define UOI_USER_SID 4 +#define LR_DEFAULTCOLOR 0 +#define LR_MONOCHROME 1 +#define LR_COLOR 2 +#define LR_COPYRETURNORG 4 +#define LR_COPYDELETEORG 8 +#define LR_LOADFROMFILE 16 +#define LR_LOADTRANSPARENT 32 +#define LR_LOADREALSIZE 128 +#define LR_LOADMAP3DCOLORS 4096 +#define LR_CREATEDIBSECTION 8192 +#define LR_COPYFROMRESOURCE 0x4000 +#define LR_SHARED 32768 +#define KEYEVENTF_EXTENDEDKEY 1 +#define KEYEVENTF_KEYUP 2 +#define OBM_BTNCORNERS 32758 +#define OBM_BTSIZE 32761 +#define OBM_CHECK 32760 +#define OBM_CHECKBOXES 32759 +#define OBM_CLOSE 32754 +#define OBM_COMBO 32738 +#define OBM_DNARROW 32752 +#define OBM_DNARROWD 32742 +#define OBM_DNARROWI 32736 +#define OBM_LFARROW 32750 +#define OBM_LFARROWI 32734 +#define OBM_LFARROWD 32740 +#define OBM_MNARROW 32739 +#define OBM_OLD_CLOSE 32767 +#define OBM_OLD_DNARROW 32764 +#define OBM_OLD_LFARROW 32762 +#define OBM_OLD_REDUCE 32757 +#define OBM_OLD_RESTORE 32755 +#define OBM_OLD_RGARROW 32763 +#define OBM_OLD_UPARROW 32765 +#define OBM_OLD_ZOOM 32756 +#define OBM_REDUCE 32749 +#define OBM_REDUCED 32746 +#define OBM_RESTORE 32747 +#define OBM_RESTORED 32744 +#define OBM_RGARROW 32751 +#define OBM_RGARROWD 32741 +#define OBM_RGARROWI 32735 +#define OBM_SIZE 32766 +#define OBM_UPARROW 32753 +#define OBM_UPARROWD 32743 +#define OBM_UPARROWI 32737 +#define OBM_ZOOM 32748 +#define OBM_ZOOMD 32745 +#define OCR_NORMAL 32512 +#define OCR_IBEAM 32513 +#define OCR_WAIT 32514 +#define OCR_CROSS 32515 +#define OCR_UP 32516 +#define OCR_SIZE 32640 +#define OCR_ICON 32641 +#define OCR_SIZENWSE 32642 +#define OCR_SIZENESW 32643 +#define OCR_SIZEWE 32644 +#define OCR_SIZENS 32645 +#define OCR_SIZEALL 32646 +#define OCR_NO 32648 +#define OCR_APPSTARTING 32650 +#define OIC_SAMPLE 32512 +#define OIC_HAND 32513 +#define OIC_QUES 32514 +#define OIC_BANG 32515 +#define OIC_NOTE 32516 +#define OIC_WINLOGO 32517 +#define OIC_WARNING OIC_BANG +#define OIC_ERROR OIC_HAND +#define OIC_INFORMATION OIC_NOTE +#define HELPINFO_MENUITEM 2 +#define HELPINFO_WINDOW 1 +#define MSGF_DIALOGBOX 0 +#define MSGF_MESSAGEBOX 1 +#define MSGF_MENU 2 +#define MSGF_MOVE 3 +#define MSGF_SIZE 4 +#define MSGF_SCROLLBAR 5 +#define MSGF_NEXTWINDOW 6 +#define MSGF_MAINLOOP 8 +#define MSGF_USER 4096 +#define MOUSEEVENTF_MOVE 1 +#define MOUSEEVENTF_LEFTDOWN 2 +#define MOUSEEVENTF_LEFTUP 4 +#define MOUSEEVENTF_RIGHTDOWN 8 +#define MOUSEEVENTF_RIGHTUP 16 +#define MOUSEEVENTF_MIDDLEDOWN 32 +#define MOUSEEVENTF_MIDDLEUP 64 +#define MOUSEEVENTF_WHEEL 0x0800 +#define MOUSEEVENTF_ABSOLUTE 32768 +#define PM_NOREMOVE 0 +#define PM_REMOVE 1 +#define PM_NOYIELD 2 +#define HWND_BROADCAST ((HWND)0xffff) +#define HWND_BOTTOM ((HWND)1) +#define HWND_NOTOPMOST ((HWND)(-2)) +#define HWND_TOP ((HWND)0) +#define HWND_TOPMOST ((HWND)(-1)) +#define HWND_DESKTOP (HWND)0 +#define HWND_MESSAGE ((HWND)(-3)) /* w2k */ +#define RDW_ERASE 4 +#define RDW_FRAME 1024 +#define RDW_INTERNALPAINT 2 +#define RDW_INVALIDATE 1 +#define RDW_NOERASE 32 +#define RDW_NOFRAME 2048 +#define RDW_NOINTERNALPAINT 16 +#define RDW_VALIDATE 8 +#define RDW_ERASENOW 512 +#define RDW_UPDATENOW 256 +#define RDW_ALLCHILDREN 128 +#define RDW_NOCHILDREN 64 +#define SMTO_ABORTIFHUNG 2 +#define SMTO_BLOCK 1 +#define SMTO_NORMAL 0 +#define SIF_ALL 23 +#define SIF_PAGE 2 +#define SIF_POS 4 +#define SIF_RANGE 1 +#define SIF_DISABLENOSCROLL 8 +#define SIF_TRACKPOS 16 +#define SWP_DRAWFRAME 32 +#define SWP_FRAMECHANGED 32 +#define SWP_HIDEWINDOW 128 +#define SWP_NOACTIVATE 16 +#define SWP_NOCOPYBITS 256 +#define SWP_NOMOVE 2 +#define SWP_NOSIZE 1 +#define SWP_NOREDRAW 8 +#define SWP_NOZORDER 4 +#define SWP_SHOWWINDOW 64 +#define SWP_NOOWNERZORDER 512 +#define SWP_NOREPOSITION 512 +#define SWP_NOSENDCHANGING 1024 +#define SWP_DEFERERASE 8192 +#define SWP_ASYNCWINDOWPOS 16384 +#define HSHELL_ACTIVATESHELLWINDOW 3 +#define HSHELL_GETMINRECT 5 +#define HSHELL_LANGUAGE 8 +#define HSHELL_REDRAW 6 +#define HSHELL_TASKMAN 7 +#define HSHELL_WINDOWACTIVATED 4 +#define HSHELL_WINDOWCREATED 1 +#define HSHELL_WINDOWDESTROYED 2 +#define SPI_GETACCESSTIMEOUT 60 +#define SPI_GETANIMATION 72 +#define SPI_GETBEEP 1 +#define SPI_GETBORDER 5 +#define SPI_GETDEFAULTINPUTLANG 89 +#define SPI_GETDRAGFULLWINDOWS 38 +#define SPI_GETFASTTASKSWITCH 35 +#define SPI_GETFILTERKEYS 50 +#define SPI_GETFONTSMOOTHING 74 +#define SPI_GETGRIDGRANULARITY 18 +#define SPI_GETHIGHCONTRAST 66 +#define SPI_GETICONMETRICS 45 +#define SPI_GETICONTITLELOGFONT 31 +#define SPI_GETICONTITLEWRAP 25 +#define SPI_GETKEYBOARDDELAY 22 +#define SPI_GETKEYBOARDPREF 68 +#define SPI_GETKEYBOARDSPEED 10 +#define SPI_GETLOWPOWERACTIVE 83 +#define SPI_GETLOWPOWERTIMEOUT 79 +#define SPI_GETMENUDROPALIGNMENT 27 +#define SPI_GETMINIMIZEDMETRICS 43 +#define SPI_GETMOUSE 3 +#define SPI_GETMOUSEKEYS 54 +#define SPI_GETMOUSETRAILS 94 +#define SPI_GETNONCLIENTMETRICS 41 +#define SPI_GETPOWEROFFACTIVE 84 +#define SPI_GETPOWEROFFTIMEOUT 80 +#define SPI_GETSCREENREADER 70 +#define SPI_GETSCREENSAVEACTIVE 16 +#define SPI_GETSCREENSAVETIMEOUT 14 +#define SPI_GETSERIALKEYS 62 +#define SPI_GETSHOWSOUNDS 56 +#define SPI_GETSOUNDSENTRY 64 +#define SPI_GETSTICKYKEYS 58 +#define SPI_GETTOGGLEKEYS 52 +#define SPI_GETWINDOWSEXTENSION 92 +#define SPI_GETWORKAREA 48 +#define SPI_ICONHORIZONTALSPACING 13 +#define SPI_ICONVERTICALSPACING 24 +#define SPI_LANGDRIVER 12 +#define SPI_SCREENSAVERRUNNING 97 +#define SPI_SETACCESSTIMEOUT 61 +#define SPI_SETANIMATION 73 +#define SPI_SETBEEP 2 +#define SPI_SETBORDER 6 +#define SPI_SETDEFAULTINPUTLANG 90 +#define SPI_SETDESKPATTERN 21 +#define SPI_SETDESKWALLPAPER 20 +#define SPI_SETDOUBLECLICKTIME 32 +#define SPI_SETDOUBLECLKHEIGHT 30 +#define SPI_SETDOUBLECLKWIDTH 29 +#define SPI_SETDRAGFULLWINDOWS 37 +#define SPI_SETDRAGHEIGHT 77 +#define SPI_SETDRAGWIDTH 76 +#define SPI_SETFASTTASKSWITCH 36 +#define SPI_SETFILTERKEYS 51 +#define SPI_SETFONTSMOOTHING 75 +#define SPI_SETGRIDGRANULARITY 19 +#define SPI_SETHANDHELD 78 +#define SPI_SETHIGHCONTRAST 67 +#define SPI_SETICONMETRICS 46 +#define SPI_SETICONTITLELOGFONT 34 +#define SPI_SETICONTITLEWRAP 26 +#define SPI_SETKEYBOARDDELAY 23 +#define SPI_SETKEYBOARDPREF 69 +#define SPI_SETKEYBOARDSPEED 11 +#define SPI_SETLANGTOGGLE 91 +#define SPI_SETLOWPOWERACTIVE 85 +#define SPI_SETLOWPOWERTIMEOUT 81 +#define SPI_SETMENUDROPALIGNMENT 28 +#define SPI_SETMINIMIZEDMETRICS 44 +#define SPI_SETMOUSE 4 +#define SPI_SETMOUSEBUTTONSWAP 33 +#define SPI_SETMOUSEKEYS 55 +#define SPI_SETMOUSETRAILS 93 +#define SPI_SETNONCLIENTMETRICS 42 +#define SPI_SETPENWINDOWS 49 +#define SPI_SETPOWEROFFACTIVE 86 +#define SPI_SETPOWEROFFTIMEOUT 82 +#define SPI_SETSCREENREADER 71 +#define SPI_SETSCREENSAVEACTIVE 17 +#define SPI_SETSCREENSAVERRUNNING 97 +#define SPI_SETSCREENSAVETIMEOUT 15 +#define SPI_SETSERIALKEYS 63 +#define SPI_SETSHOWSOUNDS 57 +#define SPI_SETSOUNDSENTRY 65 +#define SPI_SETSTICKYKEYS 59 +#define SPI_SETTOGGLEKEYS 53 +#define SPI_SETWORKAREA 47 +#define SPIF_UPDATEINIFILE 1 +#define SPIF_SENDWININICHANGE 2 +#define SPIF_SENDCHANGE 2 +#define ATF_ONOFFFEEDBACK 2 +#define ATF_TIMEOUTON 1 +#define WM_APP 32768 +#define WM_ACTIVATE 6 +#define WM_ACTIVATEAPP 28 +/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */ +#define WM_AFXFIRST 864 +#define WM_AFXLAST 895 +#define WM_ASKCBFORMATNAME 780 +#define WM_CANCELJOURNAL 75 +#define WM_CANCELMODE 31 +#define WM_CAPTURECHANGED 533 +#define WM_CHANGECBCHAIN 781 +#define WM_CHAR 258 +#define WM_CHARTOITEM 47 +#define WM_CHILDACTIVATE 34 +#define WM_CLEAR 771 +#define WM_CLOSE 16 +#define WM_COMMAND 273 +#define WM_COMMNOTIFY 68 /* obsolete */ +#define WM_COMPACTING 65 +#define WM_COMPAREITEM 57 +#define WM_CONTEXTMENU 123 +#define WM_COPY 769 +#define WM_COPYDATA 74 +#define WM_CREATE 1 +#define WM_CTLCOLORBTN 309 +#define WM_CTLCOLORDLG 310 +#define WM_CTLCOLOREDIT 307 +#define WM_CTLCOLORLISTBOX 308 +#define WM_CTLCOLORMSGBOX 306 +#define WM_CTLCOLORSCROLLBAR 311 +#define WM_CTLCOLORSTATIC 312 +#define WM_CUT 768 +#define WM_DEADCHAR 259 +#define WM_DELETEITEM 45 +#define WM_DESTROY 2 +#define WM_DESTROYCLIPBOARD 775 +#define WM_DEVICECHANGE 537 +#define WM_DEVMODECHANGE 27 +#define WM_DISPLAYCHANGE 126 +#define WM_DRAWCLIPBOARD 776 +#define WM_DRAWITEM 43 +#define WM_DROPFILES 563 +#define WM_ENABLE 10 +#define WM_ENDSESSION 22 +#define WM_ENTERIDLE 289 +#define WM_ENTERMENULOOP 529 +#define WM_ENTERSIZEMOVE 561 +#define WM_ERASEBKGND 20 +#define WM_EXITMENULOOP 530 +#define WM_EXITSIZEMOVE 562 +#define WM_FONTCHANGE 29 +#define WM_GETDLGCODE 135 +#define WM_GETFONT 49 +#define WM_GETHOTKEY 51 +#define WM_GETICON 127 +#define WM_GETMINMAXINFO 36 +#define WM_GETTEXT 13 +#define WM_GETTEXTLENGTH 14 +/* FIXME/CHECK: Are WM_HANDHEL{FIRST,LAST} valid for WINVER < 0x400? */ +#define WM_HANDHELDFIRST 856 +#define WM_HANDHELDLAST 863 +#define WM_HELP 83 +#define WM_HOTKEY 786 +#define WM_HSCROLL 276 +#define WM_HSCROLLCLIPBOARD 782 +#define WM_ICONERASEBKGND 39 +#define WM_INITDIALOG 272 +#define WM_INITMENU 278 +#define WM_INITMENUPOPUP 279 +#define WM_INPUTLANGCHANGE 81 +#define WM_INPUTLANGCHANGEREQUEST 80 +#define WM_KEYDOWN 256 +#define WM_KEYUP 257 +#define WM_KILLFOCUS 8 +#define WM_MDIACTIVATE 546 +#define WM_MDICASCADE 551 +#define WM_MDICREATE 544 +#define WM_MDIDESTROY 545 +#define WM_MDIGETACTIVE 553 +#define WM_MDIICONARRANGE 552 +#define WM_MDIMAXIMIZE 549 +#define WM_MDINEXT 548 +#define WM_MDIREFRESHMENU 564 +#define WM_MDIRESTORE 547 +#define WM_MDISETMENU 560 +#define WM_MDITILE 550 +#define WM_MEASUREITEM 44 +#define WM_MENUCHAR 288 +#define WM_MENUSELECT 287 +#define WM_NEXTMENU 531 +#define WM_MOVE 3 +#define WM_MOVING 534 +#define WM_NCACTIVATE 134 +#define WM_NCCALCSIZE 131 +#define WM_NCCREATE 129 +#define WM_NCDESTROY 130 +#define WM_NCHITTEST 132 +#define WM_NCLBUTTONDBLCLK 163 +#define WM_NCLBUTTONDOWN 161 +#define WM_NCLBUTTONUP 162 +#define WM_NCMBUTTONDBLCLK 169 +#define WM_NCMBUTTONDOWN 167 +#define WM_NCMBUTTONUP 168 +#define WM_NCMOUSEMOVE 160 +#define WM_NCPAINT 133 +#define WM_NCRBUTTONDBLCLK 166 +#define WM_NCRBUTTONDOWN 164 +#define WM_NCRBUTTONUP 165 +#define WM_NEXTDLGCTL 40 +#define WM_NEXTMENU 531 +#define WM_NOTIFY 78 +#define WM_NOTIFYFORMAT 85 +#define WM_NULL 0 +#define WM_PAINT 15 +#define WM_PAINTCLIPBOARD 777 +#define WM_PAINTICON 38 +#define WM_PALETTECHANGED 785 +#define WM_PALETTEISCHANGING 784 +#define WM_PARENTNOTIFY 528 +#define WM_PASTE 770 +#define WM_PENWINFIRST 896 +#define WM_PENWINLAST 911 +#define WM_POWER 72 +#define WM_POWERBROADCAST 536 +#define WM_PRINT 791 +#define WM_PRINTCLIENT 792 +#define WM_QUERYDRAGICON 55 +#define WM_QUERYENDSESSION 17 +#define WM_QUERYNEWPALETTE 783 +#define WM_QUERYOPEN 19 +#define WM_QUEUESYNC 35 +#define WM_QUIT 18 +#define WM_RENDERALLFORMATS 774 +#define WM_RENDERFORMAT 773 +#define WM_SETCURSOR 32 +#define WM_SETFOCUS 7 +#define WM_SETFONT 48 +#define WM_SETHOTKEY 50 +#define WM_SETICON 128 +#define WM_SETREDRAW 11 +#define WM_SETTEXT 12 +#define WM_SETTINGCHANGE 26 +#define WM_SHOWWINDOW 24 +#define WM_SIZE 5 +#define WM_SIZECLIPBOARD 779 +#define WM_SIZING 532 +#define WM_SPOOLERSTATUS 42 +#define WM_STYLECHANGED 125 +#define WM_STYLECHANGING 124 +#define WM_SYSCHAR 262 +#define WM_SYSCOLORCHANGE 21 +#define WM_SYSCOMMAND 274 +#define WM_SYSDEADCHAR 263 +#define WM_SYSKEYDOWN 260 +#define WM_SYSKEYUP 261 +#define WM_TCARD 82 +#define WM_TIMECHANGE 30 +#define WM_TIMER 275 +#define WM_UNDO 772 +#define WM_USER 1024 +#define WM_USERCHANGED 84 +#define WM_VKEYTOITEM 46 +#define WM_VSCROLL 277 +#define WM_VSCROLLCLIPBOARD 778 +#define WM_WINDOWPOSCHANGED 71 +#define WM_WINDOWPOSCHANGING 70 +#define WM_WININICHANGE 26 +#define WM_KEYFIRST 256 +#define WM_KEYLAST 264 +#define WM_SYNCPAINT 136 +#define WM_MOUSEACTIVATE 33 +#define WM_MOUSEMOVE 512 +#define WM_LBUTTONDOWN 513 +#define WM_LBUTTONUP 514 +#define WM_LBUTTONDBLCLK 515 +#define WM_RBUTTONDOWN 516 +#define WM_RBUTTONUP 517 +#define WM_RBUTTONDBLCLK 518 +#define WM_MBUTTONDOWN 519 +#define WM_MBUTTONUP 520 +#define WM_MBUTTONDBLCLK 521 +#define WM_MOUSEWHEEL 522 +#define WM_MOUSEFIRST 512 +#define WM_MOUSELAST 522 +#define WM_MOUSEHOVER 0x2A1 +#define WM_MOUSELEAVE 0x2A3 +#if(_WIN32_WINNT >= 0x0400) +#define WHEEL_DELTA 120 +#define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam)) +#endif +#define BM_CLICK 245 +#define BM_GETCHECK 240 +#define BM_GETIMAGE 246 +#define BM_GETSTATE 242 +#define BM_SETCHECK 241 +#define BM_SETIMAGE 247 +#define BM_SETSTATE 243 +#define BM_SETSTYLE 244 +#define BN_CLICKED 0 +#define BN_DBLCLK 5 +#define BN_DISABLE 4 +#define BN_DOUBLECLICKED 5 +#define BN_HILITE 2 +#define BN_KILLFOCUS 7 +#define BN_PAINT 1 +#define BN_PUSHED 2 +#define BN_SETFOCUS 6 +#define BN_UNHILITE 3 +#define BN_UNPUSHED 3 +#define CB_ADDSTRING 323 +#define CB_DELETESTRING 324 +#define CB_DIR 325 +#define CB_FINDSTRING 332 +#define CB_FINDSTRINGEXACT 344 +#define CB_GETCOUNT 326 +#define CB_GETCURSEL 327 +#define CB_GETDROPPEDCONTROLRECT 338 +#define CB_GETDROPPEDSTATE 343 +#define CB_GETDROPPEDWIDTH 351 +#define CB_GETEDITSEL 320 +#define CB_GETEXTENDEDUI 342 +#define CB_GETHORIZONTALEXTENT 349 +#define CB_GETITEMDATA 336 +#define CB_GETITEMHEIGHT 340 +#define CB_GETLBTEXT 328 +#define CB_GETLBTEXTLEN 329 +#define CB_GETLOCALE 346 +#define CB_GETTOPINDEX 347 +#define CB_INITSTORAGE 353 +#define CB_INSERTSTRING 330 +#define CB_LIMITTEXT 321 +#define CB_RESETCONTENT 331 +#define CB_SELECTSTRING 333 +#define CB_SETCURSEL 334 +#define CB_SETDROPPEDWIDTH 352 +#define CB_SETEDITSEL 322 +#define CB_SETEXTENDEDUI 341 +#define CB_SETHORIZONTALEXTENT 350 +#define CB_SETITEMDATA 337 +#define CB_SETITEMHEIGHT 339 +#define CB_SETLOCALE 345 +#define CB_SETTOPINDEX 348 +#define CB_SHOWDROPDOWN 335 +#define CBN_CLOSEUP 8 +#define CBN_DBLCLK 2 +#define CBN_DROPDOWN 7 +#define CBN_EDITCHANGE 5 +#define CBN_EDITUPDATE 6 +#define CBN_ERRSPACE (-1) +#define CBN_KILLFOCUS 4 +#define CBN_SELCHANGE 1 +#define CBN_SELENDCANCEL 10 +#define CBN_SELENDOK 9 +#define CBN_SETFOCUS 3 +#define EM_CANUNDO 198 +#define EM_CHARFROMPOS 215 +#define EM_EMPTYUNDOBUFFER 205 +#define EM_FMTLINES 200 +#define EM_GETFIRSTVISIBLELINE 206 +#define EM_GETHANDLE 189 +#define EM_GETLIMITTEXT 213 +#define EM_GETLINE 196 +#define EM_GETLINECOUNT 186 +#define EM_GETMARGINS 212 +#define EM_GETMODIFY 184 +#define EM_GETPASSWORDCHAR 210 +#define EM_GETRECT 178 +#define EM_GETSEL 176 +#define EM_GETTHUMB 190 +#define EM_GETWORDBREAKPROC 209 +#define EM_LIMITTEXT 197 +#define EM_LINEFROMCHAR 201 +#define EM_LINEINDEX 187 +#define EM_LINELENGTH 193 +#define EM_LINESCROLL 182 +#define EM_POSFROMCHAR 214 +#define EM_REPLACESEL 194 +#define EM_SCROLL 181 +#define EM_SCROLLCARET 183 +#define EM_SETHANDLE 188 +#define EM_SETLIMITTEXT 197 +#define EM_SETMARGINS 211 +#define EM_SETMODIFY 185 +#define EM_SETPASSWORDCHAR 204 +#define EM_SETREADONLY 207 +#define EM_SETRECT 179 +#define EM_SETRECTNP 180 +#define EM_SETSEL 177 +#define EM_SETTABSTOPS 203 +#define EM_SETWORDBREAKPROC 208 +#define EM_UNDO 199 +#define EN_CHANGE 768 +#define EN_ERRSPACE 1280 +#define EN_HSCROLL 1537 +#define EN_KILLFOCUS 512 +#define EN_MAXTEXT 1281 +#define EN_SETFOCUS 256 +#define EN_UPDATE 1024 +#define EN_VSCROLL 1538 +#define LB_ADDFILE 406 +#define LB_ADDSTRING 384 +#define LB_DELETESTRING 386 +#define LB_DIR 397 +#define LB_FINDSTRING 399 +#define LB_FINDSTRINGEXACT 418 +#define LB_GETANCHORINDEX 413 +#define LB_GETCARETINDEX 415 +#define LB_GETCOUNT 395 +#define LB_GETCURSEL 392 +#define LB_GETHORIZONTALEXTENT 403 +#define LB_GETITEMDATA 409 +#define LB_GETITEMHEIGHT 417 +#define LB_GETITEMRECT 408 +#define LB_GETLOCALE 422 +#define LB_GETSEL 391 +#define LB_GETSELCOUNT 400 +#define LB_GETSELITEMS 401 +#define LB_GETTEXT 393 +#define LB_GETTEXTLEN 394 +#define LB_GETTOPINDEX 398 +#define LB_INITSTORAGE 424 +#define LB_INSERTSTRING 385 +#define LB_ITEMFROMPOINT 425 +#define LB_RESETCONTENT 388 +#define LB_SELECTSTRING 396 +#define LB_SELITEMRANGE 411 +#define LB_SELITEMRANGEEX 387 +#define LB_SETANCHORINDEX 412 +#define LB_SETCARETINDEX 414 +#define LB_SETCOLUMNWIDTH 405 +#define LB_SETCOUNT 423 +#define LB_SETCURSEL 390 +#define LB_SETHORIZONTALEXTENT 404 +#define LB_SETITEMDATA 410 +#define LB_SETITEMHEIGHT 416 +#define LB_SETLOCALE 421 +#define LB_SETSEL 389 +#define LB_SETTABSTOPS 402 +#define LB_SETTOPINDEX 407 +#define LBN_DBLCLK 2 +#define LBN_ERRSPACE (-2) +#define LBN_KILLFOCUS 5 +#define LBN_SELCANCEL 3 +#define LBN_SELCHANGE 1 +#define LBN_SETFOCUS 4 +#define SBM_ENABLE_ARROWS 228 +#define SBM_GETPOS 225 +#define SBM_GETRANGE 227 +#define SBM_GETSCROLLINFO 234 +#define SBM_SETPOS 224 +#define SBM_SETRANGE 226 +#define SBM_SETRANGEREDRAW 230 +#define SBM_SETSCROLLINFO 233 +#define STM_GETICON 369 +#define STM_GETIMAGE 371 +#define STM_SETICON 368 +#define STM_SETIMAGE 370 +#define STN_CLICKED 0 +#define STN_DBLCLK 1 +#define STN_DISABLE 3 +#define STN_ENABLE 2 +#define DM_GETDEFID WM_USER +#define DM_SETDEFID (WM_USER+1) +#define DM_REPOSITION (WM_USER+2) +#define PSM_PAGEINFO (WM_USER+100) +#define PSM_SHEETINFO (WM_USER+101) +#define PSI_SETACTIVE 1 +#define PSI_KILLACTIVE 2 +#define PSI_APPLY 3 +#define PSI_RESET 4 +#define PSI_HASHELP 5 +#define PSI_HELP 6 +#define PSI_CHANGED 1 +#define PSI_GUISTART 2 +#define PSI_REBOOT 3 +#define PSI_GETSIBLINGS 4 +#define DCX_WINDOW 1 +#define DCX_CACHE 2 +#define DCX_PARENTCLIP 32 +#define DCX_CLIPSIBLINGS 16 +#define DCX_CLIPCHILDREN 8 +#define DCX_NORESETATTRS 4 +#define DCX_LOCKWINDOWUPDATE 0x400 +#define DCX_EXCLUDERGN 64 +#define DCX_INTERSECTRGN 128 +#define DCX_VALIDATE 0x200000 +#define GMDI_GOINTOPOPUPS 2 +#define GMDI_USEDISABLED 1 +#define FKF_AVAILABLE 2 +#define FKF_CLICKON 64 +#define FKF_FILTERKEYSON 1 +#define FKF_HOTKEYACTIVE 4 +#define FKF_HOTKEYSOUND 16 +#define FKF_CONFIRMHOTKEY 8 +#define FKF_INDICATOR 32 +#define HCF_HIGHCONTRASTON 1 +#define HCF_AVAILABLE 2 +#define HCF_HOTKEYACTIVE 4 +#define HCF_CONFIRMHOTKEY 8 +#define HCF_HOTKEYSOUND 16 +#define HCF_INDICATOR 32 +#define HCF_HOTKEYAVAILABLE 64 +#define MKF_AVAILABLE 2 +#define MKF_CONFIRMHOTKEY 8 +#define MKF_HOTKEYACTIVE 4 +#define MKF_HOTKEYSOUND 16 +#define MKF_INDICATOR 32 +#define MKF_MOUSEKEYSON 1 +#define MKF_MODIFIERS 64 +#define MKF_REPLACENUMBERS 128 +#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */ +#define SERKF_AVAILABLE 2 +#define SERKF_INDICATOR 4 +#define SERKF_SERIALKEYSON 1 +#define SSF_AVAILABLE 2 +#define SSF_SOUNDSENTRYON 1 +#define SSTF_BORDER 2 +#define SSTF_CHARS 1 +#define SSTF_DISPLAY 3 +#define SSTF_NONE 0 +#define SSGF_DISPLAY 3 +#define SSGF_NONE 0 +#define SSWF_CUSTOM 4 +#define SSWF_DISPLAY 3 +#define SSWF_NONE 0 +#define SSWF_TITLE 1 +#define SSWF_WINDOW 2 +#define SKF_AUDIBLEFEEDBACK 64 +#define SKF_AVAILABLE 2 +#define SKF_CONFIRMHOTKEY 8 +#define SKF_HOTKEYACTIVE 4 +#define SKF_HOTKEYSOUND 16 +#define SKF_INDICATOR 32 +#define SKF_STICKYKEYSON 1 +#define SKF_TRISTATE 128 +#define SKF_TWOKEYSOFF 256 +#define TKF_AVAILABLE 2 +#define TKF_CONFIRMHOTKEY 8 +#define TKF_HOTKEYACTIVE 4 +#define TKF_HOTKEYSOUND 16 +#define TKF_TOGGLEKEYSON 1 +#define MDITILE_SKIPDISABLED 2 +#define MDITILE_HORIZONTAL 1 +#define MDITILE_VERTICAL 0 +#define VK_LBUTTON 1 +#define VK_RBUTTON 2 +#define VK_CANCEL 3 +#define VK_MBUTTON 4 +#define VK_BACK 8 +#define VK_TAB 9 +#define VK_CLEAR 12 +#define VK_RETURN 13 +#define VK_KANA 15 +#define VK_SHIFT 16 +#define VK_CONTROL 17 +#define VK_MENU 18 +#define VK_PAUSE 19 +#define VK_CAPITAL 20 +#define VK_ESCAPE 0x1B +#define VK_SPACE 32 +#define VK_PRIOR 33 +#define VK_NEXT 34 +#define VK_END 35 +#define VK_HOME 36 +#define VK_LEFT 37 +#define VK_UP 38 +#define VK_RIGHT 39 +#define VK_DOWN 40 +#define VK_SELECT 41 +#define VK_PRINT 42 +#define VK_EXECUTE 43 +#define VK_SNAPSHOT 44 +#define VK_INSERT 45 +#define VK_DELETE 46 +#define VK_HELP 47 +#define VK_LWIN 0x5B +#define VK_RWIN 0x5C +#define VK_APPS 0x5D +#define VK_NUMPAD0 0x60 +#define VK_NUMPAD1 0x61 +#define VK_NUMPAD2 0x62 +#define VK_NUMPAD3 0x63 +#define VK_NUMPAD4 0x64 +#define VK_NUMPAD5 0x65 +#define VK_NUMPAD6 0x66 +#define VK_NUMPAD7 0x67 +#define VK_NUMPAD8 0x68 +#define VK_NUMPAD9 0x69 +#define VK_MULTIPLY 0x6A +#define VK_ADD 0x6B +#define VK_SEPARATOR 0x6C +#define VK_SUBTRACT 0x6D +#define VK_DECIMAL 0x6E +#define VK_DIVIDE 0x6F +#define VK_F1 0x70 +#define VK_F2 0x71 +#define VK_F3 0x72 +#define VK_F4 0x73 +#define VK_F5 0x74 +#define VK_F6 0x75 +#define VK_F7 0x76 +#define VK_F8 0x77 +#define VK_F9 0x78 +#define VK_F10 0x79 +#define VK_F11 0x7A +#define VK_F12 0x7B +#define VK_F13 0x7C +#define VK_F14 0x7D +#define VK_F15 0x7E +#define VK_F16 0x7F +#define VK_F17 0x80 +#define VK_F18 0x81 +#define VK_F19 0x82 +#define VK_F20 0x83 +#define VK_F21 0x84 +#define VK_F22 0x85 +#define VK_F23 0x86 +#define VK_F24 0x87 +#define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 +#define VK_LSHIFT 0xA0 +#define VK_RSHIFT 0xA1 +#define VK_LCONTROL 0xA2 +#define VK_RCONTROL 0xA3 +#define VK_LMENU 0xA4 +#define VK_RMENU 0xA5 +#define VK_PROCESSKEY 0xE5 +#define VK_ATTN 0xF6 +#define VK_CRSEL 0xF7 +#define VK_EXSEL 0xF8 +#define VK_EREOF 0xF9 +#define VK_PLAY 0xFA +#define VK_ZOOM 0xFB +#define VK_NONAME 0xFC +#define VK_PA1 0xFD +#define VK_OEM_CLEAR 0xFE +#define TME_HOVER 1 +#define TME_LEAVE 2 +#define TME_QUERY 0x40000000 +#define TME_CANCEL 0x80000000 +#define HOVER_DEFAULT 0xFFFFFFFF +#define MK_LBUTTON 1 +#define MK_RBUTTON 2 +#define MK_SHIFT 4 +#define MK_CONTROL 8 +#define MK_MBUTTON 16 +#define TPM_CENTERALIGN 4 +#define TPM_LEFTALIGN 0 +#define TPM_RIGHTALIGN 8 +#define TPM_LEFTBUTTON 0 +#define TPM_RIGHTBUTTON 2 +#define TPM_HORIZONTAL 0 +#define TPM_VERTICAL 64 +#define TPM_TOPALIGN 0 +#define TPM_VCENTERALIGN 16 +#define TPM_BOTTOMALIGN 32 +#define TPM_NONOTIFY 128 +#define TPM_RETURNCMD 256 +#define HELP_COMMAND 0x102 +#define HELP_CONTENTS 3 +#define HELP_CONTEXT 1 +#define HELP_CONTEXTPOPUP 8 +#define HELP_FORCEFILE 9 +#define HELP_HELPONHELP 4 +#define HELP_INDEX 3 +#define HELP_KEY 0x101 +#define HELP_MULTIKEY 0x201 +#define HELP_PARTIALKEY 0x105 +#define HELP_QUIT 2 +#define HELP_SETCONTENTS 5 +#define HELP_SETINDEX 5 +#define HELP_CONTEXTMENU 0xa +#define HELP_FINDER 0xb +#define HELP_WM_HELP 0xc +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 16 +#define HELP_TCARD_OTHER_CALLER 0x11 +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 +#define LB_CTLCODE 0 +#define LB_OKAY 0 +#define LB_ERR (-1) +#define LB_ERRSPACE (-2) +#define CB_OKAY 0 +#define CB_ERR (-1) +#define CB_ERRSPACE (-2) +#define HIDE_WINDOW 0 +#define SHOW_OPENWINDOW 1 +#define SHOW_ICONWINDOW 2 +#define SHOW_FULLSCREEN 3 +#define SHOW_OPENNOACTIVATE 4 +#define SW_PARENTCLOSING 1 +#define SW_OTHERZOOM 2 +#define SW_PARENTOPENING 3 +#define SW_OTHERUNZOOM 4 +#define KF_EXTENDED 256 +#define KF_DLGMODE 2048 +#define KF_MENUMODE 4096 +#define KF_ALTDOWN 8192 +#define KF_REPEAT 16384 +#define KF_UP 32768 +#define WSF_VISIBLE 1 +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 +#define MENULOOP_WINDOW 0 +#define MENULOOP_POPUP 1 +#define WMSZ_LEFT 1 +#define WMSZ_RIGHT 2 +#define WMSZ_TOP 3 +#define WMSZ_TOPLEFT 4 +#define WMSZ_TOPRIGHT 5 +#define WMSZ_BOTTOM 6 +#define WMSZ_BOTTOMLEFT 7 +#define WMSZ_BOTTOMRIGHT 8 +#define HTERROR (-2) +#define HTTRANSPARENT (-1) +#define HTNOWHERE 0 +#define HTCLIENT 1 +#define HTCAPTION 2 +#define HTSYSMENU 3 +#define HTGROWBOX 4 +#define HTSIZE 4 +#define HTMENU 5 +#define HTHSCROLL 6 +#define HTVSCROLL 7 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 +#define HTREDUCE 8 +#define HTZOOM 9 +#define HTLEFT 10 +#define HTSIZEFIRST 10 +#define HTRIGHT 11 +#define HTTOP 12 +#define HTTOPLEFT 13 +#define HTTOPRIGHT 14 +#define HTBOTTOM 15 +#define HTBOTTOMLEFT 16 +#define HTBOTTOMRIGHT 17 +#define HTSIZELAST 17 +#define HTBORDER 18 +#define HTOBJECT 19 +#define HTCLOSE 20 +#define HTHELP 21 +#define MA_ACTIVATE 1 +#define MA_ACTIVATEANDEAT 2 +#define MA_NOACTIVATE 3 +#define MA_NOACTIVATEANDEAT 4 +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 +#define SIZENORMAL 0 +#define SIZEICONIC 1 +#define SIZEFULLSCREEN 2 +#define SIZEZOOMSHOW 3 +#define SIZEZOOMHIDE 4 +#define WVR_ALIGNTOP 16 +#define WVR_ALIGNLEFT 32 +#define WVR_ALIGNBOTTOM 64 +#define WVR_ALIGNRIGHT 128 +#define WVR_HREDRAW 256 +#define WVR_VREDRAW 512 +#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW) +#define WVR_VALIDRECTS 1024 +#define PRF_CHECKVISIBLE 1 +#define PRF_NONCLIENT 2 +#define PRF_CLIENT 4 +#define PRF_ERASEBKGND 8 +#define PRF_CHILDREN 16 +#define PRF_OWNED 32 +#define IDANI_OPEN 1 +#define IDANI_CLOSE 2 +#define IDANI_CAPTION 3 +#define WPF_RESTORETOMAXIMIZED 2 +#define WPF_SETMINPOSITION 1 +#define ODT_MENU 1 +#define ODT_LISTBOX 2 +#define ODT_COMBOBOX 3 +#define ODT_BUTTON 4 +#define ODT_STATIC 5 +#define ODA_DRAWENTIRE 1 +#define ODA_SELECT 2 +#define ODA_FOCUS 4 +#define ODS_SELECTED 1 +#define ODS_GRAYED 2 +#define ODS_DISABLED 4 +#define ODS_CHECKED 8 +#define ODS_FOCUS 16 +#define ODS_DEFAULT 32 +#define ODS_COMBOBOXEDIT 4096 +#define IDHOT_SNAPWINDOW (-1) +#define IDHOT_SNAPDESKTOP (-2) +#define DBWF_LPARAMPOINTER 0x8000 +#define DLGWINDOWEXTRA 30 +#define MNC_IGNORE 0 +#define MNC_CLOSE 1 +#define MNC_EXECUTE 2 +#define MNC_SELECT 3 +#define DOF_EXECUTABLE 0x8001 +#define DOF_DOCUMENT 0x8002 +#define DOF_DIRECTORY 0x8003 +#define DOF_MULTIPLE 0x8004 +#define DOF_PROGMAN 1 +#define DOF_SHELLDATA 2 +#define DO_DROPFILE 0x454C4946 +#define DO_PRINTFILE 0x544E5250 +#define SW_SCROLLCHILDREN 1 +#define SW_INVALIDATE 2 +#define SW_ERASE 4 +#define SC_SIZE 0xF000 +#define SC_MOVE 0xF010 +#define SC_MINIMIZE 0xF020 +#define SC_ICON 0xf020 +#define SC_MAXIMIZE 0xF030 +#define SC_ZOOM 0xF030 +#define SC_NEXTWINDOW 0xF040 +#define SC_PREVWINDOW 0xF050 +#define SC_CLOSE 0xF060 +#define SC_VSCROLL 0xF070 +#define SC_HSCROLL 0xF080 +#define SC_MOUSEMENU 0xF090 +#define SC_KEYMENU 0xF100 +#define SC_ARRANGE 0xF110 +#define SC_RESTORE 0xF120 +#define SC_TASKLIST 0xF130 +#define SC_SCREENSAVE 0xF140 +#define SC_HOTKEY 0xF150 +#define SC_DEFAULT 0xF160 +#define SC_MONITORPOWER 0xF170 +#define SC_CONTEXTHELP 0xF180 +#define SC_SEPARATOR 0xF00F +#define EC_LEFTMARGIN 1 +#define EC_RIGHTMARGIN 2 +#define EC_USEFONTINFO 0xffff +#define DC_HASDEFID 0x534B +#define DLGC_WANTARROWS 1 +#define DLGC_WANTTAB 2 +#define DLGC_WANTALLKEYS 4 +#define DLGC_WANTMESSAGE 4 +#define DLGC_HASSETSEL 8 +#define DLGC_DEFPUSHBUTTON 16 +#define DLGC_UNDEFPUSHBUTTON 32 +#define DLGC_RADIOBUTTON 64 +#define DLGC_WANTCHARS 128 +#define DLGC_STATIC 256 +#define DLGC_BUTTON 0x2000 +#define LB_CTLCODE 0 +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 +#define ICON_SMALL 0 +#define ICON_BIG 1 +#define HBMMENU_CALLBACK ((HBITMAP) -1) +#define HBMMENU_SYSTEM ((HBITMAP)1) +#define HBMMENU_MBAR_RESTORE ((HBITMAP)2) +#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3) +#define HBMMENU_MBAR_CLOSE ((HBITMAP)5) +#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6) +#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7) +#define HBMMENU_POPUP_CLOSE ((HBITMAP)8) +#define HBMMENU_POPUP_RESTORE ((HBITMAP)9) +#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10) +#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11) +#define MOD_ALT 1 +#define MOD_CONTROL 2 +#define MOD_SHIFT 4 +#define MOD_WIN 8 +#define MOD_IGNORE_ALL_MODIFIER 1024 +#define MOD_ON_KEYUP 2048 +#define MOD_RIGHT 16384 +#define MOD_LEFT 32768 +#define LLKHF_ALTDOWN 0x00000020 + +#ifndef RC_INVOKED +typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM); +typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD); +typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int); +typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM); +typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE); +typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE); +typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD); +typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD); +typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int); +typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int); +typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM); +typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int); +typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM); +typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM); +typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM); +typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM); +typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM); +typedef NAMEENUMPROCA DESKTOPENUMPROCA; +typedef NAMEENUMPROCW DESKTOPENUMPROCW; +typedef NAMEENUMPROCA WINSTAENUMPROCA; +typedef NAMEENUMPROCW WINSTAENUMPROCW; +typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT); +DECLARE_HANDLE(HHOOK); +DECLARE_HANDLE(HDWP); +typedef struct tagACCEL { + BYTE fVirt; + WORD key; + WORD cmd; +} ACCEL,*LPACCEL; +typedef struct tagACCESSTIMEOUT { + UINT cbSize; + DWORD dwFlags; + DWORD iTimeOutMSec; +} ACCESSTIMEOUT, *LPACCESSTIMEOUT; +typedef struct tagANIMATIONINFO { + UINT cbSize; + int iMinAnimate; +} ANIMATIONINFO,*LPANIMATIONINFO; +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 struct tagCBT_CREATEWNDA { + LPCREATESTRUCTA lpcs; + HWND hwndInsertAfter; +} CBT_CREATEWNDA, *LPCBT_CREATEWNDA; +typedef struct tagCBT_CREATEWNDW { + LPCREATESTRUCTW lpcs; + HWND hwndInsertAfter; +} CBT_CREATEWNDW, *LPCBT_CREATEWNDW; +typedef struct tagCBTACTIVATESTRUCT { + BOOL fMouse; + HWND hWndActive; +} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT; +typedef struct tagCLIENTCREATESTRUCT { + HANDLE hWindowMenu; + UINT idFirstChild; +} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT; +typedef struct tagCOMPAREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + HWND hwndItem; + UINT itemID1; + DWORD itemData1; + UINT itemID2; + DWORD itemData2; + DWORD dwLocaleId; +} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT; +typedef struct tagCOPYDATASTRUCT { + DWORD dwData; + DWORD cbData; + PVOID lpData; +} COPYDATASTRUCT,*PCOPYDATASTRUCT; +typedef struct tagCURSORSHAPE { + int xHotSpot; + int yHotSpot; + int cx; + int cy; + int cbWidth; + BYTE Planes; + BYTE BitsPixel; +} CURSORSHAPE,*LPCURSORSHAPE; +typedef struct tagCWPRETSTRUCT { + LRESULT lResult; + LPARAM lParam; + WPARAM wParam; + DWORD message; + HWND hwnd; +} CWPRETSTRUCT; +typedef struct tagCWPSTRUCT { + LPARAM lParam; + WPARAM wParam; + UINT message; + HWND hwnd; +} CWPSTRUCT,*PCWPSTRUCT; +typedef struct tagDEBUGHOOKINFO { + DWORD idThread; + DWORD idThreadInstaller; + LPARAM lParam; + WPARAM wParam; + int code; +} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO; +typedef struct tagDELETEITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + HWND hwndItem; + UINT itemData; +} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT; +#pragma pack(push,2) +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + short x; + short y; + short cx; + short cy; + WORD id; +} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE; +typedef struct { + DWORD style; + DWORD dwExtendedStyle; + WORD cdit; + short x; + short y; + short cx; + short cy; +} DLGTEMPLATE,*LPDLGTEMPLATE; +typedef const DLGTEMPLATE *LPCDLGTEMPLATE; +#pragma pack(pop) +typedef struct tagDRAWITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemAction; + UINT itemState; + HWND hwndItem; + HDC hDC; + RECT rcItem; + DWORD itemData; +} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT; +typedef struct { + UINT cbSize; + int iTabLength; + int iLeftMargin; + int iRightMargin; + UINT uiLengthDrawn; +} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS; +typedef struct tagPAINTSTRUCT { + HDC hdc; + BOOL fErase; + RECT rcPaint; + BOOL fRestore; + BOOL fIncUpdate; + BYTE rgbReserved[32]; +} PAINTSTRUCT,*LPPAINTSTRUCT; +typedef struct tagMSG { + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; +} MSG,*LPMSG,*PMSG; +typedef struct _ICONINFO { + BOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; +} ICONINFO,*PICONINFO; +typedef struct tagNMHDR { + HWND hwndFrom; + UINT idFrom; + UINT code; +} NMHDR,*LPNMHDR; +typedef struct _WNDCLASSA { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; +} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA; +typedef struct _WNDCLASSW { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; +} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW; +typedef struct _WNDCLASSEXA { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; + HICON hIconSm; +} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA; +typedef struct _WNDCLASSEXW { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HANDLE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; + HICON hIconSm; +} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW; +typedef struct tagMENUITEMINFOA { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + LPSTR dwTypeData; + UINT cch; +#if (_WIN32_WINNT >= 0x0500) + HBITMAP hbmpItem; +#endif +} MENUITEMINFOA,*LPMENUITEMINFOA; +typedef const MENUITEMINFOA *LPCMENUITEMINFOA; +typedef struct tagMENUITEMINFOW { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + DWORD dwItemData; + LPWSTR dwTypeData; + UINT cch; +#if (_WIN32_WINNT >= 0x0500) + HBITMAP hbmpItem; +#endif +} MENUITEMINFOW,*LPMENUITEMINFOW; +typedef const MENUITEMINFOW *LPCMENUITEMINFOW; +typedef struct tagSCROLLINFO { + UINT cbSize; + UINT fMask; + int nMin; + int nMax; + UINT nPage; + int nPos; + int nTrackPos; +} SCROLLINFO,*LPSCROLLINFO; +typedef const SCROLLINFO *LPCSCROLLINFO; +typedef struct _WINDOWPLACEMENT { + UINT length; + UINT flags; + UINT showCmd; + POINT ptMinPosition; + POINT ptMaxPosition; + RECT rcNormalPosition; +} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT; +typedef struct { + WORD versionNumber; + WORD offset; +} MENUITEMTEMPLATEHEADER; +typedef struct { + WORD mtOption; + WORD mtID; + WCHAR mtString[1]; +} MENUITEMTEMPLATE; +typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE; +typedef struct tagHELPINFO { + UINT cbSize; + int iContextType; + int iCtrlId; + HANDLE hItemHandle; + DWORD dwContextId; + POINT MousePos; +} HELPINFO,*LPHELPINFO; +typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO); +typedef struct { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpszText; + LPCSTR lpszCaption; + DWORD dwStyle; + LPCSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; +} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA; +typedef struct { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpszText; + LPCWSTR lpszCaption; + DWORD dwStyle; + LPCWSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; +} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW; +typedef struct tagUSEROBJECTFLAGS { + BOOL fInherit; + BOOL fReserved; + DWORD dwFlags; +} USEROBJECTFLAGS; +typedef struct tagFILTERKEYS { + UINT cbSize; + DWORD dwFlags; + DWORD iWaitMSec; + DWORD iDelayMSec; + DWORD iRepeatMSec; + DWORD iBounceMSec; +} FILTERKEYS; +typedef struct tagHIGHCONTRASTA { + UINT cbSize; + DWORD dwFlags; + LPSTR lpszDefaultScheme; +} HIGHCONTRASTA,*LPHIGHCONTRASTA; +typedef struct tagHIGHCONTRASTW { + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszDefaultScheme; +} HIGHCONTRASTW,*LPHIGHCONTRASTW; +typedef struct tagICONMETRICSA { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTA lfFont; +} ICONMETRICSA,*LPICONMETRICSA; +typedef struct tagICONMETRICSW { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTW lfFont; +} ICONMETRICSW,*LPICONMETRICSW; +typedef struct tagMINIMIZEDMETRICS { + UINT cbSize; + int iWidth; + int iHorzGap; + int iVertGap; + int iArrange; +} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS; +typedef struct tagMOUSEKEYS{ + UINT cbSize; + DWORD dwFlags; + DWORD iMaxSpeed; + DWORD iTimeToMaxSpeed; + DWORD iCtrlSpeed; + DWORD dwReserved1; + DWORD dwReserved2; +} MOUSEKEYS, *LPMOUSEKEYS; +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,*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,*LPNONCLIENTMETRICSW; +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 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 struct tagSTICKYKEYS { + DWORD cbSize; + DWORD dwFlags; +} STICKYKEYS,*LPSTICKYKEYS; +typedef struct tagTOGGLEKEYS { + DWORD cbSize; + DWORD dwFlags; +} TOGGLEKEYS; +typedef struct tagTRACKMOUSEEVENT { + DWORD cbSize; + DWORD dwFlags; + HWND hwndTrack; + DWORD dwHoverTime; +} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT; +typedef struct tagTPMPARAMS { + UINT cbSize; + RECT rcExclude; +} TPMPARAMS,*LPTPMPARAMS; +typedef struct tagEVENTMSG { + UINT message; + UINT paramL; + UINT paramH; + DWORD time; + HWND hwnd; +} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG; +typedef struct _WINDOWPOS { + HWND hwnd; + HWND hwndInsertAfter; + int x; + int y; + int cx; + int cy; + UINT flags; +} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS; +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 struct tagMINMAXINFO { + POINT ptReserved; + POINT ptMaxSize; + POINT ptMaxPosition; + POINT ptMinTrackSize; + POINT ptMaxTrackSize; +} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO; +typedef struct tagMDINEXTMENU { + HMENU hmenuIn; + HMENU hmenuNext; + HWND hwndNext; +} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU; +typedef struct tagMEASUREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemWidth; + UINT itemHeight; + DWORD itemData; +} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT; +typedef struct tagDROPSTRUCT { + HWND hwndSource; + HWND hwndSink; + DWORD wFmt; + DWORD dwData; + POINT ptDrop; + DWORD dwControlData; +} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT; +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 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 struct tagSTYLESTRUCT { + DWORD styleOld; + DWORD styleNew; +} STYLESTRUCT,*LPSTYLESTRUCT; +typedef struct tagALTTABINFO { + DWORD cbSize; + int cItems; + int cColumns; + int cRows; + int iColFocus; + int iRowFocus; + int cxItem; + int cyItem; + POINT ptStart; +} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO; +typedef struct tagCOMBOBOXINFO { + DWORD cbSize; + RECT rcItem; + RECT rcButton; + DWORD stateButton; + HWND hwndCombo; + HWND hwndItem; + HWND hwndList; +} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO; +typedef struct tagCURSORINFO { + DWORD cbSize; + DWORD flags; + HCURSOR hCursor; + POINT ptScreenPos; +} CURSORINFO,*PCURSORINFO,*LPCURSORINFO; +typedef struct tagMENUBARINFO { + DWORD cbSize; + RECT rcBar; + HMENU hMenu; + HWND hwndMenu; + BOOL fBarFocused:1; + BOOL fFocused:1; +} MENUBARINFO, *PMENUBARINFO; +typedef struct tagMENUINFO { + DWORD cbSize; + DWORD fMask; + DWORD dwStyle; + UINT cyMax; + HBRUSH hbrBack; + DWORD dwContextHelpID; + ULONG_PTR dwMenuData; +} MENUINFO, *LPMENUINFO; +typedef MENUINFO CONST *LPCMENUINFO; +#define CCHILDREN_SCROLLBAR 5 +typedef struct tagSCROLLBARINFO { + DWORD cbSize; + RECT rcScrollBar; + int dxyLineButton; + int xyThumbTop; + int xyThumbBottom; + int reserved; + DWORD rgstate[CCHILDREN_SCROLLBAR + 1]; +} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO; +#define CCHILDREN_TITLEBAR 5 +typedef struct tagTITLEBARINFO { + DWORD cbSize; + RECT rcTitleBar; + DWORD rgstate[CCHILDREN_TITLEBAR + 1]; +} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO; +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; +typedef struct tagLASTINPUTINFO { + UINT cbSize; + DWORD dwTime; +} LASTINPUTINFO, * PLASTINPUTINFO; +typedef struct tagMONITORINFO { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; +} MONITORINFO,*LPMONITORINFO; +typedef struct tagKBDLLHOOKSTRUCT { + DWORD vkCode; + DWORD scanCode; + DWORD flags; + DWORD time; + DWORD dwExtraInfo; +} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT; + + +#define AnsiToOem CharToOemA +#define OemToAnsi OemToCharA +#define AnsiToOemBuff CharToOemBuffA +#define OemToAnsiBuff OemToCharBuffA +#define AnsiUpper CharUpperA +#define AnsiUpperBuff CharUpperBuffA +#define AnsiLower CharLowerA +#define AnsiLowerBuff CharLowerBuffA +#define AnsiNext CharNextA +#define AnsiPrev CharPrevA +#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h)) +#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h)) +#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h)) +#define POINTSTOPOINT(p,ps) { \ + (p).x=LOWORD(*(DWORD *)&ps); \ + (p).y=HIWORD(*(DWORD *)&ps); \ +} +#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y)) + +HKL WINAPI ActivateKeyboardLayout(HKL,UINT); +BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL); +BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD); +BOOL WINAPI AnyPopup(void); +BOOL WINAPI AppendMenuA(HMENU,UINT,UINT,LPCSTR); +BOOL WINAPI AppendMenuW(HMENU,UINT,UINT,LPCWSTR); +UINT WINAPI ArrangeIconicWindows(HWND); +BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL); +HDWP WINAPI BeginDeferWindowPos(int); +HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT); +BOOL WINAPI BringWindowToTop(HWND); +long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI CallMsgFilter(PMSG,int); +LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM); +LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM); +WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*); +BOOL WINAPI ChangeClipboardChain(HWND,HWND); +LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD); +LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD); +BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT); +BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT); +LPSTR WINAPI CharLowerA(LPSTR); +LPWSTR WINAPI CharLowerW(LPWSTR); +DWORD WINAPI CharLowerBuffA(LPSTR,DWORD); +DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD); +LPSTR WINAPI CharNextA(LPCSTR); +LPWSTR WINAPI CharNextW(LPCWSTR); +LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD); +LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD); +LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR); +LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR); +LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD); +LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD); +BOOL WINAPI CharToOemA(LPCSTR,LPSTR); +BOOL WINAPI CharToOemW(LPCWSTR,LPSTR); +BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD); +BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD); +LPSTR WINAPI CharUpperA(LPSTR); +LPWSTR WINAPI CharUpperW(LPWSTR); +DWORD WINAPI CharUpperBuffA(LPSTR,DWORD); +DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD); +BOOL WINAPI CheckDlgButton(HWND,int,UINT); +DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT); +BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT); +BOOL WINAPI CheckRadioButton(HWND,int,int,int); +HWND WINAPI ChildWindowFromPoint(HWND,POINT); +HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT); +BOOL WINAPI ClientToScreen(HWND,LPPOINT); +BOOL WINAPI ClipCursor(LPCRECT); +BOOL WINAPI CloseClipboard(void); +BOOL WINAPI CloseDesktop(HDESK); +BOOL WINAPI CloseWindow(HWND); +BOOL WINAPI CloseWindowStation(HWINSTA); +int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int); +int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int); +HCURSOR WINAPI CopyCursor(HCURSOR); +HICON WINAPI CopyIcon(HICON); +HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT); +BOOL WINAPI CopyRect(LPRECT,LPCRECT); +int WINAPI CountClipboardFormats(void); +HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int); +HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int); +BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int); +HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID); +HDESK WINAPI CreateDesktopA(LPSTR,LPSTR,LPDEVMODEA,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HDESK WINAPI CreateDesktopW(LPWSTR,LPWSTR,LPDEVMODEW,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0) +#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0) +#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0) +#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0) +HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); +HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*); +HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD); +HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT); +HICON WINAPI CreateIconIndirect(PICONINFO); +HWND WINAPI CreateMDIWindowA(LPSTR,LPSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM); +HWND WINAPI CreateMDIWindowW(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM); +HMENU WINAPI CreateMenu(void); +HMENU WINAPI CreatePopupMenu(void); +#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k) +#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k) +HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID); +HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID); +HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES); +LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM); +HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT); +LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM); +#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp) +LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM); +LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI DeleteMenu(HMENU,UINT,UINT); +BOOL WINAPI DestroyAcceleratorTable(HACCEL); +BOOL WINAPI DestroyCaret(void); +BOOL WINAPI DestroyCursor(HCURSOR); +BOOL WINAPI DestroyIcon(HICON); +BOOL WINAPI DestroyMenu(HMENU); +BOOL WINAPI DestroyWindow(HWND); +#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0) +#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0) +#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0) +#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0) +int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM); +int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM); +LONG WINAPI DispatchMessageA(const MSG*); +LONG WINAPI DispatchMessageW(const MSG*); +int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT); +int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT); +int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT); +int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT); +BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int); +BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int); +BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int); +BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int); +BOOL WINAPI DragDetect(HWND,POINT); +DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR); +BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT); +BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT); +BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT); +BOOL WINAPI DrawFocusRect(HDC,LPCRECT); +BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT); +BOOL WINAPI DrawIcon(HDC,int,int,HICON); +BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT); +BOOL WINAPI DrawMenuBar(HWND); +BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT); +BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT); +int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT); +int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT); +int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS); +int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS); +BOOL WINAPI EmptyClipboard(void); +BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT); +BOOL WINAPI EnableScrollBar(HWND,UINT,UINT); +BOOL WINAPI EnableWindow(HWND,BOOL); +BOOL WINAPI EndDeferWindowPos(HDWP); +BOOL WINAPI EndDialog(HWND,int); +BOOL WINAPI EndMenu(VOID); +BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*); +BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM); +UINT WINAPI EnumClipboardFormats(UINT); +BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM); +BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM); +BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM); +BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM); +BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA); +BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW); +int WINAPI EnumPropsA(HWND,PROPENUMPROCA); +int WINAPI EnumPropsW(HWND,PROPENUMPROCW); +int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM); +int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM); +#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p) +BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM); +BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM); +BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM); +BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM); +BOOL WINAPI EqualRect(LPCRECT,LPCRECT); +#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0) +BOOL WINAPI ExitWindowsEx(UINT,DWORD); +HWND WINAPI FindWindowA(LPCSTR,LPCSTR); +HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR); +HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR); +HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR); +BOOL WINAPI FlashWindow(HWND,BOOL); +int WINAPI FrameRect(HDC,LPCRECT,HBRUSH); +BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int); +HWND WINAPI GetActiveWindow(void); +SHORT WINAPI GetAsyncKeyState(int); +HWND WINAPI GetCapture(void); +UINT WINAPI GetCaretBlinkTime(void); +BOOL WINAPI GetCaretPos(LPPOINT); +BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,PWNDCLASSA); +BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,PWNDCLASSEXA); +BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,PWNDCLASSW); +BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,PWNDCLASSEXW); +DWORD WINAPI GetClassLongA(HWND,int); +DWORD WINAPI GetClassLongW(HWND,int); +int WINAPI GetClassNameA(HWND,LPSTR,int); +int WINAPI GetClassNameW(HWND,LPWSTR,int); +WORD WINAPI GetClassWord(HWND,int); +BOOL WINAPI GetClientRect(HWND,LPRECT); +HANDLE WINAPI GetClipboardData(UINT); +int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int); +int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int); +HWND WINAPI GetClipboardOwner(void); +HWND WINAPI GetClipboardViewer(void); +BOOL WINAPI GetClipCursor(LPRECT); +BOOL WINAPI GetCursorPos(LPPOINT); +HDC WINAPI GetDC(HWND); +HDC WINAPI GetDCEx(HWND,HRGN,DWORD); +HWND WINAPI GetDesktopWindow(void); +long WINAPI GetDialogBaseUnits(void); +int WINAPI GetDlgCtrlID(HWND); +HWND WINAPI GetDlgItem(HWND,int); +UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL); +UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int); +UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int); +UINT WINAPI GetDoubleClickTime(void); +HWND WINAPI GetFocus(void); +HWND WINAPI GetForegroundWindow(void); +BOOL WINAPI GetIconInfo(HICON,PICONINFO); +BOOL WINAPI GetInputState(void); +UINT WINAPI GetKBCodePage(void); +HKL WINAPI GetKeyboardLayout(DWORD); +int WINAPI GetKeyboardLayoutList(int,HKL*); +BOOL WINAPI GetKeyboardLayoutNameA(LPSTR); +BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR); +BOOL WINAPI GetKeyboardState(PBYTE); +int WINAPI GetKeyboardType(int); +int WINAPI GetKeyNameTextA(LONG,LPSTR,int); +int WINAPI GetKeyNameTextW(LONG,LPWSTR,int); +SHORT WINAPI GetKeyState(int); +HWND WINAPI GetLastActivePopup(HWND); +DWORD WINAPI GetLastError(void); +HMENU WINAPI GetMenu(HWND); +LONG WINAPI GetMenuCheckMarkDimensions(void); +DWORD WINAPI GetMenuContextHelpId(HMENU); +UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT); +int WINAPI GetMenuItemCount(HMENU); +UINT WINAPI GetMenuItemID(HMENU,int); +BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA); +BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW); +BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT); +UINT WINAPI GetMenuState(HMENU,UINT,UINT); +int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT); +int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT); +BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT); +BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT); +LONG WINAPI GetMessageExtraInfo(void); +DWORD WINAPI GetMessagePos(void); +LONG WINAPI GetMessageTime(void); +HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL); +HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL); +#define GetNextWindow(h,c) GetWindow(h,c) +HWND WINAPI GetOpenClipboardWindow(void); +HWND WINAPI GetParent(HWND); +int WINAPI GetPriorityClipboardFormat(UINT*,int); +HANDLE WINAPI GetPropA(HWND,LPCSTR); +HANDLE WINAPI GetPropW(HWND,LPCWSTR); +DWORD WINAPI GetQueueStatus(UINT); +BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO); +int WINAPI GetScrollPos(HWND,int); +BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT); +HMENU WINAPI GetSubMenu(HMENU,int); +DWORD WINAPI GetSysColor(int); +HBRUSH WINAPI GetSysColorBrush(int); +#define GetSysModalWindow() (NULL) +HMENU WINAPI GetSystemMenu(HWND,BOOL); +int WINAPI GetSystemMetrics(int); +DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT); +DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT); +LONG WINAPI GetWindowLongA(HWND,int); +LONG WINAPI GetWindowLongW(HWND,int); +#ifdef _WIN64 +LONG_PTR WINAPI GetWindowLongPtrA(HWND,int); +LONG_PTR WINAPI GetWindowLongPtrW(HWND,int); +#else +#define GetWindowLongPtrA GetWindowLongA +#define GetWindowLongPtrW GetWindowLongW +#endif +HDESK WINAPI GetThreadDesktop(DWORD); +HWND WINAPI GetTopWindow(HWND); +BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL); +int WINAPI GetUpdateRgn(HWND,HRGN,BOOL); +BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD); +BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD); +HWND WINAPI GetWindow(HWND,UINT); +DWORD WINAPI GetWindowContextHelpId(HWND); +HDC WINAPI GetWindowDC(HWND); +BOOL WINAPI GetWindowExtEx(HDC,LPSIZE); +BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*); +BOOL WINAPI GetWindowRect(HWND,LPRECT); +int WINAPI GetWindowRgn(HWND,HRGN); +#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) +int WINAPI GetWindowTextA(HWND,LPSTR,int); +int WINAPI GetWindowTextLengthA(HWND); +int WINAPI GetWindowTextLengthW(HWND); +int WINAPI GetWindowTextW(HWND,LPWSTR,int); +WORD WINAPI GetWindowWord(HWND,int); +BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT); +BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT); +BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO); +BOOL WINAPI GetCursorInfo(PCURSORINFO); +BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO); +DWORD WINAPI GetListBoxInfo(HWND); +BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO); +BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO); +BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO); +BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO); +BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO); +BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO); +BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO); +UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT); +UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT); +BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); +BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int); +BOOL WINAPI HideCaret(HWND); +BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT); +BOOL WINAPI InflateRect(LPRECT,int,int); +BOOL WINAPI InSendMessage(VOID); +BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR); +BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR); +BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); +BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW); +BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL); +BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL); +BOOL WINAPI InvertRect(HDC,LPCRECT); +BOOL WINAPI IsCharAlphaA(CHAR ch); +BOOL WINAPI IsCharAlphaNumericA(CHAR); +BOOL WINAPI IsCharAlphaNumericW(WCHAR); +BOOL WINAPI IsCharAlphaW(WCHAR); +BOOL WINAPI IsCharLowerA(CHAR); +BOOL WINAPI IsCharLowerW(WCHAR); +BOOL WINAPI IsCharUpperA(CHAR); +BOOL WINAPI IsCharUpperW(WCHAR); +BOOL WINAPI IsChild(HWND,HWND); +BOOL WINAPI IsClipboardFormatAvailable(UINT); +BOOL WINAPI IsDialogMessageA(HWND,LPMSG); +BOOL WINAPI IsDialogMessageW(HWND,LPMSG); +UINT WINAPI IsDlgButtonChecked(HWND,int); +BOOL WINAPI IsIconic(HWND); +BOOL WINAPI IsMenu(HMENU); +BOOL WINAPI IsRectEmpty(LPCRECT); +BOOL WINAPI IsWindow(HWND); +BOOL WINAPI IsWindowEnabled(HWND); +BOOL WINAPI IsWindowUnicode(HWND); +BOOL WINAPI IsWindowVisible(HWND); +BOOL WINAPI IsZoomed(HWND); +VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD); +BOOL WINAPI KillTimer(HWND,UINT); +HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR); +HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR); +HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR); +HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR); +HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR); +HCURSOR WINAPI LoadCursorFromFileA(LPCSTR); +HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR); +HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR); +HICON WINAPI LoadIconA(HINSTANCE,LPCSTR); +HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR); +HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT); +HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT); +HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT); +HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT); +HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR); +HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*); +HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*); +HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR); +int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int); +int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int); +BOOL WINAPI LockWindowUpdate(HWND); +int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL); +int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT); +BOOL WINAPI MapDialogRect(HWND,LPRECT); +UINT WINAPI MapVirtualKeyA(UINT,UINT); +UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL); +UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL); +UINT WINAPI MapVirtualKeyW(UINT,UINT); +int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT); +int WINAPI MenuItemFromPoint(HWND,HMENU,POINT); +BOOL WINAPI MessageBeep(UINT); +int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT); +int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT); +int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD); +int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD); +int WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA); +int WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW); +BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR); +BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR); +void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD); +BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL); +DWORD WINAPI MsgWaitForMultipleObjects(DWORD,LPHANDLE,BOOL,DWORD,DWORD); +DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,LPHANDLE,DWORD,DWORD,DWORD); +DWORD WINAPI OemKeyScan(WORD); +BOOL WINAPI OemToCharA(LPCSTR,LPSTR); +BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD); +BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD); +BOOL WINAPI OemToCharW(LPCSTR,LPWSTR); +BOOL WINAPI OffsetRect(LPRECT,int,int); +BOOL WINAPI OpenClipboard(HWND); +HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD); +HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD); +BOOL WINAPI OpenIcon(HWND); +HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD); +HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD); +HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD); +BOOL WINAPI PaintDesktop(HDC); +BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT); +BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT); +#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l) +#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l) +BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM); +void WINAPI PostQuitMessage(int); +BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM); +BOOL WINAPI PtInRect(LPCRECT,POINT); +BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT); +ATOM WINAPI RegisterClassA(const WNDCLASSA*); +ATOM WINAPI RegisterClassW(const WNDCLASSW*); +ATOM WINAPI RegisterClassExA(const WNDCLASSEXA*); +ATOM WINAPI RegisterClassExW(const WNDCLASSEXW*); +UINT WINAPI RegisterClipboardFormatA(LPCSTR); +UINT WINAPI RegisterClipboardFormatW(LPCWSTR); +BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT); +UINT WINAPI RegisterWindowMessageA(LPCSTR); +UINT WINAPI RegisterWindowMessageW(LPCWSTR); +BOOL WINAPI ReleaseCapture(void); +int WINAPI ReleaseDC(HWND,HDC); +BOOL WINAPI RemoveMenu(HMENU,UINT,UINT); +HANDLE WINAPI RemovePropA(HWND,LPCSTR); +HANDLE WINAPI RemovePropW(HWND,LPCWSTR); +BOOL WINAPI ReplyMessage(LRESULT); +BOOL WINAPI ScreenToClient(HWND,LPPOINT); +BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT); +BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT); +int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT); +LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM); +LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM); +LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); +BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); +LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); +LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD); +LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM); +BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM); +HWND WINAPI SetActiveWindow(HWND); +HWND WINAPI SetCapture(HWND hWnd); +BOOL WINAPI SetCaretBlinkTime(UINT); +BOOL WINAPI SetCaretPos(int,int); +DWORD WINAPI SetClassLongA(HWND,int,LONG); +DWORD WINAPI SetClassLongW(HWND,int,LONG); +WORD WINAPI SetClassWord(HWND,int,WORD); +HANDLE WINAPI SetClipboardData(UINT,HANDLE); +HWND WINAPI SetClipboardViewer(HWND); +HCURSOR WINAPI SetCursor(HCURSOR); +BOOL WINAPI SetCursorPos(int,int); +VOID WINAPI SetDebugErrorLevel(DWORD); +BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL); +BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR); +BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR); +BOOL WINAPI SetDoubleClickTime(UINT); +HWND WINAPI SetFocus(HWND); +BOOL WINAPI SetForegroundWindow(HWND); +BOOL WINAPI SetKeyboardState(PBYTE); +BOOL WINAPI SetMenu(HWND,HMENU); +BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD); +BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT); +BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO); +BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP); +BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA); +BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW); +LPARAM WINAPI SetMessageExtraInfo(LPARAM); +BOOL WINAPI SetMessageQueue(int); +HWND WINAPI SetParent(HWND,HWND); +BOOL WINAPI SetProcessWindowStation(HWINSTA); +BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE); +BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE); +BOOL WINAPI SetRect(LPRECT,int,int,int,int); +BOOL WINAPI SetRectEmpty(LPRECT); +int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL); +int WINAPI SetScrollPos(HWND,int,int,BOOL); +BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL); +BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *); +#define SetSysModalWindow(h) (NULL) +BOOL WINAPI SetSystemCursor(HCURSOR,DWORD); +BOOL WINAPI SetThreadDesktop(HDESK); +UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC); +BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD); +BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD); +BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR); +BOOL WINAPI SetWindowContextHelpId(HWND,DWORD); +LONG WINAPI SetWindowLongA(HWND,int,LONG); +LONG WINAPI SetWindowLongW(HWND,int,LONG); +#ifdef _WIN64 +LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR); +LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR); +#else +#define SetWindowLongPtrA SetWindowLongA +#define SetWindowLongPtrW SetWindowLongW +#endif +BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*); +BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT); +int WINAPI SetWindowRgn(HWND,HRGN,BOOL); +HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC); +HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD); +HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD); +BOOL WINAPI SetWindowTextA(HWND,LPCSTR); +BOOL WINAPI SetWindowTextW(HWND,LPCWSTR); +WORD WINAPI SetWindowWord(HWND,int,WORD); +BOOL WINAPI ShowCaret(HWND); +int WINAPI ShowCursor(BOOL); +BOOL WINAPI ShowOwnedPopups(HWND,BOOL); +BOOL WINAPI ShowScrollBar(HWND,int,BOOL); +BOOL WINAPI ShowWindow(HWND,int); +BOOL WINAPI ShowWindowAsync(HWND,int); +BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI SwapMouseButton(BOOL); +BOOL WINAPI SwitchDesktop(HDESK); +BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT); +BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT); +LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int); +LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int); +WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *); +int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT); +int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL); +int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT); +int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL); +BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT); +BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT); +BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS); +int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG); +int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG); +BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG); +BOOL WINAPI TranslateMessage(const MSG*); +BOOL WINAPI UnhookWindowsHook(int,HOOKPROC); +BOOL WINAPI UnhookWindowsHookEx(HHOOK); +BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT); +BOOL WINAPI UnloadKeyboardLayout(HKL); +BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE); +BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE); +BOOL WINAPI UnregisterHotKey(HWND,int); +BOOL WINAPI UpdateWindow(HWND); +BOOL WINAPI ValidateRect(HWND,LPCRECT); +BOOL WINAPI ValidateRgn(HWND,HRGN); +SHORT WINAPI VkKeyScanA(CHAR); +SHORT WINAPI VkKeyScanExA(CHAR,HKL); +SHORT WINAPI VkKeyScanExW(WCHAR,HKL); +SHORT WINAPI VkKeyScanW(WCHAR); +DWORD WINAPI WaitForInputIdle(HANDLE,DWORD); +BOOL WINAPI WaitMessage(void); +HWND WINAPI WindowFromDC(HDC hDC); +HWND WINAPI WindowFromPoint(POINT); +UINT WINAPI WinExec(LPCSTR,UINT); +BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD); +BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD); +int WINAPIV wsprintfA(LPSTR,LPCSTR,...); +int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...); +int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist); +int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist); + +#ifdef UNICODE +#define EDITWORDBREAKPROC EDITWORDBREAKPROCW +#define PROPENUMPROC PROPENUMPROCW +#define PROPENUMPROCEX PROPENUMPROCEXW +#define DEKSTOPENUMPROC DEKSTOPENUMPROCW +#define WINSTAENUMPROC WINSTAENUMPROCW +#define PROPENUMPROC PROPENUMPROCW +#define PROPENUMPROCEX PROPENUMPROCEXW +#define MAKEINTRESOURCE MAKEINTRESOURCEW +typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS; +typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX; +typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO; +typedef LPCMENUITEMINFOW LPCMENUITEMINFO; +typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS; +typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST; +typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS; +typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS; +typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS; +typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY; +typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT; +typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND; +typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT; +typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; +#define AppendMenu AppendMenuW +#define CallWindowProc CallWindowProcW +#define ChangeDisplaySettings ChangeDisplaySettingsW +#define ChangeMenu ChangeMenuW +#define CharLower CharLowerW +#define CharLowerBuff CharLowerBuffW +#define CharNext CharNextW +#define CharNextEx CharNextExW +#define CharPrev CharPrevW +#define CharPrevEx CharPrevExW +#define CharToOem CharToOemW +#define CharToOemBuff CharToOemBuffW +#define CharUpper CharUpperW +#define CharUpperBuff CharUpperBuffW +#define CopyAcceleratorTable CopyAcceleratorTableW +#define CreateAcceleratorTable CreateAcceleratorTableW +#define CreateDesktop CreateDesktopW +#define CreateDialog CreateDialogW +#define CreateDialogIndirect CreateDialogIndirectW +#define CreateDialogIndirectParam CreateDialogIndirectParamW +#define CreateDialogParam CreateDialogParamW +#define CreateMDIWindow CreateMDIWindowW +#define CreateWindow CreateWindowW +#define CreateWindowEx CreateWindowExW +#define CreateWindowStation CreateWindowStationW +#define DefDlgProc DefDlgProcW +#define DefFrameProc DefFrameProcW +#define DefMDIChildProc DefMDIChildProcW +#define DefWindowProc DefWindowProcW +#define DialogBox DialogBoxW +#define DialogBoxIndirect DialogBoxIndirectW +#define DialogBoxIndirectParam DialogBoxIndirectParamW +#define DialogBoxParam DialogBoxParamW +#define DispatchMessage DispatchMessageW +#define DlgDirList DlgDirListW +#define DlgDirListComboBox DlgDirListComboBoxW +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW +#define DlgDirSelectEx DlgDirSelectExW +#define DrawState DrawStateW +#define DrawText DrawTextW +#define DrawTextEx DrawTextExW +#define EnumDesktops EnumDesktopsW +#define EnumDisplaySettings EnumDisplaySettingsW +#define EnumProps EnumPropsW +#define EnumPropsEx EnumPropsExW +#define EnumWindowStations EnumWindowStationsW +#define FindWindow FindWindowW +#define FindWindowEx FindWindowExW +#define GetClassInfo GetClassInfoW +#define GetClassInfoEx GetClassInfoExW +#define GetClassLong GetClassLongW +#define GetClassName GetClassNameW +#define GetClipboardFormatName GetClipboardFormatNameW +#define GetDlgItemText GetDlgItemTextW +#define GetKeyboardLayoutName GetKeyboardLayoutNameW +#define GetKeyNameText GetKeyNameTextW +#define GetMenuItemInfo GetMenuItemInfoW +#define GetMenuString GetMenuStringW +#define GetMessage GetMessageW +#define GetMonitorInfo GetMonitorInfoW +#define GetProp GetPropW +#define GetTabbedTextExtent GetTabbedTextExtentW +#define GetUserObjectInformation GetUserObjectInformationW +#define GetWindowLong GetWindowLongW +#define GetWindowLongPtr GetWindowLongPtrW +#define GetWindowText GetWindowTextW +#define GetWindowTextLength GetWindowTextLengthW +#define GetAltTabInfo GetAltTabInfoW +#define GetWindowModuleFileName GetWindowModuleFileNameW +#define GrayString GrayStringW +#define InsertMenu InsertMenuW +#define InsertMenuItem InsertMenuItemW +#define IsCharAlpha IsCharAlphaW +#define IsCharAlphaNumeric IsCharAlphaNumericW +#define IsCharLower IsCharLowerW +#define IsCharUpper IsCharUpperW +#define IsDialogMessage IsDialogMessageW +#define LoadAccelerators LoadAcceleratorsW +#define LoadBitmap LoadBitmapW +#define LoadCursor LoadCursorW +#define LoadCursorFromFile LoadCursorFromFileW +#define LoadIcon LoadIconW +#define LoadImage LoadImageW +#define LoadKeyboardLayout LoadKeyboardLayoutW +#define LoadMenu LoadMenuW +#define LoadMenuIndirect LoadMenuIndirectW +#define LoadString LoadStringW +#define MapVirtualKey MapVirtualKeyW +#define MapVirtualKeyEx MapVirtualKeyExW +#define MessageBox MessageBoxW +#define MessageBoxEx MessageBoxExW +#define MessageBoxIndirect MessageBoxIndirectW +#define ModifyMenu ModifyMenuW +#define OemToChar OemToCharW +#define OemToCharBuff OemToCharBuffW +#define OpenDesktop OpenDesktopW +#define OpenWindowStation OpenWindowStationW +#define PeekMessage PeekMessageW +#define PostAppMessage PostAppMessageW +#define PostMessage PostMessageW +#define PostThreadMessage PostThreadMessageW +#define RegisterClass RegisterClassW +#define RegisterClassEx RegisterClassExW +#define RegisterClipboardFormat RegisterClipboardFormatW +#define RegisterWindowMessage RegisterWindowMessageW +#define RemoveProp RemovePropW +#define SendDlgItemMessage SendDlgItemMessageW +#define SendMessage SendMessageW +#define SendMessageCallback SendMessageCallbackW +#define SendMessageTimeout SendMessageTimeoutW +#define SendNotifyMessage SendNotifyMessageW +#define SetClassLong SetClassLongW +#define SetDlgItemText SetDlgItemTextW +#define SetMenuItemInfo SetMenuItemInfoW +#define SetProp SetPropW +#define SetUserObjectInformation SetUserObjectInformationW +#define SetWindowLong SetWindowLongW +#define SetWindowLongPtr SetWindowLongPtrW +#define SetWindowsHook SetWindowsHookW +#define SetWindowsHookEx SetWindowsHookExW +#define SetWindowText SetWindowTextW +#define SystemParametersInfo SystemParametersInfoW +#define TabbedTextOut TabbedTextOutW +#define TranslateAccelerator TranslateAcceleratorW +#define UnregisterClass UnregisterClassW +#define VkKeyScan VkKeyScanW +#define VkKeyScanEx VkKeyScanExW +#define WinHelp WinHelpW +#define wsprintf wsprintfW +#define wvsprintf wvsprintfW +#else +#define EDITWORDBREAKPROC EDITWORDBREAKPROCA +#define PROPENUMPROC PROPENUMPROCA +#define PROPENUMPROCEX PROPENUMPROCEXA +#define DEKSTOPENUMPROC DEKSTOPENUMPROCA +#define WINSTAENUMPROC WINSTAENUMPROCA +#define PROPENUMPROC PROPENUMPROCA +#define PROPENUMPROCEX PROPENUMPROCEXA +#define MAKEINTRESOURCE MAKEINTRESOURCEA +typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS; +typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX; +typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO; +typedef LPCMENUITEMINFOA LPCMENUITEMINFO; +typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS; +typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST; +typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS; +typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS; +typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS; +typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY; +typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT; +typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND; +typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT; +typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; +#define AppendMenu AppendMenuA +#define CallWindowProc CallWindowProcA +#define ChangeDisplaySettings ChangeDisplaySettingsA +#define ChangeMenu ChangeMenuA +#define CharLower CharLowerA +#define CharLowerBuff CharLowerBuffA +#define CharNext CharNextA +#define CharNextEx CharNextExA +#define CharPrev CharPrevA +#define CharPrevEx CharPrevExA +#define CharToOem CharToOemA +#define CharToOemBuff CharToOemBuffA +#define CharUpper CharUpperA +#define CharUpperBuff CharUpperBuffA +#define CopyAcceleratorTable CopyAcceleratorTableA +#define CreateAcceleratorTable CreateAcceleratorTableA +#define CreateDesktop CreateDesktopA +#define CreateDialog CreateDialogA +#define CreateDialogIndirect CreateDialogIndirectA +#define CreateDialogIndirectParam CreateDialogIndirectParamA +#define CreateDialogParam CreateDialogParamA +#define CreateMDIWindow CreateMDIWindowA +#define CreateWindow CreateWindowA +#define CreateWindowEx CreateWindowExA +#define CreateWindowStation CreateWindowStationA +#define DefDlgProc DefDlgProcA +#define DefFrameProc DefFrameProcA +#define DefMDIChildProc DefMDIChildProcA +#define DefWindowProc DefWindowProcA +#define DialogBox DialogBoxA +#define DialogBoxIndirect DialogBoxIndirectA +#define DialogBoxIndirectParam DialogBoxIndirectParamA +#define DialogBoxParam DialogBoxParamA +#define DispatchMessage DispatchMessageA +#define DlgDirList DlgDirListA +#define DlgDirListComboBox DlgDirListComboBoxA +#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA +#define DlgDirSelectEx DlgDirSelectExA +#define DrawState DrawStateA +#define DrawText DrawTextA +#define DrawTextEx DrawTextExA +#define EnumDesktops EnumDesktopsA +#define EnumDisplaySettings EnumDisplaySettingsA +#define EnumProps EnumPropsA +#define EnumPropsEx EnumPropsExA +#define EnumWindowStations EnumWindowStationsA +#define FindWindow FindWindowA +#define FindWindowEx FindWindowExA +#define GetClassInfo GetClassInfoA +#define GetClassInfoEx GetClassInfoExA +#define GetClassLong GetClassLongA +#define GetClassName GetClassNameA +#define GetClipboardFormatName GetClipboardFormatNameA +#define GetDlgItemText GetDlgItemTextA +#define GetKeyboardLayoutName GetKeyboardLayoutNameA +#define GetKeyNameText GetKeyNameTextA +#define GetMenuItemInfo GetMenuItemInfoA +#define GetMenuString GetMenuStringA +#define GetMessage GetMessageA +#define GetMonitorInfo GetMonitorInfoA +#define GetProp GetPropA +#define GetTabbedTextExtent GetTabbedTextExtentA +#define GetUserObjectInformation GetUserObjectInformationA +#define GetWindowLong GetWindowLongA +#define GetWindowLongPtr GetWindowLongPtrA +#define GetWindowText GetWindowTextA +#define GetWindowTextLength GetWindowTextLengthA +#define GetAltTabInfo GetAltTabInfoA +#define GetWindowModuleFileName GetWindowModuleFileNameA +#define GrayString GrayStringA +#define InsertMenu InsertMenuA +#define InsertMenuItem InsertMenuItemA +#define IsCharAlpha IsCharAlphaA +#define IsCharAlphaNumeric IsCharAlphaNumericA +#define IsCharLower IsCharLowerA +#define IsCharUpper IsCharUpperA +#define IsDialogMessage IsDialogMessageA +#define LoadAccelerators LoadAcceleratorsA +#define LoadBitmap LoadBitmapA +#define LoadCursor LoadCursorA +#define LoadIcon LoadIconA +#define LoadCursorFromFile LoadCursorFromFileA +#define LoadImage LoadImageA +#define LoadKeyboardLayout LoadKeyboardLayoutA +#define LoadMenu LoadMenuA +#define LoadMenuIndirect LoadMenuIndirectA +#define LoadString LoadStringA +#define MapVirtualKey MapVirtualKeyA +#define MapVirtualKeyEx MapVirtualKeyExA +#define MessageBox MessageBoxA +#define MessageBoxEx MessageBoxExA +#define MessageBoxIndirect MessageBoxIndirectA +#define ModifyMenu ModifyMenuA +#define OemToChar OemToCharA +#define OemToCharBuff OemToCharBuffA +#define OpenDesktop OpenDesktopA +#define OpenWindowStation OpenWindowStationA +#define PeekMessage PeekMessageA +#define PostAppMessage PostAppMessageA +#define PostMessage PostMessageA +#define PostThreadMessage PostThreadMessageA +#define RegisterClass RegisterClassA +#define RegisterClassEx RegisterClassExA +#define RegisterClipboardFormat RegisterClipboardFormatA +#define RegisterWindowMessage RegisterWindowMessageA +#define RemoveProp RemovePropA +#define SendDlgItemMessage SendDlgItemMessageA +#define SendMessage SendMessageA +#define SendMessageCallback SendMessageCallbackA +#define SendMessageTimeout SendMessageTimeoutA +#define SendNotifyMessage SendNotifyMessageA +#define SetClassLong SetClassLongA +#define SetDlgItemText SetDlgItemTextA +#define SetMenuItemInfo SetMenuItemInfoA +#define SetProp SetPropA +#define SetUserObjectInformation SetUserObjectInformationA +#define SetWindowLong SetWindowLongA +#define SetWindowLongPtr SetWindowLongPtrA +#define SetWindowsHook SetWindowsHookA +#define SetWindowsHookEx SetWindowsHookExA +#define SetWindowText SetWindowTextA +#define SystemParametersInfo SystemParametersInfoA +#define TabbedTextOut TabbedTextOutA +#define TranslateAccelerator TranslateAcceleratorA +#define UnregisterClass UnregisterClassA +#define VkKeyScan VkKeyScanA +#define VkKeyScanEx VkKeyScanExA +#define WinHelp WinHelpA +#define wsprintf wsprintfA +#define wvsprintf wvsprintfA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif /* _WINUSER_H */ diff --git a/win32/include/winapi/winver.h b/win32/include/winapi/winver.h index 9e26302..f20333a 100644 --- a/win32/include/winapi/winver.h +++ b/win32/include/winapi/winver.h @@ -1,133 +1,133 @@ -#ifndef _WINVER_H
-#define _WINVER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define VS_FILE_INFO RT_VERSION
-#define VS_VERSION_INFO 1
-#define VS_USER_DEFINED 100
-#define VS_FFI_SIGNATURE 0xFEEF04BD
-#define VS_FFI_STRUCVERSION 0x10000
-#define VS_FFI_FILEFLAGSMASK 0x3F
-#define VS_FF_DEBUG 1
-#define VS_FF_PRERELEASE 2
-#define VS_FF_PATCHED 4
-#define VS_FF_PRIVATEBUILD 8
-#define VS_FF_INFOINFERRED 16
-#define VS_FF_SPECIALBUILD 32
-#define VOS_UNKNOWN 0
-#define VOS_DOS 0x10000
-#define VOS_OS216 0x20000
-#define VOS_OS232 0x30000
-#define VOS_NT 0x40000
-#define VOS__BASE 0
-#define VOS__WINDOWS16 1
-#define VOS__PM16 2
-#define VOS__PM32 3
-#define VOS__WINDOWS32 4
-#define VOS_DOS_WINDOWS16 0x10001
-#define VOS_DOS_WINDOWS32 0x10004
-#define VOS_OS216_PM16 0x20002
-#define VOS_OS232_PM32 0x30003
-#define VOS_NT_WINDOWS32 0x40004
-#define VFT_UNKNOWN 0
-#define VFT_APP 1
-#define VFT_DLL 2
-#define VFT_DRV 3
-#define VFT_FONT 4
-#define VFT_VXD 5
-#define VFT_STATIC_LIB 7
-#define VFT2_UNKNOWN 0
-#define VFT2_DRV_PRINTER 1
-#define VFT2_DRV_KEYBOARD 2
-#define VFT2_DRV_LANGUAGE 3
-#define VFT2_DRV_DISPLAY 4
-#define VFT2_DRV_MOUSE 5
-#define VFT2_DRV_NETWORK 6
-#define VFT2_DRV_SYSTEM 7
-#define VFT2_DRV_INSTALLABLE 8
-#define VFT2_DRV_SOUND 9
-#define VFT2_DRV_COMM 10
-#define VFT2_DRV_INPUTMETHOD 11
-#define VFT2_FONT_RASTER 1
-#define VFT2_FONT_VECTOR 2
-#define VFT2_FONT_TRUETYPE 3
-#define VFFF_ISSHAREDFILE 1
-#define VFF_CURNEDEST 1
-#define VFF_FILEINUSE 2
-#define VFF_BUFFTOOSMALL 4
-#define VIFF_FORCEINSTALL 1
-#define VIFF_DONTDELETEOLD 2
-#define VIF_TEMPFILE 1
-#define VIF_MISMATCH 2
-#define VIF_SRCOLD 4
-#define VIF_DIFFLANG 8
-#define VIF_DIFFCODEPG 16
-#define VIF_DIFFTYPE 32
-#define VIF_WRITEPROT 64
-#define VIF_FILEINUSE 128
-#define VIF_OUTOFSPACE 256
-#define VIF_ACCESSVIOLATION 512
-#define VIF_SHARINGVIOLATION 1024
-#define VIF_CANNOTCREATE 2048
-#define VIF_CANNOTDELETE 4096
-#define VIF_CANNOTRENAME 8192
-#define VIF_CANNOTDELETECUR 16384
-#define VIF_OUTOFMEMORY 32768
-#define VIF_CANNOTREADSRC 65536
-#define VIF_CANNOTREADDST 0x20000
-#define VIF_BUFFTOOSMALL 0x40000
-#ifndef RC_INVOKED
-typedef struct tagVS_FIXEDFILEINFO {
- DWORD dwSignature;
- DWORD dwStrucVersion;
- DWORD dwFileVersionMS;
- DWORD dwFileVersionLS;
- DWORD dwProductVersionMS;
- DWORD dwProductVersionLS;
- DWORD dwFileFlagsMask;
- DWORD dwFileFlags;
- DWORD dwFileOS;
- DWORD dwFileType;
- DWORD dwFileSubtype;
- DWORD dwFileDateMS;
- DWORD dwFileDateLS;
-} VS_FIXEDFILEINFO;
-DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
-DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
-DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
-DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
-DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD);
-DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD);
-BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
-BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
-DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
-DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
-BOOL WINAPI VerQueryValueA(PCVOID,LPSTR,PVOID*,PUINT);
-BOOL WINAPI VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT);
-#ifdef UNICODE
-#define VerFindFile VerFindFileW
-#define VerQueryValue VerQueryValueW
-#define VerInstallFile VerInstallFileW
-#define GetFileVersionInfoSize GetFileVersionInfoSizeW
-#define GetFileVersionInfo GetFileVersionInfoW
-#define VerLanguageName VerLanguageNameW
-#define VerQueryValue VerQueryValueW
-#else
-#define VerQueryValue VerQueryValueA
-#define VerFindFile VerFindFileA
-#define VerInstallFile VerInstallFileA
-#define GetFileVersionInfoSize GetFileVersionInfoSizeA
-#define GetFileVersionInfo GetFileVersionInfoA
-#define VerLanguageName VerLanguageNameA
-#define VerQueryValue VerQueryValueA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
+#ifndef _WINVER_H +#define _WINVER_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define VS_FILE_INFO RT_VERSION +#define VS_VERSION_INFO 1 +#define VS_USER_DEFINED 100 +#define VS_FFI_SIGNATURE 0xFEEF04BD +#define VS_FFI_STRUCVERSION 0x10000 +#define VS_FFI_FILEFLAGSMASK 0x3F +#define VS_FF_DEBUG 1 +#define VS_FF_PRERELEASE 2 +#define VS_FF_PATCHED 4 +#define VS_FF_PRIVATEBUILD 8 +#define VS_FF_INFOINFERRED 16 +#define VS_FF_SPECIALBUILD 32 +#define VOS_UNKNOWN 0 +#define VOS_DOS 0x10000 +#define VOS_OS216 0x20000 +#define VOS_OS232 0x30000 +#define VOS_NT 0x40000 +#define VOS__BASE 0 +#define VOS__WINDOWS16 1 +#define VOS__PM16 2 +#define VOS__PM32 3 +#define VOS__WINDOWS32 4 +#define VOS_DOS_WINDOWS16 0x10001 +#define VOS_DOS_WINDOWS32 0x10004 +#define VOS_OS216_PM16 0x20002 +#define VOS_OS232_PM32 0x30003 +#define VOS_NT_WINDOWS32 0x40004 +#define VFT_UNKNOWN 0 +#define VFT_APP 1 +#define VFT_DLL 2 +#define VFT_DRV 3 +#define VFT_FONT 4 +#define VFT_VXD 5 +#define VFT_STATIC_LIB 7 +#define VFT2_UNKNOWN 0 +#define VFT2_DRV_PRINTER 1 +#define VFT2_DRV_KEYBOARD 2 +#define VFT2_DRV_LANGUAGE 3 +#define VFT2_DRV_DISPLAY 4 +#define VFT2_DRV_MOUSE 5 +#define VFT2_DRV_NETWORK 6 +#define VFT2_DRV_SYSTEM 7 +#define VFT2_DRV_INSTALLABLE 8 +#define VFT2_DRV_SOUND 9 +#define VFT2_DRV_COMM 10 +#define VFT2_DRV_INPUTMETHOD 11 +#define VFT2_FONT_RASTER 1 +#define VFT2_FONT_VECTOR 2 +#define VFT2_FONT_TRUETYPE 3 +#define VFFF_ISSHAREDFILE 1 +#define VFF_CURNEDEST 1 +#define VFF_FILEINUSE 2 +#define VFF_BUFFTOOSMALL 4 +#define VIFF_FORCEINSTALL 1 +#define VIFF_DONTDELETEOLD 2 +#define VIF_TEMPFILE 1 +#define VIF_MISMATCH 2 +#define VIF_SRCOLD 4 +#define VIF_DIFFLANG 8 +#define VIF_DIFFCODEPG 16 +#define VIF_DIFFTYPE 32 +#define VIF_WRITEPROT 64 +#define VIF_FILEINUSE 128 +#define VIF_OUTOFSPACE 256 +#define VIF_ACCESSVIOLATION 512 +#define VIF_SHARINGVIOLATION 1024 +#define VIF_CANNOTCREATE 2048 +#define VIF_CANNOTDELETE 4096 +#define VIF_CANNOTRENAME 8192 +#define VIF_CANNOTDELETECUR 16384 +#define VIF_OUTOFMEMORY 32768 +#define VIF_CANNOTREADSRC 65536 +#define VIF_CANNOTREADDST 0x20000 +#define VIF_BUFFTOOSMALL 0x40000 +#ifndef RC_INVOKED +typedef struct tagVS_FIXEDFILEINFO { + DWORD dwSignature; + DWORD dwStrucVersion; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + DWORD dwProductVersionMS; + DWORD dwProductVersionLS; + DWORD dwFileFlagsMask; + DWORD dwFileFlags; + DWORD dwFileOS; + DWORD dwFileType; + DWORD dwFileSubtype; + DWORD dwFileDateMS; + DWORD dwFileDateLS; +} VS_FIXEDFILEINFO; +DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT); +DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT); +DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT); +DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT); +DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD); +DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD); +BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID); +BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID); +DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD); +DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD); +BOOL WINAPI VerQueryValueA(PCVOID,LPSTR,PVOID*,PUINT); +BOOL WINAPI VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT); +#ifdef UNICODE +#define VerFindFile VerFindFileW +#define VerQueryValue VerQueryValueW +#define VerInstallFile VerInstallFileW +#define GetFileVersionInfoSize GetFileVersionInfoSizeW +#define GetFileVersionInfo GetFileVersionInfoW +#define VerLanguageName VerLanguageNameW +#define VerQueryValue VerQueryValueW +#else +#define VerQueryValue VerQueryValueA +#define VerFindFile VerFindFileA +#define VerInstallFile VerInstallFileA +#define GetFileVersionInfoSize GetFileVersionInfoSizeA +#define GetFileVersionInfo GetFileVersionInfoA +#define VerLanguageName VerLanguageNameA +#define VerQueryValue VerQueryValueA +#endif +#endif +#ifdef __cplusplus +} +#endif +#endif |
