public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/5449: internal error #20000524
@ 2002-03-19 16:22 jason
  0 siblings, 0 replies; 7+ messages in thread
From: jason @ 2002-03-19 16:22 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gyc, jason

Synopsis: internal error #20000524

State-Changed-From-To: analyzed->feedback
State-Changed-By: jason
State-Changed-When: Tue Mar 19 16:22:17 2002
State-Changed-Why:
    With the current 3.1 branch sources, I can build the preprocessed testcase under cygwin just fine.  Does it still break for you?

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5449


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/5449: internal error #20000524
@ 2002-04-07 18:49 rodrigc
  0 siblings, 0 replies; 7+ messages in thread
From: rodrigc @ 2002-04-07 18:49 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gyc, jason

Synopsis: internal error #20000524

State-Changed-From-To: feedback->closed
State-Changed-By: rodrigc
State-Changed-When: Sun Apr  7 18:49:38 2002
State-Changed-Why:
    No feedback.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5449


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/5449: internal error #20000524
@ 2002-03-19 15:22 jason
  0 siblings, 0 replies; 7+ messages in thread
From: jason @ 2002-03-19 15:22 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gyc, jason, nobody

Synopsis: internal error #20000524

Responsible-Changed-From-To: unassigned->jason
Responsible-Changed-By: jason
Responsible-Changed-When: Tue Mar 19 15:22:05 2002
Responsible-Changed-Why:
    investigating

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5449


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/5449: internal error #20000524
@ 2002-03-12 14:56 Craig Rodrigues
  0 siblings, 0 replies; 7+ messages in thread
From: Craig Rodrigues @ 2002-03-12 14:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/5449; it has been noted by GNATS.

From: Craig Rodrigues <rodrigc@attbi.com>
To: gcc-gnats@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org, gyc@citiz.net, gcc-bugs@gcc.gnu.org,
   nobody@gcc.gnu.org
Subject: Re: c++/5449: internal error #20000524
Date: Tue, 12 Mar 2002 17:52:53 -0500

 Hi,
 
 A clarification of my last annotation to this PR.
 
 I cannot reproduce this ICE with gcc version 3.1 20020302 (prerelease)
 under Linux and this preprocessed source.
 
 However, the submitter reported difficulties compiling this
 preprocessed source  with the latest
 gcc 3.1 snapshots under Cygwin.
 -- 
 Craig Rodrigues        
 http://www.gis.net/~craigr    
 rodrigc@attbi.com


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/5449: internal error #20000524
@ 2002-01-22 14:57 rodrigc
  0 siblings, 0 replies; 7+ messages in thread
From: rodrigc @ 2002-01-22 14:57 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gyc, nobody

Synopsis: internal error #20000524

State-Changed-From-To: feedback->analyzed
State-Changed-By: rodrigc
State-Changed-When: Tue Jan 22 14:57:22 2002
State-Changed-Why:
    Reproduced with latest snapshot.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5449


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/5449: internal error #20000524
@ 2002-01-21 18:39 rodrigc
  0 siblings, 0 replies; 7+ messages in thread
From: rodrigc @ 2002-01-21 18:39 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, gyc, nobody

Synopsis: internal error #20000524

State-Changed-From-To: open->feedback
State-Changed-By: rodrigc
State-Changed-When: Mon Jan 21 18:39:16 2002
State-Changed-Why:
    Can you reproduce this problem with a newer
    gcc 3.1 snapshot?  I cannot reproduce this
    problem with gcc version 3.1 20020112 (experimental)
    under Linux.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5449


^ permalink raw reply	[flat|nested] 7+ messages in thread

* c++/5449: internal error #20000524
@ 2002-01-21 18:06 gyc
  0 siblings, 0 replies; 7+ messages in thread
From: gyc @ 2002-01-21 18:06 UTC (permalink / raw)
  To: gcc-gnats


>Number:         5449
>Category:       c++
>Synopsis:       internal error #20000524
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 21 18:06:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     gyc
>Release:        unknown-1.0
>Organization:
>Environment:
$uname -a
CYGWIN_NT-5.0 GYC 1.3.5(0.47/3/2) 2001-11-12 16:33 i686 unknown

$c++ -v
Reading specs from /usr/local/lib/gcc-lib/i686-pc-cygwin/3.1/specs
Configured with: ../gcc/configure  : (reconfigured) ../gcc/configure --enable-java
Thread model: single
gcc version 3.1 20020101 (experimental)
>Description:
$c++ options
cc1plus.exe: changing search order for system directory "/usr/local/include"
cc1plus.exe:   as it has already been specified as a non-system directory
SDL_gui.cc:212: internal error #20000524
SDL_gui.cc:212: Internal compiler error in add_substitution, at cp/mangle.c:364
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

$c++ -v -save-temps options
Reading specs from /usr/local/lib/gcc-lib/i686-pc-cygwin/3.1/specs
Configured with: ../gcc/configure  : (reconfigured) ../gcc/configure --enable-java
Thread model: single
gcc version 3.1 20020101 (experimental)
 /usr/local/lib/gcc-lib/i686-pc-cygwin/3.1/cpp0.exe -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -I../include -I/usr/local/include -I/usr/local/include/SDL -I/usr/include/mingw -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D_X86_=1 -D_X86_=1 -Asystem=winnt -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Wall -Werror -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -D__i386__ -D__i386 -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -isystem /usr/local/include -idirafter /usr/local/i686-pc-cygwin/include -idirafter /usr/include -idirafter /usr/local/i686-pc-cygwin/include/w32api -idirafter /usr/include/w32api -DPACKAGE="SDL_gui" -DVERSION="0.10.3" -DBUILDING_SDLGUI_DLL -Dmain=SDL_main -DWIN32 -Uunix -DPIC SDL_gui.cc SDL_gui.ii
GNU CPP version 3.1 20020101 (experimental) (cpplib) (80386, BSD syntax)
ignoring nonexistent directory "NONE/include"
cpp0.exe: changing search order for system directory "/usr/local/include"
cpp0.exe:   as it has already been specified as a non-system directory
ignoring duplicate directory "/usr/local/include"
ignoring duplicate directory "/usr/include"
ignoring duplicate directory "/usr/include/w32api"
#include "..." search starts here:
#include <...> search starts here:
 ../include
 /usr/local/include
 /usr/local/include/SDL
 /usr/include/mingw
 /usr/local/include/g++-v3
 /usr/local/include/g++-v3/i686-pc-cygwin
 /usr/local/include/g++-v3/backward
 /usr/local/lib/gcc-lib/i686-pc-cygwin/3.1/include
 /usr/local/i686-pc-cygwin/include
 /usr/local/i686-pc-cygwin/include/w32api
End of search list.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="SDL_gui.ii"
Content-Disposition: inline; filename="SDL_gui.ii"

# 1 "SDL_gui.cc"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "SDL_gui.cc"
# 1 "/usr/include/mingw/string.h" 1
# 31 "/usr/include/mingw/string.h"
# 1 "/usr/include/mingw/_mingw.h" 1
# 32 "/usr/include/mingw/string.h" 2
# 40 "/usr/include/mingw/string.h"
# 1 "/usr/include/mingw/stddef.h" 1
# 200 "/usr/include/mingw/stddef.h"
typedef unsigned int size_t;
# 41 "/usr/include/mingw/string.h" 2





extern "C" {





void* memchr (const void* p, int cSearchFor, size_t sizeSearch);
int memcmp (const void* p1, const void* p2, size_t sizeSearch);
void* memcpy (void* pCopyTo, const void* pSource, size_t sizeSource);
void* memmove (void* pMoveTo, const void* pSource, size_t sizeSource);
void* memset (void* p, int cFill, size_t sizeRepeatCount);
char* strcat (char* szAddTo, const char* szAdd);
char* strchr (const char* szSearch, int cFor);
int strcmp (const char* sz1, const char* sz2);
int strcoll (const char* sz1, const char* sz2);
char* strcpy (char* szCopyTo, const char* szSource);
size_t strcspn (const char* szGetPrefix, const char* szNotIncluding);
char* strerror (int nError);
char* _strerror (int nError);
size_t strlen (const char* sz);
char* strncat (char* szAddTo, const char* szAdd, size_t sizeMaxAdd);
int strncmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
char* strncpy (char* szCopyTo, const char* szSource, size_t sizeMaxCopy);
char* strpbrk (const char* szSearch, const char* szAnyOf);
char* strrchr (const char* szSearch, int cFor);
size_t strspn (const char* szGetPrefix, const char *szIncluding);
char* strstr (const char* szSearch, const char *szFor);
char* strtok (char* szTokenize, const char* szDelimiters);
size_t strxfrm (char* szTransformed, const char *szSource,
                 size_t sizeTransform);





void* _memccpy (void* pCopyTo, const void* pSource, int cTerminator,
                  size_t sizeMaxCopy);
int _memicmp (const void* p1, const void* p2, size_t sizeSearch);
char* _strdup (const char *szDuplicate);
int _strcmpi (const char* sz1, const char* sz2);
int _stricmp (const char* sz1, const char* sz2);
int _stricoll (const char* sz1, const char* sz2);
char* _strlwr (char* szToConvert);
int _strnicmp (const char* sz1, const char* sz2,
                   size_t sizeMaxCompare);
char* _strnset (char* szToFill, int cFill, size_t sizeMaxFill);
char* _strrev (char* szToReverse);
char* _strset (char* szToFill, int cFill);
char* _strupr (char* szToConvert);
void _swab (const char* caFrom, char* caTo, size_t sizeToCopy);




unsigned char* _mbschr (unsigned char*, unsigned char*);
unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbstok (unsigned char*, unsigned char*);







wchar_t* wcscat (wchar_t* wsAddTo, const wchar_t* wsAdd);
wchar_t* wcschr (const wchar_t* wsSearch, wchar_t wcFor);
int wcscmp (const wchar_t* ws1, const wchar_t* ws2);
int wcscoll (const wchar_t* ws1, const wchar_t* ws2);
wchar_t* wcscpy (wchar_t* wsCopyTo, const wchar_t* wsSource);
size_t wcscspn (const wchar_t* wsGetPrefix, const wchar_t* wsNotIncluding);

size_t wcslen (const wchar_t* ws);
wchar_t* wcsncat (wchar_t* wsAddTo, const wchar_t* wsAdd, size_t sizeMaxAdd);
int wcsncmp(const wchar_t* ws1, const wchar_t* ws2, size_t sizeMaxCompare);
wchar_t* wcsncpy(wchar_t* wsCopyTo, const wchar_t* wsSource,
                 size_t sizeMaxCopy);
wchar_t* wcspbrk(const wchar_t* wsSearch, const wchar_t* wsAnyOf);
wchar_t* wcsrchr(const wchar_t* wsSearch, wchar_t wcFor);
size_t wcsspn(const wchar_t* wsGetPrefix, const wchar_t* wsIncluding);
wchar_t* wcsstr(const wchar_t* wsSearch, const wchar_t* wsFor);
wchar_t* wcstok(wchar_t* wsTokenize, const wchar_t* wsDelimiters);
size_t wcsxfrm(wchar_t* wsTransformed, const wchar_t *wsSource,
                size_t sizeTransform);
# 139 "/usr/include/mingw/string.h"
wchar_t* _wcsdup (wchar_t* wsToDuplicate);
int _wcsicmp (const wchar_t* ws1, const wchar_t* ws2);
int _wcsicoll (const wchar_t* ws1, const wchar_t* ws2);
wchar_t* _wcslwr (wchar_t* wsToConvert);
int _wcsnicmp (const wchar_t* ws1, const wchar_t* ws2,
                   size_t sizeMaxCompare);
wchar_t* _wcsnset (wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill);
wchar_t* _wcsrev (wchar_t* wsToReverse);
wchar_t* _wcsset (wchar_t* wsToFill, wchar_t wcToFill);
wchar_t* _wcsupr (wchar_t* wsToConvert);
# 162 "/usr/include/mingw/string.h"
void* memccpy (void* pCopyTo, const void* pSource, int cTerminator,
                 size_t sizeMaxCopy);
int memicmp (const void* p1, const void* p2, size_t sizeSearch);
char* strdup (const char *szDuplicate);
int strcmpi (const char* sz1, const char* sz2);
int stricmp (const char* sz1, const char* sz2);
int strcasecmp (const char* sz1, const char* sz2);
int stricoll (const char* sz1, const char* sz2);
char* strlwr (char* szToConvert);
int strnicmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
int strncasecmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
char* strnset (char* szToFill, int cFill, size_t sizeMaxFill);
char* strrev (char* szToReverse);
char* strset (char* szToFill, int cFill);
char* strupr (char* szToConvert);

void swab (const char* caFrom, char* caTo, size_t sizeToCopy);



int wcscmpi (const wchar_t* ws1, const wchar_t* ws2);
wchar_t* wcsdup (wchar_t* wsToDuplicate);
int wcsicmp (const wchar_t* ws1, const wchar_t* ws2);
int wcsicoll (const wchar_t* ws1, const wchar_t* ws2);
wchar_t* wcslwr (wchar_t* wsToConvert);
int wcsnicmp (const wchar_t* ws1, const wchar_t* ws2,
                  size_t sizeMaxCompare);
wchar_t* wcsnset (wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill);
wchar_t* wcsrev (wchar_t* wsToReverse);
wchar_t* wcsset (wchar_t* wsToFill, wchar_t wcToFill);
wchar_t* wcsupr (wchar_t* wsToConvert);






}
# 2 "SDL_gui.cc" 2
# 1 "/usr/include/mingw/stdlib.h" 1
# 38 "/usr/include/mingw/stdlib.h"
# 1 "/usr/include/mingw/stddef.h" 1
# 39 "/usr/include/mingw/stdlib.h" 2
# 77 "/usr/include/mingw/stdlib.h"
extern "C" {
# 86 "/usr/include/mingw/stdlib.h"
extern int _argc;
extern char** _argv;
# 111 "/usr/include/mingw/stdlib.h"
__attribute__((dllimport)) extern int __argc_dll;
__attribute__((dllimport)) extern char** __argv_dll;
# 128 "/usr/include/mingw/stdlib.h"
int* _errno();


int* __doserrno();
# 148 "/usr/include/mingw/stdlib.h"
    __attribute__((dllimport)) extern char ** _environ_dll;
# 176 "/usr/include/mingw/stdlib.h"
  __attribute__((dllimport)) extern int _sys_nerr_dll;
# 186 "/usr/include/mingw/stdlib.h"
__attribute__((dllimport)) extern char* _sys_errlist[];
# 227 "/usr/include/mingw/stdlib.h"
__attribute__((dllimport)) extern unsigned int _osver_dll;
__attribute__((dllimport)) extern unsigned int _winver_dll;
__attribute__((dllimport)) extern unsigned int _winmajor_dll;
__attribute__((dllimport)) extern unsigned int _winminor_dll;
# 249 "/usr/include/mingw/stdlib.h"
double atof (const char* szNumber);
int atoi (const char* szNumber);
long atol (const char* szNumber);

double strtod (const char* szNumber, char** pszAfterNumber);
double wcstod (const wchar_t* wsNumber, wchar_t** pwsAfterNumber);
long strtol (const char* szNumber, char** pszAfterNumber, int nBase);
long wcstol (const wchar_t* wsNumber, wchar_t** pwsAfterNumber, int nBase);

unsigned long strtoul (const char* szNumber, char** pszAfterNumber,
                        int nBase);
unsigned long wcstoul (const wchar_t* wsNumber, wchar_t** pwsAfterNumber,
                        int nBase);

size_t wcstombs (char* mbsDest, const wchar_t* wsConvert, size_t size);
int wctomb (char* mbDest, wchar_t wc);

int mblen (const char* mbs, size_t sizeString);
size_t mbstowcs (wchar_t* wcaDest, const char* mbsConvert,
                         size_t size);
int mbtowc (wchar_t* wcDest, const char* mbConvert, size_t size);

int rand ();
void srand (unsigned int nSeed);

void* calloc (size_t sizeObjCnt, size_t sizeObject);
void* malloc (size_t sizeObject);
void* realloc (void* pObject, size_t sizeNew);
void free (void* pObject);

void abort () __attribute__ ((noreturn));
void exit (int nStatus) __attribute__ ((noreturn));
int atexit (void (*pfuncExitProcessing)(void));

int system (const char* szCommand);
char* getenv (const char* szVarName);

typedef int (*_pfunccmp_t)(const void*, const void*);

void* bsearch (const void* pKey, const void* pBase, size_t cntObjects,
                size_t sizeObject, _pfunccmp_t pfuncCmp);
void qsort (const void* pBase, size_t cntObjects, size_t sizeObject,
                _pfunccmp_t pfuncCmp);

int abs (int n);
long labs (long n);
# 304 "/usr/include/mingw/stdlib.h"
typedef struct { int quot, rem; } div_t;
typedef struct { long quot, rem; } ldiv_t;

div_t div (int nNumerator, int nDenominator);
ldiv_t ldiv (long lNumerator, long lDenominator);
# 317 "/usr/include/mingw/stdlib.h"
void _beep (unsigned int, unsigned int);
void _seterrormode (int nMode);
void _sleep (unsigned long ulTime);

void _exit (int nStatus) __attribute__ ((noreturn));

int _putenv (const char* szNameEqValue);
void _searchenv (const char* szFileName, const char* szVar,
                char* szFullPathBuf);

char* _itoa (int nValue, char* sz, int nRadix);
char* _ltoa (long lnValue, char* sz, int nRadix);

char* _ecvt (double dValue, int nDig, int* pnDec, int* pnSign);
char* _fcvt (double dValue, int nDig, int* pnDec, int* pnSign);
char* _gcvt (double dValue, int nDec, char* caBuf);

void _makepath (char* caPath, const char* szDrive, const char* szDir,
                const char* szName, const char* szExtension);
void _splitpath (const char* szPath, char* caDrive, char* caDir,
                char* caName, char* caExtension);
char* _fullpath (char* caBuf, const char* szPath, size_t sizeMax);
int _wtoi (const wchar_t *);
long _wtol (const wchar_t *);

char* _i64toa(long long, char *, int);
char* _ui64toa(unsigned long long, char *, int);
long long _atoi64(const char *);

wchar_t* _i64tow(long long, wchar_t *, int);
wchar_t* _ui64tow(unsigned long long, wchar_t *, int);
long long _wtoi64(const wchar_t *);




int putenv (const char* szNameEqValue);
void searchenv (const char* szFileName, const char* szVar,
                char* szFullPathBuf);

char* itoa (int nValue, char* sz, int nRadix);
char* ltoa (long lnValue, char* sz, int nRadix);


char* ecvt (double dValue, int nDig, int* pnDec, int* pnSign);
char* fcvt (double dValue, int nDig, int* pnDec, int* pnSign);
char* gcvt (double dValue, int nDec, char* caBuf);
# 375 "/usr/include/mingw/stdlib.h"
}
# 3 "SDL_gui.cc" 2

# 1 "../include/SDL_gui.h" 1
# 1 "/usr/local/include/SDL/SDL.h" 1
# 33 "/usr/local/include/SDL/SDL.h"
# 1 "/usr/local/include/SDL/SDL_main.h" 1
# 54 "/usr/local/include/SDL/SDL_main.h"
extern "C" int SDL_main(int argc, char *argv[]);




# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 37 "/usr/local/include/SDL/SDL_types.h"
typedef enum {
        SDL_FALSE = 0,
        SDL_TRUE = 1
} SDL_bool;
typedef unsigned char Uint8;
typedef signed char Sint8;
typedef unsigned short Uint16;
typedef signed short Sint16;
typedef unsigned int Uint32;
typedef signed int Sint32;
# 64 "/usr/local/include/SDL/SDL_types.h"
typedef unsigned long long Uint64;
typedef long long Sint64;
# 78 "/usr/local/include/SDL/SDL_types.h"
typedef int SDL_dummy_uint8[(sizeof(Uint8) == 1) * 2 - 1];
typedef int SDL_dummy_sint8[(sizeof(Sint8) == 1) * 2 - 1];
typedef int SDL_dummy_uint16[(sizeof(Uint16) == 2) * 2 - 1];
typedef int SDL_dummy_sint16[(sizeof(Sint16) == 2) * 2 - 1];
typedef int SDL_dummy_uint32[(sizeof(Uint32) == 4) * 2 - 1];
typedef int SDL_dummy_sint32[(sizeof(Sint32) == 4) * 2 - 1];
typedef int SDL_dummy_uint64[(sizeof(Uint64) == 8) * 2 - 1];
typedef int SDL_dummy_sint64[(sizeof(Sint64) == 8) * 2 - 1];




enum { SDL_PRESSED = 0x01, SDL_RELEASED = 0x00 };
# 60 "/usr/local/include/SDL/SDL_main.h" 2
# 1 "/usr/local/include/SDL/begin_code.h" 1
# 61 "/usr/local/include/SDL/SDL_main.h" 2


extern "C" {



extern __attribute__((dllexport)) void SDL_SetModuleHandle(void *hInst);

extern __attribute__((dllexport)) int SDL_RegisterApp(char *name, Uint32 style, void *hInst);


}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 75 "/usr/local/include/SDL/SDL_main.h" 2
# 34 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 35 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_getenv.h" 1
# 36 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_error.h" 1
# 33 "/usr/local/include/SDL/SDL_error.h"
# 1 "/usr/local/include/SDL/begin_code.h" 1
# 34 "/usr/local/include/SDL/SDL_error.h" 2


extern "C" {



extern __attribute__((dllexport)) void SDL_SetError(const char *fmt, ...);
extern __attribute__((dllexport)) char * SDL_GetError(void);
extern __attribute__((dllexport)) void SDL_ClearError(void);



typedef enum {
        SDL_ENOMEM,
        SDL_EFREAD,
        SDL_EFWRITE,
        SDL_EFSEEK,
        SDL_LASTERROR
} SDL_errorcode;
extern void SDL_Error(SDL_errorcode code);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 61 "/usr/local/include/SDL/SDL_error.h" 2
# 37 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_rwops.h" 1
# 35 "/usr/local/include/SDL/SDL_rwops.h"
# 1 "/usr/include/mingw/stdio.h" 1
# 42 "/usr/include/mingw/stdio.h"
# 1 "/usr/include/mingw/stddef.h" 1
# 309 "/usr/include/mingw/stddef.h"
typedef unsigned int wint_t;
# 43 "/usr/include/mingw/stdio.h" 2
# 126 "/usr/include/mingw/stdio.h"
typedef char* va_list;
# 138 "/usr/include/mingw/stdio.h"
typedef struct _iobuf
{
        char* _ptr;
        int _cnt;
        char* _base;
        int _flag;
        int _file;
        int _charbuf;
        int _bufsiz;
        char* _tmpfname;
} FILE;
# 163 "/usr/include/mingw/stdio.h"
__attribute__((dllimport)) extern FILE _iob[];
# 172 "/usr/include/mingw/stdio.h"
extern "C" {






FILE* fopen (const char* szFileName, const char* szMode);
FILE* freopen (const char* szNewFileName, const char* szNewMode,
                 FILE* fileChangeAssociation);
int fflush (FILE* fileFlush);
int fclose (FILE* fileClose);
int remove (const char* szFileName);
int rename (const char* szOldFileName, const char* szNewFileName);
FILE* tmpfile ();
char* tmpnam (char caName[]);
char* _tempnam (const char* szPath, const char* szPrefix);


char* tempnam (const char* szPath, const char* szPrefix);


int setvbuf (FILE* fileSetBuffer, char* caBuffer, int nMode,
                 size_t sizeBuffer);

void setbuf (FILE* fileSetBuffer, char* caBuffer);





int fprintf (FILE* filePrintTo, const char* szFormat, ...);
int printf (const char* szFormat, ...);
int sprintf (char* caBuffer, const char* szFormat, ...);
int _snprintf (char* caBuffer, size_t n, const char* szFormat, ...);
int vfprintf (FILE* filePrintTo, const char* szFormat, va_list varg);
int vprintf (const char* szFormat, va_list varg);
int vsprintf (char* caBuffer, const char* szFormat, va_list varg);
int _vsnprintf (char* caBuffer, size_t n, const char* szFormat,
                    va_list varg);


int fwprintf (FILE* filePrintTo, const wchar_t* wsFormat, ...);
int wprintf (const wchar_t* wsFormat, ...);
int swprintf (wchar_t* wcaBuffer, const wchar_t* wsFormat, ...);
int vfwprintf (FILE* filePrintTo, const wchar_t* wsFormat, va_list varg);
int vwprintf (const wchar_t* wsFormat, va_list varg);
int vswprintf (wchar_t* wcaBuffer, const wchar_t* wsFormat, va_list varg);





int fscanf (FILE* fileReadFrom, const char* szFormat, ...);
int scanf (const char* szFormat, ...);
int sscanf (const char* szReadFrom, const char* szFormat, ...);


int fwscanf (FILE* fileReadFrom, const wchar_t* wsFormat, ...);
int wscanf (const wchar_t* wsFormat, ...);
int swscanf (wchar_t* wsReadFrom, const wchar_t* wsFormat, ...);





int fgetc (FILE* fileRead);
char* fgets (char* caBuffer, int nBufferSize, FILE* fileRead);
int fputc (int c, FILE* fileWrite);
int fputs (const char* szOutput, FILE* fileWrite);
int getc (FILE* fileRead);
int getchar ();
char* gets (char* caBuffer);

int putc (int c, FILE* fileWrite);
int putchar (int c);
int puts (const char* szOutput);
int ungetc (int c, FILE* fileWasRead);


wint_t fgetwc (FILE* fileRead);
wint_t fputwc (wchar_t wc, FILE* fileWrite);
wint_t ungetwc (wchar_t wc, FILE* fileWasRead);
# 277 "/usr/include/mingw/stdio.h"
size_t fread (void* pBuffer, size_t sizeObject, size_t sizeObjCount,
                FILE* fileRead);
size_t fwrite (const void* pObjArray, size_t sizeObject, size_t sizeObjCount,
                FILE* fileWrite);






int fseek (FILE* fileSetPosition, long lnOffset, int nOrigin);
long ftell (FILE* fileGetPosition);
void rewind (FILE* fileRewind);
# 299 "/usr/include/mingw/stdio.h"
typedef long fpos_t;

int fgetpos (FILE* fileGetPosition, fpos_t* pfpos);
int fsetpos (FILE* fileSetPosition, fpos_t* pfpos);





void clearerr (FILE* fileClearErrors);
int feof (FILE* fileIsAtEnd);
int ferror (FILE* fileIsError);
void perror (const char* szErrorMessage);







FILE* _popen (const char* szPipeName, const char* szMode);
int _pclose (FILE* pipeClose);


FILE* popen (const char* szPipeName, const char* szMode);
int pclose (FILE* pipeClose);
# 351 "/usr/include/mingw/stdio.h"
int _fgetchar ();
int _fputchar (int c);
FILE* _fdopen (int nHandle, const char* szMode);
wint_t _fgetwchar(void);
wint_t _fputwchar(wint_t c);
int _fileno (FILE* fileGetHandle);
int _getw (FILE*);
int _putw (int, FILE*);


int fgetchar ();
int fputchar (int c);
FILE* fdopen (int nHandle, const char* szMode);
wint_t fgetwchar(void);
wint_t fputwchar(wint_t c);
int fileno (FILE* fileGetHandle);
int getw (FILE*);
int putw (int, FILE*);





}
# 36 "/usr/local/include/SDL/SDL_rwops.h" 2

# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 38 "/usr/local/include/SDL/SDL_rwops.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 40 "/usr/local/include/SDL/SDL_rwops.h" 2


extern "C" {




typedef struct SDL_RWops {




        int (*seek)(struct SDL_RWops *context, int offset, int whence);





        int (*read)(struct SDL_RWops *context, void *ptr, int size, int maxnum);





        int (*write)(struct SDL_RWops *context, const void *ptr, int size, int num);


        int (*close)(struct SDL_RWops *context);

        Uint32 type;
        union {
            struct {
                int autoclose;
                FILE *fp;
            } stdio;
            struct {
                Uint8 *base;
                Uint8 *here;
                Uint8 *stop;
            } mem;
            struct {
                void *data1;
            } unknown;
        } hidden;

} SDL_RWops;




extern __attribute__((dllexport)) SDL_RWops * SDL_RWFromFile(const char *file, const char *mode);

extern __attribute__((dllexport)) SDL_RWops * SDL_RWFromFP(FILE *fp, int autoclose);

extern __attribute__((dllexport)) SDL_RWops * SDL_RWFromMem(void *mem, int size);

extern __attribute__((dllexport)) SDL_RWops * SDL_AllocRW(void);
extern __attribute__((dllexport)) void SDL_FreeRW(SDL_RWops *area);
# 109 "/usr/local/include/SDL/SDL_rwops.h"
}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 112 "/usr/local/include/SDL/SDL_rwops.h" 2
# 38 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_timer.h" 1
# 33 "/usr/local/include/SDL/SDL_timer.h"
# 1 "/usr/local/include/SDL/SDL_main.h" 1
# 34 "/usr/local/include/SDL/SDL_timer.h" 2
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 35 "/usr/local/include/SDL/SDL_timer.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 37 "/usr/local/include/SDL/SDL_timer.h" 2


extern "C" {
# 51 "/usr/local/include/SDL/SDL_timer.h"
extern __attribute__((dllexport)) Uint32 SDL_GetTicks(void);


extern __attribute__((dllexport)) void SDL_Delay(Uint32 ms);


typedef Uint32 (*SDL_TimerCallback)(Uint32 interval);
# 85 "/usr/local/include/SDL/SDL_timer.h"
extern __attribute__((dllexport)) int SDL_SetTimer(Uint32 interval, SDL_TimerCallback callback);
# 97 "/usr/local/include/SDL/SDL_timer.h"
typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param);


typedef struct _SDL_TimerID *SDL_TimerID;




extern __attribute__((dllexport)) SDL_TimerID SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void *param);




extern __attribute__((dllexport)) SDL_bool SDL_RemoveTimer(SDL_TimerID t);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 117 "/usr/local/include/SDL/SDL_timer.h" 2
# 39 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_audio.h" 1
# 35 "/usr/local/include/SDL/SDL_audio.h"
# 1 "/usr/local/include/SDL/SDL_main.h" 1
# 36 "/usr/local/include/SDL/SDL_audio.h" 2
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 37 "/usr/local/include/SDL/SDL_audio.h" 2
# 1 "/usr/local/include/SDL/SDL_error.h" 1
# 38 "/usr/local/include/SDL/SDL_audio.h" 2
# 1 "/usr/local/include/SDL/SDL_rwops.h" 1
# 39 "/usr/local/include/SDL/SDL_audio.h" 2
# 1 "/usr/local/include/SDL/SDL_byteorder.h" 1
# 40 "/usr/local/include/SDL/SDL_audio.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 42 "/usr/local/include/SDL/SDL_audio.h" 2


extern "C" {



typedef struct {
        int freq;
        Uint16 format;
        Uint8 channels;
        Uint8 silence;
        Uint16 samples;
        Uint16 padding;
        Uint32 size;






        void (*callback)(void *userdata, Uint8 *stream, int len);
        void *userdata;
} SDL_AudioSpec;
# 87 "/usr/local/include/SDL/SDL_audio.h"
typedef struct SDL_AudioCVT {
        int needed;
        Uint16 src_format;
        Uint16 dst_format;
        double rate_incr;
        Uint8 *buf;
        int len;
        int len_cvt;
        int len_mult;
        double len_ratio;
        void (*filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
        int filter_index;
} SDL_AudioCVT;
# 108 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) int SDL_AudioInit(const char *driver_name);
extern __attribute__((dllexport)) void SDL_AudioQuit(void);





extern __attribute__((dllexport)) char *SDL_AudioDriverName(char *namebuf, int maxlen);
# 158 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) int SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);




typedef enum {
        SDL_AUDIO_STOPPED = 0,
        SDL_AUDIO_PLAYING,
        SDL_AUDIO_PAUSED
} SDL_audiostatus;
extern __attribute__((dllexport)) SDL_audiostatus SDL_GetAudioStatus(void);
# 177 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) void SDL_PauseAudio(int pause_on);
# 196 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) SDL_AudioSpec *SDL_LoadWAV_RW(SDL_RWops *src, int freesrc,
                 SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);
# 206 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) void SDL_FreeWAV(Uint8 *audio_buf);
# 215 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) int SDL_BuildAudioCVT(SDL_AudioCVT *cvt,
                Uint16 src_format, Uint8 src_channels, int src_rate,
                Uint16 dst_format, Uint8 dst_channels, int dst_rate);
# 227 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) int SDL_ConvertAudio(SDL_AudioCVT *cvt);
# 237 "/usr/local/include/SDL/SDL_audio.h"
extern __attribute__((dllexport)) void SDL_MixAudio(Uint8 *dst, const Uint8 *src, Uint32 len, int volume);







extern __attribute__((dllexport)) void SDL_LockAudio(void);
extern __attribute__((dllexport)) void SDL_UnlockAudio(void);




extern __attribute__((dllexport)) void SDL_CloseAudio(void);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 259 "/usr/local/include/SDL/SDL_audio.h" 2
# 40 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_cdrom.h" 1
# 33 "/usr/local/include/SDL/SDL_cdrom.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_cdrom.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 36 "/usr/local/include/SDL/SDL_cdrom.h" 2


extern "C" {
# 54 "/usr/local/include/SDL/SDL_cdrom.h"
typedef enum {
        CD_TRAYEMPTY,
        CD_STOPPED,
        CD_PLAYING,
        CD_PAUSED,
        CD_ERROR = -1
} CDstatus;




typedef struct {
        Uint8 id;
        Uint8 type;
        Uint16 unused;
        Uint32 length;
        Uint32 offset;
} SDL_CDtrack;


typedef struct SDL_CD {
        int id;
        CDstatus status;


        int numtracks;
        int cur_track;
        int cur_frame;
        SDL_CDtrack track[99 +1];
} SDL_CD;
# 102 "/usr/local/include/SDL/SDL_cdrom.h"
extern __attribute__((dllexport)) int SDL_CDNumDrives(void);







extern __attribute__((dllexport)) const char * SDL_CDName(int drive);







extern __attribute__((dllexport)) SDL_CD * SDL_CDOpen(int drive);





extern __attribute__((dllexport)) CDstatus SDL_CDStatus(SDL_CD *cdrom);
# 145 "/usr/local/include/SDL/SDL_cdrom.h"
extern __attribute__((dllexport)) int SDL_CDPlayTracks(SDL_CD *cdrom,
                int start_track, int start_frame, int ntracks, int nframes);




extern __attribute__((dllexport)) int SDL_CDPlay(SDL_CD *cdrom, int start, int length);


extern __attribute__((dllexport)) int SDL_CDPause(SDL_CD *cdrom);


extern __attribute__((dllexport)) int SDL_CDResume(SDL_CD *cdrom);


extern __attribute__((dllexport)) int SDL_CDStop(SDL_CD *cdrom);


extern __attribute__((dllexport)) int SDL_CDEject(SDL_CD *cdrom);


extern __attribute__((dllexport)) void SDL_CDClose(SDL_CD *cdrom);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 174 "/usr/local/include/SDL/SDL_cdrom.h" 2
# 41 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_joystick.h" 1
# 33 "/usr/local/include/SDL/SDL_joystick.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_joystick.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 36 "/usr/local/include/SDL/SDL_joystick.h" 2


extern "C" {
# 47 "/usr/local/include/SDL/SDL_joystick.h"
struct _SDL_Joystick;
typedef struct _SDL_Joystick SDL_Joystick;






extern __attribute__((dllexport)) int SDL_NumJoysticks(void);






extern __attribute__((dllexport)) const char *SDL_JoystickName(int device_index);
# 71 "/usr/local/include/SDL/SDL_joystick.h"
extern __attribute__((dllexport)) SDL_Joystick *SDL_JoystickOpen(int device_index);




extern __attribute__((dllexport)) int SDL_JoystickOpened(int device_index);




extern __attribute__((dllexport)) int SDL_JoystickIndex(SDL_Joystick *joystick);




extern __attribute__((dllexport)) int SDL_JoystickNumAxes(SDL_Joystick *joystick);






extern __attribute__((dllexport)) int SDL_JoystickNumBalls(SDL_Joystick *joystick);




extern __attribute__((dllexport)) int SDL_JoystickNumHats(SDL_Joystick *joystick);




extern __attribute__((dllexport)) int SDL_JoystickNumButtons(SDL_Joystick *joystick);






extern __attribute__((dllexport)) void SDL_JoystickUpdate(void);
# 119 "/usr/local/include/SDL/SDL_joystick.h"
extern __attribute__((dllexport)) int SDL_JoystickEventState(int state);






extern __attribute__((dllexport)) Sint16 SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis);
# 144 "/usr/local/include/SDL/SDL_joystick.h"
extern __attribute__((dllexport)) Uint8 SDL_JoystickGetHat(SDL_Joystick *joystick, int hat);






extern __attribute__((dllexport)) int SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy);





extern __attribute__((dllexport)) Uint8 SDL_JoystickGetButton(SDL_Joystick *joystick, int button);




extern __attribute__((dllexport)) void SDL_JoystickClose(SDL_Joystick *joystick);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 170 "/usr/local/include/SDL/SDL_joystick.h" 2
# 42 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_events.h" 1
# 33 "/usr/local/include/SDL/SDL_events.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_events.h" 2
# 1 "/usr/local/include/SDL/SDL_active.h" 1
# 33 "/usr/local/include/SDL/SDL_active.h"
# 1 "/usr/local/include/SDL/begin_code.h" 1
# 34 "/usr/local/include/SDL/SDL_active.h" 2


extern "C" {
# 51 "/usr/local/include/SDL/SDL_active.h"
extern __attribute__((dllexport)) Uint8 SDL_GetAppState(void);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 59 "/usr/local/include/SDL/SDL_active.h" 2
# 35 "/usr/local/include/SDL/SDL_events.h" 2
# 1 "/usr/local/include/SDL/SDL_keyboard.h" 1
# 33 "/usr/local/include/SDL/SDL_keyboard.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_keyboard.h" 2
# 1 "/usr/local/include/SDL/SDL_keysym.h" 1
# 37 "/usr/local/include/SDL/SDL_keysym.h"
typedef enum {

        SDLK_UNKNOWN = 0,
        SDLK_FIRST = 0,
        SDLK_BACKSPACE = 8,
        SDLK_TAB = 9,
        SDLK_CLEAR = 12,
        SDLK_RETURN = 13,
        SDLK_PAUSE = 19,
        SDLK_ESCAPE = 27,
        SDLK_SPACE = 32,
        SDLK_EXCLAIM = 33,
        SDLK_QUOTEDBL = 34,
        SDLK_HASH = 35,
        SDLK_DOLLAR = 36,
        SDLK_AMPERSAND = 38,
        SDLK_QUOTE = 39,
        SDLK_LEFTPAREN = 40,
        SDLK_RIGHTPAREN = 41,
        SDLK_ASTERISK = 42,
        SDLK_PLUS = 43,
        SDLK_COMMA = 44,
        SDLK_MINUS = 45,
        SDLK_PERIOD = 46,
        SDLK_SLASH = 47,
        SDLK_0 = 48,
        SDLK_1 = 49,
        SDLK_2 = 50,
        SDLK_3 = 51,
        SDLK_4 = 52,
        SDLK_5 = 53,
        SDLK_6 = 54,
        SDLK_7 = 55,
        SDLK_8 = 56,
        SDLK_9 = 57,
        SDLK_COLON = 58,
        SDLK_SEMICOLON = 59,
        SDLK_LESS = 60,
        SDLK_EQUALS = 61,
        SDLK_GREATER = 62,
        SDLK_QUESTION = 63,
        SDLK_AT = 64,



        SDLK_LEFTBRACKET = 91,
        SDLK_BACKSLASH = 92,
        SDLK_RIGHTBRACKET = 93,
        SDLK_CARET = 94,
        SDLK_UNDERSCORE = 95,
        SDLK_BACKQUOTE = 96,
        SDLK_a = 97,
        SDLK_b = 98,
        SDLK_c = 99,
        SDLK_d = 100,
        SDLK_e = 101,
        SDLK_f = 102,
        SDLK_g = 103,
        SDLK_h = 104,
        SDLK_i = 105,
        SDLK_j = 106,
        SDLK_k = 107,
        SDLK_l = 108,
        SDLK_m = 109,
        SDLK_n = 110,
        SDLK_o = 111,
        SDLK_p = 112,
        SDLK_q = 113,
        SDLK_r = 114,
        SDLK_s = 115,
        SDLK_t = 116,
        SDLK_u = 117,
        SDLK_v = 118,
        SDLK_w = 119,
        SDLK_x = 120,
        SDLK_y = 121,
        SDLK_z = 122,
        SDLK_DELETE = 127,



        SDLK_WORLD_0 = 160,
        SDLK_WORLD_1 = 161,
        SDLK_WORLD_2 = 162,
        SDLK_WORLD_3 = 163,
        SDLK_WORLD_4 = 164,
        SDLK_WORLD_5 = 165,
        SDLK_WORLD_6 = 166,
        SDLK_WORLD_7 = 167,
        SDLK_WORLD_8 = 168,
        SDLK_WORLD_9 = 169,
        SDLK_WORLD_10 = 170,
        SDLK_WORLD_11 = 171,
        SDLK_WORLD_12 = 172,
        SDLK_WORLD_13 = 173,
        SDLK_WORLD_14 = 174,
        SDLK_WORLD_15 = 175,
        SDLK_WORLD_16 = 176,
        SDLK_WORLD_17 = 177,
        SDLK_WORLD_18 = 178,
        SDLK_WORLD_19 = 179,
        SDLK_WORLD_20 = 180,
        SDLK_WORLD_21 = 181,
        SDLK_WORLD_22 = 182,
        SDLK_WORLD_23 = 183,
        SDLK_WORLD_24 = 184,
        SDLK_WORLD_25 = 185,
        SDLK_WORLD_26 = 186,
        SDLK_WORLD_27 = 187,
        SDLK_WORLD_28 = 188,
        SDLK_WORLD_29 = 189,
        SDLK_WORLD_30 = 190,
        SDLK_WORLD_31 = 191,
        SDLK_WORLD_32 = 192,
        SDLK_WORLD_33 = 193,
        SDLK_WORLD_34 = 194,
        SDLK_WORLD_35 = 195,
        SDLK_WORLD_36 = 196,
        SDLK_WORLD_37 = 197,
        SDLK_WORLD_38 = 198,
        SDLK_WORLD_39 = 199,
        SDLK_WORLD_40 = 200,
        SDLK_WORLD_41 = 201,
        SDLK_WORLD_42 = 202,
        SDLK_WORLD_43 = 203,
        SDLK_WORLD_44 = 204,
        SDLK_WORLD_45 = 205,
        SDLK_WORLD_46 = 206,
        SDLK_WORLD_47 = 207,
        SDLK_WORLD_48 = 208,
        SDLK_WORLD_49 = 209,
        SDLK_WORLD_50 = 210,
        SDLK_WORLD_51 = 211,
        SDLK_WORLD_52 = 212,
        SDLK_WORLD_53 = 213,
        SDLK_WORLD_54 = 214,
        SDLK_WORLD_55 = 215,
        SDLK_WORLD_56 = 216,
        SDLK_WORLD_57 = 217,
        SDLK_WORLD_58 = 218,
        SDLK_WORLD_59 = 219,
        SDLK_WORLD_60 = 220,
        SDLK_WORLD_61 = 221,
        SDLK_WORLD_62 = 222,
        SDLK_WORLD_63 = 223,
        SDLK_WORLD_64 = 224,
        SDLK_WORLD_65 = 225,
        SDLK_WORLD_66 = 226,
        SDLK_WORLD_67 = 227,
        SDLK_WORLD_68 = 228,
        SDLK_WORLD_69 = 229,
        SDLK_WORLD_70 = 230,
        SDLK_WORLD_71 = 231,
        SDLK_WORLD_72 = 232,
        SDLK_WORLD_73 = 233,
        SDLK_WORLD_74 = 234,
        SDLK_WORLD_75 = 235,
        SDLK_WORLD_76 = 236,
        SDLK_WORLD_77 = 237,
        SDLK_WORLD_78 = 238,
        SDLK_WORLD_79 = 239,
        SDLK_WORLD_80 = 240,
        SDLK_WORLD_81 = 241,
        SDLK_WORLD_82 = 242,
        SDLK_WORLD_83 = 243,
        SDLK_WORLD_84 = 244,
        SDLK_WORLD_85 = 245,
        SDLK_WORLD_86 = 246,
        SDLK_WORLD_87 = 247,
        SDLK_WORLD_88 = 248,
        SDLK_WORLD_89 = 249,
        SDLK_WORLD_90 = 250,
        SDLK_WORLD_91 = 251,
        SDLK_WORLD_92 = 252,
        SDLK_WORLD_93 = 253,
        SDLK_WORLD_94 = 254,
        SDLK_WORLD_95 = 255,


        SDLK_KP0 = 256,
        SDLK_KP1 = 257,
        SDLK_KP2 = 258,
        SDLK_KP3 = 259,
        SDLK_KP4 = 260,
        SDLK_KP5 = 261,
        SDLK_KP6 = 262,
        SDLK_KP7 = 263,
        SDLK_KP8 = 264,
        SDLK_KP9 = 265,
        SDLK_KP_PERIOD = 266,
        SDLK_KP_DIVIDE = 267,
        SDLK_KP_MULTIPLY = 268,
        SDLK_KP_MINUS = 269,
        SDLK_KP_PLUS = 270,
        SDLK_KP_ENTER = 271,
        SDLK_KP_EQUALS = 272,


        SDLK_UP = 273,
        SDLK_DOWN = 274,
        SDLK_RIGHT = 275,
        SDLK_LEFT = 276,
        SDLK_INSERT = 277,
        SDLK_HOME = 278,
        SDLK_END = 279,
        SDLK_PAGEUP = 280,
        SDLK_PAGEDOWN = 281,


        SDLK_F1 = 282,
        SDLK_F2 = 283,
        SDLK_F3 = 284,
        SDLK_F4 = 285,
        SDLK_F5 = 286,
        SDLK_F6 = 287,
        SDLK_F7 = 288,
        SDLK_F8 = 289,
        SDLK_F9 = 290,
        SDLK_F10 = 291,
        SDLK_F11 = 292,
        SDLK_F12 = 293,
        SDLK_F13 = 294,
        SDLK_F14 = 295,
        SDLK_F15 = 296,


        SDLK_NUMLOCK = 300,
        SDLK_CAPSLOCK = 301,
        SDLK_SCROLLOCK = 302,
        SDLK_RSHIFT = 303,
        SDLK_LSHIFT = 304,
        SDLK_RCTRL = 305,
        SDLK_LCTRL = 306,
        SDLK_RALT = 307,
        SDLK_LALT = 308,
        SDLK_RMETA = 309,
        SDLK_LMETA = 310,
        SDLK_LSUPER = 311,
        SDLK_RSUPER = 312,
        SDLK_MODE = 313,
        SDLK_COMPOSE = 314,


        SDLK_HELP = 315,
        SDLK_PRINT = 316,
        SDLK_SYSREQ = 317,
        SDLK_BREAK = 318,
        SDLK_MENU = 319,
        SDLK_POWER = 320,
        SDLK_EURO = 321,
        SDLK_UNDO = 322,



        SDLK_LAST
} SDLKey;


typedef enum {
        KMOD_NONE = 0x0000,
        KMOD_LSHIFT= 0x0001,
        KMOD_RSHIFT= 0x0002,
        KMOD_LCTRL = 0x0040,
        KMOD_RCTRL = 0x0080,
        KMOD_LALT = 0x0100,
        KMOD_RALT = 0x0200,
        KMOD_LMETA = 0x0400,
        KMOD_RMETA = 0x0800,
        KMOD_NUM = 0x1000,
        KMOD_CAPS = 0x2000,
        KMOD_MODE = 0x4000,
        KMOD_RESERVED = 0x8000
} SDLMod;
# 35 "/usr/local/include/SDL/SDL_keyboard.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 37 "/usr/local/include/SDL/SDL_keyboard.h" 2


extern "C" {
# 58 "/usr/local/include/SDL/SDL_keyboard.h"
typedef struct {
        Uint8 scancode;
        SDLKey sym;
        SDLMod mod;
        Uint16 unicode;
} SDL_keysym;
# 77 "/usr/local/include/SDL/SDL_keyboard.h"
extern __attribute__((dllexport)) int SDL_EnableUNICODE(int enable);
# 90 "/usr/local/include/SDL/SDL_keyboard.h"
extern __attribute__((dllexport)) int SDL_EnableKeyRepeat(int delay, int interval);
# 99 "/usr/local/include/SDL/SDL_keyboard.h"
extern __attribute__((dllexport)) Uint8 * SDL_GetKeyState(int *numkeys);




extern __attribute__((dllexport)) SDLMod SDL_GetModState(void);





extern __attribute__((dllexport)) void SDL_SetModState(SDLMod modstate);




extern __attribute__((dllexport)) char * SDL_GetKeyName(SDLKey key);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 123 "/usr/local/include/SDL/SDL_keyboard.h" 2
# 36 "/usr/local/include/SDL/SDL_events.h" 2
# 1 "/usr/local/include/SDL/SDL_mouse.h" 1
# 33 "/usr/local/include/SDL/SDL_mouse.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_mouse.h" 2
# 1 "/usr/local/include/SDL/SDL_video.h" 1
# 35 "/usr/local/include/SDL/SDL_video.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 36 "/usr/local/include/SDL/SDL_video.h" 2
# 1 "/usr/local/include/SDL/SDL_mutex.h" 1
# 36 "/usr/local/include/SDL/SDL_mutex.h"
# 1 "/usr/local/include/SDL/SDL_main.h" 1
# 37 "/usr/local/include/SDL/SDL_mutex.h" 2
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 38 "/usr/local/include/SDL/SDL_mutex.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 40 "/usr/local/include/SDL/SDL_mutex.h" 2


extern "C" {
# 59 "/usr/local/include/SDL/SDL_mutex.h"
struct SDL_mutex;
typedef struct SDL_mutex SDL_mutex;


extern __attribute__((dllexport)) SDL_mutex * SDL_CreateMutex(void);



extern __attribute__((dllexport)) int SDL_mutexP(SDL_mutex *mutex);



extern __attribute__((dllexport)) int SDL_mutexV(SDL_mutex *mutex);


extern __attribute__((dllexport)) void SDL_DestroyMutex(SDL_mutex *mutex);







struct SDL_semaphore;
typedef struct SDL_semaphore SDL_sem;


extern __attribute__((dllexport)) SDL_sem * SDL_CreateSemaphore(Uint32 initial_value);


extern __attribute__((dllexport)) void SDL_DestroySemaphore(SDL_sem *sem);





extern __attribute__((dllexport)) int SDL_SemWait(SDL_sem *sem);




extern __attribute__((dllexport)) int SDL_SemTryWait(SDL_sem *sem);







extern __attribute__((dllexport)) int SDL_SemWaitTimeout(SDL_sem *sem, Uint32 ms);




extern __attribute__((dllexport)) int SDL_SemPost(SDL_sem *sem);


extern __attribute__((dllexport)) Uint32 SDL_SemValue(SDL_sem *sem);







struct SDL_cond;
typedef struct SDL_cond SDL_cond;


extern __attribute__((dllexport)) SDL_cond * SDL_CreateCond(void);


extern __attribute__((dllexport)) void SDL_DestroyCond(SDL_cond *cond);




extern __attribute__((dllexport)) int SDL_CondSignal(SDL_cond *cond);




extern __attribute__((dllexport)) int SDL_CondBroadcast(SDL_cond *cond);





extern __attribute__((dllexport)) int SDL_CondWait(SDL_cond *cond, SDL_mutex *mut);







extern __attribute__((dllexport)) int SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 162 "/usr/local/include/SDL/SDL_mutex.h" 2
# 37 "/usr/local/include/SDL/SDL_video.h" 2
# 1 "/usr/local/include/SDL/SDL_rwops.h" 1
# 38 "/usr/local/include/SDL/SDL_video.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 40 "/usr/local/include/SDL/SDL_video.h" 2


extern "C" {







typedef struct {
        Sint16 x, y;
        Uint16 w, h;
} SDL_Rect;

typedef struct {
        Uint8 r;
        Uint8 g;
        Uint8 b;
        Uint8 unused;
} SDL_Color;

typedef struct {
        int ncolors;
        SDL_Color *colors;
} SDL_Palette;


typedef struct SDL_PixelFormat {
        SDL_Palette *palette;
        Uint8 BitsPerPixel;
        Uint8 BytesPerPixel;
        Uint8 Rloss;
        Uint8 Gloss;
        Uint8 Bloss;
        Uint8 Aloss;
        Uint8 Rshift;
        Uint8 Gshift;
        Uint8 Bshift;
        Uint8 Ashift;
        Uint32 Rmask;
        Uint32 Gmask;
        Uint32 Bmask;
        Uint32 Amask;


        Uint32 colorkey;

        Uint8 alpha;
} SDL_PixelFormat;


struct SDL_Surface;
typedef int (*SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect,
                        struct SDL_Surface *dst, SDL_Rect *dstrect);




typedef struct SDL_Surface {
        Uint32 flags;
        SDL_PixelFormat *format;
        int w, h;
        Uint16 pitch;
        void *pixels;
        int offset;


        struct private_hwdata *hwdata;


        SDL_Rect clip_rect;
        Uint32 unused1;


        Uint32 locked;


        struct SDL_BlitMap *map;


        unsigned int format_version;


        int refcount;
} SDL_Surface;
# 156 "/usr/local/include/SDL/SDL_video.h"
typedef struct {
        Uint32 hw_available :1;
        Uint32 wm_available :1;
        Uint32 UnusedBits1 :6;
        Uint32 UnusedBits2 :1;
        Uint32 blit_hw :1;
        Uint32 blit_hw_CC :1;
        Uint32 blit_hw_A :1;
        Uint32 blit_sw :1;
        Uint32 blit_sw_CC :1;
        Uint32 blit_sw_A :1;
        Uint32 blit_fill :1;
        Uint32 UnusedBits3 :16;
        Uint32 video_mem;
        SDL_PixelFormat *vfmt;
} SDL_VideoInfo;
# 188 "/usr/local/include/SDL/SDL_video.h"
typedef struct SDL_Overlay {
        Uint32 format;
        int w, h;
        int planes;
        Uint16 *pitches;
        Uint8 **pixels;


        struct private_yuvhwfuncs *hwfuncs;
        struct private_yuvhwdata *hwdata;


        Uint32 hw_overlay :1;
        Uint32 UnusedBits :31;
} SDL_Overlay;



typedef enum {
    SDL_GL_RED_SIZE,
    SDL_GL_GREEN_SIZE,
    SDL_GL_BLUE_SIZE,
    SDL_GL_ALPHA_SIZE,
    SDL_GL_BUFFER_SIZE,
    SDL_GL_DOUBLEBUFFER,
    SDL_GL_DEPTH_SIZE,
    SDL_GL_STENCIL_SIZE,
    SDL_GL_ACCUM_RED_SIZE,
    SDL_GL_ACCUM_GREEN_SIZE,
    SDL_GL_ACCUM_BLUE_SIZE,
    SDL_GL_ACCUM_ALPHA_SIZE
} SDL_GLattr;
# 240 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_VideoInit(const char *driver_name, Uint32 flags);
extern __attribute__((dllexport)) void SDL_VideoQuit(void);





extern __attribute__((dllexport)) char *SDL_VideoDriverName(char *namebuf, int maxlen);







extern __attribute__((dllexport)) SDL_Surface * SDL_GetVideoSurface(void);







extern __attribute__((dllexport)) const SDL_VideoInfo * SDL_GetVideoInfo(void);
# 276 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags);
# 287 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Rect ** SDL_ListModes(SDL_PixelFormat *format, Uint32 flags);
# 347 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Surface *SDL_SetVideoMode
                        (int width, int height, int bpp, Uint32 flags);







extern __attribute__((dllexport)) void SDL_UpdateRects
                (SDL_Surface *screen, int numrects, SDL_Rect *rects);
extern __attribute__((dllexport)) void SDL_UpdateRect
                (SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h);
# 371 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_Flip(SDL_Surface *screen);
# 381 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetGamma(float red, float green, float blue);
# 395 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue);
# 406 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue);
# 423 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetColors(SDL_Surface *surface,
                        SDL_Color *colors, int firstcolor, int ncolors);
# 442 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetPalette(SDL_Surface *surface, int flags,
                                   SDL_Color *colors, int firstcolor,
                                   int ncolors);




extern __attribute__((dllexport)) Uint32 SDL_MapRGB
                        (SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b);




extern __attribute__((dllexport)) Uint32 SDL_MapRGBA(SDL_PixelFormat *format,
                                   Uint8 r, Uint8 g, Uint8 b, Uint8 a);




extern __attribute__((dllexport)) void SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt,
                                Uint8 *r, Uint8 *g, Uint8 *b);




extern __attribute__((dllexport)) void SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt,
                                 Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
# 505 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Surface *SDL_CreateRGBSurface
                        (Uint32 flags, int width, int height, int depth,
                        Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
extern __attribute__((dllexport)) SDL_Surface *SDL_CreateRGBSurfaceFrom(void *pixels,
                        int width, int height, int depth, int pitch,
                        Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
extern __attribute__((dllexport)) void SDL_FreeSurface(SDL_Surface *surface);
# 531 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_LockSurface(SDL_Surface *surface);
extern __attribute__((dllexport)) void SDL_UnlockSurface(SDL_Surface *surface);







extern __attribute__((dllexport)) SDL_Surface * SDL_LoadBMP_RW(SDL_RWops *src, int freesrc);
# 550 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SaveBMP_RW
                (SDL_Surface *surface, SDL_RWops *dst, int freedst);
# 566 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetColorKey
                        (SDL_Surface *surface, Uint32 flag, Uint32 key);
# 582 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
# 596 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_bool SDL_SetClipRect(SDL_Surface *surface, const SDL_Rect *rect);






extern __attribute__((dllexport)) void SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect);
# 617 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Surface *SDL_ConvertSurface
                        (SDL_Surface *src, SDL_PixelFormat *fmt, Uint32 flags);
# 694 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_UpperBlit
                        (SDL_Surface *src, SDL_Rect *srcrect,
                         SDL_Surface *dst, SDL_Rect *dstrect);



extern __attribute__((dllexport)) int SDL_LowerBlit
                        (SDL_Surface *src, SDL_Rect *srcrect,
                         SDL_Surface *dst, SDL_Rect *dstrect);
# 713 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_FillRect
                (SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color);
# 727 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Surface * SDL_DisplayFormat(SDL_Surface *surface);
# 741 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Surface * SDL_DisplayFormatAlpha(SDL_Surface *surface);
# 753 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) SDL_Overlay *SDL_CreateYUVOverlay(int width, int height,
                                Uint32 format, SDL_Surface *display);


extern __attribute__((dllexport)) int SDL_LockYUVOverlay(SDL_Overlay *overlay);
extern __attribute__((dllexport)) void SDL_UnlockYUVOverlay(SDL_Overlay *overlay);







extern __attribute__((dllexport)) int SDL_DisplayYUVOverlay(SDL_Overlay *overlay, SDL_Rect *dstrect);


extern __attribute__((dllexport)) void SDL_FreeYUVOverlay(SDL_Overlay *overlay);
# 786 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_GL_LoadLibrary(const char *path);




extern __attribute__((dllexport)) void *SDL_GL_GetProcAddress(const char* proc);




extern __attribute__((dllexport)) int SDL_GL_SetAttribute(SDL_GLattr attr, int value);
# 807 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_GL_GetAttribute(SDL_GLattr attr, int* value);




extern __attribute__((dllexport)) void SDL_GL_SwapBuffers(void);





extern __attribute__((dllexport)) void SDL_GL_UpdateRects(int numrects, SDL_Rect* rects);
extern __attribute__((dllexport)) void SDL_GL_Lock(void);
extern __attribute__((dllexport)) void SDL_GL_Unlock(void);
# 829 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) void SDL_WM_SetCaption(const char *title, const char *icon);
extern __attribute__((dllexport)) void SDL_WM_GetCaption(char **title, char **icon);







extern __attribute__((dllexport)) void SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask);






extern __attribute__((dllexport)) int SDL_WM_IconifyWindow(void);
# 862 "/usr/local/include/SDL/SDL_video.h"
extern __attribute__((dllexport)) int SDL_WM_ToggleFullScreen(SDL_Surface *surface);





typedef enum {
        SDL_GRAB_QUERY = -1,
        SDL_GRAB_OFF = 0,
        SDL_GRAB_ON = 1,
        SDL_GRAB_FULLSCREEN
} SDL_GrabMode;





extern __attribute__((dllexport)) SDL_GrabMode SDL_WM_GrabInput(SDL_GrabMode mode);


extern __attribute__((dllexport)) int SDL_SoftStretch(SDL_Surface *src, SDL_Rect *srcrect,
                                    SDL_Surface *dst, SDL_Rect *dstrect);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 890 "/usr/local/include/SDL/SDL_video.h" 2
# 35 "/usr/local/include/SDL/SDL_mouse.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 37 "/usr/local/include/SDL/SDL_mouse.h" 2


extern "C" {


typedef struct WMcursor WMcursor;
typedef struct {
        SDL_Rect area;
        Sint16 hot_x, hot_y;
        Uint8 *data;
        Uint8 *mask;
        Uint8 *save[2];
        WMcursor *wm_cursor;
} SDL_Cursor;
# 59 "/usr/local/include/SDL/SDL_mouse.h"
extern __attribute__((dllexport)) Uint8 SDL_GetMouseState(int *x, int *y);







extern __attribute__((dllexport)) Uint8 SDL_GetRelativeMouseState(int *x, int *y);




extern __attribute__((dllexport)) void SDL_WarpMouse(Uint16 x, Uint16 y);
# 87 "/usr/local/include/SDL/SDL_mouse.h"
extern __attribute__((dllexport)) SDL_Cursor *SDL_CreateCursor
                (Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y);






extern __attribute__((dllexport)) void SDL_SetCursor(SDL_Cursor *cursor);




extern __attribute__((dllexport)) SDL_Cursor * SDL_GetCursor(void);




extern __attribute__((dllexport)) void SDL_FreeCursor(SDL_Cursor *cursor);
# 114 "/usr/local/include/SDL/SDL_mouse.h"
extern __attribute__((dllexport)) int SDL_ShowCursor(int toggle);
# 132 "/usr/local/include/SDL/SDL_mouse.h"
}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 135 "/usr/local/include/SDL/SDL_mouse.h" 2
# 37 "/usr/local/include/SDL/SDL_events.h" 2
# 1 "/usr/local/include/SDL/SDL_joystick.h" 1
# 38 "/usr/local/include/SDL/SDL_events.h" 2
# 1 "/usr/local/include/SDL/SDL_quit.h" 1
# 39 "/usr/local/include/SDL/SDL_events.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 41 "/usr/local/include/SDL/SDL_events.h" 2


extern "C" {



enum { SDL_NOEVENT = 0,
       SDL_ACTIVEEVENT,
       SDL_KEYDOWN,
       SDL_KEYUP,
       SDL_MOUSEMOTION,
       SDL_MOUSEBUTTONDOWN,
       SDL_MOUSEBUTTONUP,
       SDL_JOYAXISMOTION,
       SDL_JOYBALLMOTION,
       SDL_JOYHATMOTION,
       SDL_JOYBUTTONDOWN,
       SDL_JOYBUTTONUP,
       SDL_QUIT,
       SDL_SYSWMEVENT,
       SDL_EVENT_RESERVEDA,
       SDL_EVENT_RESERVEDB,
       SDL_VIDEORESIZE,
       SDL_VIDEOEXPOSE,
       SDL_EVENT_RESERVED2,
       SDL_EVENT_RESERVED3,
       SDL_EVENT_RESERVED4,
       SDL_EVENT_RESERVED5,
       SDL_EVENT_RESERVED6,
       SDL_EVENT_RESERVED7,

       SDL_USEREVENT = 24,



       SDL_NUMEVENTS = 32
};



enum {
        SDL_ACTIVEEVENTMASK = (1<<(SDL_ACTIVEEVENT)),
        SDL_KEYDOWNMASK = (1<<(SDL_KEYDOWN)),
        SDL_KEYUPMASK = (1<<(SDL_KEYUP)),
        SDL_MOUSEMOTIONMASK = (1<<(SDL_MOUSEMOTION)),
        SDL_MOUSEBUTTONDOWNMASK = (1<<(SDL_MOUSEBUTTONDOWN)),
        SDL_MOUSEBUTTONUPMASK = (1<<(SDL_MOUSEBUTTONUP)),
        SDL_MOUSEEVENTMASK = (1<<(SDL_MOUSEMOTION))|
                                  (1<<(SDL_MOUSEBUTTONDOWN))|
                                  (1<<(SDL_MOUSEBUTTONUP)),
        SDL_JOYAXISMOTIONMASK = (1<<(SDL_JOYAXISMOTION)),
        SDL_JOYBALLMOTIONMASK = (1<<(SDL_JOYBALLMOTION)),
        SDL_JOYHATMOTIONMASK = (1<<(SDL_JOYHATMOTION)),
        SDL_JOYBUTTONDOWNMASK = (1<<(SDL_JOYBUTTONDOWN)),
        SDL_JOYBUTTONUPMASK = (1<<(SDL_JOYBUTTONUP)),
        SDL_JOYEVENTMASK = (1<<(SDL_JOYAXISMOTION))|
                                  (1<<(SDL_JOYBALLMOTION))|
                                  (1<<(SDL_JOYHATMOTION))|
                                  (1<<(SDL_JOYBUTTONDOWN))|
                                  (1<<(SDL_JOYBUTTONUP)),
        SDL_VIDEORESIZEMASK = (1<<(SDL_VIDEORESIZE)),
        SDL_VIDEOEXPOSEMASK = (1<<(SDL_VIDEOEXPOSE)),
        SDL_QUITMASK = (1<<(SDL_QUIT)),
        SDL_SYSWMEVENTMASK = (1<<(SDL_SYSWMEVENT))
};



typedef struct {
        Uint8 type;
        Uint8 gain;
        Uint8 state;
} SDL_ActiveEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 state;
        SDL_keysym keysym;
} SDL_KeyboardEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 state;
        Uint16 x, y;
        Sint16 xrel;
        Sint16 yrel;
} SDL_MouseMotionEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 button;
        Uint8 state;
        Uint16 x, y;
} SDL_MouseButtonEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 axis;
        Sint16 value;
} SDL_JoyAxisEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 ball;
        Sint16 xrel;
        Sint16 yrel;
} SDL_JoyBallEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 hat;
        Uint8 value;





} SDL_JoyHatEvent;


typedef struct {
        Uint8 type;
        Uint8 which;
        Uint8 button;
        Uint8 state;
} SDL_JoyButtonEvent;





typedef struct {
        Uint8 type;
        int w;
        int h;
} SDL_ResizeEvent;


typedef struct {
        Uint8 type;
} SDL_ExposeEvent;


typedef struct {
        Uint8 type;
} SDL_QuitEvent;


typedef struct {
        Uint8 type;
        int code;
        void *data1;
        void *data2;
} SDL_UserEvent;


struct SDL_SysWMmsg;
typedef struct SDL_SysWMmsg SDL_SysWMmsg;
typedef struct {
        Uint8 type;
        SDL_SysWMmsg *msg;
} SDL_SysWMEvent;


typedef union {
        Uint8 type;
        SDL_ActiveEvent active;
        SDL_KeyboardEvent key;
        SDL_MouseMotionEvent motion;
        SDL_MouseButtonEvent button;
        SDL_JoyAxisEvent jaxis;
        SDL_JoyBallEvent jball;
        SDL_JoyHatEvent jhat;
        SDL_JoyButtonEvent jbutton;
        SDL_ResizeEvent resize;
        SDL_ExposeEvent expose;
        SDL_QuitEvent quit;
        SDL_UserEvent user;
        SDL_SysWMEvent syswm;
} SDL_Event;
# 241 "/usr/local/include/SDL/SDL_events.h"
extern __attribute__((dllexport)) void SDL_PumpEvents(void);
# 255 "/usr/local/include/SDL/SDL_events.h"
typedef enum {
        SDL_ADDEVENT,
        SDL_PEEKEVENT,
        SDL_GETEVENT
} SDL_eventaction;

extern __attribute__((dllexport)) int SDL_PeepEvents(SDL_Event *events, int numevents,
                                SDL_eventaction action, Uint32 mask);





extern __attribute__((dllexport)) int SDL_PollEvent(SDL_Event *event);





extern __attribute__((dllexport)) int SDL_WaitEvent(SDL_Event *event);





extern __attribute__((dllexport)) int SDL_PushEvent(SDL_Event *event);







typedef int (*SDL_EventFilter)(const SDL_Event *event);
# 305 "/usr/local/include/SDL/SDL_events.h"
extern __attribute__((dllexport)) void SDL_SetEventFilter(SDL_EventFilter filter);





extern __attribute__((dllexport)) SDL_EventFilter SDL_GetEventFilter(void);
# 325 "/usr/local/include/SDL/SDL_events.h"
extern __attribute__((dllexport)) Uint8 SDL_EventState(Uint8 type, int state);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 333 "/usr/local/include/SDL/SDL_events.h" 2
# 43 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_video.h" 1
# 44 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_byteorder.h" 1
# 45 "/usr/local/include/SDL/SDL.h" 2
# 1 "/usr/local/include/SDL/SDL_version.h" 1
# 33 "/usr/local/include/SDL/SDL_version.h"
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 34 "/usr/local/include/SDL/SDL_version.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 36 "/usr/local/include/SDL/SDL_version.h" 2


extern "C" {
# 47 "/usr/local/include/SDL/SDL_version.h"
typedef struct {
        Uint8 major;
        Uint8 minor;
        Uint8 patch;
} SDL_version;
# 82 "/usr/local/include/SDL/SDL_version.h"
extern __attribute__((dllexport)) const SDL_version * SDL_Linked_Version(void);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 89 "/usr/local/include/SDL/SDL_version.h" 2
# 46 "/usr/local/include/SDL/SDL.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 48 "/usr/local/include/SDL/SDL.h" 2


extern "C" {
# 72 "/usr/local/include/SDL/SDL.h"
extern __attribute__((dllexport)) int SDL_Init(Uint32 flags);


extern __attribute__((dllexport)) int SDL_InitSubSystem(Uint32 flags);


extern __attribute__((dllexport)) void SDL_QuitSubSystem(Uint32 flags);





extern __attribute__((dllexport)) Uint32 SDL_WasInit(Uint32 flags);




extern __attribute__((dllexport)) void SDL_Quit(void);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 96 "/usr/local/include/SDL/SDL.h" 2
# 2 "../include/SDL_gui.h" 2
# 1 "/usr/local/include/SDL/SDL_image.h" 1
# 30 "/usr/local/include/SDL/SDL_image.h"
# 1 "/usr/local/include/SDL/SDL.h" 1
# 31 "/usr/local/include/SDL/SDL_image.h" 2
# 1 "/usr/local/include/SDL/begin_code.h" 1
# 32 "/usr/local/include/SDL/SDL_image.h" 2



extern "C" {
# 46 "/usr/local/include/SDL/SDL_image.h"
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc,
                                              char *type);

extern __attribute__((dllexport)) SDL_Surface *IMG_Load(const char *file);
extern __attribute__((dllexport)) SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc);




extern __attribute__((dllexport)) int IMG_InvertAlpha(int on);


extern __attribute__((dllexport)) int IMG_isBMP(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isPNM(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isXPM(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isXCF(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isPCX(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isGIF(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isJPG(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isTIF(SDL_RWops *src);
extern __attribute__((dllexport)) int IMG_isPNG(SDL_RWops *src);


extern __attribute__((dllexport)) SDL_Surface *IMG_LoadBMP_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadPNM_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadXCF_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadPCX_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadGIF_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadJPG_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadTIF_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadPNG_RW(SDL_RWops *src);
extern __attribute__((dllexport)) SDL_Surface *IMG_LoadTGA_RW(SDL_RWops *src);






extern __attribute__((dllexport)) int IMG_string_equals(const char *str1, const char *str2);



}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 92 "/usr/local/include/SDL/SDL_image.h" 2
# 3 "../include/SDL_gui.h" 2
# 1 "/usr/local/include/SDL/SDL_ttf.h" 1
# 33 "/usr/local/include/SDL/SDL_ttf.h"
# 1 "/usr/local/include/SDL/SDL.h" 1
# 34 "/usr/local/include/SDL/SDL_ttf.h" 2
# 1 "/usr/local/include/SDL/begin_code.h" 1
# 35 "/usr/local/include/SDL/SDL_ttf.h" 2



extern "C" {



typedef struct _TTF_Font TTF_Font;


extern __attribute__((dllexport)) int TTF_Init(void);


extern __attribute__((dllexport)) TTF_Font *TTF_OpenFont(const char *file, int ptsize);
extern __attribute__((dllexport)) TTF_Font *TTF_OpenFontIndex(const char *file, int ptsize, long index);
# 59 "/usr/local/include/SDL/SDL_ttf.h"
extern __attribute__((dllexport)) int TTF_GetFontStyle(TTF_Font *font);
extern __attribute__((dllexport)) void TTF_SetFontStyle(TTF_Font *font, int style);


extern __attribute__((dllexport)) int TTF_FontHeight(TTF_Font *font);




extern __attribute__((dllexport)) int TTF_FontAscent(TTF_Font *font);




extern __attribute__((dllexport)) int TTF_FontDescent(TTF_Font *font);


extern __attribute__((dllexport)) int TTF_FontLineSkip(TTF_Font *font);


extern __attribute__((dllexport)) long TTF_FontFaces(TTF_Font *font);


extern __attribute__((dllexport)) int TTF_FontFaceIsFixedWidth(TTF_Font *font);
extern __attribute__((dllexport)) char *TTF_FontFaceFamilyName(TTF_Font *font);
extern __attribute__((dllexport)) char *TTF_FontFaceStyleName(TTF_Font *font);


extern __attribute__((dllexport)) int TTF_GlyphMetrics(TTF_Font *font, Uint16 ch,
                                     int *minx, int *maxx,
                                     int *miny, int *maxy, int *advance);


extern __attribute__((dllexport)) int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h);
extern __attribute__((dllexport)) int TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h);
extern __attribute__((dllexport)) int TTF_SizeUNICODE(TTF_Font *font, const Uint16 *text, int *w, int *h);







extern __attribute__((dllexport)) SDL_Surface *TTF_RenderText_Solid(TTF_Font *font,
                                const char *text, SDL_Color fg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font,
                                const char *text, SDL_Color fg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font,
                                const Uint16 *text, SDL_Color fg);
# 116 "/usr/local/include/SDL/SDL_ttf.h"
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderGlyph_Solid(TTF_Font *font,
                                        Uint16 ch, SDL_Color fg);






extern __attribute__((dllexport)) SDL_Surface *TTF_RenderText_Shaded(TTF_Font *font,
                                const char *text, SDL_Color fg, SDL_Color bg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUTF8_Shaded(TTF_Font *font,
                                const char *text, SDL_Color fg, SDL_Color bg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUNICODE_Shaded(TTF_Font *font,
                                const Uint16 *text, SDL_Color fg, SDL_Color bg);
# 138 "/usr/local/include/SDL/SDL_ttf.h"
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderGlyph_Shaded(TTF_Font *font,
                                Uint16 ch, SDL_Color fg, SDL_Color bg);





extern __attribute__((dllexport)) SDL_Surface *TTF_RenderText_Blended(TTF_Font *font,
                                const char *text, SDL_Color fg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUTF8_Blended(TTF_Font *font,
                                const char *text, SDL_Color fg);
extern __attribute__((dllexport)) SDL_Surface *TTF_RenderUNICODE_Blended(TTF_Font *font,
                                const Uint16 *text, SDL_Color fg);







extern __attribute__((dllexport)) SDL_Surface *TTF_RenderGlyph_Blended(TTF_Font *font,
                                                Uint16 ch, SDL_Color fg);
# 170 "/usr/local/include/SDL/SDL_ttf.h"
extern __attribute__((dllexport)) void TTF_CloseFont(TTF_Font *font);


extern __attribute__((dllexport)) void TTF_Quit(void);







};

# 1 "/usr/local/include/SDL/close_code.h" 1
# 184 "/usr/local/include/SDL/SDL_ttf.h" 2
# 4 "../include/SDL_gui.h" 2
# 20 "../include/SDL_gui.h"
class __attribute__((dllexport)) GUI_Exception
{
        protected:
                char *message;
        public:
                GUI_Exception(const char *fmt, ...);
                GUI_Exception(const GUI_Exception &err);
                virtual ~GUI_Exception(void);
                const char *GetMessage(void);
};

class __attribute__((dllexport)) GUI_Object
{
        private:
                int refcount;
                char *name;
        public:
                GUI_Object(const char *aname);
                virtual ~GUI_Object(void);

                void SetName(const char *s);
                const char *GetName(void);
                int CheckName(const char *aname);

                void IncRef(void);
                int DecRef(void);
};

class __attribute__((dllexport)) GUI_Callback : public GUI_Object
{
        protected:
        public:
                GUI_Callback(const char *aname);
                ~GUI_Callback(void);

                virtual void Call(GUI_Object *object)=0;
};

template <class T> class __attribute__((dllexport)) GUI_EventHandler : public GUI_Callback
{
        typedef void handler(GUI_Object *sender);
        typedef handler (T::*method);
        protected:
                method f;
                T *obj;
        public:
                GUI_EventHandler<T>(T *t, method m) : GUI_Callback("event")
                {

                        obj = t;
                        f = m;
                }
                virtual void Call(GUI_Object *sender)
                {
                        (obj->*f)(sender);
                }
};

class __attribute__((dllexport)) GUI_Surface : public GUI_Object
{
        protected:
                SDL_Surface *surface;
        public:
                GUI_Surface(const char *aname, SDL_Surface *image);
                GUI_Surface(const char *aname, int f, int w, int h, int d, int rm, int gm, int bm, int am);
                GUI_Surface(const char *fn);
                virtual ~GUI_Surface(void);

                void DisplayFormat(void);
                void SetAlpha(Uint32 flag, Uint8 alpha);
                void SetColorKey(Uint32 c);
                void Blit(SDL_Rect *src_r, GUI_Surface *dst, SDL_Rect *dst_r);
                void UpdateRects(int n, SDL_Rect *rects);
                void UpdateRect(int x, int y, int w, int h);
                void Fill(SDL_Rect *r, Uint32 c);
                int GetWidth(void);
                int GetHeight(void);
                Uint32 MapRGB(int r, int g, int b);
                int IsDoubleBuffered(void);
                int IsHardware(void);
                void Flip(void);
                SDL_Surface *GetSurface(void);
                void SaveBMP(const char *filename);
};

class __attribute__((dllexport)) GUI_Font : public GUI_Object
{
        public:
                GUI_Font(const char *aname);
                virtual ~GUI_Font(void);


                virtual void DrawText(GUI_Surface *surface, const char *s, int x, int y);


                virtual GUI_Surface *RenderFast(const char *s, SDL_Color fg);


                virtual GUI_Surface *RenderQuality(const char *s, SDL_Color fg);


                virtual SDL_Rect GetTextSize(const char *s);
};

class __attribute__((dllexport)) GUI_FastFont : public GUI_Font
{
        protected:
                GUI_Surface *image;
                int char_width;
                int char_height;
        public:
                GUI_FastFont(const char *fn);
                virtual ~GUI_FastFont(void);

                virtual void DrawText(GUI_Surface *surface, const char *s, int x, int y);
                virtual GUI_Surface *RenderFast(const char *s, SDL_Color fg);
                virtual GUI_Surface *RenderQuality(const char *s, SDL_Color fg);
                virtual SDL_Rect GetTextSize(const char *s);
                GUI_Surface *GetFontImage(void);
};

class __attribute__((dllexport)) GUI_TrueTypeFont : public GUI_Font
{
        protected:
                TTF_Font *ttf;
        public:
                GUI_TrueTypeFont(const char *fn, int size);
                virtual ~GUI_TrueTypeFont(void);

                virtual GUI_Surface *RenderFast(const char *s, SDL_Color fg);
                virtual GUI_Surface *RenderQuality(const char *s, SDL_Color fg);
                virtual SDL_Rect GetTextSize(const char *s);
};

class __attribute__((dllexport)) GUI_Container;

class __attribute__((dllexport)) GUI_Layout : public GUI_Object
{
        public:
                GUI_Layout(const char *aname);
                virtual ~GUI_Layout(void);

                virtual void Layout(GUI_Container *container);
};

class __attribute__((dllexport)) GUI_VBoxLayout : public GUI_Layout
{
        public:
                GUI_VBoxLayout(const char *aname);
                virtual ~GUI_VBoxLayout(void);

                virtual void Layout(GUI_Container *container);
};

class __attribute__((dllexport)) GUI_Widget;

class __attribute__((dllexport)) GUI_Drawable : public GUI_Object
{
        protected:

                int flags;
                int flag_delta;
                SDL_Rect area;
                GUI_Callback *status_callback;
                void Keep(GUI_Widget **target, GUI_Widget *source);
                SDL_Rect Adjust(const SDL_Rect *area);
        public:
                GUI_Drawable(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_Drawable(void);

                void DoUpdate(int force);
                virtual void Update(int force);
                virtual void Draw(GUI_Surface *image, const SDL_Rect *sr, const SDL_Rect *dr);
                virtual void Erase(const SDL_Rect *dr);
                virtual void Fill(const SDL_Rect *dr, SDL_Color c);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
                virtual void Clicked(int x, int y);
                virtual void RemoveWidget(GUI_Widget *widget);
                virtual void Notify(int mask);

                int GetWidth(void);
                int GetHeight(void);
                void TileImage(GUI_Surface *surface, const SDL_Rect *area, int x_offset, int y_offset);
                void MarkChanged(void);
                void WriteFlags(int andmask, int ormask);
                void SetFlags(int mask);
                void ClearFlags(int mask);
                SDL_Rect GetArea(void);
                void SetPosition(int x, int y);
                void SetStatusCallback(GUI_Callback *callback);
                int GetFlagDelta(void);
                int GetFlags(void);
};

class __attribute__((dllexport)) GUI_Widget : public GUI_Drawable
{
        protected:
                GUI_Drawable *parent;
        public:
                GUI_Widget(const char *name, int x, int y, int w, int h);
                virtual ~GUI_Widget(void);

                void SetAlign(int align);
                void SetTransparent(int trans);
                void SetEnabled(int flag);
                void SetState(int state);
                int GetState(void);

                virtual void Draw(GUI_Surface *image, const SDL_Rect *sr, const SDL_Rect *dr);
                virtual void Erase(const SDL_Rect *dr);
                virtual void Fill(const SDL_Rect *dr, SDL_Color c);

                void SetParent(GUI_Drawable *aparent);
                GUI_Drawable *GetParent(void);
};

class __attribute__((dllexport)) GUI_TextEntry : public GUI_Widget
{
        protected:
                GUI_Font *font;
                SDL_Color textcolor;
                GUI_Surface *normal_image;
                GUI_Surface *highlight_image;
                GUI_Surface *focus_image;
                GUI_Callback *focus_callback;
                GUI_Callback *unfocus_callback;
                int align;
                size_t buffer_size;
                size_t buffer_index;
                char *buffer;
        public:
                GUI_TextEntry(const char *name, int x, int y, int w, int h, GUI_Font *font, int size);
                ~GUI_TextEntry(void);

                void SetFont(GUI_Font *afont);
                void SetTextColor(int r, int g, int b);
                void SetText(const char *text);
                const char *GetText(void);
                void SetNormalImage(GUI_Surface *surface);
                void SetHighlightImage(GUI_Surface *surface);
                void SetFocusImage(GUI_Surface *surface);
                void SetFocusCallback(GUI_Callback *callback);
                void SetUnfocusCallback(GUI_Callback *callback);

                virtual void Update(int force);
                virtual void Clicked(int x, int y);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
};

class __attribute__((dllexport)) GUI_Label : public GUI_Widget
{
        protected:
                GUI_Surface *text;
                GUI_Font *font;
                SDL_Color textcolor;
        public:
                GUI_Label(const char *aname, int x, int y, int w, int h, GUI_Font *afont, const char *s);
                virtual ~GUI_Label(void);

                void SetFont(GUI_Font *font);
                void SetTextColor(int r, int g, int b);
                void SetText(const char *s);

                virtual void Update(int force);
};

class __attribute__((dllexport)) GUI_Picture : public GUI_Widget
{
        protected:
                GUI_Surface *image;
                GUI_Widget *caption;
        public:
                GUI_Picture(const char *aname, int x, int y, int w, int h, GUI_Surface *an_image);
                virtual ~GUI_Picture(void);

                void SetImage(GUI_Surface *an_image);
                void SetCaption(GUI_Widget *a_caption);

                virtual void Update(int force);
                virtual void Erase(const SDL_Rect *area);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
};

class __attribute__((dllexport)) GUI_AbstractButton : public GUI_Widget
{
        protected:
                GUI_Widget *caption;
                GUI_Callback *click;
                virtual GUI_Surface *GetCurrentImage(void);
        public:
                GUI_AbstractButton(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_AbstractButton(void);

                virtual void RemoveWidget(GUI_Widget *widget);
                void SetCaption(GUI_Widget *widget);
                void SetClick(GUI_Callback *handler);

                virtual void Erase(const SDL_Rect *dr);
                virtual void Fill(const SDL_Rect *dr, SDL_Color c);
                virtual void Update(int force);
                virtual void Notify(int mask);
                virtual void Clicked(int x, int y);
};

class __attribute__((dllexport)) GUI_Button : public GUI_AbstractButton
{
        protected:
                GUI_Surface *normal;
                GUI_Surface *highlight;
                GUI_Surface *pressed;
                GUI_Surface *disabled;
                virtual GUI_Surface *GetCurrentImage(void);
        public:
                GUI_Button(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_Button(void);

                void SetNormalImage(GUI_Surface *surface);
                void SetHighlightImage(GUI_Surface *surface);
                void SetPressedImage(GUI_Surface *surface);
                void SetDisabledImage(GUI_Surface *surface);
};

class __attribute__((dllexport)) GUI_ToggleButton : public GUI_AbstractButton
{
        protected:
                GUI_Surface *off_normal;
                GUI_Surface *off_highlight;
                GUI_Surface *on_normal;
                GUI_Surface *on_highlight;
                virtual GUI_Surface *GetCurrentImage(void);
        public:
                GUI_ToggleButton(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_ToggleButton(void);

                virtual void Clicked(int x, int y);
                void SetOnNormalImage(GUI_Surface *surface);
                void SetOffNormalImage(GUI_Surface *surface);
                void SetOnHighlightImage(GUI_Surface *surface);
                void SetOffHighlightImage(GUI_Surface *surface);
};

class __attribute__((dllexport)) GUI_ProgressBar : public GUI_Widget
{
        protected:
                GUI_Surface *image1;
                GUI_Surface *image2;
                double value;
        public:
                GUI_ProgressBar(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_ProgressBar(void);

                void SetImage1(GUI_Surface *surface);
                void SetImage2(GUI_Surface *surface);
                void SetPosition(double value);

                virtual void Update(int force);
};

class __attribute__((dllexport)) GUI_ScrollBar : public GUI_Widget
{
        protected:
                GUI_Surface *background;
                GUI_Surface *knob;
                GUI_Callback *moved_callback;
                int position;
                int tracking_on;
                int tracking_start;
                int tracking_pos;
                int page_step;
        public:
                GUI_ScrollBar(const char *aname, int x, int y, int w, int h);
                virtual ~GUI_ScrollBar(void);

                void SetKnobImage(GUI_Surface *image);
                void SetBackgroundImage(GUI_Surface *image);
                int GetPosition(void);
                void SetPosition(int value);
                void SetPageStep(int value);
                void SetMovedCallback(GUI_Callback *callback);

                virtual void Update(int force);
                virtual void Erase(const SDL_Rect *rp);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
};

class __attribute__((dllexport)) GUI_Container : public GUI_Widget
{
        protected:
                int n_widgets;
                int s_widgets;
                GUI_Widget **widgets;
                int x_offset;
                int y_offset;
                GUI_Surface *background;
                SDL_Color bgcolor;
                virtual void UpdateLayout(void);
        public:
                GUI_Container(const char *name, int x, int y, int w, int h);
                virtual ~GUI_Container(void);

                int ContainsWidget(GUI_Widget *widget);
                void AddWidget(GUI_Widget *widget);
                virtual void RemoveWidget(GUI_Widget *widget);
                int GetWidgetCount(void);
                GUI_Widget *GetWidget(int index);

                void SetBackground(GUI_Surface *image);
                void SetBackgroundColor(SDL_Color c);
                void SetXOffset(int value);
                void SetYOffset(int value);

                virtual void Draw(GUI_Surface *image, const SDL_Rect *sr, const SDL_Rect *dr);
                virtual void Fill(const SDL_Rect *dr, SDL_Color c);
                virtual void Erase(const SDL_Rect *rp);
};

class __attribute__((dllexport)) GUI_Panel : public GUI_Container
{
        protected:
                GUI_Layout *layout;
                virtual void Update(int force);
                virtual void UpdateLayout(void);
        public:
                GUI_Panel(const char *name, int x, int y, int w, int h);
                virtual ~GUI_Panel(void);

                void SetLayout(GUI_Layout *a_layout);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
};

class __attribute__((dllexport)) GUI_CardStack : public GUI_Container
{
        protected:
                int visible_index;
                virtual void Update(int force);
        public:
                GUI_CardStack(const char *name, int x, int y, int w, int h);
                virtual ~GUI_CardStack(void);

                void Next(void);
                void Prev(void);
                int GetIndex(void);
                void ShowIndex(int index);
                void Show(const char *aname);

                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
};

class __attribute__((dllexport)) GUI_Screen : public GUI_Drawable
{
        protected:
                GUI_Surface *screen_surface;
                GUI_Surface *background;
                GUI_Widget *contents;
                GUI_Widget *focus_widget;
                Uint32 background_color;
                virtual void FlushUpdates(void);
                virtual void UpdateRect(const SDL_Rect *r);
                virtual void Update(int force);
        public:
                GUI_Screen(const char *aname, SDL_Surface *surface);
                virtual ~GUI_Screen(void);

                virtual void Draw(GUI_Surface *image, const SDL_Rect *sr, const SDL_Rect *dr);
                virtual void Erase(const SDL_Rect *dr);
                virtual void Fill(const SDL_Rect *dr, SDL_Color c);
                virtual int Event(const SDL_Event *event, int xoffset, int yoffset);
                virtual void RemoveWidget(GUI_Widget *widget);

                void SetContents(GUI_Widget *widget);
                void SetBackground(GUI_Surface *image);
                void SetFocusWidget(GUI_Widget *item);
                void ClearFocusWidget(void);
                void SetBackgroundColor(SDL_Color c);
                GUI_Widget *GetFocusWidget(void);
                GUI_Surface *GetSurface(void);
};

class __attribute__((dllexport)) GUI_RealScreen : public GUI_Screen
{
        protected:
                int n_updates;
                SDL_Rect *updates;
                virtual void FlushUpdates(void);
                virtual void UpdateRect(const SDL_Rect *r);
                virtual void Update(int force);
        public:
                GUI_RealScreen(const char *aname, SDL_Surface *surface);
                virtual ~GUI_RealScreen(void);
};
# 552 "../include/SDL_gui.h"
extern "C" {


typedef void GUI_CallbackFunction(void *);



__attribute__((dllexport)) int GUI_Init(void);
__attribute__((dllexport)) void GUI_SetScreen(GUI_Screen *);
__attribute__((dllexport)) GUI_Screen *GUI_GetScreen(void);
__attribute__((dllexport)) void GUI_Run(void);
__attribute__((dllexport)) void GUI_Quit(void);

__attribute__((dllexport)) int GUI_MustLock(void);
__attribute__((dllexport)) int GUI_Lock(void);
__attribute__((dllexport)) int GUI_Unlock(void);

__attribute__((dllexport)) void GUI_SetThread(Uint32 id);
__attribute__((dllexport)) int GUI_GetRunning(void);
__attribute__((dllexport)) void GUI_SetRunning(int value);
__attribute__((dllexport)) int GUI_ClipRect(SDL_Rect *sr, SDL_Rect *dr, SDL_Rect *clip);
__attribute__((dllexport)) void GUI_TriggerUpdate(void);



__attribute__((dllexport)) GUI_Object *GUI_ObjectCreate(const char *s);
__attribute__((dllexport)) const char *GUI_ObjectGetName(GUI_Object *object);
__attribute__((dllexport)) void GUI_ObjectSetName(GUI_Object *object, const char *s);
__attribute__((dllexport)) void GUI_ObjectIncRef(GUI_Object *object);
__attribute__((dllexport)) int GUI_ObjectDecRef(GUI_Object *object);
__attribute__((dllexport)) int GUI_ObjectKeep(GUI_Object **target, GUI_Object *source);



__attribute__((dllexport)) GUI_Surface *GUI_SurfaceLoad(const char *fn);
__attribute__((dllexport)) GUI_Surface *GUI_SurfaceCreate(const char *aname, int f, int w, int h, int d, int rm, int gm, int bm, int am);
__attribute__((dllexport)) void GUI_SurfaceBlit(GUI_Surface *src, SDL_Rect *src_r, GUI_Surface *dst, SDL_Rect *dst_r);
__attribute__((dllexport)) void GUI_SurfaceUpdateRects(GUI_Surface *surface, int n, SDL_Rect *rects);
__attribute__((dllexport)) void GUI_SurfaceUpdateRect(GUI_Surface *surface, int x, int y, int w, int h);
__attribute__((dllexport)) void GUI_SurfaceFill(GUI_Surface *surface, SDL_Rect *r, Uint32 c);
__attribute__((dllexport)) int GUI_SurfaceGetWidth(GUI_Surface *surface);
__attribute__((dllexport)) int GUI_SurfaceGetHeight(GUI_Surface *surface);
__attribute__((dllexport)) Uint32 GUI_SurfaceMapRGB(GUI_Surface *surface, int r, int g, int b);



__attribute__((dllexport)) GUI_Surface *GUI_FontRenderFast(GUI_Font *font, const char *s, SDL_Color fg);
__attribute__((dllexport)) GUI_Surface *GUI_FontRenderQuality(GUI_Font *font, const char *s, SDL_Color fg);
__attribute__((dllexport)) void GUI_FontDrawText(GUI_Font *font, GUI_Surface *surface, const char *s, int x, int y);
__attribute__((dllexport)) SDL_Rect GUI_FontGetTextSize(GUI_Font *font, const char *s);



__attribute__((dllexport)) void GUI_WidgetUpdate(GUI_Widget *widget, int force);
__attribute__((dllexport)) void GUI_WidgetDraw(GUI_Widget *widget, GUI_Surface *image, const SDL_Rect *sr, const SDL_Rect *dr);
__attribute__((dllexport)) void GUI_WidgetErase(GUI_Widget *widget, const SDL_Rect *dr);
__attribute__((dllexport)) void GUI_WidgetFill(GUI_Widget *widget, const SDL_Rect *dr, SDL_Color c);
__attribute__((dllexport)) int GUI_WidgetEvent(GUI_Widget *widget, const SDL_Event *event, int xoffset, int yoffset);
__attribute__((dllexport)) void GUI_WidgetClicked(GUI_Widget *widget, int x, int y);
__attribute__((dllexport)) void GUI_WidgetSetAlign(GUI_Widget *widget, int align);
__attribute__((dllexport)) void GUI_WidgetMarkChanged(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_WidgetSetTransparent(GUI_Widget *widget, int trans);
__attribute__((dllexport)) void GUI_WidgetSetEnabled(GUI_Widget *widget, int flag);
__attribute__((dllexport)) void GUI_WidgetTileImage(GUI_Widget *widget, GUI_Surface *surface, const SDL_Rect *area, int x_offset, int y_offset);
__attribute__((dllexport)) void GUI_WidgetSetFlags(GUI_Widget *widget, int mask);
__attribute__((dllexport)) void GUI_WidgetClearFlags(GUI_Widget *widget, int mask);
__attribute__((dllexport)) void GUI_WidgetSetState(GUI_Widget *widget, int state);
__attribute__((dllexport)) int GUI_WidgetGetState(GUI_Widget *widget);
__attribute__((dllexport)) SDL_Rect GUI_WidgetGetArea(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_WidgetSetPosition(GUI_Widget *widget, int x, int y);



__attribute__((dllexport)) int GUI_ContainerContains(GUI_Widget *container, GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ContainerAdd(GUI_Widget *container, GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ContainerRemove(GUI_Widget *container, GUI_Widget *widget);
__attribute__((dllexport)) int GUI_ContainerGetCount(GUI_Widget *container);
__attribute__((dllexport)) GUI_Widget *GUI_ContainerGetChild(GUI_Widget *container, int index);



__attribute__((dllexport)) GUI_Screen *GUI_ScreenCreate(int w, int h, int d, int f);
__attribute__((dllexport)) void GUI_ScreenSetContents(GUI_Screen *screen, GUI_Widget *contents);
__attribute__((dllexport)) void GUI_ScreenSetBackground(GUI_Screen *screen, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ScreenSetFocusWidget(GUI_Screen *screen, GUI_Widget *item);
__attribute__((dllexport)) void GUI_ScreenClearFocusWidget(GUI_Screen *screen);
__attribute__((dllexport)) void GUI_ScreenSetBackgroundColor(GUI_Screen *screen, SDL_Color c);
__attribute__((dllexport)) GUI_Widget *GUI_ScreenGetFocusWidget(GUI_Screen *screen);



__attribute__((dllexport)) GUI_Widget *GUI_ButtonCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_ButtonCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ButtonSetNormalImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ButtonSetHighlightImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ButtonSetPressedImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ButtonSetDisabledImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ButtonSetCaption(GUI_Widget *widget, GUI_Widget *caption);
__attribute__((dllexport)) void GUI_ButtonSetClick(GUI_Widget *widget, GUI_Callback *callback);



__attribute__((dllexport)) GUI_Callback *GUI_CallbackCreate(GUI_CallbackFunction *function, GUI_CallbackFunction *freefunc, void *data);
__attribute__((dllexport)) void GUI_CallbackCall(GUI_Callback *callback);



__attribute__((dllexport)) GUI_Font *GUI_FontLoadBitmap(char *fn);



__attribute__((dllexport)) GUI_Font *GUI_FontLoadTrueType(char *fn, int size);



__attribute__((dllexport)) GUI_Widget *GUI_PanelCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_PanelCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_PanelSetBackground(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_PanelSetBackgroundColor(GUI_Widget *widget, SDL_Color c);
__attribute__((dllexport)) void GUI_PanelSetXOffset(GUI_Widget *widget, int value);
__attribute__((dllexport)) void GUI_PanelSetYOffset(GUI_Widget *widget, int value);
__attribute__((dllexport)) void GUI_PanelSetLayout(GUI_Widget *widget, GUI_Layout *layout);



__attribute__((dllexport)) GUI_Layout *GUI_VBoxLayoutCreate(void);



__attribute__((dllexport)) GUI_Widget *GUI_ToggleButtonCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_ToggleButtonCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ToggleButtonSetOnNormalImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ToggleButtonSetOnHighlightImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ToggleButtonSetOffNormalImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ToggleButtonSetOffHighlightImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_ToggleButtonSetCaption(GUI_Widget *widget, GUI_Widget *caption);
__attribute__((dllexport)) void GUI_ToggleButtonSetClick(GUI_Widget *widget, GUI_Callback *callback);



__attribute__((dllexport)) GUI_Widget *GUI_LabelCreate(const char *name, int x, int y, int w, int h, GUI_Font *font, const char *text);
__attribute__((dllexport)) int GUI_LabelCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_LabelSetFont(GUI_Widget *widget, GUI_Font *font);
__attribute__((dllexport)) void GUI_LabelSetTextColor(GUI_Widget *widget, int r, int g, int b);
__attribute__((dllexport)) void GUI_LabelSetText(GUI_Widget *widget, const char *text);



__attribute__((dllexport)) GUI_Widget *GUI_PictureCreate(const char *name, int x, int y, int w, int h, GUI_Surface *image);
__attribute__((dllexport)) int GUI_PictureCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_PictureSetImage(GUI_Widget *widget, GUI_Surface *image);
__attribute__((dllexport)) void GUI_PictureSetCaption(GUI_Widget *widget, GUI_Widget *caption);



__attribute__((dllexport)) GUI_Widget *GUI_ProgressBarCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_ProgressBarCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ProgressBarSetImage1(GUI_Widget *widget, GUI_Surface *image);
__attribute__((dllexport)) void GUI_ProgressBarSetImage2(GUI_Widget *widget, GUI_Surface *image);
__attribute__((dllexport)) void GUI_ProgressBarSetPosition(GUI_Widget *widget, double value);



__attribute__((dllexport)) GUI_Widget *GUI_ScrollBarCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_ScrollBarCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_ScrollBarSetKnobImage(GUI_Widget *widget, GUI_Surface *image);
__attribute__((dllexport)) void GUI_ScrollBarSetBackgroundImage(GUI_Widget *widget, GUI_Surface *image);
__attribute__((dllexport)) void GUI_ScrollBarSetPosition(GUI_Widget *widget, int value);
__attribute__((dllexport)) void GUI_ScrollBarSetPageStep(GUI_Widget *widget, int value);
__attribute__((dllexport)) void GUI_ScrollBarSetMovedCallback(GUI_Widget *widget, GUI_Callback *callback);
__attribute__((dllexport)) int GUI_ScrollBarGetPosition(GUI_Widget *widget);



__attribute__((dllexport)) GUI_Widget *GUI_CardStackCreate(const char *name, int x, int y, int w, int h);
__attribute__((dllexport)) int GUI_CardStackCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_CardStackSetBackground(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_CardStackSetBackgroundColor(GUI_Widget *widget, SDL_Color c);
__attribute__((dllexport)) void GUI_CardStackNext(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_CardStackPrev(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_CardStackShowIndex(GUI_Widget *widget, int index);
__attribute__((dllexport)) void GUI_CardStackShow(GUI_Widget *widget, const char *name);
__attribute__((dllexport)) int GUI_CardStackGetIndex(GUI_Widget *widget);



__attribute__((dllexport)) GUI_Widget *GUI_TextEntryCreate(const char *name, int x, int y, int w, int h, GUI_Font *font, int size);
__attribute__((dllexport)) int GUI_TextEntryCheck(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_TextEntrySetFont(GUI_Widget *widget, GUI_Font *font);
__attribute__((dllexport)) void GUI_TextEntrySetTextColor(GUI_Widget *widget, int r, int g, int b);
__attribute__((dllexport)) void GUI_TextEntrySetText(GUI_Widget *widget, const char *text);
__attribute__((dllexport)) const char *GUI_TextEntryGetText(GUI_Widget *widget);
__attribute__((dllexport)) void GUI_TextEntrySetNormalImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_TextEntrySetHighlightImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_TextEntrySetFocusImage(GUI_Widget *widget, GUI_Surface *surface);
__attribute__((dllexport)) void GUI_TextEntrySetFocusCallback(GUI_Widget *widget, GUI_Callback *callback);
__attribute__((dllexport)) void GUI_TextEntrySetUnfocusCallback(GUI_Widget *widget, GUI_Callback *callback);


};
# 5 "SDL_gui.cc" 2
# 1 "/usr/local/include/SDL/SDL_thread.h" 1
# 36 "/usr/local/include/SDL/SDL_thread.h"
# 1 "/usr/local/include/SDL/SDL_main.h" 1
# 37 "/usr/local/include/SDL/SDL_thread.h" 2
# 1 "/usr/local/include/SDL/SDL_types.h" 1
# 38 "/usr/local/include/SDL/SDL_thread.h" 2


# 1 "/usr/local/include/SDL/SDL_mutex.h" 1
# 41 "/usr/local/include/SDL/SDL_thread.h" 2

# 1 "/usr/local/include/SDL/begin_code.h" 1
# 43 "/usr/local/include/SDL/SDL_thread.h" 2


extern "C" {



struct SDL_Thread;
typedef struct SDL_Thread SDL_Thread;


extern __attribute__((dllexport)) SDL_Thread * SDL_CreateThread(int (*fn)(void *), void *data);


extern __attribute__((dllexport)) Uint32 SDL_ThreadID(void);




extern __attribute__((dllexport)) Uint32 SDL_GetThreadID(SDL_Thread *thread);





extern __attribute__((dllexport)) void SDL_WaitThread(SDL_Thread *thread, int *status);


extern __attribute__((dllexport)) void SDL_KillThread(SDL_Thread *thread);




}

# 1 "/usr/local/include/SDL/close_code.h" 1
# 78 "/usr/local/include/SDL/SDL_thread.h" 2
# 6 "SDL_gui.cc" 2

static GUI_Screen *screen=0;
static int gui_running = 0;
static SDL_mutex *gui_mutex=0;
static Uint32 gui_thread=0;

GUI_Screen *GUI_GetScreen()
{
        return screen;
}

void GUI_SetScreen(GUI_Screen *new_screen)
{

        screen = new_screen;
}

int GUI_GetRunning()
{
        return gui_running;
}

void GUI_SetRunning(int value)
{
        gui_running = value;
}

int GUI_Lock()
{
        return SDL_mutexP(gui_mutex);
}

int GUI_Unlock()
{
        return SDL_mutexV(gui_mutex);
}

int GUI_MustLock()
{
        return (SDL_ThreadID() != gui_thread);
}

int GUI_Init(void)
{
        SDL_EnableUNICODE(1);
        gui_mutex = SDL_CreateMutex();

        return 0;
}

void GUI_SetThread(Uint32 id)
{
        gui_thread = id;
}

void GUI_Run()
{
        SDL_Event event;

        GUI_SetThread(SDL_ThreadID());

        GUI_SetRunning(1);


        screen->DoUpdate(1);


        while (GUI_GetRunning())
        {
                SDL_WaitEvent(&event);
                do
                {
                        GUI_Lock();
                        screen->Event(&event, 0, 0);
                        GUI_Unlock();
                } while (SDL_PollEvent(&event));

                GUI_Lock();
                screen->DoUpdate(0);
                GUI_Unlock();
        }
}

void GUI_Quit()
{
        SDL_DestroyMutex(gui_mutex);
}

int GUI_ClipRect(SDL_Rect *sr, SDL_Rect *dr, SDL_Rect *clip)
{
        int dx = dr->x;
        int dy = dr->y;
        int dw = dr->w;
        int dh = dr->h;
        int cx = clip->x;
        int cy = clip->y;
        int cw = clip->w;
        int ch = clip->h;







        int adj = cx - dx;
        if (adj > 0)
        {
                if (adj > dw)
                        return 0;
                dx += adj;
                dw -= adj;
                if (sr != __null)
                {
                        sr->x += adj;
                        sr->w -= adj;
                }



        }
        adj = cy - dy;
        if (adj > 0)
        {
                if (adj > dh)
                        return 0;
                dy += adj;
                dh -= adj;
                if (sr != __null)
                {
                        sr->y += adj;
                        sr->h -= adj;
                }



        }
        adj = (dx + dw) - (cx + cw);
        if (adj > 0)
        {



                if (adj > dw)
                        return 0;
                dw -= adj;
                if (sr != __null)
                        sr->w -= adj;
        }
        adj = (dy + dh) - (cy + ch);
        if (adj > 0)
        {



                if (adj > dh)
                        return 0;
                dh -= adj;
                if (sr != __null)
                        sr->h -= adj;
        }







        dr->x = dx;
        dr->y = dy;
        dr->w = dw;
        dr->h = dh;
        return 1;
}

void GUI_TriggerUpdate()
{
        SDL_Event e;

        e.type = SDL_USEREVENT;
        e.user.code = 0;
        SDL_PushEvent(&e);
}




# 1 "/usr/include/mingw/windows.h" 1
# 77 "/usr/include/mingw/windows.h"
# 1 "/usr/include/mingw/stdarg.h" 1
# 78 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/windef.h" 1



extern "C" {
# 118 "/usr/include/mingw/windef.h"
typedef unsigned long DWORD;
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;


typedef WINBOOL BOOL;



typedef BOOL *PBOOL,*LPBOOL;
typedef unsigned char BYTE;
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;

# 1 "/usr/include/mingw/winnt.h" 1




extern "C" {


# 1 "/usr/include/mingw/winerror.h" 1
# 9 "/usr/include/mingw/winnt.h" 2
# 22 "/usr/include/mingw/winnt.h"
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;
# 43 "/usr/include/mingw/winnt.h"
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;





typedef CHAR TCHAR;


typedef TCHAR TBYTE,*PTCH,*PTBYTE;
typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
typedef const TCHAR *LPCTSTR;
# 67 "/usr/include/mingw/winnt.h"
typedef SHORT *PSHORT;
typedef LONG *PLONG;
typedef void *HANDLE;
typedef HANDLE *PHANDLE,*LPHANDLE;





typedef DWORD LCID;
typedef PDWORD PLCID;
typedef WORD LANGID;







typedef long long LONGLONG;
typedef unsigned long long DWORDLONG;



typedef LONGLONG *PLONGLONG;
typedef DWORDLONG *PDWORDLONG;
typedef DWORDLONG ULONGLONG,*PULONGLONG;
typedef LONGLONG USN;
# 104 "/usr/include/mingw/winnt.h"
typedef BYTE BOOLEAN,*PBOOLEAN;
# 872 "/usr/include/mingw/winnt.h"
typedef DWORD ACCESS_MASK;
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 _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;
# 921 "/usr/include/mingw/winnt.h"
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;
} CONTEXT;
# 1388 "/usr/include/mingw/winnt.h"
typedef CONTEXT *PCONTEXT,*LPCONTEXT;
typedef struct _EXCEPTION_RECORD {
        DWORD ExceptionCode;
        DWORD ExceptionFlags;
        struct _EXCEPTION_RECORD *ExceptionRecord;
        PVOID ExceptionAddress;
        DWORD NumberParameters;
        DWORD ExceptionInformation[15];
} 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;
        LONGLONG QuadPart;
} LARGE_INTEGER;
typedef LARGE_INTEGER *PLARGE_INTEGER;
typedef union _ULARGE_INTEGER {
        struct {
                DWORD LowPart;
                DWORD HighPart;
        }u;
        DWORDLONG QuadPart;
} ULARGE_INTEGER;
typedef 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[1];
typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
typedef struct _PRIVILEGE_SET {
        DWORD PrivilegeCount;
        DWORD Control;
        LUID_AND_ATTRIBUTES Privilege[1];
} 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[1];
} SID, *PISID;

typedef struct _SID_AND_ATTRIBUTES {
        PSID Sid;
        DWORD Attributes;
} SID_AND_ATTRIBUTES;
typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1];
typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
typedef struct _TOKEN_SOURCE {
        CHAR SourceName[8];
        LUID SourceIdentifier;
} TOKEN_SOURCE;
typedef struct _TOKEN_CONTROL {
        LUID TokenId;
        LUID AuthenticationId;
        LUID ModifiedId;
        TOKEN_SOURCE TokenSource;
} TOKEN_CONTROL;
typedef struct _TOKEN_DEFAULT_DACL {
        PACL DefaultDacl;
} TOKEN_DEFAULT_DACL;
typedef struct _TOKEN_GROUPS {
        DWORD GroupCount;
        SID_AND_ATTRIBUTES Groups[1];
} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
typedef struct _TOKEN_OWNER {
        PSID Owner;
} TOKEN_OWNER;
typedef struct _TOKEN_PRIMARY_GROUP {
        PSID PrimaryGroup;
} TOKEN_PRIMARY_GROUP;
typedef struct _TOKEN_PRIVILEGES {
        DWORD PrivilegeCount;
        LUID_AND_ATTRIBUTES Privileges[1];
} 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;
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
} 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 _FILE_NOTIFY_INFORMATION {
        DWORD NextEntryOffset;
        DWORD Action;
        DWORD FileNameLength;
        WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
typedef struct _TAPE_ERASE {
        ULONG Type;
} 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 {
        ULONG Operation;
} 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 {
        ULONG Method;
        ULONG Partition;
        ULONG OffsetLow;
        ULONG OffsetHigh;
} TAPE_SET_POSITION,*PTAPE_SET_POSITION;
typedef struct _TAPE_WRITE_MARKS {
        ULONG Type;
        ULONG Count;
} 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 _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;
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[16];
} 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;
typedef struct _IMAGE_DOS_HEADER {
        WORD e_magic;
        WORD e_cblp;
        WORD e_cp;
        WORD e_crlc;
        WORD e_cparhdr;
        WORD e_minalloc;
        WORD e_maxalloc;
        WORD e_ss;
        WORD e_sp;
        WORD e_csum;
        WORD e_ip;
        WORD e_cs;
        WORD e_lfarlc;
        WORD e_ovno;
        WORD e_res[4];
        WORD e_oemid;
        WORD e_oeminfo;
        WORD e_res2[10];
        LONG e_lfanew;
} IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
typedef struct _IMAGE_OS2_HEADER {
        WORD ne_magic;
        CHAR ne_ver;
        CHAR ne_rev;
        WORD ne_enttab;
        WORD ne_cbenttab;
        LONG ne_crc;
        WORD ne_flags;
        WORD ne_autodata;
        WORD ne_heap;
        WORD ne_stack;
        LONG ne_csip;
        LONG ne_sssp;
        WORD ne_cseg;
        WORD ne_cmod;
        WORD ne_cbnrestab;
        WORD ne_segtab;
        WORD ne_rsrctab;
        WORD ne_restab;
        WORD ne_modtab;
        WORD ne_imptab;
        LONG ne_nrestab;
        WORD ne_cmovent;
        WORD ne_align;
        WORD ne_cres;
        BYTE ne_exetyp;
        BYTE ne_flagsothers;
        WORD ne_pretthunks;
        WORD ne_psegrefbytes;
        WORD ne_swaparea;
        WORD ne_expver;
} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER;
typedef struct _IMAGE_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[8];
        union {
                DWORD PhysicalAddress;
                DWORD VirtualSize;
        } Misc;
        DWORD VirtualAddress;
        DWORD SizeOfRawData;
        DWORD PointerToRawData;
        DWORD PointerToRelocations;
        DWORD PointerToLinenumbers;
        WORD NumberOfRelocations;
        WORD NumberOfLinenumbers;
        DWORD Characteristics;
} IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER;
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[18];
        } 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 {
        union {
                DWORD VirtualAddress;
                DWORD RelocCount;
        } ;
        DWORD SymbolTableIndex;
        WORD Type;
} IMAGE_RELOCATION,*PIMAGE_RELOCATION;
typedef struct _IMAGE_BASE_RELOCATION {
        DWORD VirtualAddress;
        DWORD SizeOfBlock;
} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION;
typedef struct _IMAGE_LINENUMBER {
        union {
                DWORD SymbolTableIndex;
                DWORD VirtualAddress;
        } Type;
        WORD Linenumber;
} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER;
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 {
        union {
                DWORD Characteristics;
                PIMAGE_THUNK_DATA OriginalFirstThunk;
        } ;
        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(__attribute__((__stdcall__)) *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;
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
        union {
                struct {
                        DWORD NameOffset:31;
                        DWORD NameIsString:1;
                }s;
                DWORD Name;
                WORD Id;
        } ;
        union {
                DWORD OffsetToData;
                struct {
                        DWORD OffsetToDirectory:31;
                        DWORD DataIsDirectory:1;
                } s2;
        } ;
} 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;
typedef enum _CM_SERVICE_NODE_TYPE {
        DriverType=1,
        FileSystemType=2,
        Win32ServiceOwnProcess=16,
        Win32ServiceShareProcess=32,
        AdapterType=4,
        RecognizerType=8
} SERVICE_NODE_TYPE;
typedef enum _CM_SERVICE_LOAD_TYPE {
        BootLoad=0,
        SystemLoad=1,
        AutoLoad=2,
        DemandLoad=3,
        DisableLoad=4
} SERVICE_LOAD_TYPE;
typedef enum _CM_ERROR_CONTROL_TYPE {
        IgnoreError=0,
        NormalError=1,
        SevereError=2,
        CriticalError=3
} SERVICE_ERROR_TYPE;

PVOID GetCurrentFiber(void);
PVOID GetFiberData(void);


}
# 142 "/usr/include/mingw/windef.h" 2

typedef UINT WPARAM;
typedef LONG LPARAM;
typedef LONG LRESULT;
typedef LONG HRESULT;
typedef WORD ATOM;
typedef HANDLE HGLOBAL;
typedef HANDLE HLOCAL;
typedef HANDLE GLOBALHANDLE;
typedef HANDLE LOCALHANDLE;
typedef void *HGDIOBJ;
typedef struct HACCEL__{int i;}*HACCEL;
typedef struct HBITMAP__{int i;}*HBITMAP;
typedef struct HBRUSH__{int i;}*HBRUSH;
typedef struct HCOLORSPACE__{int i;}*HCOLORSPACE;
typedef struct HDC__{int i;}*HDC;
typedef struct HGLRC__{int i;}*HGLRC;
typedef struct HDESK__{int i;}*HDESK;
typedef struct HENHMETAFILE__{int i;}*HENHMETAFILE;
typedef struct HFONT__{int i;}*HFONT;
typedef struct HICON__{int i;}*HICON;
typedef struct HKEY__{int i;}*HKEY;
typedef HKEY *PHKEY;
typedef struct HMENU__{int i;}*HMENU;
typedef struct HMETAFILE__{int i;}*HMETAFILE;
typedef struct HINSTANCE__{int i;}*HINSTANCE;
typedef HINSTANCE HMODULE;
typedef struct HPALETTE__{int i;}*HPALETTE;
typedef struct HPEN__{int i;}*HPEN;
typedef struct HRGN__{int i;}*HRGN;
typedef struct HRSRC__{int i;}*HRSRC;
typedef struct HSTR__{int i;}*HSTR;
typedef struct HTASK__{int i;}*HTASK;
typedef struct HWND__{int i;}*HWND;
typedef struct HWINSTA__{int i;}*HWINSTA;
typedef struct HKL__{int i;}*HKL;
typedef int HFILE;
typedef HICON HCURSOR;
typedef DWORD COLORREF;
typedef int (__attribute__((__stdcall__)) *FARPROC)();
typedef int (__attribute__((__stdcall__)) *NEARPROC)();
typedef int (__attribute__((__stdcall__)) *PROC)();
typedef struct tagRECT {
        LONG left;
        LONG top;
        LONG right;
        LONG bottom;
} RECT,RECTL,*LPRECT,*LPRECTL;
typedef const RECT *LPCRECT,*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;


}
# 79 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/wincon.h" 1




extern "C" {
# 51 "/usr/include/mingw/wincon.h"
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(__attribute__((__stdcall__)) *PHANDLER_ROUTINE)(DWORD);
typedef struct _KEY_EVENT_RECORD {
        BOOL bKeyDown;
        WORD wRepeatCount;
        WORD wVirtualKeyCode;
        WORD wVirtualScanCode;
        union {
                WCHAR UnicodeChar;
                CHAR AsciiChar;
        } uChar;
        DWORD dwControlKeyState;
}


 __attribute__((packed))

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 __attribute__((__stdcall__)) AllocConsole(void);
HANDLE __attribute__((__stdcall__)) CreateConsoleScreenBuffer(DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) FlushConsoleInputBuffer(HANDLE);
BOOL __attribute__((__stdcall__)) FreeConsole(void);
BOOL __attribute__((__stdcall__)) GenerateConsoleCtrlEvent(DWORD,DWORD);
UINT __attribute__((__stdcall__)) GetConsoleCP(void);
BOOL __attribute__((__stdcall__)) GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
BOOL __attribute__((__stdcall__)) GetConsoleMode(HANDLE,PDWORD);
UINT __attribute__((__stdcall__)) GetConsoleOutputCP(void);
BOOL __attribute__((__stdcall__)) GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
DWORD __attribute__((__stdcall__)) GetConsoleTitleA(LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetConsoleTitleW(LPWSTR,DWORD);
COORD __attribute__((__stdcall__)) GetLargestConsoleWindowSize(HANDLE);
BOOL __attribute__((__stdcall__)) GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetNumberOfConsoleMouseButtons(PDWORD);
BOOL __attribute__((__stdcall__)) PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
BOOL __attribute__((__stdcall__)) ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
BOOL __attribute__((__stdcall__)) ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
BOOL __attribute__((__stdcall__)) ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
BOOL __attribute__((__stdcall__)) ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
BOOL __attribute__((__stdcall__)) ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
BOOL __attribute__((__stdcall__)) SetConsoleActiveScreenBuffer(HANDLE);
BOOL __attribute__((__stdcall__)) SetConsoleCP(UINT);
BOOL __attribute__((__stdcall__)) SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
BOOL __attribute__((__stdcall__)) SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
BOOL __attribute__((__stdcall__)) SetConsoleCursorPosition(HANDLE,COORD);
BOOL __attribute__((__stdcall__)) SetConsoleMode(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetConsoleOutputCP(UINT);
BOOL __attribute__((__stdcall__)) SetConsoleScreenBufferSize(HANDLE,COORD);
BOOL __attribute__((__stdcall__)) SetConsoleTextAttribute(HANDLE,WORD);
BOOL __attribute__((__stdcall__)) SetConsoleTitleA(LPCSTR);
BOOL __attribute__((__stdcall__)) SetConsoleTitleW(LPCWSTR);
BOOL __attribute__((__stdcall__)) SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
BOOL __attribute__((__stdcall__)) WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
BOOL __attribute__((__stdcall__)) WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
BOOL __attribute__((__stdcall__)) WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
BOOL __attribute__((__stdcall__)) WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
BOOL __attribute__((__stdcall__)) WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
BOOL __attribute__((__stdcall__)) WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
# 201 "/usr/include/mingw/wincon.h"
}
# 80 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/basetyps.h" 1
# 79 "/usr/include/mingw/basetyps.h"
typedef struct _GUID
{
    unsigned long Data1;
    unsigned short Data2;
    unsigned short Data3;
    unsigned char Data4[8];
} GUID;

typedef GUID *REFGUID;
typedef GUID *LPGUID;


typedef GUID UUID;

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;

typedef unsigned long PROPID;
# 81 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/excpt.h" 1
# 82 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winbase.h" 1




extern "C" {
# 497 "/usr/include/mingw/winbase.h"
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 (__attribute__((__stdcall__)) *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 Depth;
        PVOID OwnerBackTrace[5];
} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG;
typedef struct _CRITICAL_SECTION {
        PCRITICAL_SECTION_DEBUG DebugInfo;
        LONG LockCount;
        LONG RecursionCount;
        HANDLE OwningThread;
        HANDLE LockSemaphore;
        DWORD Reserved;
} 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[260];
        CHAR cAlternateFileName[14];
        WORD dummy;
} 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[260];
        WCHAR cAlternateFileName[14];
        WORD dummy;
} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
typedef struct _WIN32_STREAM_ID {
        DWORD dwStreamId;
        DWORD dwStreamAttributes;
        LARGE_INTEGER Size;
        DWORD dwStreamNameSize;
        WCHAR cStreamName[1];
} 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[39];
        CHAR szHwProfileName[80];
} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA;
typedef struct tagHW_PROFILE_INFOW {
        DWORD dwDockInfo;
        WCHAR szHwProfileGuid[39];
        WCHAR szHwProfileName[80];
} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW;
typedef enum _GET_FILEEX_INFO_LEVELS {
        GetFileExInfoStandard,
        GetFileExMaxInfoLevel
} GET_FILEEX_INFO_LEVELS;
typedef struct _SYSTEM_INFO {
        union {
                DWORD dwOemId;
                struct {
                        WORD wProcessorArchitecture;
                        WORD wReserved;
                } s;
        } ;
        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 _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 _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;
        union {
                struct {
                        HANDLE hMem;
                        DWORD dwReserved[3];
                } Block;
                struct {
                        DWORD dwCommittedSize;
                        DWORD dwUnCommittedSize;
                        LPVOID lpFirstBlock;
                        LPVOID lpLastBlock;
                } Region;
        } ;
} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY;
typedef struct _OFSTRUCT {
        BYTE cBytes;
        BYTE fFixedDisk;
        WORD nErrCode;
        WORD Reserved1;
        WORD Reserved2;
        CHAR szPathName[128];
} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT;
typedef struct _WIN_CERTIFICATE {
      DWORD dwLength;
      WORD wRevision;
      WORD wCertificateType;
      BYTE bCertificate[1];
} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;

typedef DWORD(__attribute__((__stdcall__)) *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID);
typedef void(__attribute__((__stdcall__)) *LPFIBER_START_ROUTINE)(PVOID);
typedef BOOL(__attribute__((__stdcall__)) *ENUMRESLANGPROC)(HANDLE,LPCTSTR,LPCTSTR,WORD,LONG);
typedef BOOL(__attribute__((__stdcall__)) *ENUMRESNAMEPROC)(HANDLE,LPCTSTR,LPTSTR,LONG);
typedef BOOL(__attribute__((__stdcall__)) *ENUMRESTYPEPROC)(HANDLE,LPTSTR,LONG);
typedef void(__attribute__((__stdcall__)) *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
typedef LONG(__attribute__((__stdcall__)) *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
typedef void(__attribute__((__stdcall__)) *PAPCFUNC)(DWORD);
typedef void(__attribute__((__stdcall__)) *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);



int __attribute__((__stdcall__)) WinMain(HINSTANCE,HINSTANCE,LPSTR,int);



int __attribute__((__stdcall__)) wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
long __attribute__((__stdcall__)) _hread(HFILE,LPVOID,long);
long __attribute__((__stdcall__)) _hwrite(HFILE,LPCSTR,long);
HFILE __attribute__((__stdcall__)) _lclose(HFILE);
HFILE __attribute__((__stdcall__)) _lcreat(LPCSTR,int);
LONG __attribute__((__stdcall__)) _llseek(HFILE,LONG,int);
HFILE __attribute__((__stdcall__)) _lopen(LPCSTR,int);
UINT __attribute__((__stdcall__)) _lread(HFILE,LPVOID,UINT);
UINT __attribute__((__stdcall__)) _lwrite(HFILE,LPCSTR,UINT);

BOOL __attribute__((__stdcall__)) AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
BOOL __attribute__((__stdcall__)) AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
BOOL __attribute__((__stdcall__)) AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
BOOL __attribute__((__stdcall__)) AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
BOOL __attribute__((__stdcall__)) AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
BOOL __attribute__((__stdcall__)) AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
ATOM __attribute__((__stdcall__)) AddAtomA(LPCSTR);
ATOM __attribute__((__stdcall__)) AddAtomW(LPCWSTR);
BOOL __attribute__((__stdcall__)) AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
BOOL __attribute__((__stdcall__)) AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
BOOL __attribute__((__stdcall__)) AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
BOOL __attribute__((__stdcall__)) AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
BOOL __attribute__((__stdcall__)) AllocateLocallyUniqueId(PLUID);
BOOL __attribute__((__stdcall__)) AreAllAccessesGranted(DWORD,DWORD);
BOOL __attribute__((__stdcall__)) AreAnyAccessesGranted(DWORD,DWORD);
BOOL __attribute__((__stdcall__)) AreFileApisANSI(void);
BOOL __attribute__((__stdcall__)) BackupEventLogA(HANDLE,LPCSTR);
BOOL __attribute__((__stdcall__)) BackupEventLogW(HANDLE,LPCWSTR);
BOOL __attribute__((__stdcall__)) BackupRead(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID);
BOOL __attribute__((__stdcall__)) BackupSeek(HANDLE,DWORD,DWORD,PDWORD,PDWORD,PVOID);
BOOL __attribute__((__stdcall__)) BackupWrite(HANDLE,PBYTE,DWORD,PDWORD,BOOL,BOOL,PVOID);
BOOL __attribute__((__stdcall__)) Beep(DWORD,DWORD);
HANDLE __attribute__((__stdcall__)) BeginUpdateResourceA(LPCSTR,BOOL);
HANDLE __attribute__((__stdcall__)) BeginUpdateResourceW(LPCWSTR,BOOL);
BOOL __attribute__((__stdcall__)) BuildCommDCBA(LPCSTR,LPDCB);
BOOL __attribute__((__stdcall__)) BuildCommDCBW(LPCWSTR,LPDCB);
BOOL __attribute__((__stdcall__)) BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
BOOL __attribute__((__stdcall__)) BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
BOOL __attribute__((__stdcall__)) CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
BOOL __attribute__((__stdcall__)) CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
BOOL __attribute__((__stdcall__)) CancelIO(HANDLE);
BOOL __attribute__((__stdcall__)) CancelWaitableTimer(HANDLE);
BOOL __attribute__((__stdcall__)) ClearCommBreak(HANDLE);
BOOL __attribute__((__stdcall__)) ClearCommError(HANDLE,PDWORD,LPCOMSTAT);
BOOL __attribute__((__stdcall__)) ClearEventLogA(HANDLE,LPCSTR);
BOOL __attribute__((__stdcall__)) ClearEventLogW(HANDLE,LPCWSTR);
BOOL __attribute__((__stdcall__)) CloseEventLog(HANDLE);
BOOL __attribute__((__stdcall__)) CloseHandle(HANDLE);
BOOL __attribute__((__stdcall__)) CommConfigDialogA(LPSTR,HWND,LPCOMMCONFIG);
BOOL __attribute__((__stdcall__)) CommConfigDialogW(LPWSTR,HWND,LPCOMMCONFIG);
LONG __attribute__((__stdcall__)) CompareFileTime(const FILETIME*,const FILETIME*);
BOOL __attribute__((__stdcall__)) ConnectNamedPipe(HANDLE,LPOVERLAPPED);
BOOL __attribute__((__stdcall__)) ContinueDebugEvent(DWORD,DWORD,DWORD);
PVOID __attribute__((__stdcall__)) ConvertThreadToFiber(PVOID);
BOOL __attribute__((__stdcall__)) CopyFileA(LPCSTR,LPCSTR,BOOL);
BOOL __attribute__((__stdcall__)) CopyFileW(LPCWSTR,LPCWSTR,BOOL);
BOOL __attribute__((__stdcall__)) CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
BOOL __attribute__((__stdcall__)) CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
# 1008 "/usr/include/mingw/winbase.h"
BOOL __attribute__((__stdcall__)) CopySid(DWORD,PSID,PSID);
BOOL __attribute__((__stdcall__)) CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
BOOL __attribute__((__stdcall__)) CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
BOOL __attribute__((__stdcall__)) CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
BOOL __attribute__((__stdcall__)) CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
HANDLE __attribute__((__stdcall__)) CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
LPVOID __attribute__((__stdcall__)) CreateFiber(DWORD,LPFIBER_START_ROUTINE,LPVOID);
HANDLE __attribute__((__stdcall__)) CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
HANDLE __attribute__((__stdcall__)) CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
HANDLE __attribute__((__stdcall__)) CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
HANDLE __attribute__((__stdcall__)) CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
HANDLE __attribute__((__stdcall__)) CreateIoCompletionPort(HANDLE,HANDLE,DWORD,DWORD);
HANDLE __attribute__((__stdcall__)) CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
HANDLE __attribute__((__stdcall__)) CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
HANDLE __attribute__((__stdcall__)) CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
HANDLE __attribute__((__stdcall__)) CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
HANDLE __attribute__((__stdcall__)) CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
BOOL __attribute__((__stdcall__)) CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
BOOL __attribute__((__stdcall__)) CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
BOOL __attribute__((__stdcall__)) CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
BOOL __attribute__((__stdcall__)) CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
BOOL __attribute__((__stdcall__)) CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
BOOL __attribute__((__stdcall__)) CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
HANDLE __attribute__((__stdcall__)) CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
HANDLE __attribute__((__stdcall__)) CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
HANDLE __attribute__((__stdcall__)) CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
DWORD __attribute__((__stdcall__)) CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
HANDLE __attribute__((__stdcall__)) CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
HANDLE __attribute__((__stdcall__)) CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
BOOL __attribute__((__stdcall__)) DebugActiveProcess(DWORD);
void __attribute__((__stdcall__)) DebugBreak(void);
BOOL __attribute__((__stdcall__)) DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);

BOOL __attribute__((__stdcall__)) DeleteAce(PACL,DWORD);
ATOM __attribute__((__stdcall__)) DeleteAtom(ATOM);
void __attribute__((__stdcall__)) DeleteCriticalSection(PCRITICAL_SECTION);
void __attribute__((__stdcall__)) DeleteFiber(PVOID);
BOOL __attribute__((__stdcall__)) DeleteFileA(LPCSTR);
BOOL __attribute__((__stdcall__)) DeleteFileW(LPCWSTR);
BOOL __attribute__((__stdcall__)) DeregisterEventSource(HANDLE);
BOOL __attribute__((__stdcall__)) DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
BOOL __attribute__((__stdcall__)) DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
BOOL __attribute__((__stdcall__)) DisableThreadLibraryCalls(HMODULE);
BOOL __attribute__((__stdcall__)) DisconnectNamedPipe(HANDLE);
BOOL __attribute__((__stdcall__)) DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
BOOL __attribute__((__stdcall__)) DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
BOOL __attribute__((__stdcall__)) DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
BOOL __attribute__((__stdcall__)) DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
BOOL __attribute__((__stdcall__)) EndUpdateResourceA(HANDLE,BOOL);
BOOL __attribute__((__stdcall__)) EndUpdateResourceW(HANDLE,BOOL);
void __attribute__((__stdcall__)) EnterCriticalSection(LPCRITICAL_SECTION);
BOOL __attribute__((__stdcall__)) EnumResourceLanguagesA(HINSTANCE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG);
BOOL __attribute__((__stdcall__)) EnumResourceLanguagesW(HINSTANCE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG);
BOOL __attribute__((__stdcall__)) EnumResourceNamesA(HINSTANCE,LPCSTR,ENUMRESNAMEPROC,LONG);
BOOL __attribute__((__stdcall__)) EnumResourceNamesW(HINSTANCE,LPCWSTR,ENUMRESNAMEPROC,LONG);
BOOL __attribute__((__stdcall__)) EnumResourceTypesA(HINSTANCE,ENUMRESTYPEPROC,LONG);
BOOL __attribute__((__stdcall__)) EnumResourceTypesW(HINSTANCE,ENUMRESTYPEPROC,LONG);
BOOL __attribute__((__stdcall__)) EqualPrefixSid(PSID,PSID);
BOOL __attribute__((__stdcall__)) EqualSid(PSID,PSID);
DWORD __attribute__((__stdcall__)) EraseTape(HANDLE,DWORD,BOOL);
BOOL __attribute__((__stdcall__)) EscapeCommFunction(HANDLE,DWORD);
__attribute__((noreturn)) void __attribute__((__stdcall__)) ExitProcess(UINT);
__attribute__((noreturn)) void __attribute__((__stdcall__)) ExitThread(DWORD);
DWORD __attribute__((__stdcall__)) ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
void __attribute__((__stdcall__)) FatalAppExitA(UINT,LPCSTR);
void __attribute__((__stdcall__)) FatalAppExitW(UINT,LPCWSTR);
void __attribute__((__stdcall__)) FatalExit(int);
BOOL __attribute__((__stdcall__)) FileTimeToDosDateTime(const FILETIME *,LPWORD,LPWORD);
BOOL __attribute__((__stdcall__)) FileTimeToLocalFileTime(FILETIME *,LPFILETIME);
BOOL __attribute__((__stdcall__)) FileTimeToSystemTime(const FILETIME *,LPSYSTEMTIME);
ATOM __attribute__((__stdcall__)) FindAtomA(LPCSTR);
ATOM __attribute__((__stdcall__)) FindAtomW(LPCWSTR);
BOOL __attribute__((__stdcall__)) FindClose(HANDLE);
BOOL __attribute__((__stdcall__)) FindCloseChangeNotification(HANDLE);
HANDLE __attribute__((__stdcall__)) FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
HANDLE __attribute__((__stdcall__)) FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
HANDLE __attribute__((__stdcall__)) FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
HANDLE __attribute__((__stdcall__)) FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
HANDLE __attribute__((__stdcall__)) FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
HANDLE __attribute__((__stdcall__)) FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) FindFirstFreeAce(PACL,PVOID*);
BOOL __attribute__((__stdcall__)) FindNextChangeNotification(HANDLE);
BOOL __attribute__((__stdcall__)) FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
BOOL __attribute__((__stdcall__)) FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
HRSRC __attribute__((__stdcall__)) FindResourceA(HMODULE,LPCSTR,LPCSTR);
HRSRC __attribute__((__stdcall__)) FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR);
HRSRC __attribute__((__stdcall__)) FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD);
HRSRC __attribute__((__stdcall__)) FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
BOOL __attribute__((__stdcall__)) FlushFileBuffers(HANDLE);
BOOL __attribute__((__stdcall__)) FlushInstructionCache(HANDLE,PCVOID,DWORD);
BOOL __attribute__((__stdcall__)) FlushViewOfFile(PCVOID,DWORD);
DWORD __attribute__((__stdcall__)) FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
DWORD __attribute__((__stdcall__)) FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
BOOL __attribute__((__stdcall__)) FreeEnvironmentStringsA(LPSTR);
BOOL __attribute__((__stdcall__)) FreeEnvironmentStringsW(LPWSTR);
BOOL __attribute__((__stdcall__)) FreeLibrary(HMODULE);
void __attribute__((__stdcall__)) FreeLibraryAndExitThread(HMODULE,DWORD);


BOOL __attribute__((__stdcall__)) FreeResource(HGLOBAL);
PVOID __attribute__((__stdcall__)) FreeSid(PSID);
BOOL __attribute__((__stdcall__)) GetAce(PACL,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
UINT __attribute__((__stdcall__)) GetAtomNameA(ATOM,LPSTR,int);
UINT __attribute__((__stdcall__)) GetAtomNameW(ATOM,LPWSTR,int);
BOOL __attribute__((__stdcall__)) GetBinaryTypeA(LPCSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetBinaryTypeW(LPCWSTR,PDWORD);
LPSTR __attribute__((__stdcall__)) GetCommandLineA(void);
LPWSTR __attribute__((__stdcall__)) GetCommandLineW(void);
BOOL __attribute__((__stdcall__)) GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD);
BOOL __attribute__((__stdcall__)) GetCommMask(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetCommModemStatus(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetCommProperties(HANDLE,LPCOMMPROP);
BOOL __attribute__((__stdcall__)) GetCommState(HANDLE,LPDCB);
BOOL __attribute__((__stdcall__)) GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
DWORD __attribute__((__stdcall__)) GetCompressedFileSizeA(LPCSTR,PDWORD);
DWORD __attribute__((__stdcall__)) GetCompressedFileSizeW(LPCWSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetComputerNameA(LPSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetComputerNameW(LPWSTR,PDWORD);
DWORD __attribute__((__stdcall__)) GetCurrentDirectoryA(DWORD,LPSTR);
DWORD __attribute__((__stdcall__)) GetCurrentDirectoryW(DWORD,LPWSTR);
BOOL __attribute__((__stdcall__)) GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
BOOL __attribute__((__stdcall__)) GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
HANDLE __attribute__((__stdcall__)) GetCurrentProcess(void);
DWORD __attribute__((__stdcall__)) GetCurrentProcessId(void);
HANDLE __attribute__((__stdcall__)) GetCurrentThread(void);
DWORD __attribute__((__stdcall__)) GetCurrentThreadId(void);

BOOL __attribute__((__stdcall__)) GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
BOOL __attribute__((__stdcall__)) GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
BOOL __attribute__((__stdcall__)) GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
BOOL __attribute__((__stdcall__)) GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
UINT __attribute__((__stdcall__)) GetDriveTypeA(LPCSTR);
UINT __attribute__((__stdcall__)) GetDriveTypeW(LPCWSTR);
LPSTR __attribute__((__stdcall__)) GetEnvironmentStrings(void);
LPSTR __attribute__((__stdcall__)) GetEnvironmentStringsA(void);
LPWSTR __attribute__((__stdcall__)) GetEnvironmentStringsW(void);
DWORD __attribute__((__stdcall__)) GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) GetExitCodeProcess(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetExitCodeThread(HANDLE,PDWORD);
DWORD __attribute__((__stdcall__)) GetFileAttributesA(LPCSTR);
DWORD __attribute__((__stdcall__)) GetFileAttributesW(LPCWSTR);
BOOL __attribute__((__stdcall__)) GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
BOOL __attribute__((__stdcall__)) GetFileAttributesExW(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
BOOL __attribute__((__stdcall__)) GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
BOOL __attribute__((__stdcall__)) GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetFileSize(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
DWORD __attribute__((__stdcall__)) GetFileType(HANDLE);

DWORD __attribute__((__stdcall__)) GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
DWORD __attribute__((__stdcall__)) GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
BOOL __attribute__((__stdcall__)) GetHandleInformation(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetLengthSid(PSID);
void __attribute__((__stdcall__)) GetLocalTime(LPSYSTEMTIME);
DWORD __attribute__((__stdcall__)) GetLogicalDrives(void);
DWORD __attribute__((__stdcall__)) GetLogicalDriveStringsA(DWORD,LPSTR);
DWORD __attribute__((__stdcall__)) GetLogicalDriveStringsW(DWORD,LPWSTR);
BOOL __attribute__((__stdcall__)) GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
HMODULE __attribute__((__stdcall__)) GetModuleHandleA(LPCSTR);
HMODULE __attribute__((__stdcall__)) GetModuleHandleW(LPCWSTR);
BOOL __attribute__((__stdcall__)) GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
BOOL __attribute__((__stdcall__)) GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetNumberOfEventLogRecords(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetOldestEventLogRecord(HANDLE,PDWORD);
BOOL __attribute__((__stdcall__)) GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
DWORD __attribute__((__stdcall__)) GetPriorityClass(HANDLE);
BOOL __attribute__((__stdcall__)) GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
UINT __attribute__((__stdcall__)) GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
UINT __attribute__((__stdcall__)) GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR);
DWORD __attribute__((__stdcall__)) GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR);
BOOL __attribute__((__stdcall__)) GetPrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) GetPrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR);
FARPROC __attribute__((__stdcall__)) GetProcAddress(HINSTANCE,LPCSTR);
BOOL __attribute__((__stdcall__)) GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
HANDLE __attribute__((__stdcall__)) GetProcessHeap(void);
DWORD __attribute__((__stdcall__)) GetProcessHeaps(DWORD,PHANDLE);
BOOL __attribute__((__stdcall__)) GetProcessPriorityBoost(HANDLE,PBOOL);
BOOL __attribute__((__stdcall__)) GetProcessShutdownParameters(PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
DWORD __attribute__((__stdcall__)) GetProcessVersion(DWORD);
HWINSTA __attribute__((__stdcall__)) GetProcessWindowStation(void);
BOOL __attribute__((__stdcall__)) GetProcessWorkingSetSize(HANDLE,PDWORD,PDWORD);
UINT __attribute__((__stdcall__)) GetProfileIntA(LPCSTR,LPCSTR,INT);
UINT __attribute__((__stdcall__)) GetProfileIntW(LPCWSTR,LPCWSTR,INT);
DWORD __attribute__((__stdcall__)) GetProfileSectionA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) GetQueuedCompletionStatus(HANDLE,PDWORD,PDWORD,LPOVERLAPPED*,DWORD);
BOOL __attribute__((__stdcall__)) GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
BOOL __attribute__((__stdcall__)) GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
BOOL __attribute__((__stdcall__)) GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
DWORD __attribute__((__stdcall__)) GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
BOOL __attribute__((__stdcall__)) GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
DWORD __attribute__((__stdcall__)) GetShortPathNameA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
PSID_IDENTIFIER_AUTHORITY __attribute__((__stdcall__)) GetSidIdentifierAuthority(PSID);
DWORD __attribute__((__stdcall__)) GetSidLengthRequired(UCHAR);
PDWORD __attribute__((__stdcall__)) GetSidSubAuthority(PSID,DWORD);
PUCHAR __attribute__((__stdcall__)) GetSidSubAuthorityCount(PSID);
void __attribute__((__stdcall__)) GetStartupInfoA(LPSTARTUPINFOA);
void __attribute__((__stdcall__)) GetStartupInfoW(LPSTARTUPINFOW);
HANDLE __attribute__((__stdcall__)) GetStdHandle(DWORD);
UINT __attribute__((__stdcall__)) GetSystemDirectoryA(LPSTR,UINT);
UINT __attribute__((__stdcall__)) GetSystemDirectoryW(LPWSTR,UINT);
void __attribute__((__stdcall__)) GetSystemInfo(LPSYSTEM_INFO);
BOOL __attribute__((__stdcall__)) GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
void __attribute__((__stdcall__)) GetSystemTime(LPSYSTEMTIME);
BOOL __attribute__((__stdcall__)) GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
void __attribute__((__stdcall__)) GetSystemTimeAsFileTime(LPFILETIME);
DWORD __attribute__((__stdcall__)) GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID);
DWORD __attribute__((__stdcall__)) GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetTapeStatus(HANDLE);
UINT __attribute__((__stdcall__)) GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
UINT __attribute__((__stdcall__)) GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
DWORD __attribute__((__stdcall__)) GetTempPathA(DWORD,LPSTR);
DWORD __attribute__((__stdcall__)) GetTempPathW(DWORD,LPWSTR);
BOOL __attribute__((__stdcall__)) GetThreadContext(HANDLE,LPCONTEXT);
int __attribute__((__stdcall__)) GetThreadPriority(HANDLE);
BOOL __attribute__((__stdcall__)) GetThreadPriorityBoost(HANDLE,PBOOL);
BOOL __attribute__((__stdcall__)) GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
BOOL __attribute__((__stdcall__)) GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
DWORD __attribute__((__stdcall__)) GetTickCount(void);
DWORD __attribute__((__stdcall__)) GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
BOOL __attribute__((__stdcall__)) GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetUserNameA (LPSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetUserNameW(LPWSTR,PDWORD);
DWORD __attribute__((__stdcall__)) GetVersion(void);
BOOL __attribute__((__stdcall__)) GetVersionExA(LPOSVERSIONINFOA);
BOOL __attribute__((__stdcall__)) GetVersionExW(LPOSVERSIONINFOW);
BOOL __attribute__((__stdcall__)) GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
BOOL __attribute__((__stdcall__)) GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
UINT __attribute__((__stdcall__)) GetWindowsDirectoryA(LPSTR,UINT);
UINT __attribute__((__stdcall__)) GetWindowsDirectoryW(LPWSTR,UINT);
DWORD __attribute__((__stdcall__)) GetWindowThreadProcessId(HWND,PDWORD);
ATOM __attribute__((__stdcall__)) GlobalAddAtomA(LPCSTR);
ATOM __attribute__((__stdcall__)) GlobalAddAtomW( LPCWSTR);
HGLOBAL __attribute__((__stdcall__)) GlobalAlloc(UINT,DWORD);
UINT __attribute__((__stdcall__)) GlobalCompact(DWORD);
ATOM __attribute__((__stdcall__)) GlobalDeleteAtom(ATOM);
HGLOBAL GlobalDiscard(HGLOBAL);
ATOM __attribute__((__stdcall__)) GlobalFindAtomA(LPCSTR);
ATOM __attribute__((__stdcall__)) GlobalFindAtomW(LPCWSTR);
void __attribute__((__stdcall__)) GlobalFix(HGLOBAL);
UINT __attribute__((__stdcall__)) GlobalFlags(HGLOBAL);
HGLOBAL __attribute__((__stdcall__)) GlobalFree(HGLOBAL);
UINT __attribute__((__stdcall__)) GlobalGetAtomNameA(ATOM,LPSTR,int);
UINT __attribute__((__stdcall__)) GlobalGetAtomNameW(ATOM,LPWSTR,int);
HGLOBAL __attribute__((__stdcall__)) GlobalHandle(PCVOID);
LPVOID __attribute__((__stdcall__)) GlobalLock(HGLOBAL);
void __attribute__((__stdcall__)) GlobalMemoryStatus(LPMEMORYSTATUS);
HGLOBAL __attribute__((__stdcall__)) GlobalReAlloc(HGLOBAL,DWORD,UINT);
DWORD __attribute__((__stdcall__)) GlobalSize(HGLOBAL);
void __attribute__((__stdcall__)) GlobalUnfix(HGLOBAL);
BOOL __attribute__((__stdcall__)) GlobalUnlock(HGLOBAL);
BOOL __attribute__((__stdcall__)) GlobalUnWire(HGLOBAL);
PVOID __attribute__((__stdcall__)) GlobalWire(HGLOBAL);
PVOID __attribute__((__stdcall__)) HeapAlloc(HANDLE,DWORD,DWORD);
UINT __attribute__((__stdcall__)) HeapCompact(HANDLE,DWORD);
HANDLE __attribute__((__stdcall__)) HeapCreate(DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) HeapDestroy(HANDLE);
BOOL __attribute__((__stdcall__)) HeapFree(HANDLE,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) HeapLock(HANDLE);
PVOID __attribute__((__stdcall__)) HeapReAlloc(HANDLE,DWORD,PVOID,DWORD);
DWORD __attribute__((__stdcall__)) HeapSize(HANDLE,DWORD,PCVOID);
BOOL __attribute__((__stdcall__)) HeapUnlock(HANDLE);
BOOL __attribute__((__stdcall__)) HeapValidate(HANDLE,DWORD,PCVOID);
BOOL __attribute__((__stdcall__)) HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
BOOL __attribute__((__stdcall__)) ImpersonateLoggedOnUser(HANDLE);
BOOL __attribute__((__stdcall__)) ImpersonateNamedPipeClient(HANDLE);
BOOL __attribute__((__stdcall__)) ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
BOOL __attribute__((__stdcall__)) InitAtomTable(DWORD);
BOOL __attribute__((__stdcall__)) InitializeAcl(PACL,DWORD,DWORD);
void __attribute__((__stdcall__)) InitializeCriticalSection(LPCRITICAL_SECTION);
BOOL __attribute__((__stdcall__)) InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
BOOL __attribute__((__stdcall__)) InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
PVOID __attribute__((__stdcall__)) InterlockedCompareExchange(PVOID*,PVOID,PVOID);
LONG __attribute__((__stdcall__)) InterlockedDecrement(LPLONG);
LONG __attribute__((__stdcall__)) InterlockedExchange(PLONG,LONG);
LONG __attribute__((__stdcall__)) InterlockedExchangeAdd(PLONG,LONG);
LONG __attribute__((__stdcall__)) InterlockedIncrement(LPLONG);
BOOL __attribute__((__stdcall__)) IsBadCodePtr(FARPROC);
BOOL __attribute__((__stdcall__)) IsBadHugeReadPtr(PCVOID,UINT);
BOOL __attribute__((__stdcall__)) IsBadHugeWritePtr(PVOID,UINT);
BOOL __attribute__((__stdcall__)) IsBadReadPtr(PCVOID,UINT);
BOOL __attribute__((__stdcall__)) IsBadStringPtrA(LPCSTR,UINT);
BOOL __attribute__((__stdcall__)) IsBadStringPtrW(LPCWSTR,UINT);
BOOL __attribute__((__stdcall__)) IsBadWritePtr(PVOID,UINT);
BOOL __attribute__((__stdcall__)) IsDebuggerPresent(void);
BOOL __attribute__((__stdcall__)) IsProcessorFeaturePresent(DWORD);
BOOL __attribute__((__stdcall__)) IsTextUnicode(PCVOID,int,LPINT);
BOOL __attribute__((__stdcall__)) IsValidAcl(PACL);
BOOL __attribute__((__stdcall__)) IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) IsValidSid(PSID);
void __attribute__((__stdcall__)) LeaveCriticalSection(LPCRITICAL_SECTION);

HINSTANCE __attribute__((__stdcall__)) LoadLibraryA(LPCSTR);
HINSTANCE __attribute__((__stdcall__)) LoadLibraryExA(LPCSTR,HANDLE,DWORD);
HINSTANCE __attribute__((__stdcall__)) LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
HINSTANCE __attribute__((__stdcall__)) LoadLibraryW(LPCWSTR);
DWORD __attribute__((__stdcall__)) LoadModule(LPCSTR,PVOID);
HGLOBAL __attribute__((__stdcall__)) LoadResource(HINSTANCE,HRSRC);
HLOCAL __attribute__((__stdcall__)) LocalAlloc(UINT,UINT);
UINT __attribute__((__stdcall__)) LocalCompact(UINT);
HLOCAL LocalDiscard(HLOCAL);
BOOL __attribute__((__stdcall__)) LocalFileTimeToFileTime(const FILETIME *,LPFILETIME);
UINT __attribute__((__stdcall__)) LocalFlags(HLOCAL);
HLOCAL __attribute__((__stdcall__)) LocalFree(HLOCAL);
HLOCAL __attribute__((__stdcall__)) LocalHandle(LPCVOID);
PVOID __attribute__((__stdcall__)) LocalLock(HLOCAL);
HLOCAL __attribute__((__stdcall__)) LocalReAlloc(HLOCAL,UINT,UINT);
UINT __attribute__((__stdcall__)) LocalShrink(HLOCAL,UINT);
UINT __attribute__((__stdcall__)) LocalSize(HLOCAL);
BOOL __attribute__((__stdcall__)) LocalUnlock(HLOCAL);
BOOL __attribute__((__stdcall__)) LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
PVOID __attribute__((__stdcall__)) LockResource(HGLOBAL);

BOOL __attribute__((__stdcall__)) LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE);
BOOL __attribute__((__stdcall__)) LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE);
BOOL __attribute__((__stdcall__)) LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
BOOL __attribute__((__stdcall__)) LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
BOOL __attribute__((__stdcall__)) LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
BOOL __attribute__((__stdcall__)) LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
BOOL __attribute__((__stdcall__)) LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD);
BOOL __attribute__((__stdcall__)) LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD);
BOOL __attribute__((__stdcall__)) LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
BOOL __attribute__((__stdcall__)) LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
LPSTR __attribute__((__stdcall__)) lstrcatA(LPSTR,LPCSTR);
LPWSTR __attribute__((__stdcall__)) lstrcatW(LPWSTR,LPCWSTR);
int __attribute__((__stdcall__)) lstrcmpA(LPCSTR,LPCSTR);
int __attribute__((__stdcall__)) lstrcmpiA(LPCSTR,LPCSTR);
int __attribute__((__stdcall__)) lstrcmpiW( LPCWSTR,LPCWSTR);
int __attribute__((__stdcall__)) lstrcmpW(LPCWSTR,LPCWSTR);
LPSTR __attribute__((__stdcall__)) lstrcpyA(LPSTR,LPCSTR);
LPSTR __attribute__((__stdcall__)) lstrcpynA(LPSTR,LPCSTR,int);
LPWSTR __attribute__((__stdcall__)) lstrcpynW(LPWSTR,LPCWSTR,int);
LPWSTR __attribute__((__stdcall__)) lstrcpyW(LPWSTR,LPCWSTR);
int __attribute__((__stdcall__)) lstrlenA(LPCSTR);
int __attribute__((__stdcall__)) lstrlenW(LPCWSTR);
BOOL __attribute__((__stdcall__)) MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);

BOOL __attribute__((__stdcall__)) MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
void __attribute__((__stdcall__)) MapGenericMask(PDWORD,PGENERIC_MAPPING);
PVOID __attribute__((__stdcall__)) MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
PVOID __attribute__((__stdcall__)) MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) MoveFileA(LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) MoveFileExA(LPCSTR,LPCSTR,DWORD);
BOOL __attribute__((__stdcall__)) MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
BOOL __attribute__((__stdcall__)) MoveFileW(LPCWSTR,LPCWSTR);
int __attribute__((__stdcall__)) MulDiv(int,int,int);
BOOL __attribute__((__stdcall__)) NotifyChangeEventLog(HANDLE,HANDLE);
BOOL __attribute__((__stdcall__)) ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL);
BOOL __attribute__((__stdcall__)) ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
BOOL __attribute__((__stdcall__)) ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL);
BOOL __attribute__((__stdcall__)) ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
BOOL __attribute__((__stdcall__)) ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
BOOL __attribute__((__stdcall__)) ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
BOOL __attribute__((__stdcall__)) ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
BOOL __attribute__((__stdcall__)) ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
HANDLE __attribute__((__stdcall__)) OpenBackupEventLogA(LPCSTR,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenBackupEventLogW(LPCWSTR,LPCWSTR);
HANDLE __attribute__((__stdcall__)) OpenEventA(DWORD,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenEventLogA (LPCSTR,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenEventLogW(LPCWSTR,LPCWSTR);
HANDLE __attribute__((__stdcall__)) OpenEventW(DWORD,BOOL,LPCWSTR);
HFILE __attribute__((__stdcall__)) OpenFile(LPCSTR,LPOFSTRUCT,UINT);
HANDLE __attribute__((__stdcall__)) OpenFileMappingA(DWORD,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenFileMappingW(DWORD,BOOL,LPCWSTR);
HANDLE __attribute__((__stdcall__)) OpenMutexA(DWORD,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenMutexW(DWORD,BOOL,LPCWSTR);
HANDLE __attribute__((__stdcall__)) OpenProcess(DWORD,BOOL,DWORD);
BOOL __attribute__((__stdcall__)) OpenProcessToken(HANDLE,DWORD,PHANDLE);
HANDLE __attribute__((__stdcall__)) OpenSemaphoreA(DWORD,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
BOOL __attribute__((__stdcall__)) OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
HANDLE __attribute__((__stdcall__)) OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
HANDLE __attribute__((__stdcall__)) OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
void __attribute__((__stdcall__)) OutputDebugStringA(LPCSTR);
void __attribute__((__stdcall__)) OutputDebugStringW(LPCWSTR);
BOOL __attribute__((__stdcall__)) PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) PostQueuedCompletionStatus(HANDLE,DWORD,DWORD,LPOVERLAPPED);
DWORD __attribute__((__stdcall__)) PrepareTape(HANDLE,DWORD,BOOL);
BOOL __attribute__((__stdcall__)) PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
BOOL __attribute__((__stdcall__)) PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
BOOL __attribute__((__stdcall__)) PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
BOOL __attribute__((__stdcall__)) PulseEvent(HANDLE);
BOOL __attribute__((__stdcall__)) PurgeComm(HANDLE,DWORD);
DWORD __attribute__((__stdcall__)) QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) QueryPerformanceCounter(PLARGE_INTEGER);
BOOL __attribute__((__stdcall__)) QueryPerformanceFrequency(PLARGE_INTEGER);
DWORD __attribute__((__stdcall__)) QueueUserAPC(PAPCFUNC,HANDLE,DWORD);
void __attribute__((__stdcall__)) RaiseException(DWORD,DWORD,DWORD,const DWORD*);
BOOL __attribute__((__stdcall__)) ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
BOOL __attribute__((__stdcall__)) ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
BOOL __attribute__((__stdcall__)) ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
BOOL __attribute__((__stdcall__)) ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
BOOL __attribute__((__stdcall__)) ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
BOOL __attribute__((__stdcall__)) ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD);
HANDLE __attribute__((__stdcall__)) RegisterEventSourceA (LPCSTR,LPCSTR);
HANDLE __attribute__((__stdcall__)) RegisterEventSourceW(LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) ReleaseMutex(HANDLE);
BOOL __attribute__((__stdcall__)) ReleaseSemaphore(HANDLE,LONG,LPLONG);
BOOL __attribute__((__stdcall__)) RemoveDirectoryA(LPCSTR);
BOOL __attribute__((__stdcall__)) RemoveDirectoryW(LPCWSTR);
BOOL __attribute__((__stdcall__)) ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID);
BOOL __attribute__((__stdcall__)) ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID);
BOOL __attribute__((__stdcall__)) ResetEvent(HANDLE);
DWORD __attribute__((__stdcall__)) ResumeThread(HANDLE);
BOOL __attribute__((__stdcall__)) RevertToSelf(void);
DWORD __attribute__((__stdcall__)) SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
DWORD __attribute__((__stdcall__)) SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
BOOL __attribute__((__stdcall__)) SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
BOOL __attribute__((__stdcall__)) SetCommBreak(HANDLE);
BOOL __attribute__((__stdcall__)) SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
BOOL __attribute__((__stdcall__)) SetCommMask(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetCommState(HANDLE,LPDCB);
BOOL __attribute__((__stdcall__)) SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
BOOL __attribute__((__stdcall__)) SetComputerNameA(LPCSTR);
BOOL __attribute__((__stdcall__)) SetComputerNameW(LPCWSTR);
BOOL __attribute__((__stdcall__)) SetCurrentDirectoryA(LPCSTR);
BOOL __attribute__((__stdcall__)) SetCurrentDirectoryW(LPCWSTR);
BOOL __attribute__((__stdcall__)) SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
BOOL __attribute__((__stdcall__)) SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
BOOL __attribute__((__stdcall__)) SetEndOfFile(HANDLE);
BOOL __attribute__((__stdcall__)) SetEnvironmentVariableA(LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
UINT __attribute__((__stdcall__)) SetErrorMode(UINT);
BOOL __attribute__((__stdcall__)) SetEvent(HANDLE);
void __attribute__((__stdcall__)) SetFileApisToANSI(void);
void __attribute__((__stdcall__)) SetFileApisToOEM(void);
BOOL __attribute__((__stdcall__)) SetFileAttributesA(LPCSTR,DWORD);
BOOL __attribute__((__stdcall__)) SetFileAttributesW(LPCWSTR,DWORD);
DWORD __attribute__((__stdcall__)) SetFilePointer(HANDLE,LONG,PLONG,DWORD);
BOOL __attribute__((__stdcall__)) SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
UINT __attribute__((__stdcall__)) SetHandleCount(UINT);
BOOL __attribute__((__stdcall__)) SetHandleInformation(HANDLE,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
void __attribute__((__stdcall__)) SetLastError(DWORD);
void __attribute__((__stdcall__)) SetLastErrorEx(DWORD,DWORD);
BOOL __attribute__((__stdcall__)) SetLocalTime(const SYSTEMTIME*);
BOOL __attribute__((__stdcall__)) SetMailslotInfo(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) SetPriorityClass(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
BOOL __attribute__((__stdcall__)) SetProcessAffinityMask(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetProcessPriorityBoost(HANDLE,BOOL);
BOOL __attribute__((__stdcall__)) SetProcessShutdownParameters(DWORD,DWORD);
BOOL __attribute__((__stdcall__)) SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
BOOL __attribute__((__stdcall__)) SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
BOOL __attribute__((__stdcall__)) SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
BOOL __attribute__((__stdcall__)) SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
BOOL __attribute__((__stdcall__)) SetStdHandle(DWORD,HANDLE);

BOOL __attribute__((__stdcall__)) SetSystemPowerState(BOOL,BOOL);
BOOL __attribute__((__stdcall__)) SetSystemTime(const SYSTEMTIME*);
BOOL __attribute__((__stdcall__)) SetSystemTimeAdjustment(DWORD,BOOL);
DWORD __attribute__((__stdcall__)) SetTapeParameters(HANDLE,DWORD,PVOID);
DWORD __attribute__((__stdcall__)) SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
DWORD __attribute__((__stdcall__)) SetThreadAffinityMask(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetThreadContext(HANDLE,const CONTEXT*);
DWORD __attribute__((__stdcall__)) SetThreadIdealProcessor(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetThreadPriority(HANDLE,int);
BOOL __attribute__((__stdcall__)) SetThreadPriorityBoost(HANDLE,BOOL);
BOOL __attribute__((__stdcall__)) SetThreadToken (PHANDLE,HANDLE);
BOOL __attribute__((__stdcall__)) SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
BOOL __attribute__((__stdcall__)) SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
LPTOP_LEVEL_EXCEPTION_FILTER __attribute__((__stdcall__)) SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
BOOL __attribute__((__stdcall__)) SetupComm(HANDLE,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) SetVolumeLabelA(LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) SetVolumeLabelW(LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
BOOL __attribute__((__stdcall__)) SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
DWORD __attribute__((__stdcall__)) SizeofResource(HINSTANCE,HRSRC);
void __attribute__((__stdcall__)) Sleep(DWORD);
DWORD __attribute__((__stdcall__)) SleepEx(DWORD,BOOL);
DWORD __attribute__((__stdcall__)) SuspendThread(HANDLE);
void __attribute__((__stdcall__)) SwitchToFiber(PVOID);
BOOL __attribute__((__stdcall__)) SwitchToThread(void);
BOOL __attribute__((__stdcall__)) SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
BOOL __attribute__((__stdcall__)) SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
BOOL __attribute__((__stdcall__)) TerminateProcess(HANDLE,UINT);
BOOL __attribute__((__stdcall__)) TerminateThread(HANDLE,DWORD);
DWORD __attribute__((__stdcall__)) TlsAlloc(void);
BOOL __attribute__((__stdcall__)) TlsFree(DWORD);
PVOID __attribute__((__stdcall__)) TlsGetValue(DWORD);
BOOL __attribute__((__stdcall__)) TlsSetValue(DWORD,PVOID);
BOOL __attribute__((__stdcall__)) TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
BOOL __attribute__((__stdcall__)) TransmitCommChar(HANDLE,char);
BOOL __attribute__((__stdcall__)) TryEnterCriticalSection(LPCRITICAL_SECTION);
LONG __attribute__((__stdcall__)) UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
BOOL __attribute__((__stdcall__)) UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);


BOOL __attribute__((__stdcall__)) UnmapViewOfFile(PVOID);
BOOL __attribute__((__stdcall__)) UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD);
PVOID __attribute__((__stdcall__)) VirtualAlloc(PVOID,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) VirtualFree(PVOID,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) VirtualLock(PVOID,DWORD);
BOOL __attribute__((__stdcall__)) VirtualProtect(PVOID,DWORD,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
DWORD __attribute__((__stdcall__)) VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
BOOL __attribute__((__stdcall__)) VirtualUnlock(PVOID,DWORD);
BOOL __attribute__((__stdcall__)) WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED);
BOOL __attribute__((__stdcall__)) WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
DWORD __attribute__((__stdcall__)) WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
DWORD __attribute__((__stdcall__)) WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
DWORD __attribute__((__stdcall__)) WaitForSingleObject(HANDLE,DWORD);
DWORD __attribute__((__stdcall__)) WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
BOOL __attribute__((__stdcall__)) WaitNamedPipeA(LPCSTR,DWORD);
BOOL __attribute__((__stdcall__)) WaitNamedPipeW(LPCWSTR,DWORD);
BOOL __attribute__((__stdcall__)) WinLoadTrustProvider(GUID*);
BOOL __attribute__((__stdcall__)) WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
BOOL __attribute__((__stdcall__)) WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
BOOL __attribute__((__stdcall__)) WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileStructA(LPCSTR,LPCSTR,PVOID,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileStructW(LPCWSTR,LPCWSTR,PVOID,UINT,LPCWSTR);
BOOL __attribute__((__stdcall__)) WriteProcessMemory(HANDLE,PVOID,PVOID,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) WriteProfileSectionA(LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) WriteProfileSectionW(LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
DWORD __attribute__((__stdcall__)) WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
# 1701 "/usr/include/mingw/winbase.h"
typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA;
typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
# 1837 "/usr/include/mingw/winbase.h"
}
# 83 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/wingdi.h" 1



extern "C" {
# 1151 "/usr/include/mingw/wingdi.h"
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[32];
        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[32];
        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[32];
        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[32];
        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 {
        int cbSize;
        LPCTSTR lpszDocName;
        LPCTSTR lpszOutput;
        LPCTSTR lpszDatatype;
        DWORD fwType;
} DOCINFO,*LPDOCINFO;
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[260];
} LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
typedef struct tagLOGCOLORSPACEW {
        DWORD lcsSignature;
        DWORD lcsVersion;
        DWORD lcsSize;
        LCSCSTYPE lcsCSType;
        LCSGAMUTMATCH lcsIntent;
        CIEXYZTRIPLE lcsEndpoints;
        DWORD lcsGammaRed;
        DWORD lcsGammaGreen;
        DWORD lcsGammaBlue;
        WCHAR lcsFilename[260];
} LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
typedef 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[32];
} 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[32];
} LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
typedef struct tagEXTLOGFONTA {
        LOGFONTA elfLogFont;
        BYTE elfFullName[64];
        BYTE elfStyle[32];
        DWORD elfVersion;
        DWORD elfStyleSize;
        DWORD elfMatch;
        DWORD elfReserved;
        BYTE elfVendorId[4];
        DWORD elfCulture;
        PANOSE elfPanose;
} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
typedef struct tagEXTLOGFONTW {
        LOGFONTW elfLogFont;
        WCHAR elfFullName[64];
        WCHAR elfStyle[32];
        DWORD elfVersion;
        DWORD elfStyleSize;
        DWORD elfMatch;
        DWORD elfReserved;
        BYTE elfVendorId[4];
        DWORD elfCulture;
        PANOSE elfPanose;
} EXTLOGFONTW,*PEXTLOGFONTW,*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;
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[64];
        BYTE elfStyle[32];
} ENUMLOGFONTA,*LPENUMLOGFONTA;
typedef struct tagENUMLOGFONTW {
        LOGFONTW elfLogFont;
        WCHAR elfFullName[64];
        WCHAR elfStyle[32];
} ENUMLOGFONTW,*LPENUMLOGFONTW;
typedef struct tagENUMLOGFONTEXA {
        LOGFONTA elfLogFont;
        BYTE elfFullName[64];
        BYTE elfStyle[32];
        BYTE elfScript[32];
} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
typedef struct tagENUMLOGFONTEXW {
        LOGFONTW elfLogFont;
        WCHAR elfFullName[64];
        BYTE elfStyle[32];
        BYTE elfScript[32];
} 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 BOOL (__attribute__((__stdcall__)) *ABORTPROC)(HDC,int);
typedef int (__attribute__((__stdcall__)) *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
typedef int (__attribute__((__stdcall__)) *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM);
typedef int (__attribute__((__stdcall__)) *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
typedef int (__attribute__((__stdcall__)) *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
typedef OLDFONTENUMPROCA FONTENUMPROCA;
typedef OLDFONTENUMPROCW FONTENUMPROCW;
typedef int (__attribute__((__stdcall__)) *ICMENUMPROCA)(LPSTR,LPARAM);
typedef int (__attribute__((__stdcall__)) *ICMENUMPROCW)(LPWSTR,LPARAM);
typedef void (__attribute__((__stdcall__)) *GOBJENUMPROC)(LPVOID,LPARAM);
typedef void (__attribute__((__stdcall__)) *LINEDDAPROC)(int,int,LPARAM);






int __attribute__((__stdcall__)) AbortDoc(HDC);
BOOL __attribute__((__stdcall__)) AbortPath(HDC);
BOOL AbortPrinter(HANDLE);
int __attribute__((__stdcall__)) AddFontResourceA(LPCSTR);
int __attribute__((__stdcall__)) AddFontResourceW(LPCWSTR);
BOOL __attribute__((__stdcall__)) AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
BOOL __attribute__((__stdcall__)) AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
BOOL __attribute__((__stdcall__)) Arc(HDC,int,int,int,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) ArcTo(HDC,int,int,int,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) BeginPath(HDC);
BOOL __attribute__((__stdcall__)) BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
BOOL __attribute__((__stdcall__)) CancelDC(HDC);
BOOL __attribute__((__stdcall__)) CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) Chord(HDC,int,int,int,int,int,int,int,int);
int __attribute__((__stdcall__)) ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR*);
HENHMETAFILE __attribute__((__stdcall__)) CloseEnhMetaFile(HDC);
BOOL __attribute__((__stdcall__)) CloseFigure(HDC);
HMETAFILE __attribute__((__stdcall__)) CloseMetaFile(HDC);
BOOL __attribute__((__stdcall__)) ColorMatchToTarget(HDC,HDC,DWORD);
int __attribute__((__stdcall__)) CombineRgn(HRGN,HRGN,HRGN,int);
BOOL __attribute__((__stdcall__)) CombineTransform(LPXFORM,const XFORM*,const XFORM*);
HENHMETAFILE __attribute__((__stdcall__)) CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
HENHMETAFILE __attribute__((__stdcall__)) CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
HMETAFILE __attribute__((__stdcall__)) CopyMetaFileA(HMETAFILE,LPCSTR);
HMETAFILE __attribute__((__stdcall__)) CopyMetaFileW(HMETAFILE,LPCWSTR);
HBITMAP __attribute__((__stdcall__)) CreateBitmap(int,int,UINT,UINT,PCVOID);
HBITMAP __attribute__((__stdcall__)) CreateBitmapIndirect(const BITMAP*);
HBRUSH __attribute__((__stdcall__)) CreateBrushIndirect(const LOGBRUSH*);
HCOLORSPACE __attribute__((__stdcall__)) CreateColorSpaceA(LPLOGCOLORSPACEA);
HCOLORSPACE __attribute__((__stdcall__)) CreateColorSpaceW(LPLOGCOLORSPACEW);
HBITMAP __attribute__((__stdcall__)) CreateCompatibleBitmap(HDC,int,int);
HDC __attribute__((__stdcall__)) CreateCompatibleDC(HDC);
HDC __attribute__((__stdcall__)) CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
HDC __attribute__((__stdcall__)) CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
HBITMAP __attribute__((__stdcall__)) CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
HBRUSH __attribute__((__stdcall__)) CreateDIBPatternBrush(HGLOBAL,UINT);
HBRUSH __attribute__((__stdcall__)) CreateDIBPatternBrushPt(PCVOID,UINT);
HBITMAP __attribute__((__stdcall__)) CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
HBITMAP __attribute__((__stdcall__)) CreateDiscardableBitmap(HDC,int,int);
HRGN __attribute__((__stdcall__)) CreateEllipticRgn(int,int,int,int);
HRGN __attribute__((__stdcall__)) CreateEllipticRgnIndirect(LPCRECT);
HDC __attribute__((__stdcall__)) CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
HDC __attribute__((__stdcall__)) CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
HFONT __attribute__((__stdcall__)) CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
HFONT __attribute__((__stdcall__)) CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
HFONT __attribute__((__stdcall__)) CreateFontIndirectA(const LOGFONTA*);
HFONT __attribute__((__stdcall__)) CreateFontIndirectW(const LOGFONTW*);
HPALETTE __attribute__((__stdcall__)) CreateHalftonePalette(HDC);
HBRUSH __attribute__((__stdcall__)) CreateHatchBrush(int,COLORREF);
HDC __attribute__((__stdcall__)) CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
HDC __attribute__((__stdcall__)) CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
HDC __attribute__((__stdcall__)) CreateMetaFileA(LPCSTR);
HDC __attribute__((__stdcall__)) CreateMetaFileW(LPCWSTR);
HPALETTE __attribute__((__stdcall__)) CreatePalette(const LOGPALETTE*);
HBRUSH __attribute__((__stdcall__)) CreatePatternBrush(HBITMAP);
HPEN __attribute__((__stdcall__)) CreatePen(int,int,COLORREF);
HPEN __attribute__((__stdcall__)) CreatePenIndirect(const LOGPEN*);
HRGN __attribute__((__stdcall__)) CreatePolygonRgn(const POINT*,int,int);
HRGN __attribute__((__stdcall__)) CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
HRGN __attribute__((__stdcall__)) CreateRectRgn(int,int,int,int);
HRGN __attribute__((__stdcall__)) CreateRectRgnIndirect(LPCRECT);
HRGN __attribute__((__stdcall__)) CreateRoundRectRgn(int,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
HBRUSH __attribute__((__stdcall__)) CreateSolidBrush(COLORREF);
BOOL __attribute__((__stdcall__)) DeleteColorSpace(HCOLORSPACE);
BOOL __attribute__((__stdcall__)) DeleteDC(HDC);
BOOL __attribute__((__stdcall__)) DeleteEnhMetaFile(HENHMETAFILE);
BOOL __attribute__((__stdcall__)) DeleteMetaFile(HMETAFILE);
BOOL __attribute__((__stdcall__)) DeleteObject(HGDIOBJ);
int __attribute__((__stdcall__)) DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
DWORD __attribute__((__stdcall__)) DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
DWORD __attribute__((__stdcall__)) DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
BOOL __attribute__((__stdcall__)) DPtoLP(HDC,LPPOINT,int);
int __attribute__((__stdcall__)) DrawEscape(HDC,int,int,LPCSTR);
BOOL __attribute__((__stdcall__)) Ellipse(HDC,int,int,int,int);
int __attribute__((__stdcall__)) EndDoc(HDC);
int __attribute__((__stdcall__)) EndPage(HDC);
BOOL __attribute__((__stdcall__)) EndPath(HDC);
BOOL __attribute__((__stdcall__)) EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
int __attribute__((__stdcall__)) EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
int __attribute__((__stdcall__)) EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
int __attribute__((__stdcall__)) EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
int __attribute__((__stdcall__)) EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
int __attribute__((__stdcall__)) EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
int __attribute__((__stdcall__)) EnumFontsW(HDC,LPCWSTR,FONTENUMPROCA,LPARAM);
int __attribute__((__stdcall__)) EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
int __attribute__((__stdcall__)) EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
BOOL __attribute__((__stdcall__)) EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
int __attribute__((__stdcall__)) EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
BOOL __attribute__((__stdcall__)) EqualRgn(HRGN,HRGN);
int __attribute__((__stdcall__)) Escape(HDC,int,int,LPCSTR,PVOID);
int __attribute__((__stdcall__)) ExcludeClipRect(HDC,int,int,int,int);
int __attribute__((__stdcall__)) ExcludeUpdateRgn(HDC,HWND);
HPEN __attribute__((__stdcall__)) ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
HRGN __attribute__((__stdcall__)) ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
int __attribute__((__stdcall__)) ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
BOOL __attribute__((__stdcall__)) ExtFloodFill(HDC,int,int,COLORREF,UINT);
int __attribute__((__stdcall__)) ExtSelectClipRgn(HDC,HRGN,int);
BOOL __attribute__((__stdcall__)) ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
BOOL __attribute__((__stdcall__)) ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
BOOL __attribute__((__stdcall__)) FillPath(HDC);
int __attribute__((__stdcall__)) FillRect(HDC,LPCRECT,HBRUSH);
int __attribute__((__stdcall__)) FillRgn(HDC,HRGN,HBRUSH);
BOOL __attribute__((__stdcall__)) FixBrushOrgEx(HDC,int,int,LPPOINT);
BOOL __attribute__((__stdcall__)) FlattenPath(HDC);
BOOL __attribute__((__stdcall__)) FloodFill(HDC,int,int,COLORREF);
BOOL __attribute__((__stdcall__)) GdiComment(HDC,UINT,const BYTE*);
BOOL __attribute__((__stdcall__)) GdiFlush(void);
DWORD __attribute__((__stdcall__)) GdiGetBatchLimit(void);
DWORD __attribute__((__stdcall__)) GdiSetBatchLimit(DWORD);
# 2456 "/usr/include/mingw/wingdi.h"
int __attribute__((__stdcall__)) GetArcDirection(HDC);
BOOL __attribute__((__stdcall__)) GetAspectRatioFilterEx(HDC,LPSIZE);
LONG __attribute__((__stdcall__)) GetBitmapBits(HBITMAP,LONG,PVOID);
BOOL __attribute__((__stdcall__)) GetBitmapDimensionEx(HBITMAP,LPSIZE);
COLORREF __attribute__((__stdcall__)) GetBkColor(HDC);
int __attribute__((__stdcall__)) GetBkMode(HDC);
UINT __attribute__((__stdcall__)) GetBoundsRect(HDC,LPRECT,UINT);
BOOL __attribute__((__stdcall__)) GetBrushOrgEx(HDC,LPPOINT);
BOOL __attribute__((__stdcall__)) GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
BOOL __attribute__((__stdcall__)) GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
BOOL __attribute__((__stdcall__)) GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
BOOL __attribute__((__stdcall__)) GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
DWORD __attribute__((__stdcall__)) GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
DWORD __attribute__((__stdcall__)) GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
BOOL __attribute__((__stdcall__)) GetCharWidth32A(HDC,UINT,UINT,LPINT);
BOOL __attribute__((__stdcall__)) GetCharWidth32W(HDC,UINT,UINT,LPINT);
BOOL __attribute__((__stdcall__)) GetCharWidthA(HDC,UINT,UINT,LPINT);
BOOL __attribute__((__stdcall__)) GetCharWidthW(HDC,UINT,UINT,LPINT);
BOOL __attribute__((__stdcall__)) GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
BOOL __attribute__((__stdcall__)) GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
int __attribute__((__stdcall__)) GetClipBox(HDC,LPRECT);
int __attribute__((__stdcall__)) GetClipRgn(HDC,HRGN);
BOOL __attribute__((__stdcall__)) GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
HANDLE __attribute__((__stdcall__)) GetColorSpace(HDC);
HGDIOBJ __attribute__((__stdcall__)) GetCurrentObject(HDC,UINT);
BOOL __attribute__((__stdcall__)) GetCurrentPositionEx(HDC,LPPOINT);
HCURSOR __attribute__((__stdcall__)) GetCursor(void);
BOOL __attribute__((__stdcall__)) GetDCOrgEx(HDC,LPPOINT);
int __attribute__((__stdcall__)) GetDeviceCaps(HDC,int);
BOOL __attribute__((__stdcall__)) GetDeviceGammaRamp(HDC,PVOID);
UINT __attribute__((__stdcall__)) GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
int __attribute__((__stdcall__)) GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
HENHMETAFILE __attribute__((__stdcall__)) GetEnhMetaFileA(LPCSTR);
HENHMETAFILE __attribute__((__stdcall__)) GetEnhMetaFileW(LPCWSTR);
UINT __attribute__((__stdcall__)) GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
UINT __attribute__((__stdcall__)) GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
UINT __attribute__((__stdcall__)) GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
UINT __attribute__((__stdcall__)) GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
UINT __attribute__((__stdcall__)) GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,PIXELFORMATDESCRIPTOR*);
DWORD __attribute__((__stdcall__)) GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
DWORD __attribute__((__stdcall__)) GetFontLanguageInfo(HDC);
DWORD __attribute__((__stdcall__)) GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
DWORD __attribute__((__stdcall__)) GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
int __attribute__((__stdcall__)) GetGraphicsMode(HDC);
BOOL __attribute__((__stdcall__)) GetICMProfileA(HDC,DWORD,LPSTR);
BOOL __attribute__((__stdcall__)) GetICMProfileW(HDC,DWORD,LPWSTR);
DWORD __attribute__((__stdcall__)) GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
DWORD __attribute__((__stdcall__)) GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
BOOL __attribute__((__stdcall__)) GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
BOOL __attribute__((__stdcall__)) GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
int __attribute__((__stdcall__)) GetMapMode(HDC);
HMETAFILE __attribute__((__stdcall__)) GetMetaFileA(LPCSTR);
HMETAFILE __attribute__((__stdcall__)) GetMetaFileW(LPCWSTR);
UINT __attribute__((__stdcall__)) GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
int __attribute__((__stdcall__)) GetMetaRgn(HDC,HRGN);
BOOL __attribute__((__stdcall__)) GetMiterLimit(HDC,PFLOAT);
COLORREF __attribute__((__stdcall__)) GetNearestColor(HDC,COLORREF);
UINT __attribute__((__stdcall__)) GetNearestPaletteIndex(HPALETTE,COLORREF);
int __attribute__((__stdcall__)) GetObjectA(HGDIOBJ,int,PVOID);
int __attribute__((__stdcall__)) GetObjectW(HGDIOBJ,int,PVOID);
DWORD __attribute__((__stdcall__)) GetObjectType(HGDIOBJ);
UINT __attribute__((__stdcall__)) GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
UINT __attribute__((__stdcall__)) GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
UINT __attribute__((__stdcall__)) GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
int __attribute__((__stdcall__)) GetPath(HDC,LPPOINT,PBYTE,int);
COLORREF __attribute__((__stdcall__)) GetPixel(HDC,int,int);
int __attribute__((__stdcall__)) GetPixelFormat(HDC);
int __attribute__((__stdcall__)) GetPolyFillMode(HDC);
BOOL __attribute__((__stdcall__)) GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
DWORD __attribute__((__stdcall__)) GetRegionData(HRGN,DWORD,LPRGNDATA);
int __attribute__((__stdcall__)) GetRgnBox(HRGN,LPRECT);
int __attribute__((__stdcall__)) GetROP2(HDC);
HGDIOBJ __attribute__((__stdcall__)) GetStockObject(int);
int __attribute__((__stdcall__)) GetStretchBltMode(HDC);
UINT __attribute__((__stdcall__)) GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
UINT __attribute__((__stdcall__)) GetSystemPaletteUse(HDC);
UINT __attribute__((__stdcall__)) GetTextAlign(HDC);
int __attribute__((__stdcall__)) GetTextCharacterExtra(HDC);
int __attribute__((__stdcall__)) GetTextCharset(HDC);
int __attribute__((__stdcall__)) GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
COLORREF __attribute__((__stdcall__)) GetTextColor(HDC);
BOOL __attribute__((__stdcall__)) GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
BOOL __attribute__((__stdcall__)) GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
BOOL __attribute__((__stdcall__)) GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
BOOL __attribute__((__stdcall__)) GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
BOOL __attribute__((__stdcall__)) GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
BOOL __attribute__((__stdcall__)) GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
int __attribute__((__stdcall__)) GetTextFaceA(HDC,int,LPSTR);
int __attribute__((__stdcall__)) GetTextFaceW(HDC,int,LPWSTR);
BOOL __attribute__((__stdcall__)) GetTextMetricsA(HDC,LPTEXTMETRICA);
BOOL __attribute__((__stdcall__)) GetTextMetricsW(HDC,LPTEXTMETRICW);
BOOL __attribute__((__stdcall__)) GetViewportExtEx(HDC,LPSIZE);
BOOL __attribute__((__stdcall__)) GetViewportOrgEx(HDC,LPPOINT);
BOOL __attribute__((__stdcall__)) GetWindowExtEx(HDC,LPSIZE);
BOOL __attribute__((__stdcall__)) GetWindowOrgEx(HDC,LPPOINT);
UINT __attribute__((__stdcall__)) GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
BOOL __attribute__((__stdcall__)) GetWorldTransform(HDC,LPXFORM);
int __attribute__((__stdcall__)) IntersectClipRect(HDC,int,int,int,int);
BOOL __attribute__((__stdcall__)) InvertRgn(HDC,HRGN);
BOOL __attribute__((__stdcall__)) LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
BOOL __attribute__((__stdcall__)) LineTo(HDC,int,int);
BOOL __attribute__((__stdcall__)) LPtoDP(HDC,LPPOINT,int);
BOOL __attribute__((__stdcall__)) MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
BOOL __attribute__((__stdcall__)) ModifyWorldTransform(HDC,const XFORM*,DWORD);
BOOL __attribute__((__stdcall__)) MoveToEx(HDC,int,int,LPPOINT);
int __attribute__((__stdcall__)) OffsetClipRgn(HDC,int,int);
int __attribute__((__stdcall__)) OffsetRgn(HRGN,int,int);
BOOL __attribute__((__stdcall__)) OffsetViewportOrgEx(HDC,int,int,LPPOINT);
BOOL __attribute__((__stdcall__)) OffsetWindowOrgEx(HDC,int,int,LPPOINT);
BOOL __attribute__((__stdcall__)) PaintRgn(HDC,HRGN);
BOOL __attribute__((__stdcall__)) PatBlt(HDC,int,int,int,int,DWORD);
HRGN __attribute__((__stdcall__)) PathToRegion(HDC);
BOOL __attribute__((__stdcall__)) Pie(HDC,int,int,int,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
BOOL __attribute__((__stdcall__)) PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
BOOL __attribute__((__stdcall__)) PlayMetaFile(HDC,HMETAFILE);
BOOL __attribute__((__stdcall__)) PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
BOOL __attribute__((__stdcall__)) PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
BOOL __attribute__((__stdcall__)) PolyBezier(HDC,const POINT*,DWORD);
BOOL __attribute__((__stdcall__)) PolyBezierTo(HDC,const POINT*,DWORD);
BOOL __attribute__((__stdcall__)) PolyDraw(HDC,const POINT*,const BYTE*,int);
BOOL __attribute__((__stdcall__)) Polygon(HDC,const POINT*,int);
BOOL __attribute__((__stdcall__)) Polyline(HDC,const POINT*,int);
BOOL __attribute__((__stdcall__)) PolylineTo(HDC,const POINT*,DWORD);
BOOL __attribute__((__stdcall__)) PolyPolygon(HDC,const POINT*,const INT*,int);
BOOL __attribute__((__stdcall__)) PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
BOOL __attribute__((__stdcall__)) PolyTextOutA(HDC,const POLYTEXTA*,int);
BOOL __attribute__((__stdcall__)) PolyTextOutW(HDC,const POLYTEXTW*,int);
BOOL __attribute__((__stdcall__)) PtInRegion(HRGN,int,int);
BOOL __attribute__((__stdcall__)) PtVisible(HDC,int,int);
UINT __attribute__((__stdcall__)) RealizePalette(HDC);
BOOL __attribute__((__stdcall__)) Rectangle(HDC,int,int,int,int);
BOOL __attribute__((__stdcall__)) RectInRegion(HRGN,LPCRECT);
BOOL __attribute__((__stdcall__)) RectVisible(HDC,LPCRECT);
BOOL __attribute__((__stdcall__)) RemoveFontResourceA(LPCSTR);
BOOL __attribute__((__stdcall__)) RemoveFontResourceW(LPCWSTR);
HDC __attribute__((__stdcall__)) ResetDCA(HDC,const DEVMODEA*);
HDC __attribute__((__stdcall__)) ResetDCW(HDC,const DEVMODEW*);
BOOL __attribute__((__stdcall__)) ResizePalette(HPALETTE,UINT);
BOOL __attribute__((__stdcall__)) RestoreDC(HDC,int);
BOOL __attribute__((__stdcall__)) RoundRect(HDC,int,int,int,int,int,int);
int __attribute__((__stdcall__)) SaveDC(HDC);
BOOL __attribute__((__stdcall__)) ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
BOOL __attribute__((__stdcall__)) ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
BOOL __attribute__((__stdcall__)) SelectClipPath(HDC,int);
int __attribute__((__stdcall__)) SelectClipRgn(HDC,HRGN);
HGDIOBJ __attribute__((__stdcall__)) SelectObject(HDC,HGDIOBJ);
HPALETTE __attribute__((__stdcall__)) SelectPalette(HDC,HPALETTE,BOOL);
int __attribute__((__stdcall__)) SetAbortProc(HDC,ABORTPROC);
int __attribute__((__stdcall__)) SetArcDirection(HDC,int);
LONG __attribute__((__stdcall__)) SetBitmapBits(HBITMAP,DWORD,PCVOID);
BOOL __attribute__((__stdcall__)) SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
COLORREF __attribute__((__stdcall__)) SetBkColor(HDC,COLORREF);
int __attribute__((__stdcall__)) SetBkMode(HDC,int);
UINT __attribute__((__stdcall__)) SetBoundsRect(HDC,LPCRECT,UINT);
BOOL __attribute__((__stdcall__)) SetBrushOrgEx(HDC,int,int,LPPOINT);
BOOL __attribute__((__stdcall__)) SetColorAdjustment(HDC,const COLORADJUSTMENT*);
BOOL __attribute__((__stdcall__)) SetColorSpace(HDC,HCOLORSPACE);
BOOL __attribute__((__stdcall__)) SetDeviceGammaRamp(HDC,PVOID);
UINT __attribute__((__stdcall__)) SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
int __attribute__((__stdcall__)) SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
int __attribute__((__stdcall__)) SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
HENHMETAFILE __attribute__((__stdcall__)) SetEnhMetaFileBits(UINT,const BYTE*);
int __attribute__((__stdcall__)) SetGraphicsMode(HDC,int);
int __attribute__((__stdcall__)) SetICMMode(HDC,int);
BOOL __attribute__((__stdcall__)) SetICMProfileA(HDC,LPSTR);
BOOL __attribute__((__stdcall__)) SetICMProfileW(HDC,LPWSTR);
int __attribute__((__stdcall__)) SetMapMode(HDC,int);
DWORD __attribute__((__stdcall__)) SetMapperFlags(HDC,DWORD);
HMETAFILE __attribute__((__stdcall__)) SetMetaFileBitsEx(UINT,const BYTE *);
int __attribute__((__stdcall__)) SetMetaRgn(HDC);
BOOL __attribute__((__stdcall__)) SetMiterLimit(HDC,FLOAT,PFLOAT);
UINT __attribute__((__stdcall__)) SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
COLORREF __attribute__((__stdcall__)) SetPixel(HDC,int,int,COLORREF);
BOOL __attribute__((__stdcall__)) SetPixelFormat(HDC,int,PIXELFORMATDESCRIPTOR*);
BOOL __attribute__((__stdcall__)) SetPixelV(HDC,int,int,COLORREF);
int __attribute__((__stdcall__)) SetPolyFillMode(HDC,int);
BOOL __attribute__((__stdcall__)) SetRectRgn(HRGN,int,int,int,int);
int __attribute__((__stdcall__)) SetROP2(HDC,int);
int __attribute__((__stdcall__)) SetStretchBltMode(HDC,int);
UINT __attribute__((__stdcall__)) SetSystemPaletteUse(HDC,UINT);
UINT __attribute__((__stdcall__)) SetTextAlign(HDC,UINT);
int __attribute__((__stdcall__)) SetTextCharacterExtra(HDC,int);
COLORREF __attribute__((__stdcall__)) SetTextColor(HDC,COLORREF);
BOOL __attribute__((__stdcall__)) SetTextJustification(HDC,int,int);
BOOL __attribute__((__stdcall__)) SetViewportExtEx(HDC,int,int,LPSIZE);
BOOL __attribute__((__stdcall__)) SetViewportOrgEx(HDC,int,int,LPPOINT);
BOOL __attribute__((__stdcall__)) SetWindowExtEx(HDC,int,int,LPSIZE);
BOOL __attribute__((__stdcall__)) SetWindowOrgEx(HDC,int,int,LPPOINT);
HENHMETAFILE __attribute__((__stdcall__)) SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
BOOL __attribute__((__stdcall__)) SetWorldTransform(HDC,const XFORM *);
int __attribute__((__stdcall__)) StartDocA(HDC,const DOCINFO*);
int __attribute__((__stdcall__)) StartDocW(HDC,const DOCINFO*);
int __attribute__((__stdcall__)) StartPage(HDC);
BOOL __attribute__((__stdcall__)) StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
int __attribute__((__stdcall__)) StretchDIBits(HDC,int,int,int,int,int,int,int,int,const void *,const BITMAPINFO *,UINT,DWORD);
BOOL __attribute__((__stdcall__)) StrokeAndFillPath(HDC);
BOOL __attribute__((__stdcall__)) StrokePath(HDC);
BOOL __attribute__((__stdcall__)) SwapBuffers(HDC);
BOOL __attribute__((__stdcall__)) TextOutA(HDC,int,int,LPCSTR,int);
BOOL __attribute__((__stdcall__)) TextOutW(HDC,int,int,LPCWSTR,int);
BOOL __attribute__((__stdcall__)) TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
BOOL __attribute__((__stdcall__)) UnrealizeObject(HGDIOBJ);
BOOL __attribute__((__stdcall__)) UpdateColors(HDC);
BOOL __attribute__((__stdcall__)) UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
BOOL __attribute__((__stdcall__)) UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
BOOL __attribute__((__stdcall__)) WidenPath(HDC);
BOOL __attribute__((__stdcall__)) wglCopyContext(HGLRC,HGLRC,UINT);
HGLRC __attribute__((__stdcall__)) wglCreateContext(HDC);
HGLRC __attribute__((__stdcall__)) wglCreateLayerContext(HDC,int);
BOOL __attribute__((__stdcall__)) wglDeleteContext(HGLRC);
BOOL __attribute__((__stdcall__)) wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
HGLRC __attribute__((__stdcall__)) wglGetCurrentContext(void);
HDC __attribute__((__stdcall__)) wglGetCurrentDC(void);
int __attribute__((__stdcall__)) wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
PROC __attribute__((__stdcall__)) wglGetProcAddress(LPCSTR);
BOOL __attribute__((__stdcall__)) wglMakeCurrent(HDC,HGLRC);
BOOL __attribute__((__stdcall__)) wglRealizeLayerPalette(HDC,int,BOOL);
int __attribute__((__stdcall__)) wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
BOOL __attribute__((__stdcall__)) wglShareLists(HGLRC,HGLRC);
BOOL __attribute__((__stdcall__)) wglSwapLayerBuffers(HDC,UINT);
BOOL __attribute__((__stdcall__)) wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
BOOL __attribute__((__stdcall__)) wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
# 2744 "/usr/include/mingw/wingdi.h"
typedef BYTE BCHAR;
typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;


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;
# 2807 "/usr/include/mingw/wingdi.h"
}
# 84 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winuser.h" 1



extern "C" {
# 1799 "/usr/include/mingw/winuser.h"
typedef BOOL(__attribute__((__stdcall__)) *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
typedef void(__attribute__((__stdcall__)) *TIMERPROC)(HWND,UINT,UINT,DWORD);
typedef BOOL(__attribute__((__stdcall__)) *GRAYSTRINGPROC)(HDC,LPARAM,int);
typedef LRESULT(__attribute__((__stdcall__)) *HOOKPROC)(int,WPARAM,LPARAM);
typedef BOOL(__attribute__((__stdcall__)) *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
typedef BOOL(__attribute__((__stdcall__)) *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
typedef BOOL(__attribute__((__stdcall__)) *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD);
typedef BOOL(__attribute__((__stdcall__)) *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD);
typedef int(__attribute__((__stdcall__)) *EDITWORDBREAKPROCA)(LPSTR,int,int,int);
typedef int(__attribute__((__stdcall__)) *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
typedef LRESULT(__attribute__((__stdcall__)) *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
typedef BOOL(__attribute__((__stdcall__)) *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
typedef BOOL(__attribute__((__stdcall__)) *WNDENUMPROC)(HWND,LPARAM);
typedef BOOL(__attribute__((__stdcall__)) *ENUMWINDOWSPROC)(HWND,LPARAM);
typedef BOOL(__attribute__((__stdcall__)) *NAMEENUMPROCA)(LPSTR,LPARAM);
typedef BOOL(__attribute__((__stdcall__)) *NAMEENUMPROCW)(LPWSTR,LPARAM);
typedef NAMEENUMPROCA DESKTOPENUMPROCA;
typedef NAMEENUMPROCW DESKTOPENUMPROCW;
typedef NAMEENUMPROCA WINSTAENUMPROCA;
typedef NAMEENUMPROCW WINSTAENUMPROCW;
typedef void(__attribute__((__stdcall__)) *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT);
typedef struct HHOOK__{int i;}*HHOOK;
typedef struct HDWP__{int i;}*HDWP;
typedef struct tagACCEL {
        BYTE fVirt;
        WORD key;
        WORD cmd;
} ACCEL,*LPACCEL;
typedef struct tagACCESSTIMEOUT {
        UINT cbSize;
        DWORD dwFlags;
        DWORD iTimeOutMSec;
} ACCESSTIMEOUT;
typedef struct tagANIMATIONINFO {
        UINT cbSize;
        int iMinAnimate;
} ANIMATIONINFO,*LPANIMATIONINFO;
typedef struct tagCREATESTRUCT {
        LPVOID lpCreateParams;
        HINSTANCE hInstance;
        HMENU hMenu;
        HWND hwndParent;
        int cy;
        int cx;
        int y;
        int x;
        LONG style;
        LPCTSTR lpszName;
        LPCTSTR lpszClass;
        DWORD dwExStyle;
} CREATESTRUCT,*LPCREATESTRUCT;
typedef struct tagCBT_CREATEWND {
        LPCREATESTRUCT lpcs;
        HWND hwndInsertAfter;
} CBT_CREATEWND;
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;
} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
typedef struct tagCOPYDATASTRUCT {
        DWORD dwData;
        DWORD cbData;
        PVOID lpData;
} COPYDATASTRUCT;
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,*PWCWPSTRUCT;
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;



} 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;



} 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(__attribute__((__stdcall__)) *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 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 {
        DWORD cbSize;
        DWORD dwFlags;
        LPSTR lpszActivePort;
        LPSTR lpszPort;
        DWORD iBaudRate;
        DWORD iPortState;
} SERIALKEYSA,*LPSERIALKEYSA;
typedef struct tagSERIALKEYSW {
        DWORD cbSize;
        DWORD dwFlags;
        LPWSTR lpszActivePort;
        LPWSTR lpszPort;
        DWORD iBaudRate;
        DWORD iPortState;
} 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;
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;
# 2382 "/usr/include/mingw/winuser.h"
HKL __attribute__((__stdcall__)) ActivateKeyboardLayout(HKL,UINT);
BOOL __attribute__((__stdcall__)) AdjustWindowRect(LPRECT,DWORD,BOOL);
BOOL __attribute__((__stdcall__)) AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
BOOL __attribute__((__stdcall__)) AnyPopup(void);
BOOL __attribute__((__stdcall__)) AppendMenuA(HMENU,UINT,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) AppendMenuW(HMENU,UINT,UINT,LPCWSTR);
UINT __attribute__((__stdcall__)) ArrangeIconicWindows(HWND);
BOOL __attribute__((__stdcall__)) AttachThreadInput(DWORD,DWORD,BOOL);
HDWP __attribute__((__stdcall__)) BeginDeferWindowPos(int);
HDC __attribute__((__stdcall__)) BeginPaint(HWND,LPPAINTSTRUCT);
BOOL __attribute__((__stdcall__)) BringWindowToTop(HWND);
long __attribute__((__stdcall__)) BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) CallMsgFilter(PMSG,int);
LRESULT __attribute__((__stdcall__)) CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
WORD __attribute__((__stdcall__)) CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
BOOL __attribute__((__stdcall__)) ChangeClipboardChain(HWND,HWND);
LONG __attribute__((__stdcall__)) ChangeDisplaySettingsA(PDEVMODEA,DWORD);
LONG __attribute__((__stdcall__)) ChangeDisplaySettingsW(PDEVMODEW,DWORD);
BOOL __attribute__((__stdcall__)) ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
BOOL __attribute__((__stdcall__)) ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
LPSTR __attribute__((__stdcall__)) CharLowerA(LPSTR);
LPWSTR __attribute__((__stdcall__)) CharLowerW(LPWSTR);
DWORD __attribute__((__stdcall__)) CharLowerBuffA(LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) CharLowerBuffW(LPWSTR,DWORD);
LPSTR __attribute__((__stdcall__)) CharNextA(LPCSTR);
LPWSTR __attribute__((__stdcall__)) CharNextW(LPCWSTR);
LPSTR __attribute__((__stdcall__)) CharNextExA(WORD,LPCSTR,DWORD);
LPWSTR __attribute__((__stdcall__)) CharNextExW(WORD,LPCWSTR,DWORD);
LPSTR __attribute__((__stdcall__)) CharPrevA(LPCSTR,LPCSTR);
LPWSTR __attribute__((__stdcall__)) CharPrevW(LPCWSTR,LPCWSTR);
LPSTR __attribute__((__stdcall__)) CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
LPWSTR __attribute__((__stdcall__)) CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD);
BOOL __attribute__((__stdcall__)) CharToOemA(LPCSTR,LPSTR);
BOOL __attribute__((__stdcall__)) CharToOemW(LPCWSTR,LPSTR);
BOOL __attribute__((__stdcall__)) CharToOemBuffA(LPCSTR,LPSTR,DWORD);
BOOL __attribute__((__stdcall__)) CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
LPSTR __attribute__((__stdcall__)) CharUpperA(LPSTR);
LPWSTR __attribute__((__stdcall__)) CharUpperW(LPWSTR);
DWORD __attribute__((__stdcall__)) CharUpperBuffA(LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) CharUpperBuffW(LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) CheckDlgButton(HWND,int,UINT);
DWORD __attribute__((__stdcall__)) CheckMenuItem(HMENU,UINT,UINT);
BOOL __attribute__((__stdcall__)) CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
BOOL __attribute__((__stdcall__)) CheckRadioButton(HWND,int,int,int);
HWND __attribute__((__stdcall__)) ChildWindowFromPoint(HWND,POINT);
HWND __attribute__((__stdcall__)) ChildWindowFromPointEx(HWND,POINT,UINT);
BOOL __attribute__((__stdcall__)) ClientToScreen(HWND,LPPOINT);
BOOL __attribute__((__stdcall__)) ClipCursor(LPCRECT);
BOOL __attribute__((__stdcall__)) CloseClipboard(void);
BOOL __attribute__((__stdcall__)) CloseDesktop(HDESK);
BOOL __attribute__((__stdcall__)) CloseWindow(HWND);
BOOL __attribute__((__stdcall__)) CloseWindowStation(HWINSTA);
int __attribute__((__stdcall__)) CopyAcceleratorTableA(HACCEL,LPACCEL,int);
int __attribute__((__stdcall__)) CopyAcceleratorTableW(HACCEL,LPACCEL,int);
HCURSOR __attribute__((__stdcall__)) CopyCursor(HCURSOR);
HICON __attribute__((__stdcall__)) CopyIcon(HICON);
HANDLE __attribute__((__stdcall__)) CopyImage(HANDLE,UINT,int,int,UINT);
BOOL __attribute__((__stdcall__)) CopyRect(LPRECT,LPCRECT);
int __attribute__((__stdcall__)) CountClipboardFormats(void);
HACCEL __attribute__((__stdcall__)) CreateAcceleratorTableA(LPACCEL,int);
HACCEL __attribute__((__stdcall__)) CreateAcceleratorTableW(LPACCEL,int);
BOOL __attribute__((__stdcall__)) CreateCaret(HWND,HBITMAP,int,int);
HCURSOR __attribute__((__stdcall__)) CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
HDESK __attribute__((__stdcall__)) CreateDesktopA(LPSTR,LPSTR,LPDEVMODEA,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
HDESK __attribute__((__stdcall__)) CreateDesktopW(LPWSTR,LPWSTR,LPDEVMODEW,DWORD,DWORD,LPSECURITY_ATTRIBUTES);




HWND __attribute__((__stdcall__)) CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
HWND __attribute__((__stdcall__)) CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
HWND __attribute__((__stdcall__)) CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
HWND __attribute__((__stdcall__)) CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
HICON __attribute__((__stdcall__)) CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*);
HICON __attribute__((__stdcall__)) CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
HICON __attribute__((__stdcall__)) CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
HICON __attribute__((__stdcall__)) CreateIconIndirect(PICONINFO);
HWND __attribute__((__stdcall__)) CreateMDIWindowA(LPSTR,LPSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
HWND __attribute__((__stdcall__)) CreateMDIWindowW(LPWSTR,LPWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
HMENU __attribute__((__stdcall__)) CreateMenu(void);
HMENU __attribute__((__stdcall__)) CreatePopupMenu(void);


HWND __attribute__((__stdcall__)) CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
HWND __attribute__((__stdcall__)) CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
HWINSTA __attribute__((__stdcall__)) CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
HWINSTA __attribute__((__stdcall__)) CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
LRESULT __attribute__((__stdcall__)) DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
HDWP __attribute__((__stdcall__)) DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT);
LRESULT __attribute__((__stdcall__)) DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);

LRESULT __attribute__((__stdcall__)) DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) DeleteMenu(HMENU,UINT,UINT);
BOOL __attribute__((__stdcall__)) DestroyAcceleratorTable(HACCEL);
BOOL __attribute__((__stdcall__)) DestroyCaret(void);
BOOL __attribute__((__stdcall__)) DestroyCursor(HCURSOR);
BOOL __attribute__((__stdcall__)) DestroyIcon(HICON);
BOOL __attribute__((__stdcall__)) DestroyMenu(HMENU);
BOOL __attribute__((__stdcall__)) DestroyWindow(HWND);




int __attribute__((__stdcall__)) DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
int __attribute__((__stdcall__)) DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
int __attribute__((__stdcall__)) DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
int __attribute__((__stdcall__)) DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
LONG __attribute__((__stdcall__)) DispatchMessageA(const MSG*);
LONG __attribute__((__stdcall__)) DispatchMessageW(const MSG*);
int __attribute__((__stdcall__)) DlgDirListA(HWND,LPSTR,int,int,UINT);
int __attribute__((__stdcall__)) DlgDirListW(HWND,LPWSTR,int,int,UINT);
int __attribute__((__stdcall__)) DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT);
int __attribute__((__stdcall__)) DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT);
BOOL __attribute__((__stdcall__)) DlgDirSelectComboBoxExA(HWND,LPSTR,int,int);
BOOL __attribute__((__stdcall__)) DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int);
BOOL __attribute__((__stdcall__)) DlgDirSelectExA(HWND,LPSTR,int,int);
BOOL __attribute__((__stdcall__)) DlgDirSelectExW(HWND,LPWSTR,int,int);
BOOL __attribute__((__stdcall__)) DragDetect(HWND,POINT);
DWORD __attribute__((__stdcall__)) DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
BOOL __attribute__((__stdcall__)) DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT);
BOOL __attribute__((__stdcall__)) DrawCaption(HWND,HDC,LPCRECT,UINT);
BOOL __attribute__((__stdcall__)) DrawEdge(HDC,LPRECT,UINT,UINT);
BOOL __attribute__((__stdcall__)) DrawFocusRect(HDC,LPCRECT);
BOOL __attribute__((__stdcall__)) DrawFrameControl(HDC,LPRECT,UINT,UINT);
BOOL __attribute__((__stdcall__)) DrawIcon(HDC,int,int,HICON);
BOOL __attribute__((__stdcall__)) DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT);
BOOL __attribute__((__stdcall__)) DrawMenuBar(HWND);
BOOL __attribute__((__stdcall__)) DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
BOOL __attribute__((__stdcall__)) DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
int __attribute__((__stdcall__)) DrawTextA(HDC,LPCSTR,int,LPRECT,UINT);
int __attribute__((__stdcall__)) DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT);
int __attribute__((__stdcall__)) DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
int __attribute__((__stdcall__)) DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
BOOL __attribute__((__stdcall__)) EmptyClipboard(void);
BOOL __attribute__((__stdcall__)) EnableMenuItem(HMENU,UINT,UINT);
BOOL __attribute__((__stdcall__)) EnableScrollBar(HWND,UINT,UINT);
BOOL __attribute__((__stdcall__)) EnableWindow(HWND,BOOL);
BOOL __attribute__((__stdcall__)) EndDeferWindowPos(HDWP);
BOOL __attribute__((__stdcall__)) EndDialog(HWND,int);
BOOL __attribute__((__stdcall__)) EndPaint(HWND,const PAINTSTRUCT*);
BOOL __attribute__((__stdcall__)) EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
UINT __attribute__((__stdcall__)) EnumClipboardFormats(UINT);
BOOL __attribute__((__stdcall__)) EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
BOOL __attribute__((__stdcall__)) EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
BOOL __attribute__((__stdcall__)) EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
BOOL __attribute__((__stdcall__)) EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
BOOL __attribute__((__stdcall__)) EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
int __attribute__((__stdcall__)) EnumPropsA(HWND,PROPENUMPROCA);
int __attribute__((__stdcall__)) EnumPropsW(HWND,PROPENUMPROCW);
int __attribute__((__stdcall__)) EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
int __attribute__((__stdcall__)) EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);

BOOL __attribute__((__stdcall__)) EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
BOOL __attribute__((__stdcall__)) EnumWindows(WNDENUMPROC,LPARAM);
BOOL __attribute__((__stdcall__)) EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
BOOL __attribute__((__stdcall__)) EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
BOOL __attribute__((__stdcall__)) EqualRect(LPCRECT,LPCRECT);

BOOL __attribute__((__stdcall__)) ExitWindowsEx(UINT,DWORD);
HWND __attribute__((__stdcall__)) FindWindowA(LPCSTR,LPCSTR);
HWND __attribute__((__stdcall__)) FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
HWND __attribute__((__stdcall__)) FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
HWND __attribute__((__stdcall__)) FindWindowW(LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) FlashWindow(HWND,BOOL);
int __attribute__((__stdcall__)) FrameRect(HDC,LPCRECT,HBRUSH);
BOOL __attribute__((__stdcall__)) FrameRgn(HDC,HRGN,HBRUSH,int,int);
HWND __attribute__((__stdcall__)) GetActiveWindow(void);
SHORT __attribute__((__stdcall__)) GetAsyncKeyState(int);
HWND __attribute__((__stdcall__)) GetCapture(void);
UINT __attribute__((__stdcall__)) GetCaretBlinkTime(void);
BOOL __attribute__((__stdcall__)) GetCaretPos(LPPOINT);
BOOL __attribute__((__stdcall__)) GetClassInfoA(HINSTANCE,LPCSTR,PWNDCLASSA);
BOOL __attribute__((__stdcall__)) GetClassInfoExA(HINSTANCE,LPCSTR,PWNDCLASSEXA);
BOOL __attribute__((__stdcall__)) GetClassInfoW(HINSTANCE,LPCWSTR,PWNDCLASSW);
BOOL __attribute__((__stdcall__)) GetClassInfoExW(HINSTANCE,LPCWSTR,PWNDCLASSEXW);
DWORD __attribute__((__stdcall__)) GetClassLongA(HWND,int);
DWORD __attribute__((__stdcall__)) GetClassLongW(HWND,int);
int __attribute__((__stdcall__)) GetClassNameA(HWND,LPSTR,int);
int __attribute__((__stdcall__)) GetClassNameW(HWND,LPWSTR,int);
WORD __attribute__((__stdcall__)) GetClassWord(HWND,int);
BOOL __attribute__((__stdcall__)) GetClientRect(HWND,LPRECT);
HANDLE __attribute__((__stdcall__)) GetClipboardData(UINT);
int __attribute__((__stdcall__)) GetClipboardFormatNameA(UINT,LPSTR,int);
int __attribute__((__stdcall__)) GetClipboardFormatNameW(UINT,LPWSTR,int);
HWND __attribute__((__stdcall__)) GetClipboardOwner(void);
HWND __attribute__((__stdcall__)) GetClipboardViewer(void);
BOOL __attribute__((__stdcall__)) GetClipCursor(LPRECT);
BOOL __attribute__((__stdcall__)) GetCursorPos(LPPOINT);
HDC __attribute__((__stdcall__)) GetDC(HWND);
HDC __attribute__((__stdcall__)) GetDCEx(HWND,HRGN,DWORD);
HWND __attribute__((__stdcall__)) GetDesktopWindow(void);
long __attribute__((__stdcall__)) GetDialogBaseUnits(void);
int __attribute__((__stdcall__)) GetDlgCtrlID(HWND);
HWND __attribute__((__stdcall__)) GetDlgItem(HWND,int);
UINT __attribute__((__stdcall__)) GetDlgItemInt(HWND,int,PBOOL,BOOL);
UINT __attribute__((__stdcall__)) GetDlgItemTextA(HWND,int,LPSTR,int);
UINT __attribute__((__stdcall__)) GetDlgItemTextW(HWND,int,LPWSTR,int);
UINT __attribute__((__stdcall__)) GetDoubleClickTime(void);
HWND __attribute__((__stdcall__)) GetFocus(void);
HWND __attribute__((__stdcall__)) GetForegroundWindow(void);
BOOL __attribute__((__stdcall__)) GetIconInfo(HICON,PICONINFO);
BOOL __attribute__((__stdcall__)) GetInputState(void);
UINT __attribute__((__stdcall__)) GetKBCodePage(void);
HKL __attribute__((__stdcall__)) GetKeyboardLayout(DWORD);
int __attribute__((__stdcall__)) GetKeyboardLayoutList(int,HKL*);
BOOL __attribute__((__stdcall__)) GetKeyboardLayoutNameA(LPSTR);
BOOL __attribute__((__stdcall__)) GetKeyboardLayoutNameW(LPWSTR);
BOOL __attribute__((__stdcall__)) GetKeyboardState(PBYTE);
int __attribute__((__stdcall__)) GetKeyboardType(int);
int __attribute__((__stdcall__)) GetKeyNameTextA(LONG,LPSTR,int);
int __attribute__((__stdcall__)) GetKeyNameTextW(LONG,LPWSTR,int);
SHORT __attribute__((__stdcall__)) GetKeyState(int);
HWND __attribute__((__stdcall__)) GetLastActivePopup(HWND);
DWORD __attribute__((__stdcall__)) GetLastError(void);
HMENU __attribute__((__stdcall__)) GetMenu(HWND);
LONG __attribute__((__stdcall__)) GetMenuCheckMarkDimensions(void);
DWORD __attribute__((__stdcall__)) GetMenuContextHelpId(HMENU);
UINT __attribute__((__stdcall__)) GetMenuDefaultItem(HMENU,UINT,UINT);
int __attribute__((__stdcall__)) GetMenuItemCount(HMENU);
UINT __attribute__((__stdcall__)) GetMenuItemID(HMENU,int);
BOOL __attribute__((__stdcall__)) GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA);
BOOL __attribute__((__stdcall__)) GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW);
BOOL __attribute__((__stdcall__)) GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
UINT __attribute__((__stdcall__)) GetMenuState(HMENU,UINT,UINT);
int __attribute__((__stdcall__)) GetMenuStringA(HMENU,UINT,LPSTR,int,UINT);
int __attribute__((__stdcall__)) GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT);
BOOL __attribute__((__stdcall__)) GetMessageA(LPMSG,HWND,UINT,UINT);
BOOL __attribute__((__stdcall__)) GetMessageW(LPMSG,HWND,UINT,UINT);
LONG __attribute__((__stdcall__)) GetMessageExtraInfo(void);
DWORD __attribute__((__stdcall__)) GetMessagePos(void);
LONG __attribute__((__stdcall__)) GetMessageTime(void);
HWND __attribute__((__stdcall__)) GetNextDlgGroupItem(HWND,HWND,BOOL);
HWND __attribute__((__stdcall__)) GetNextDlgTabItem(HWND,HWND,BOOL);

HWND __attribute__((__stdcall__)) GetOpenClipboardWindow(void);
HWND __attribute__((__stdcall__)) GetParent(HWND);
int __attribute__((__stdcall__)) GetPriorityClipboardFormat(UINT*,int);
HANDLE __attribute__((__stdcall__)) GetPropA(HWND,LPCSTR);
HANDLE __attribute__((__stdcall__)) GetPropW(HWND,LPCWSTR);
DWORD __attribute__((__stdcall__)) GetQueueStatus(UINT);
BOOL __attribute__((__stdcall__)) GetScrollInfo(HWND,int,LPSCROLLINFO);
int __attribute__((__stdcall__)) GetScrollPos(HWND,int);
BOOL __attribute__((__stdcall__)) GetScrollRange(HWND,int,LPINT,LPINT);
HMENU __attribute__((__stdcall__)) GetSubMenu(HMENU,int);
DWORD __attribute__((__stdcall__)) GetSysColor(int);
HBRUSH __attribute__((__stdcall__)) GetSysColorBrush(int);

HMENU __attribute__((__stdcall__)) GetSystemMenu(HWND,BOOL);
int __attribute__((__stdcall__)) GetSystemMetrics(int);
DWORD __attribute__((__stdcall__)) GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
DWORD __attribute__((__stdcall__)) GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
LONG __attribute__((__stdcall__)) GetWindowLongA(HWND,int);
LONG __attribute__((__stdcall__)) GetWindowLongW(HWND,int);
HDESK __attribute__((__stdcall__)) GetThreadDesktop(DWORD);
HWND __attribute__((__stdcall__)) GetTopWindow(HWND);
BOOL __attribute__((__stdcall__)) GetUpdateRect(HWND,LPRECT,BOOL);
int __attribute__((__stdcall__)) GetUpdateRgn(HWND,HRGN,BOOL);
BOOL __attribute__((__stdcall__)) GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
HWND __attribute__((__stdcall__)) GetWindow(HWND,UINT);
DWORD __attribute__((__stdcall__)) GetWindowContextHelpId(HWND);
HDC __attribute__((__stdcall__)) GetWindowDC(HWND);
BOOL __attribute__((__stdcall__)) GetWindowExtEx(HDC,LPSIZE);
BOOL __attribute__((__stdcall__)) GetWindowPlacement(HWND,WINDOWPLACEMENT*);
BOOL __attribute__((__stdcall__)) GetWindowRect(HWND,LPRECT);
int __attribute__((__stdcall__)) GetWindowRgn(HWND,HRGN);

int __attribute__((__stdcall__)) GetWindowTextA(HWND,LPSTR,int);
int __attribute__((__stdcall__)) GetWindowTextLengthA(HWND);
int __attribute__((__stdcall__)) GetWindowTextLengthW(HWND);
int __attribute__((__stdcall__)) GetWindowTextW(HWND,LPWSTR,int);
WORD __attribute__((__stdcall__)) GetWindowWord(HWND,int);
BOOL __attribute__((__stdcall__)) GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
BOOL __attribute__((__stdcall__)) HideCaret(HWND);
BOOL __attribute__((__stdcall__)) HiliteMenuItem(HWND,HMENU,UINT,UINT);
BOOL __attribute__((__stdcall__)) InflateRect(LPRECT,int,int);
BOOL __attribute__((__stdcall__)) InSendMessage(void);
BOOL __attribute__((__stdcall__)) InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
BOOL __attribute__((__stdcall__)) InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
BOOL __attribute__((__stdcall__)) InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
BOOL __attribute__((__stdcall__)) IntersectRect(LPRECT,LPCRECT,LPCRECT);
BOOL __attribute__((__stdcall__)) InvalidateRect(HWND,LPCRECT,BOOL);
BOOL __attribute__((__stdcall__)) InvalidateRgn(HWND,HRGN,BOOL);
BOOL __attribute__((__stdcall__)) InvertRect(HDC,LPCRECT);
BOOL __attribute__((__stdcall__)) IsCharAlphaA(CHAR ch);
BOOL __attribute__((__stdcall__)) IsCharAlphaNumericA(CHAR);
BOOL __attribute__((__stdcall__)) IsCharAlphaNumericW(WCHAR);
BOOL __attribute__((__stdcall__)) IsCharAlphaW(WCHAR);
BOOL __attribute__((__stdcall__)) IsCharLowerA(CHAR);
BOOL __attribute__((__stdcall__)) IsCharLowerW(WCHAR);
BOOL __attribute__((__stdcall__)) IsCharUpperA(CHAR);
BOOL __attribute__((__stdcall__)) IsCharUpperW(WCHAR);
BOOL __attribute__((__stdcall__)) IsChild(HWND,HWND);
BOOL __attribute__((__stdcall__)) IsClipboardFormatAvailable(UINT);
BOOL __attribute__((__stdcall__)) IsDialogMessageA(HWND,LPMSG);
BOOL __attribute__((__stdcall__)) IsDialogMessageW(HWND,LPMSG);
UINT __attribute__((__stdcall__)) IsDlgButtonChecked(HWND,int);
BOOL __attribute__((__stdcall__)) IsIconic(HWND);
BOOL __attribute__((__stdcall__)) IsMenu(HMENU);
BOOL __attribute__((__stdcall__)) IsRectEmpty(LPCRECT);
BOOL __attribute__((__stdcall__)) IsWindow(HWND);
BOOL __attribute__((__stdcall__)) IsWindowEnabled(HWND);
BOOL __attribute__((__stdcall__)) IsWindowUnicode(HWND);
BOOL __attribute__((__stdcall__)) IsWindowVisible(HWND);
BOOL __attribute__((__stdcall__)) IsZoomed(HWND);
void __attribute__((__stdcall__)) keybd_event(BYTE,BYTE,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) KillTimer(HWND,UINT);
HACCEL __attribute__((__stdcall__)) LoadAcceleratorsA(HINSTANCE,LPCSTR);
HACCEL __attribute__((__stdcall__)) LoadAcceleratorsW(HINSTANCE,LPCWSTR);
HBITMAP __attribute__((__stdcall__)) LoadBitmapA(HINSTANCE,LPCSTR);
HBITMAP __attribute__((__stdcall__)) LoadBitmapW(HINSTANCE,LPCWSTR);
HCURSOR __attribute__((__stdcall__)) LoadCursorA(HINSTANCE,LPCSTR);
HCURSOR __attribute__((__stdcall__)) LoadCursorFromFileA(LPCSTR);
HCURSOR __attribute__((__stdcall__)) LoadCursorFromFileW(LPCWSTR);
HCURSOR __attribute__((__stdcall__)) LoadCursorW(HINSTANCE,LPCWSTR);
HICON __attribute__((__stdcall__)) LoadIconA(HINSTANCE,LPCSTR);
HICON __attribute__((__stdcall__)) LoadIconW(HINSTANCE,LPCWSTR);
HANDLE __attribute__((__stdcall__)) LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT);
HANDLE __attribute__((__stdcall__)) LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT);
HKL __attribute__((__stdcall__)) LoadKeyboardLayoutA(LPCSTR,UINT);
HKL __attribute__((__stdcall__)) LoadKeyboardLayoutW(LPCWSTR,UINT);
HMENU __attribute__((__stdcall__)) LoadMenuA(HINSTANCE,LPCSTR);
HMENU __attribute__((__stdcall__)) LoadMenuIndirectA(const MENUTEMPLATE*);
HMENU __attribute__((__stdcall__)) LoadMenuIndirectW(const MENUTEMPLATE*);
HMENU __attribute__((__stdcall__)) LoadMenuW(HINSTANCE,LPCWSTR);
int __attribute__((__stdcall__)) LoadStringA(HINSTANCE,UINT,LPSTR,int);
int __attribute__((__stdcall__)) LoadStringW(HINSTANCE,UINT,LPWSTR,int);
BOOL __attribute__((__stdcall__)) LockWindowUpdate(HWND);
int __attribute__((__stdcall__)) LookupIconIdFromDirectory(PBYTE,BOOL);
int __attribute__((__stdcall__)) LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
BOOL __attribute__((__stdcall__)) MapDialogRect(HWND,LPRECT);
UINT __attribute__((__stdcall__)) MapVirtualKeyA(UINT,UINT);
UINT __attribute__((__stdcall__)) MapVirtualKeyExA(UINT,UINT,HKL);
UINT __attribute__((__stdcall__)) MapVirtualKeyExW(UINT,UINT,HKL);
UINT __attribute__((__stdcall__)) MapVirtualKeyW(UINT,UINT);
int __attribute__((__stdcall__)) MapWindowPoints(HWND,HWND,LPPOINT,UINT);
int __attribute__((__stdcall__)) MenuItemFromPoint(HWND,HMENU,POINT);
BOOL __attribute__((__stdcall__)) MessageBeep(UINT);
int __attribute__((__stdcall__)) MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
int __attribute__((__stdcall__)) MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
int __attribute__((__stdcall__)) MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
int __attribute__((__stdcall__)) MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
int __attribute__((__stdcall__)) MessageBoxIndirectA(LPMSGBOXPARAMSA);
int __attribute__((__stdcall__)) MessageBoxIndirectW(LPMSGBOXPARAMSW);
BOOL __attribute__((__stdcall__)) ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
void __attribute__((__stdcall__)) mouse_event(DWORD,DWORD,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) MoveWindow(HWND,int,int,int,int,BOOL);
DWORD __attribute__((__stdcall__)) MsgWaitForMultipleObjects(DWORD,LPHANDLE,BOOL,DWORD,DWORD);
DWORD __attribute__((__stdcall__)) MsgWaitForMultipleObjectsEx(DWORD,LPHANDLE,DWORD,DWORD,DWORD);
DWORD __attribute__((__stdcall__)) OemKeyScan(WORD);
BOOL __attribute__((__stdcall__)) OemToCharA(LPCSTR,LPSTR);
BOOL __attribute__((__stdcall__)) OemToCharBuffA(LPCSTR,LPSTR,DWORD);
BOOL __attribute__((__stdcall__)) OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) OemToCharW(LPCSTR,LPWSTR);
BOOL __attribute__((__stdcall__)) OffsetRect(LPRECT,int,int);
BOOL __attribute__((__stdcall__)) OpenClipboard(HWND);
HDESK __attribute__((__stdcall__)) OpenDesktopA(LPSTR,DWORD,BOOL,DWORD);
HDESK __attribute__((__stdcall__)) OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD);
BOOL __attribute__((__stdcall__)) OpenIcon(HWND);
HDESK __attribute__((__stdcall__)) OpenInputDesktop(DWORD,BOOL,DWORD);
HWINSTA __attribute__((__stdcall__)) OpenWindowStationA(LPSTR,BOOL,DWORD);
HWINSTA __attribute__((__stdcall__)) OpenWindowStationW(LPWSTR,BOOL,DWORD);
BOOL __attribute__((__stdcall__)) PaintDesktop(HDC);
BOOL __attribute__((__stdcall__)) PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
BOOL __attribute__((__stdcall__)) PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);


BOOL __attribute__((__stdcall__)) PostMessageA(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) PostMessageW(HWND,UINT,WPARAM,LPARAM);
void __attribute__((__stdcall__)) PostQuitMessage(int);
BOOL __attribute__((__stdcall__)) PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) PtInRect(LPCRECT,POINT);
BOOL __attribute__((__stdcall__)) RedrawWindow(HWND,LPCRECT,HRGN,UINT);
ATOM __attribute__((__stdcall__)) RegisterClassA(const WNDCLASSA*);
ATOM __attribute__((__stdcall__)) RegisterClassW(const WNDCLASSW*);
ATOM __attribute__((__stdcall__)) RegisterClassExA(const WNDCLASSEXA*);
ATOM __attribute__((__stdcall__)) RegisterClassExW(const WNDCLASSEXW*);
UINT __attribute__((__stdcall__)) RegisterClipboardFormatA(LPCSTR);
UINT __attribute__((__stdcall__)) RegisterClipboardFormatW(LPCWSTR);
BOOL __attribute__((__stdcall__)) RegisterHotKey(HWND,int,UINT,UINT);
UINT __attribute__((__stdcall__)) RegisterWindowMessageA(LPCSTR);
UINT __attribute__((__stdcall__)) RegisterWindowMessageW(LPCWSTR);
BOOL __attribute__((__stdcall__)) ReleaseCapture(void);
int __attribute__((__stdcall__)) ReleaseDC(HWND,HDC);
BOOL __attribute__((__stdcall__)) RemoveMenu(HMENU,UINT,UINT);
HANDLE __attribute__((__stdcall__)) RemovePropA(HWND,LPCSTR);
HANDLE __attribute__((__stdcall__)) RemovePropW(HWND,LPCWSTR);
BOOL __attribute__((__stdcall__)) ReplyMessage(LRESULT);
BOOL __attribute__((__stdcall__)) ScreenToClient(HWND,LPPOINT);
BOOL __attribute__((__stdcall__)) ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT);
BOOL __attribute__((__stdcall__)) ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
int __attribute__((__stdcall__)) ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
LONG __attribute__((__stdcall__)) SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
LONG __attribute__((__stdcall__)) SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
LRESULT __attribute__((__stdcall__)) SendMessageA(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
BOOL __attribute__((__stdcall__)) SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
LRESULT __attribute__((__stdcall__)) SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
LRESULT __attribute__((__stdcall__)) SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
LRESULT __attribute__((__stdcall__)) SendMessageW(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
HWND __attribute__((__stdcall__)) SetActiveWindow(HWND);
HWND __attribute__((__stdcall__)) SetCapture(HWND hWnd);
BOOL __attribute__((__stdcall__)) SetCaretBlinkTime(UINT);
BOOL __attribute__((__stdcall__)) SetCaretPos(int,int);
DWORD __attribute__((__stdcall__)) SetClassLongA(HWND,int,LONG);
DWORD __attribute__((__stdcall__)) SetClassLongW(HWND,int,LONG);
WORD __attribute__((__stdcall__)) SetClassWord(HWND,int,WORD);
HANDLE __attribute__((__stdcall__)) SetClipboardData(UINT,HANDLE);
HWND __attribute__((__stdcall__)) SetClipboardViewer(HWND);
HCURSOR __attribute__((__stdcall__)) SetCursor(HCURSOR);
BOOL __attribute__((__stdcall__)) SetCursorPos(int,int);
void __attribute__((__stdcall__)) SetDebugErrorLevel(DWORD);
BOOL __attribute__((__stdcall__)) SetDlgItemInt(HWND,int,UINT,BOOL);
BOOL __attribute__((__stdcall__)) SetDlgItemTextA(HWND,int,LPCSTR);
BOOL __attribute__((__stdcall__)) SetDlgItemTextW(HWND,int,LPCWSTR);
BOOL __attribute__((__stdcall__)) SetDoubleClickTime(UINT);
HWND __attribute__((__stdcall__)) SetFocus(HWND);
BOOL __attribute__((__stdcall__)) SetForegroundWindow(HWND);
BOOL __attribute__((__stdcall__)) SetKeyboardState(PBYTE);
BOOL __attribute__((__stdcall__)) SetMenu(HWND,HMENU);
BOOL __attribute__((__stdcall__)) SetMenuContextHelpId(HMENU,DWORD);
BOOL __attribute__((__stdcall__)) SetMenuDefaultItem(HMENU,UINT,UINT);
BOOL __attribute__((__stdcall__)) SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
BOOL __attribute__((__stdcall__)) SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
BOOL __attribute__((__stdcall__)) SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
LPARAM __attribute__((__stdcall__)) SetMessageExtraInfo(LPARAM);
BOOL __attribute__((__stdcall__)) SetMessageQueue(int);
HWND __attribute__((__stdcall__)) SetParent(HWND,HWND);
BOOL __attribute__((__stdcall__)) SetProcessWindowStation(HWINSTA);
BOOL __attribute__((__stdcall__)) SetPropA(HWND,LPCSTR,HANDLE);
BOOL __attribute__((__stdcall__)) SetPropW(HWND,LPCWSTR,HANDLE);
BOOL __attribute__((__stdcall__)) SetRect(LPRECT,int,int,int,int);
BOOL __attribute__((__stdcall__)) SetRectEmpty(LPRECT);
int __attribute__((__stdcall__)) SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL);
int __attribute__((__stdcall__)) SetScrollPos(HWND,int,int,BOOL);
BOOL __attribute__((__stdcall__)) SetScrollRange(HWND,int,int,int,BOOL);
BOOL __attribute__((__stdcall__)) SetSysColors(int,const INT *,const COLORREF *);

BOOL __attribute__((__stdcall__)) SetSystemCursor(HCURSOR,DWORD);
BOOL __attribute__((__stdcall__)) SetThreadDesktop(HDESK);
UINT __attribute__((__stdcall__)) SetTimer(HWND,UINT,UINT,TIMERPROC);
BOOL __attribute__((__stdcall__)) SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) SetWindowContextHelpId(HWND,DWORD);
LONG __attribute__((__stdcall__)) SetWindowLongA(HWND,int,LONG);
LONG __attribute__((__stdcall__)) SetWindowLongW(HWND,int,LONG);
BOOL __attribute__((__stdcall__)) SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
BOOL __attribute__((__stdcall__)) SetWindowPos(HWND,HWND,int,int,int,int,UINT);
int __attribute__((__stdcall__)) SetWindowRgn(HWND,HRGN,BOOL);
HOOKPROC __attribute__((__stdcall__)) SetWindowsHookA(int,HOOKPROC);
HHOOK __attribute__((__stdcall__)) SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
HHOOK __attribute__((__stdcall__)) SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
BOOL __attribute__((__stdcall__)) SetWindowTextA(HWND,LPCSTR);
BOOL __attribute__((__stdcall__)) SetWindowTextW(HWND,LPCWSTR);
WORD __attribute__((__stdcall__)) SetWindowWord(HWND,int,WORD);
BOOL __attribute__((__stdcall__)) ShowCaret(HWND);
int __attribute__((__stdcall__)) ShowCursor(BOOL);
BOOL __attribute__((__stdcall__)) ShowOwnedPopups(HWND,BOOL);
BOOL __attribute__((__stdcall__)) ShowScrollBar(HWND,int,BOOL);
BOOL __attribute__((__stdcall__)) ShowWindow(HWND,int);
BOOL __attribute__((__stdcall__)) ShowWindowAsync(HWND,int);
BOOL __attribute__((__stdcall__)) SubtractRect(LPRECT,LPCRECT,LPCRECT);
BOOL __attribute__((__stdcall__)) SwapMouseButton(BOOL);
BOOL __attribute__((__stdcall__)) SwitchDesktop(HDESK);
BOOL __attribute__((__stdcall__)) SystemParametersInfoA(UINT,UINT,PVOID,UINT);
BOOL __attribute__((__stdcall__)) SystemParametersInfoW(UINT,UINT,PVOID,UINT);
LONG __attribute__((__stdcall__)) TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
LONG __attribute__((__stdcall__)) TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int);
WORD __attribute__((__stdcall__)) TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *);
int __attribute__((__stdcall__)) ToAscii(UINT,UINT,PBYTE,LPWORD,UINT);
int __attribute__((__stdcall__)) ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL);
int __attribute__((__stdcall__)) ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
int __attribute__((__stdcall__)) ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL);
BOOL __attribute__((__stdcall__)) TrackMouseEvent(LPTRACKMOUSEEVENT);
BOOL __attribute__((__stdcall__)) TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT);
BOOL __attribute__((__stdcall__)) TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
int __attribute__((__stdcall__)) TranslateAcceleratorA(HWND,HACCEL,LPMSG);
int __attribute__((__stdcall__)) TranslateAcceleratorW(HWND,HACCEL,LPMSG);
BOOL __attribute__((__stdcall__)) TranslateMDISysAccel(HWND,LPMSG);
BOOL __attribute__((__stdcall__)) TranslateMessage(const MSG*);
BOOL __attribute__((__stdcall__)) UnhookWindowsHook(int,HOOKPROC);
BOOL __attribute__((__stdcall__)) UnhookWindowsHookEx(HHOOK);
BOOL __attribute__((__stdcall__)) UnionRect(LPRECT,LPCRECT,LPCRECT);
BOOL __attribute__((__stdcall__)) UnloadKeyboardLayout(HKL);
BOOL __attribute__((__stdcall__)) UnregisterClassA(LPCSTR,HINSTANCE);
BOOL __attribute__((__stdcall__)) UnregisterClassW(LPCWSTR,HINSTANCE);
BOOL __attribute__((__stdcall__)) UnregisterHotKey(HWND,int);
BOOL __attribute__((__stdcall__)) UpdateWindow(HWND);
BOOL __attribute__((__stdcall__)) ValidateRect(HWND,LPCRECT);
BOOL __attribute__((__stdcall__)) ValidateRgn(HWND,HRGN);
SHORT __attribute__((__stdcall__)) VkKeyScanA(CHAR);
SHORT __attribute__((__stdcall__)) VkKeyScanExA(CHAR,HKL);
SHORT __attribute__((__stdcall__)) VkKeyScanExW(WCHAR,HKL);
SHORT __attribute__((__stdcall__)) VkKeyScanW(WCHAR);
DWORD __attribute__((__stdcall__)) WaitForInputIdle(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) WaitMessage(void);
HWND __attribute__((__stdcall__)) WindowFromDC(HDC hDC);
HWND __attribute__((__stdcall__)) WindowFromPoint(POINT);
UINT __attribute__((__stdcall__)) WinExec(LPCSTR,UINT);
BOOL __attribute__((__stdcall__)) WinHelpA(HWND,LPCSTR,UINT,DWORD);
BOOL __attribute__((__stdcall__)) WinHelpW(HWND,LPCWSTR,UINT,DWORD);
int __attribute__((__cdecl__)) wsprintfA(LPSTR,LPCSTR,...);
int __attribute__((__cdecl__)) wsprintfW(LPWSTR,LPCWSTR,...);
int __attribute__((__stdcall__)) wvsprintfA(LPSTR,LPCSTR,va_list arglist);
int __attribute__((__stdcall__)) wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
# 3058 "/usr/include/mingw/winuser.h"
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 MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
# 3198 "/usr/include/mingw/winuser.h"
}
# 85 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winnls.h" 1



extern "C" {
# 301 "/usr/include/mingw/winnls.h"
typedef DWORD LCTYPE;
typedef ULONG CALTYPE;
typedef ULONG CALID;
typedef BOOL (__attribute__((__stdcall__)) *CALINFO_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *CALINFO_ENUMPROCW)(LPWSTR);
typedef BOOL (__attribute__((__stdcall__)) *LOCALE_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *LOCALE_ENUMPROCW)(LPWSTR);
typedef BOOL (__attribute__((__stdcall__)) *CODEPAGE_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *CODEPAGE_ENUMPROCW)(LPWSTR);
typedef BOOL (__attribute__((__stdcall__)) *DATEFMT_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *DATEFMT_ENUMPROCW)(LPWSTR);
typedef BOOL (__attribute__((__stdcall__)) *TIMEFMT_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *TIMEFMT_ENUMPROCW)(LPWSTR);
typedef struct _cpinfo {
        UINT MaxCharSize;
        BYTE DefaultChar[2];
        BYTE LeadByte[12];
} CPINFO,*LPCPINFO;
typedef struct _currencyfmtA {
        UINT NumDigits;
        UINT LeadingZero;
        UINT Grouping;
        LPSTR lpDecimalSep;
        LPSTR lpThousandSep;
        UINT NegativeOrder;
        UINT PositiveOrder;
        LPSTR lpCurrencySymbol;
} CURRENCYFMTA;
typedef struct _currencyfmtW {
        UINT NumDigits;
        UINT LeadingZero;
        UINT Grouping;
        LPWSTR lpDecimalSep;
        LPWSTR lpThousandSep;
        UINT NegativeOrder;
        UINT PositiveOrder;
        LPWSTR lpCurrencySymbol;
} CURRENCYFMTW;
typedef struct _numberfmtA {
        UINT NumDigits;
        UINT LeadingZero;
        UINT Grouping;
        LPSTR lpDecimalSep;
        LPSTR lpThousandSep;
        UINT NegativeOrder;
} NUMBERFMTA;
typedef struct _numberfmtW {
        UINT NumDigits;
        UINT LeadingZero;
        UINT Grouping;
        LPWSTR lpDecimalSep;
        LPWSTR lpThousandSep;
        UINT NegativeOrder;
} NUMBERFMTW;

int __attribute__((__stdcall__)) CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
int __attribute__((__stdcall__)) CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
LCID __attribute__((__stdcall__)) ConvertDefaultLocale(LCID);
BOOL __attribute__((__stdcall__)) EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
BOOL __attribute__((__stdcall__)) EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
BOOL __attribute__((__stdcall__)) EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
BOOL __attribute__((__stdcall__)) EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
BOOL __attribute__((__stdcall__)) EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
BOOL __attribute__((__stdcall__)) EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
BOOL __attribute__((__stdcall__)) EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
BOOL __attribute__((__stdcall__)) EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
BOOL __attribute__((__stdcall__)) EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
BOOL __attribute__((__stdcall__)) EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
int __attribute__((__stdcall__)) FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
int __attribute__((__stdcall__)) FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
UINT __attribute__((__stdcall__)) GetACP(void);
BOOL __attribute__((__stdcall__)) GetCPInfo(UINT,LPCPINFO);
int __attribute__((__stdcall__)) GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
int __attribute__((__stdcall__)) GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
int __attribute__((__stdcall__)) GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
int __attribute__((__stdcall__)) GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
int __attribute__((__stdcall__)) GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
int __attribute__((__stdcall__)) GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
int __attribute__((__stdcall__)) GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
int __attribute__((__stdcall__)) GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
UINT __attribute__((__stdcall__)) GetOEMCP(void);
BOOL __attribute__((__stdcall__)) GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
BOOL __attribute__((__stdcall__)) GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
BOOL __attribute__((__stdcall__)) GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
BOOL __attribute__((__stdcall__)) GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
LANGID __attribute__((__stdcall__)) GetSystemDefaultLangID(void);
LCID __attribute__((__stdcall__)) GetSystemDefaultLCID(void);
LCID __attribute__((__stdcall__)) GetThreadLocale(void);
int __attribute__((__stdcall__)) GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
int __attribute__((__stdcall__)) GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
LANGID __attribute__((__stdcall__)) GetUserDefaultLangID(void);
LCID __attribute__((__stdcall__)) GetUserDefaultLCID(void);
BOOL __attribute__((__stdcall__)) IsDBCSLeadByte(BYTE);
BOOL __attribute__((__stdcall__)) IsDBCSLeadByteEx(UINT,BYTE);
BOOL __attribute__((__stdcall__)) IsValidCodePage(UINT);
int __attribute__((__stdcall__)) LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
int __attribute__((__stdcall__)) LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
int __attribute__((__stdcall__)) MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
BOOL __attribute__((__stdcall__)) SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
BOOL __attribute__((__stdcall__)) SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
BOOL __attribute__((__stdcall__)) SetThreadLocale(LCID);
int __attribute__((__stdcall__)) WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
# 432 "/usr/include/mingw/winnls.h"
typedef CURRENCYFMTA CURRENCYFMT;
typedef NUMBERFMTA NUMBERFMT;
# 451 "/usr/include/mingw/winnls.h"
}
# 86 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winver.h" 1



extern "C" {
# 81 "/usr/include/mingw/winver.h"
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 __attribute__((__stdcall__)) VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
DWORD __attribute__((__stdcall__)) VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
DWORD __attribute__((__stdcall__)) VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
DWORD __attribute__((__stdcall__)) VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
DWORD __attribute__((__stdcall__)) GetFileVersionInfoSizeA(LPSTR,PDWORD);
DWORD __attribute__((__stdcall__)) GetFileVersionInfoSizeW(LPWSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
DWORD __attribute__((__stdcall__)) VerLanguageNameA(DWORD,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) VerLanguageNameW(DWORD,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) VerQueryValueA(PCVOID,LPSTR,PVOID*,PUINT);
BOOL __attribute__((__stdcall__)) VerQueryValueW(PCVOID,LPWSTR,PVOID*,PUINT);
# 127 "/usr/include/mingw/winver.h"
}
# 87 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winnetwk.h" 1



extern "C" {
# 130 "/usr/include/mingw/winnetwk.h"
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(__attribute__((__stdcall__)) *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT);
typedef UINT(__attribute__((__stdcall__)) *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT);
typedef UINT(__attribute__((__stdcall__)) *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD);
typedef UINT(__attribute__((__stdcall__)) *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD);
typedef BOOL(__attribute__((__stdcall__)) *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD);
typedef BOOL(__attribute__((__stdcall__)) *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
typedef struct _NETCONNECTINFOSTRUCT{
        DWORD cbStructure;
        DWORD dwFlags;
        DWORD dwSpeed;
        DWORD dwDelay;
        DWORD dwOptDataSize;
} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;

DWORD __attribute__((__stdcall__)) WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
DWORD __attribute__((__stdcall__)) WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
DWORD __attribute__((__stdcall__)) WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD __attribute__((__stdcall__)) WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
DWORD __attribute__((__stdcall__)) WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
DWORD __attribute__((__stdcall__)) WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
DWORD __attribute__((__stdcall__)) WNetCancelConnectionA(LPCSTR,BOOL);
DWORD __attribute__((__stdcall__)) WNetCancelConnectionW(LPCWSTR,BOOL);
DWORD __attribute__((__stdcall__)) WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
DWORD __attribute__((__stdcall__)) WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
DWORD __attribute__((__stdcall__)) WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
DWORD __attribute__((__stdcall__)) WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
DWORD __attribute__((__stdcall__)) WNetSetConnectionA(LPCSTR,DWORD,PVOID);
DWORD __attribute__((__stdcall__)) WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
DWORD __attribute__((__stdcall__)) WNetConnectionDialog(HWND,DWORD);
DWORD __attribute__((__stdcall__)) WNetDisconnectDialog(HWND,DWORD);
DWORD __attribute__((__stdcall__)) WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
DWORD __attribute__((__stdcall__)) WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
DWORD __attribute__((__stdcall__)) WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
DWORD __attribute__((__stdcall__)) WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
DWORD __attribute__((__stdcall__)) WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
DWORD __attribute__((__stdcall__)) WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
DWORD __attribute__((__stdcall__)) WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
DWORD __attribute__((__stdcall__)) WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
DWORD __attribute__((__stdcall__)) WNetCloseEnum(HANDLE);
DWORD __attribute__((__stdcall__)) WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetUserA(LPCSTR,LPSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
DWORD __attribute__((__stdcall__)) WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
DWORD __attribute__((__stdcall__)) WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
DWORD __attribute__((__stdcall__)) WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
DWORD __attribute__((__stdcall__)) MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
DWORD __attribute__((__stdcall__)) MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
# 284 "/usr/include/mingw/winnetwk.h"
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;
# 310 "/usr/include/mingw/winnetwk.h"
}
# 88 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winreg.h" 1



extern "C" {
# 35 "/usr/include/mingw/winreg.h"
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 __attribute__((__stdcall__)) AbortSystemShutdownA(LPCSTR);
BOOL __attribute__((__stdcall__)) AbortSystemShutdownW(LPCWSTR);
BOOL __attribute__((__stdcall__)) InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
BOOL __attribute__((__stdcall__)) InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
LONG __attribute__((__stdcall__)) RegCloseKey(HKEY);
LONG __attribute__((__stdcall__)) RegConnectRegistryA(LPSTR,HKEY,PHKEY);
LONG __attribute__((__stdcall__)) RegConnectRegistryW(LPWSTR,HKEY,PHKEY);
LONG __attribute__((__stdcall__)) RegCreateKeyA(HKEY,LPCSTR,PHKEY);
LONG __attribute__((__stdcall__)) RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
LONG __attribute__((__stdcall__)) RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
LONG __attribute__((__stdcall__)) RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
LONG __attribute__((__stdcall__)) RegDeleteKeyA(HKEY,LPCSTR);
LONG __attribute__((__stdcall__)) RegDeleteKeyW(HKEY,LPCWSTR);
LONG __attribute__((__stdcall__)) RegDeleteValueA (HKEY,LPCSTR);
LONG __attribute__((__stdcall__)) RegDeleteValueW(HKEY,LPCWSTR);
LONG __attribute__((__stdcall__)) RegEnumKeyA (HKEY,DWORD,LPSTR,DWORD);
LONG __attribute__((__stdcall__)) RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
LONG __attribute__((__stdcall__)) RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
LONG __attribute__((__stdcall__)) RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
LONG __attribute__((__stdcall__)) RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG __attribute__((__stdcall__)) RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG __attribute__((__stdcall__)) RegFlushKey(HKEY);
LONG __attribute__((__stdcall__)) RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
LONG __attribute__((__stdcall__)) RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
LONG __attribute__((__stdcall__)) RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
LONG __attribute__((__stdcall__)) RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
LONG __attribute__((__stdcall__)) RegOpenKeyA(HKEY,LPCSTR,PHKEY);
LONG __attribute__((__stdcall__)) RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
LONG __attribute__((__stdcall__)) RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
LONG __attribute__((__stdcall__)) RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
LONG __attribute__((__stdcall__)) RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
LONG __attribute__((__stdcall__)) RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
LONG __attribute__((__stdcall__)) RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,PDWORD);
LONG __attribute__((__stdcall__)) RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,PDWORD);
LONG __attribute__((__stdcall__)) RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
LONG __attribute__((__stdcall__)) RegQueryValueExA (HKEY,LPCSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG __attribute__((__stdcall__)) RegQueryValueExW(HKEY,LPCWSTR,PDWORD,PDWORD,LPBYTE,PDWORD);
LONG __attribute__((__stdcall__)) RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
LONG __attribute__((__stdcall__)) RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
LONG __attribute__((__stdcall__)) RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
LONG __attribute__((__stdcall__)) RegRestoreKeyA (HKEY,LPCSTR,DWORD);
LONG __attribute__((__stdcall__)) RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
LONG __attribute__((__stdcall__)) RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
LONG __attribute__((__stdcall__)) RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
LONG __attribute__((__stdcall__)) RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
LONG __attribute__((__stdcall__)) RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
LONG __attribute__((__stdcall__)) RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
LONG __attribute__((__stdcall__)) RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
LONG __attribute__((__stdcall__)) RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
LONG __attribute__((__stdcall__)) RegUnLoadKeyA(HKEY,LPCSTR);
LONG __attribute__((__stdcall__)) RegUnLoadKeyW(HKEY,LPCWSTR);
# 126 "/usr/include/mingw/winreg.h"
typedef VALENTA VALENT,*PVALENT;
# 153 "/usr/include/mingw/winreg.h"
}
# 89 "/usr/include/mingw/windows.h" 2
# 1 "/usr/include/mingw/winsvc.h" 1



extern "C" {
# 50 "/usr/include/mingw/winsvc.h"
typedef struct _SERVICE_STATUS {
        DWORD dwServiceType;
        DWORD dwCurrentState;
        DWORD dwControlsAccepted;
        DWORD dwWin32ExitCode;
        DWORD dwServiceSpecificExitCode;
        DWORD dwCheckPoint;
        DWORD dwWaitHint;
} SERVICE_STATUS,*LPSERVICE_STATUS;
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 _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 (__attribute__((__stdcall__)) *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
typedef void (__attribute__((__stdcall__)) *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;
typedef struct SC_HANDLE__{int i;}*SC_HANDLE;
typedef SC_HANDLE *LPSC_HANDLE;
typedef PVOID SC_LOCK;
typedef DWORD SERVICE_STATUS_HANDLE;
typedef BOOL(__attribute__((__stdcall__)) *LPHANDLER_FUNCTION)(DWORD);

BOOL __attribute__((__stdcall__)) ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
BOOL __attribute__((__stdcall__)) ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) CloseServiceHandle(SC_HANDLE);
BOOL __attribute__((__stdcall__)) ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
SC_HANDLE __attribute__((__stdcall__)) CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
SC_HANDLE __attribute__((__stdcall__)) CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
BOOL __attribute__((__stdcall__)) DeleteService(SC_HANDLE);
BOOL __attribute__((__stdcall__)) EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
BOOL __attribute__((__stdcall__)) GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
SC_LOCK __attribute__((__stdcall__)) LockServiceDatabase(SC_HANDLE);
BOOL __attribute__((__stdcall__)) NotifyBootConfigStatus(BOOL);
SC_HANDLE __attribute__((__stdcall__)) OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
SC_HANDLE __attribute__((__stdcall__)) OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
SC_HANDLE __attribute__((__stdcall__)) OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
SC_HANDLE __attribute__((__stdcall__)) OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
BOOL __attribute__((__stdcall__)) QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
BOOL __attribute__((__stdcall__)) SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
BOOL __attribute__((__stdcall__)) SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
BOOL __attribute__((__stdcall__)) StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
BOOL __attribute__((__stdcall__)) StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA);
BOOL __attribute__((__stdcall__)) StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
BOOL __attribute__((__stdcall__)) StartServiceW(SC_HANDLE,DWORD,LPCWSTR);
BOOL __attribute__((__stdcall__)) UnlockServiceDatabase(SC_LOCK);
# 177 "/usr/include/mingw/winsvc.h"
typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
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;
# 200 "/usr/include/mingw/winsvc.h"
}
# 90 "/usr/include/mingw/windows.h" 2
# 194 "SDL_gui.cc" 2


extern "C" int __attribute__((__stdcall__)) _cygwin_dll_entry(HANDLE h, DWORD reason, void *ptr)
{
        switch (reason)
        {
                case 1:
                        break;
                case 0:
                        break;
                case 2:
                        break;
                case 3:
                        break;
        }
        return 1;
}


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-04-08  1:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-19 16:22 c++/5449: internal error #20000524 jason
  -- strict thread matches above, loose matches on Subject: below --
2002-04-07 18:49 rodrigc
2002-03-19 15:22 jason
2002-03-12 14:56 Craig Rodrigues
2002-01-22 14:57 rodrigc
2002-01-21 18:39 rodrigc
2002-01-21 18:06 gyc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).