public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/7943: Compilation gives many strange errors
@ 2002-09-16 21:36 postmaster
0 siblings, 0 replies; only message in thread
From: postmaster @ 2002-09-16 21:36 UTC (permalink / raw)
To: gcc-gnats
>Number: 7943
>Category: c++
>Synopsis: Compilation gives many strange errors
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Mon Sep 16 21:36:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Mika Lindqvist
>Release: 2.95.3-5
>Organization:
>Environment:
Cygwin 1.3.12
>Description:
Doesn't handle classes defining functions that use the current class as a function parameter.
>How-To-Repeat:
/* This file is Copyright 2002 Level Control Systems. See the included LICENSE.txt file for details. */
/******************************************************************************
/
/ File: Flattenable.h
/
/ Description: version of Be's BFlattenable base class.
/
******************************************************************************/
#ifndef MuscleFlattenable_h
#define MuscleFlattenable_h
#ifdef __CYGWIN__
#include <windows.h>
#include <stddef.h>
#endif
#include <string.h>
#include "support/MuscleSupport.h"
namespace muscle {
/** This class is an interface representing an object that knows how
* to save itself into an array of bytes, and recover its state from
* an array of bytes.
*/
class Flattenable
{
public:
/** Constructor */
Flattenable() {/* empty */}
/** Destructor */
virtual ~Flattenable() {/* empty */}
/** Should return true iff every object of this type has a size that is known at compile time. */
virtual bool IsFixedSize() const = 0;
/** Should return the type code identifying this type of object. */
virtual type_code TypeCode() const = 0;
/** Should return the number of bytes needed to store this object in its current state. */
virtual uint32 FlattenedSize() const = 0;
/**
* Should store this object's state into (buffer).
* @param buffer The bytes to write this object's stat into. Buffer must be at least FlattenedSize() bytes long.
*/
virtual void Flatten(uint8 *buffer) const = 0;
/**
* Should return true iff a buffer with type_code (code) can be used to reconstruct
* this object's state. Defaults implementation returns true iff (code) equals TypeCode() or B_RAW_DATA.
* @param code A type code constant, e.g. B_RAW_TYPE or B_STRING_TYPE, or something custom.
* @return True iff this object can Unflatten from a buffer of the given type, false otherwise.
*/
virtual bool AllowsTypeCode(type_code code) const {return ((code == B_RAW_TYPE)||(code == TypeCode()));}
/**
* Should attempt to restore this object's state from the given buffer.
* @param buf The buffer of bytes to unflatten from.
* @param size Number of bytes in the buffer.
* @return B_NO_ERROR if the Unflattening was successful, else B_ERROR.
*/
virtual status_t Unflatten(const uint8 *buf, uint32 size) = 0;
/**
* Causes (copyTo)'s state to set from this Flattenable, if possible.
* Default implementation is not very efficient, since it has to flatten
* this object into a byte buffer, and then unflatten the bytes back into
* (copyTo). However, you can override CopyToImplementation() to provide
* a more efficient implementation when possible.
* @param copyTo Object to make into the equivalent of this object. (copyTo)
* May be any subclass of Flattenable.
* @return B_NO_ERROR on success, or B_ERROR on failure (typecode mismatch, out-of-memory, etc)
*/
status_t CopyTo(Flattenable /* & */ copyTo) const
{
return (this == ©To) ? B_NO_ERROR : ((copyTo.AllowsTypeCode(TypeCode())) ? CopyToImplementation(copyTo) : B_ERROR);
}
/**
* Causes our state to be set from (copyFrom)'s state, if possible.
* Default implementation is not very efficient, since it has to flatten
* (copyFrom) into a byte buffer, and then unflatten the bytes back into
* (this). However, you can override CopyFromImplementation() to provide
* a more efficient implementation when possible.
* @param copyFrom Object to read from to set the state of this object.
* (copyFrom) may be any subclass of Flattenable.
* @return B_NO_ERROR on success, or B_ERROR on failure (typecode mismatch, out-of-memory, etc)
*/
status_t CopyFrom(const Flattenable & copyFrom)
{
return (this == ©From) ? B_NO_ERROR : ((AllowsTypeCode(copyFrom.TypeCode())) ? CopyFromImplementation(copyFrom) : B_ERROR);
}
/**
* Convenience method for writing data into a byte buffer.
* Writes data consecutively into a byte buffer. The output buffer is
* assumed to be large enough to hold the data.
* @param outBuf Flat buffer to write to
* @param writeOffset Offset into buffer to read from. Incremented by (blockSize) on success.
* @param copyFrom memory location to copy bytes from
* @param blockSize number of bytes to copy
*/
static void WriteData(uint8 * outBuf, uint32 * writeOffset, const void * copyFrom, uint32 blockSize)
{
memcpy(&outBuf[*writeOffset], copyFrom, blockSize);
*writeOffset += blockSize;
};
/**
* Convenience method for safely reading bytes from a byte buffer. (Checks to avoid buffer overrun problems)
* @param inBuf Flat buffer to read bytes from
* @param outputBufferBytes total size of the input buffer
* @param readOffset Offset into buffer to read from. Incremented by (blockSize) on success.
* @param copyTo memory location to copy bytes to
* @param blockSize number of bytes to copy
* @return B_NO_ERROR if the data was successfully read, B_ERROR if the data couldn't be read (because the buffer wasn't large enough)
*/
static status_t ReadData(const uint8 * inBuf, uint32 inputBufferBytes, uint32 * readOffset, void * copyTo, uint32 blockSize)
{
if ((*readOffset + blockSize) > inputBufferBytes) return B_ERROR;
memcpy(copyTo, &inBuf[*readOffset], blockSize);
*readOffset += blockSize;
return B_NO_ERROR;
};
protected:
/**
* Called by CopyTo(). Sets (copyTo) to set from this Flattenable, if possible.
* Default implementation is not very efficient, since it has to flatten
* this object into a byte buffer, and then unflatten the bytes back into
* (copyTo). However, you can override CopyToImplementation() to provide
* a more efficient implementation when possible.
* @param copyTo Object to make into the equivalent of this object. (copyTo)
* May be any subclass of Flattenable, but has been pre-screened by CopyTo()
* to make sure it's not (&this), and that is allows our type code.
* @return B_NO_ERROR on success, or B_ERROR on failure (out-of-memory, etc)
*/
virtual status_t CopyToImplementation(Flattenable & copyTo) const
{
uint8 smallBuf[256];
uint8 * bigBuf = NULL;
uint32 flatSize = FlattenedSize();
if (flatSize > ARRAYITEMS(smallBuf))
{
bigBuf = newnothrow uint8[flatSize];
if (bigBuf == NULL)
{
WARN_OUT_OF_MEMORY;
return B_ERROR;
}
}
Flatten(bigBuf ? bigBuf : smallBuf);
status_t ret = copyTo.Unflatten(bigBuf ? bigBuf : smallBuf, flatSize);
delete [] bigBuf;
return ret;
}
/**
* Called by CopyFrom(). Sets our state from (copyFrom) if possible.
* Default implementation is not very efficient, since it has to flatten
* (copyFrom) into a byte buffer, and then unflatten the bytes back into
* (this). However, you can override CopyToImplementation() to provide
* a more efficient implementation when possible.
* @param copyFrom Object to set this object's state from.
* May be any subclass of Flattenable, but has been pre-screened by CopyFrom()
* to make sure it's not (&this), and that we allow its type code.
* @return B_NO_ERROR on success, or B_ERROR on failure (out-of-memory, etc)
*/
virtual status_t CopyFromImplementation(const Flattenable & copyFrom)
{
uint8 smallBuf[256];
uint8 * bigBuf = NULL;
uint32 flatSize = copyFrom.FlattenedSize();
if (flatSize > ARRAYITEMS(smallBuf))
{
bigBuf = newnothrow uint8[flatSize];
if (bigBuf == NULL)
{
WARN_OUT_OF_MEMORY;
return B_ERROR;
}
}
copyFrom.Flatten(bigBuf ? bigBuf : smallBuf);
status_t ret = Unflatten(bigBuf ? bigBuf : smallBuf, flatSize);
delete [] bigBuf;
return ret;
}
};
/*-------------------------------------------------------------*/
/*-------------------------------------------------------------*/
}; // end namespace muscle
#endif /* _MUSCLEFLATTENABLE_H */
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="AbstractMessageIOGateway.ii"
Content-Disposition: inline; filename="AbstractMessageIOGateway.ii"
# 1 "../src/muscle/iogateway/AbstractMessageIOGateway.cpp"
# 1 "/usr/include/w32api/windows.h" 1 3
# 40 "/usr/include/w32api/windows.h" 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stdarg.h" 1 3
typedef void *__gnuc_va_list;
void va_end (__gnuc_va_list);
# 176 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 47 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/windef.h" 1 3
extern "C" {
# 168 "/usr/include/w32api/windef.h" 3
# 209 "/usr/include/w32api/windef.h" 3
typedef unsigned long DWORD;
typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
typedef WINBOOL BOOL;
typedef unsigned char BYTE;
typedef BOOL *PBOOL,*LPBOOL;
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BYTE *PBYTE,*LPBYTE;
typedef int *PINT,*LPINT;
typedef WORD *PWORD,*LPWORD;
typedef long *LPLONG;
typedef DWORD *PDWORD,*LPDWORD;
typedef const void *PCVOID,*LPCVOID;
typedef int INT;
typedef unsigned int UINT,*PUINT,*LPUINT;
# 1 "/usr/include/w32api/winnt.h" 1 3
# 17 "/usr/include/w32api/winnt.h" 3
# 28 "/usr/include/w32api/winnt.h" 3
extern "C" {
# 1 "/usr/include/w32api/winerror.h" 1 3
# 34 "/usr/include/w32api/winnt.h" 2 3
# 1 "../src/muscle/util/string.h" 1
# 1 "/usr/include/w32api/windows.h" 1 3
# 124 "/usr/include/w32api/windows.h" 3
# 46 "../src/muscle/util/string.h" 2
# 1 "../src/muscle/util/string.h" 1
# 496 "../src/muscle/util/string.h"
# 49 "../src/muscle/util/string.h" 2
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 21 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 133 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
typedef unsigned int size_t;
# 273 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 285 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 53 "../src/muscle/util/string.h" 2
int * strncpy(char *, const char *, size_t);
# 1 "/usr/include/ctype.h" 1 3
# 1 "/usr/include/_ansi.h" 1 3
# 1 "/usr/include/sys/config.h" 1 3
# 14 "/usr/include/sys/config.h" 3
# 25 "/usr/include/sys/config.h" 3
# 46 "/usr/include/sys/config.h" 3
# 57 "/usr/include/sys/config.h" 3
# 156 "/usr/include/sys/config.h" 3
# 196 "/usr/include/sys/config.h" 3
# 15 "/usr/include/_ansi.h" 2 3
# 67 "/usr/include/_ansi.h" 3
# 4 "/usr/include/ctype.h" 2 3
extern "C" {
int __attribute__((__cdecl__)) isalnum (int __c) ;
int __attribute__((__cdecl__)) isalpha (int __c) ;
int __attribute__((__cdecl__)) iscntrl (int __c) ;
int __attribute__((__cdecl__)) isdigit (int __c) ;
int __attribute__((__cdecl__)) isgraph (int __c) ;
int __attribute__((__cdecl__)) islower (int __c) ;
int __attribute__((__cdecl__)) isprint (int __c) ;
int __attribute__((__cdecl__)) ispunct (int __c) ;
int __attribute__((__cdecl__)) isspace (int __c) ;
int __attribute__((__cdecl__)) isupper (int __c) ;
int __attribute__((__cdecl__)) isxdigit (int __c) ;
int __attribute__((__cdecl__)) tolower (int __c) ;
int __attribute__((__cdecl__)) toupper (int __c) ;
int __attribute__((__cdecl__)) isblank (int __c) ;
int __attribute__((__cdecl__)) isascii (int __c) ;
int __attribute__((__cdecl__)) toascii (int __c) ;
int __attribute__((__cdecl__)) _tolower (int __c) ;
int __attribute__((__cdecl__)) _toupper (int __c) ;
extern __attribute__(( dllimport )) const char _ctype_[];
# 61 "/usr/include/ctype.h" 3
}
# 57 "../src/muscle/util/string.h" 2
# 1 "../src/muscle/support/Flattenable.h" 1
# 1 "/usr/include/w32api/windows.h" 1 3
# 124 "/usr/include/w32api/windows.h" 3
# 15 "../src/muscle/support/Flattenable.h" 2
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
typedef int ptrdiff_t;
# 190 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
typedef unsigned int wint_t;
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 16 "../src/muscle/support/Flattenable.h" 2
# 1 "../src/muscle/util/string.h" 1
# 496 "../src/muscle/util/string.h"
# 19 "../src/muscle/support/Flattenable.h" 2
# 1 "../src/muscle/support/MuscleSupport.h" 1
# 1 "/usr/include/w32api/windows.h" 1 3
# 124 "/usr/include/w32api/windows.h" 3
# 16 "../src/muscle/support/MuscleSupport.h" 2
namespace muscle
{
};
# 1 "/usr/include/unistd.h" 1 3
# 1 "/usr/include/sys/unistd.h" 1 3
extern "C" {
# 1 "/usr/include/sys/types.h" 1 3
# 1 "/usr/include/sys/_types.h" 1 3
typedef long _off_t;
typedef int _ssize_t;
# 22 "/usr/include/sys/types.h" 2 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 345 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 34 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/machine/types.h" 1 3
typedef long int __off_t;
typedef int __pid_t;
__extension__ typedef long long int __loff_t;
# 35 "/usr/include/sys/types.h" 2 3
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long clock_t;
typedef long time_t;
struct timespec {
time_t tv_sec;
long tv_nsec;
};
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
typedef long daddr_t;
typedef char * caddr_t;
typedef unsigned long ino_t;
typedef short int __int16_t;
typedef unsigned short int __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef long long __int64_t;
__extension__ typedef unsigned long long __uint64_t;
typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;
typedef char int8_t;
typedef unsigned char u_int8_t;
typedef short int16_t;
typedef unsigned short u_int16_t;
typedef int int32_t;
typedef unsigned int u_int32_t;
typedef long long int64_t;
typedef unsigned long long u_int64_t;
typedef int32_t register_t;
typedef int pid_t;
typedef long key_t;
typedef _ssize_t ssize_t;
typedef char * addr_t;
typedef int mode_t;
# 179 "/usr/include/sys/types.h" 3
typedef unsigned short nlink_t;
typedef long fd_mask;
typedef struct _types_fd_set {
fd_mask fds_bits[((( 64 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ];
} _types_fd_set;
typedef unsigned long clockid_t;
typedef unsigned long timer_t;
typedef long useconds_t;
# 1 "/usr/include/sys/features.h" 1 3
extern "C" {
# 72 "/usr/include/sys/features.h" 3
}
# 252 "/usr/include/sys/types.h" 2 3
# 355 "/usr/include/sys/types.h" 3
# 1 "/usr/include/cygwin/types.h" 1 3
extern "C"
{
# 1 "/usr/include/sys/sysmacros.h" 1 3
# 20 "/usr/include/cygwin/types.h" 2 3
typedef struct timespec timespec_t, timestruc_t;
typedef long __off32_t;
typedef long long __off64_t;
typedef __off32_t off_t;
typedef short __dev16_t;
typedef unsigned long __dev32_t;
typedef __dev16_t dev_t;
typedef long blksize_t;
typedef long __blkcnt32_t;
typedef long long __blkcnt64_t;
typedef __blkcnt32_t blkcnt_t;
typedef unsigned short __uid16_t;
typedef unsigned short __gid16_t;
typedef unsigned long __uid32_t;
typedef unsigned long __gid32_t;
typedef __uid16_t uid_t;
typedef __gid16_t gid_t;
typedef void *pthread_t;
typedef void *pthread_mutex_t;
typedef void *pthread_key_t;
typedef void *pthread_attr_t;
typedef void *pthread_mutexattr_t;
typedef void *pthread_condattr_t;
typedef void *pthread_cond_t;
typedef struct
{
pthread_mutex_t mutex;
int state;
}
pthread_once_t;
typedef void *pthread_rwlock_t;
typedef void *pthread_rwlockattr_t;
# 100 "/usr/include/cygwin/types.h" 3
}
# 357 "/usr/include/sys/types.h" 2 3
# 9 "/usr/include/sys/unistd.h" 2 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 21 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 128 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 190 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 271 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 13 "/usr/include/sys/unistd.h" 2 3
extern char **environ;
void __attribute__((__cdecl__)) _exit (int __status ) __attribute__ ( (noreturn) ) ;
int __attribute__((__cdecl__)) access (const char *__path, int __amode ) ;
unsigned __attribute__((__cdecl__)) alarm (unsigned __secs ) ;
int __attribute__((__cdecl__)) chdir (const char *__path ) ;
int __attribute__((__cdecl__)) chmod (const char *__path, mode_t __mode ) ;
int __attribute__((__cdecl__)) chown (const char *__path, uid_t __owner, gid_t __group ) ;
int __attribute__((__cdecl__)) chroot (const char *__path ) ;
int __attribute__((__cdecl__)) close (int __fildes ) ;
char __attribute__((__cdecl__)) *ctermid (char *__s ) ;
char __attribute__((__cdecl__)) *cuserid (char *__s ) ;
int __attribute__((__cdecl__)) dup (int __fildes ) ;
int __attribute__((__cdecl__)) dup2 (int __fildes, int __fildes2 ) ;
void __attribute__((__cdecl__)) endusershell (void) ;
int __attribute__((__cdecl__)) execl (const char *__path, const char *, ... ) ;
int __attribute__((__cdecl__)) execle (const char *__path, const char *, ... ) ;
int __attribute__((__cdecl__)) execlp (const char *__file, const char *, ... ) ;
int __attribute__((__cdecl__)) execv (const char *__path, char * const __argv[] ) ;
int __attribute__((__cdecl__)) execve (const char *__path, char * const __argv[], char * const __envp[] ) ;
int __attribute__((__cdecl__)) execvp (const char *__file, char * const __argv[] ) ;
int __attribute__((__cdecl__)) fchdir (int __fildes) ;
int __attribute__((__cdecl__)) fchmod (int __fildes, mode_t __mode ) ;
int __attribute__((__cdecl__)) fchown (int __fildes, uid_t __owner, gid_t __group ) ;
pid_t __attribute__((__cdecl__)) fork (void ) ;
long __attribute__((__cdecl__)) fpathconf (int __fd, int __name ) ;
int __attribute__((__cdecl__)) fsync (int __fd) ;
char __attribute__((__cdecl__)) *getcwd (char *__buf, size_t __size ) ;
int __attribute__((__cdecl__)) getdomainname (char *__name, size_t __len) ;
gid_t __attribute__((__cdecl__)) getegid (void ) ;
uid_t __attribute__((__cdecl__)) geteuid (void ) ;
gid_t __attribute__((__cdecl__)) getgid (void ) ;
int __attribute__((__cdecl__)) getgroups (int __gidsetsize, gid_t __grouplist[] ) ;
char __attribute__((__cdecl__)) *getlogin (void ) ;
int __attribute__((__cdecl__)) getlogin_r (char *name, size_t namesize) ;
char __attribute__((__cdecl__)) *getpass (__const char *__prompt) ;
size_t __attribute__((__cdecl__)) getpagesize (void) ;
pid_t __attribute__((__cdecl__)) getpgid (pid_t) ;
pid_t __attribute__((__cdecl__)) getpgrp (void ) ;
pid_t __attribute__((__cdecl__)) getpid (void ) ;
pid_t __attribute__((__cdecl__)) getppid (void ) ;
uid_t __attribute__((__cdecl__)) getuid (void ) ;
char * __attribute__((__cdecl__)) getusershell (void) ;
char __attribute__((__cdecl__)) *getwd (char *__buf ) ;
int __attribute__((__cdecl__)) iruserok (unsigned long raddr, int superuser, const char *ruser, const char *luser) ;
int __attribute__((__cdecl__)) isatty (int __fildes ) ;
int __attribute__((__cdecl__)) lchown (const char *__path, uid_t __owner, gid_t __group ) ;
int __attribute__((__cdecl__)) link (const char *__path1, const char *__path2 ) ;
int __attribute__((__cdecl__)) nice (int __nice_value ) ;
off_t __attribute__((__cdecl__)) lseek (int __fildes, off_t __offset, int __whence ) ;
long __attribute__((__cdecl__)) pathconf (const char *__path, int __name ) ;
int __attribute__((__cdecl__)) pause (void ) ;
int __attribute__((__cdecl__)) pthread_atfork (void (*)(void), void (*)(void), void (*)(void)) ;
int __attribute__((__cdecl__)) pipe (int __fildes[2] ) ;
ssize_t __attribute__((__cdecl__)) pread (int __fd, void *__buf, size_t __nbytes, off_t __offset) ;
ssize_t __attribute__((__cdecl__)) pwrite (int __fd, const void *__buf, size_t __nbytes, off_t __offset) ;
_ssize_t __attribute__((__cdecl__)) read (int __fd, void *__buf, size_t __nbyte ) ;
int __attribute__((__cdecl__)) revoke (char *path) ;
int __attribute__((__cdecl__)) rmdir (const char *__path ) ;
int __attribute__((__cdecl__)) ruserok (const char *rhost, int superuser, const char *ruser, const char *luser) ;
void * __attribute__((__cdecl__)) sbrk (size_t __incr) ;
int __attribute__((__cdecl__)) setegid (gid_t __gid ) ;
int __attribute__((__cdecl__)) seteuid (uid_t __uid ) ;
int __attribute__((__cdecl__)) setgid (gid_t __gid ) ;
int __attribute__((__cdecl__)) setpgid (pid_t __pid, pid_t __pgid ) ;
int __attribute__((__cdecl__)) setpgrp (void ) ;
pid_t __attribute__((__cdecl__)) setsid (void ) ;
int __attribute__((__cdecl__)) setuid (uid_t __uid ) ;
void __attribute__((__cdecl__)) setusershell (void) ;
unsigned __attribute__((__cdecl__)) sleep (unsigned int __seconds ) ;
void __attribute__((__cdecl__)) swab (const void *, void *, ssize_t) ;
long __attribute__((__cdecl__)) sysconf (int __name ) ;
pid_t __attribute__((__cdecl__)) tcgetpgrp (int __fildes ) ;
int __attribute__((__cdecl__)) tcsetpgrp (int __fildes, pid_t __pgrp_id ) ;
char __attribute__((__cdecl__)) *ttyname (int __fildes ) ;
int __attribute__((__cdecl__)) unlink (const char *__path ) ;
int __attribute__((__cdecl__)) vhangup (void ) ;
_ssize_t __attribute__((__cdecl__)) write (int __fd, const void *__buf, size_t __nbyte ) ;
pid_t __attribute__((__cdecl__)) vfork (void ) ;
int __attribute__((__cdecl__)) _close (int __fildes ) ;
pid_t __attribute__((__cdecl__)) _fork (void ) ;
pid_t __attribute__((__cdecl__)) _getpid (void ) ;
int __attribute__((__cdecl__)) _link (const char *__path1, const char *__path2 ) ;
off_t __attribute__((__cdecl__)) _lseek (int __fildes, off_t __offset, int __whence ) ;
_ssize_t __attribute__((__cdecl__)) _read (int __fd, void *__buf, size_t __nbyte ) ;
void * __attribute__((__cdecl__)) _sbrk (size_t __incr) ;
int __attribute__((__cdecl__)) _unlink (const char *__path ) ;
_ssize_t __attribute__((__cdecl__)) _write (int __fd, const void *__buf, size_t __nbyte ) ;
int __attribute__((__cdecl__)) _execve (const char *__path, char * const __argv[], char * const __envp[] ) ;
int __attribute__((__cdecl__)) getdtablesize (void) ;
int __attribute__((__cdecl__)) setdtablesize (int) ;
useconds_t __attribute__((__cdecl__)) ualarm (useconds_t __useconds, useconds_t __interval) ;
unsigned __attribute__((__cdecl__)) usleep (unsigned int __useconds) ;
int __attribute__((__cdecl__)) ftruncate (int __fd, off_t __length) ;
int __attribute__((__cdecl__)) truncate (const char *, off_t __length) ;
int __attribute__((__cdecl__)) gethostname (char *__name, size_t __len) ;
char * __attribute__((__cdecl__)) mktemp (char *) ;
int __attribute__((__cdecl__)) sync (void) ;
int __attribute__((__cdecl__)) readlink (const char *__path, char *__buf, int __buflen) ;
int __attribute__((__cdecl__)) symlink (const char *__name1, const char *__name2) ;
}
# 6 "/usr/include/unistd.h" 2 3
# 1 "/usr/include/getopt.h" 1 3
extern "C" {
extern int opterr;
extern int optind;
extern int optopt;
extern int optreset;
extern char *optarg;
int getopt (int, char * const *, const char *);
}
# 84 "/usr/include/getopt.h" 3
# 8 "/usr/include/unistd.h" 2 3
# 51 "../src/muscle/support/MuscleSupport.h" 2
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/new.h" 1 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/new" 1 3
#pragma interface "new"
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 345 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 8 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/new" 2 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/exception" 1 3
#pragma interface "exception"
extern "C++" {
namespace std {
class exception {
public:
exception () { }
virtual ~exception () { }
virtual const char* what () const;
};
class bad_exception : public exception {
public:
bad_exception () { }
virtual ~bad_exception () { }
};
typedef void (*terminate_handler) ();
typedef void (*unexpected_handler) ();
terminate_handler set_terminate (terminate_handler);
void terminate () __attribute__ ((__noreturn__));
unexpected_handler set_unexpected (unexpected_handler);
void unexpected () __attribute__ ((__noreturn__));
bool uncaught_exception ();
}
}
# 9 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/new" 2 3
extern "C++" {
namespace std {
class bad_alloc : public exception {
public:
virtual const char* what() const throw() { return "bad_alloc"; }
};
struct nothrow_t {};
extern const nothrow_t nothrow;
typedef void (*new_handler)();
new_handler set_new_handler (new_handler);
}
void *operator new (size_t) throw (std::bad_alloc);
void *operator new[] (size_t) throw (std::bad_alloc);
void operator delete (void *) throw();
void operator delete[] (void *) throw();
void *operator new (size_t, const std::nothrow_t&) throw();
void *operator new[] (size_t, const std::nothrow_t&) throw();
void operator delete (void *, const std::nothrow_t&) throw();
void operator delete[] (void *, const std::nothrow_t&) throw();
inline void *operator new(size_t, void *place) throw() { return place; }
inline void *operator new[](size_t, void *place) throw() { return place; }
}
# 6 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/new.h" 2 3
using std::new_handler;
using std::set_new_handler;
# 55 "../src/muscle/support/MuscleSupport.h" 2
# 90 "../src/muscle/support/MuscleSupport.h"
typedef signed char int8;
typedef unsigned char uint8;
typedef short int16;
typedef unsigned short uint16;
typedef long int32;
typedef unsigned long uint32;
typedef long long int64;
typedef unsigned long long uint64;
typedef unsigned char uchar;
typedef unsigned short unichar;
typedef uint32 type_code;
typedef int32 status_t;
enum {
B_ANY_TYPE = 1095653716,
B_BOOL_TYPE = 1112493900,
B_DOUBLE_TYPE = 1145195589,
B_FLOAT_TYPE = 1179406164,
B_INT64_TYPE = 1280069191,
B_INT32_TYPE = 1280265799,
B_INT16_TYPE = 1397248596,
B_INT8_TYPE = 1113150533,
B_MESSAGE_TYPE = 1297303367,
B_POINTER_TYPE = 1347310674,
B_POINT_TYPE = 1112559188,
B_RECT_TYPE = 1380270932,
B_STRING_TYPE = 1129534546,
B_OBJECT_TYPE = 1330664530,
B_RAW_TYPE = 1380013908,
B_MIME_TYPE = 1296649541
};
enum {
B_TAG_TYPE = 1297367367
};
# 174 "../src/muscle/support/MuscleSupport.h"
# 189 "../src/muscle/support/MuscleSupport.h"
# 204 "../src/muscle/support/MuscleSupport.h"
# 286 "../src/muscle/support/MuscleSupport.h"
# 1 "/usr/include/stdio.h" 1 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 21 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 128 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 190 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 271 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 34 "/usr/include/stdio.h" 2 3
# 1 "/usr/include/sys/reent.h" 1 3
extern "C" {
typedef unsigned long __ULong;
struct _glue
{
struct _glue *_next;
int _niobs;
struct __sFILE *_iobs;
};
struct _Bigint
{
struct _Bigint *_next;
int _k, _maxwds, _sign, _wds;
__ULong _x[1];
};
struct __tm
{
int __tm_sec;
int __tm_min;
int __tm_hour;
int __tm_mday;
int __tm_mon;
int __tm_year;
int __tm_wday;
int __tm_yday;
int __tm_isdst;
};
struct _atexit {
struct _atexit *_next;
int _ind;
void (*_fns[32 ])(void);
void *_fnargs[32 ];
__ULong _fntypes;
};
struct __sbuf {
unsigned char *_base;
int _size;
};
typedef long _fpos_t;
# 152 "/usr/include/sys/reent.h" 3
struct __sFILE {
unsigned char *_p;
int _r;
int _w;
short _flags;
short _file;
struct __sbuf _bf;
int _lbfsize;
void * _cookie;
_ssize_t __attribute__((__cdecl__)) (*_read) (void * _cookie, char *_buf, int _n) ;
_ssize_t __attribute__((__cdecl__)) (*_write) (void * _cookie, const char *_buf,
int _n) ;
_fpos_t __attribute__((__cdecl__)) (*_seek) (void * _cookie, _fpos_t _offset, int _whence) ;
int __attribute__((__cdecl__)) (*_close) (void * _cookie) ;
struct __sbuf _ub;
unsigned char *_up;
int _ur;
unsigned char _ubuf[3];
unsigned char _nbuf[1];
struct __sbuf _lb;
int _blksize;
int _offset;
struct _reent *_data;
};
struct _rand48 {
unsigned short _seed[3];
unsigned short _mult[3];
unsigned short _add;
};
# 447 "/usr/include/sys/reent.h" 3
struct _reent
{
int _errno;
struct __sFILE *_stdin, *_stdout, *_stderr;
int _inc;
char _emergency[25 ];
int _current_category;
const char *_current_locale;
int __sdidinit;
void __attribute__((__cdecl__)) (*__cleanup) (struct _reent *) ;
struct _Bigint *_result;
int _result_k;
struct _Bigint *_p5s;
struct _Bigint **_freelist;
int _cvtlen;
char *_cvtbuf;
union
{
struct
{
unsigned int _unused_rand;
char * _strtok_last;
char _asctime_buf[26 ];
struct __tm _localtime_buf;
int _gamma_signgam;
__extension__ unsigned long long _rand_next;
struct _rand48 _r48;
int _mblen_state;
int _mbtowc_state;
int _wctomb_state;
char _l64a_buf[8];
char _signal_buf[24 ];
int _getdate_err;
} _reent;
struct
{
unsigned char * _nextf[30 ];
unsigned int _nmalloc[30 ];
} _unused;
} _new;
struct _atexit *_atexit;
struct _atexit _atexit0;
void (**(_sig_func))(int);
struct _glue __sglue;
struct __sFILE __sf[3];
};
# 580 "/usr/include/sys/reent.h" 3
extern struct _reent *_impure_ptr ;
void _reclaim_reent (struct _reent *) ;
}
# 45 "/usr/include/stdio.h" 2 3
extern "C" {
typedef _fpos_t fpos_t;
typedef struct __sFILE FILE;
# 1 "/usr/include/sys/stdio.h" 1 3
# 53 "/usr/include/stdio.h" 2 3
FILE * __attribute__((__cdecl__)) tmpfile (void) ;
char * __attribute__((__cdecl__)) tmpnam (char *) ;
int __attribute__((__cdecl__)) fclose (FILE *) ;
int __attribute__((__cdecl__)) fflush (FILE *) ;
FILE * __attribute__((__cdecl__)) freopen (const char *, const char *, FILE *) ;
void __attribute__((__cdecl__)) setbuf (FILE *, char *) ;
int __attribute__((__cdecl__)) setvbuf (FILE *, char *, int, size_t) ;
int __attribute__((__cdecl__)) fprintf (FILE *, const char *, ...) ;
int __attribute__((__cdecl__)) fscanf (FILE *, const char *, ...) ;
int __attribute__((__cdecl__)) printf (const char *, ...) ;
int __attribute__((__cdecl__)) scanf (const char *, ...) ;
int __attribute__((__cdecl__)) sscanf (const char *, const char *, ...) ;
int __attribute__((__cdecl__)) vfprintf (FILE *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) vprintf (const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) vsprintf (char *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) fgetc (FILE *) ;
char * __attribute__((__cdecl__)) fgets (char *, int, FILE *) ;
int __attribute__((__cdecl__)) fputc (int, FILE *) ;
int __attribute__((__cdecl__)) fputs (const char *, FILE *) ;
int __attribute__((__cdecl__)) getc (FILE *) ;
int __attribute__((__cdecl__)) getchar (void) ;
char * __attribute__((__cdecl__)) gets (char *) ;
int __attribute__((__cdecl__)) putc (int, FILE *) ;
int __attribute__((__cdecl__)) putchar (int) ;
int __attribute__((__cdecl__)) puts (const char *) ;
int __attribute__((__cdecl__)) ungetc (int, FILE *) ;
size_t __attribute__((__cdecl__)) fread (void * , size_t _size, size_t _n, FILE *) ;
size_t __attribute__((__cdecl__)) fwrite (const void * , size_t _size, size_t _n, FILE *) ;
int __attribute__((__cdecl__)) fgetpos (FILE *, fpos_t *) ;
int __attribute__((__cdecl__)) fseek (FILE *, long, int) ;
int __attribute__((__cdecl__)) fsetpos (FILE *, const fpos_t *) ;
long __attribute__((__cdecl__)) ftell ( FILE *) ;
void __attribute__((__cdecl__)) rewind (FILE *) ;
void __attribute__((__cdecl__)) clearerr (FILE *) ;
int __attribute__((__cdecl__)) feof (FILE *) ;
int __attribute__((__cdecl__)) ferror (FILE *) ;
void __attribute__((__cdecl__)) perror (const char *) ;
FILE * __attribute__((__cdecl__)) fopen (const char *_name, const char *_type) ;
int __attribute__((__cdecl__)) sprintf (char *, const char *, ...) ;
int __attribute__((__cdecl__)) remove (const char *) ;
int __attribute__((__cdecl__)) rename (const char *, const char *) ;
int __attribute__((__cdecl__)) vfiprintf (FILE *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) iprintf (const char *, ...) ;
int __attribute__((__cdecl__)) fiprintf (FILE *, const char *, ...) ;
int __attribute__((__cdecl__)) siprintf (char *, const char *, ...) ;
char * __attribute__((__cdecl__)) tempnam (const char *, const char *) ;
int __attribute__((__cdecl__)) vsnprintf (char *, size_t, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) vfscanf (FILE *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) vscanf (const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) vsscanf (const char *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) snprintf (char *, size_t, const char *, ...) ;
FILE * __attribute__((__cdecl__)) fdopen (int, const char *) ;
int __attribute__((__cdecl__)) fileno (FILE *) ;
int __attribute__((__cdecl__)) getw (FILE *) ;
int __attribute__((__cdecl__)) pclose (FILE *) ;
FILE * __attribute__((__cdecl__)) popen (const char *, const char *) ;
int __attribute__((__cdecl__)) putw (int, FILE *) ;
# 238 "/usr/include/stdio.h" 3
FILE * __attribute__((__cdecl__)) _fdopen_r (struct _reent *, int, const char *) ;
FILE * __attribute__((__cdecl__)) _fopen_r (struct _reent *, const char *, const char *) ;
int __attribute__((__cdecl__)) _fscanf_r (struct _reent *, FILE *, const char *, ...) ;
int __attribute__((__cdecl__)) _getchar_r (struct _reent *) ;
char * __attribute__((__cdecl__)) _gets_r (struct _reent *, char *) ;
int __attribute__((__cdecl__)) _iprintf_r (struct _reent *, const char *, ...) ;
int __attribute__((__cdecl__)) _mkstemp_r (struct _reent *, char *) ;
char * __attribute__((__cdecl__)) _mktemp_r (struct _reent *, char *) ;
void __attribute__((__cdecl__)) _perror_r (struct _reent *, const char *) ;
int __attribute__((__cdecl__)) _printf_r (struct _reent *, const char *, ...) ;
int __attribute__((__cdecl__)) _putchar_r (struct _reent *, int) ;
int __attribute__((__cdecl__)) _puts_r (struct _reent *, const char *) ;
int __attribute__((__cdecl__)) _remove_r (struct _reent *, const char *) ;
int __attribute__((__cdecl__)) _rename_r (struct _reent *,
const char *_old, const char *_new) ;
int __attribute__((__cdecl__)) _scanf_r (struct _reent *, const char *, ...) ;
int __attribute__((__cdecl__)) _sprintf_r (struct _reent *, char *, const char *, ...) ;
int __attribute__((__cdecl__)) _snprintf_r (struct _reent *, char *, size_t, const char *, ...) ;
int __attribute__((__cdecl__)) _sscanf_r (struct _reent *, const char *, const char *, ...) ;
char * __attribute__((__cdecl__)) _tempnam_r (struct _reent *, const char *, const char *) ;
FILE * __attribute__((__cdecl__)) _tmpfile_r (struct _reent *) ;
char * __attribute__((__cdecl__)) _tmpnam_r (struct _reent *, char *) ;
int __attribute__((__cdecl__)) _vfprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vprintf_r (struct _reent *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vsprintf_r (struct _reent *, char *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vsnprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vfscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vscanf_r (struct _reent *, const char *, __gnuc_va_list ) ;
int __attribute__((__cdecl__)) _vsscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list ) ;
ssize_t __attribute__((__cdecl__)) __getdelim (char **, size_t *, int, FILE *) ;
ssize_t __attribute__((__cdecl__)) __getline (char **, size_t *, FILE *) ;
int __attribute__((__cdecl__)) __srget (FILE *) ;
int __attribute__((__cdecl__)) __swbuf (int, FILE *) ;
FILE * __attribute__((__cdecl__)) funopen (const void * _cookie,
int (*readfn)(void * _cookie, char *_buf, int _n),
int (*writefn)(void * _cookie, const char *_buf, int _n),
fpos_t (*seekfn)(void * _cookie, fpos_t _off, int _whence),
int (*closefn)(void * _cookie)) ;
static __inline__ int __sgetc(FILE *__p)
{
int __c = (--( __p )->_r < 0 ? __srget( __p ) : (int)(*( __p )->_p++)) ;
if ((__p->_flags & 0x4000 ) && (__c == '\r'))
{
int __c2 = (--( __p )->_r < 0 ? __srget( __p ) : (int)(*( __p )->_p++)) ;
if (__c2 == '\n')
__c = __c2;
else
ungetc(__c2, __p);
}
return __c;
}
# 333 "/usr/include/stdio.h" 3
}
# 299 "../src/muscle/support/MuscleSupport.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 21 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 128 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 190 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 271 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 14 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/machine/stdlib.h" 1 3
# 17 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/alloca.h" 1 3
# 19 "/usr/include/stdlib.h" 2 3
extern "C" {
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long quot;
long rem;
} ldiv_t;
extern __attribute__(( dllimport )) int __mb_cur_max;
void __attribute__((__cdecl__)) abort (void ) __attribute__ ( (noreturn) ) ;
int __attribute__((__cdecl__)) abs (int) ;
int __attribute__((__cdecl__)) atexit (void (*__func)(void )) ;
double __attribute__((__cdecl__)) atof (const char *__nptr) ;
float __attribute__((__cdecl__)) atoff (const char *__nptr) ;
int __attribute__((__cdecl__)) atoi (const char *__nptr) ;
long __attribute__((__cdecl__)) atol (const char *__nptr) ;
void * __attribute__((__cdecl__)) bsearch (const void * __key,
const void * __base,
size_t __nmemb,
size_t __size,
int (* __attribute__((__cdecl__)) _compar ) (const void * , const void * ) ) ;
void * __attribute__((__cdecl__)) calloc (size_t __nmemb, size_t __size) ;
div_t __attribute__((__cdecl__)) div (int __numer, int __denom) ;
void __attribute__((__cdecl__)) exit (int __status) __attribute__ ( (noreturn) ) ;
void __attribute__((__cdecl__)) free (void * ) ;
char * __attribute__((__cdecl__)) getenv (const char *__string) ;
char * __attribute__((__cdecl__)) _getenv_r (struct _reent *, const char *__string) ;
char * __attribute__((__cdecl__)) _findenv (const char *, int *) ;
char * __attribute__((__cdecl__)) _findenv_r (struct _reent *, const char *, int *) ;
long __attribute__((__cdecl__)) labs (long) ;
ldiv_t __attribute__((__cdecl__)) ldiv (long __numer, long __denom) ;
void * __attribute__((__cdecl__)) malloc (size_t __size) ;
int __attribute__((__cdecl__)) mblen (const char *, size_t) ;
int __attribute__((__cdecl__)) _mblen_r (struct _reent *, const char *, size_t, int *) ;
int __attribute__((__cdecl__)) mbtowc (wchar_t *, const char *, size_t) ;
int __attribute__((__cdecl__)) _mbtowc_r (struct _reent *, wchar_t *, const char *, size_t, int *) ;
int __attribute__((__cdecl__)) wctomb (char *, wchar_t) ;
int __attribute__((__cdecl__)) _wctomb_r (struct _reent *, char *, wchar_t, int *) ;
size_t __attribute__((__cdecl__)) mbstowcs (wchar_t *, const char *, size_t) ;
size_t __attribute__((__cdecl__)) _mbstowcs_r (struct _reent *, wchar_t *, const char *, size_t, int *) ;
size_t __attribute__((__cdecl__)) wcstombs (char *, const wchar_t *, size_t) ;
size_t __attribute__((__cdecl__)) _wcstombs_r (struct _reent *, char *, const wchar_t *, size_t, int *) ;
int __attribute__((__cdecl__)) mkstemp (char *) ;
char * __attribute__((__cdecl__)) mktemp (char *) ;
void __attribute__((__cdecl__)) qsort (void * __base, size_t __nmemb, size_t __size, int(*_compar)(const void * , const void * )) ;
int __attribute__((__cdecl__)) rand (void ) ;
void * __attribute__((__cdecl__)) realloc (void * __r, size_t __size) ;
void __attribute__((__cdecl__)) srand (unsigned __seed) ;
double __attribute__((__cdecl__)) strtod (const char *__n, char **__end_PTR) ;
double __attribute__((__cdecl__)) _strtod_r (struct _reent *,const char *__n, char **__end_PTR) ;
float __attribute__((__cdecl__)) strtodf (const char *__n, char **__end_PTR) ;
long __attribute__((__cdecl__)) strtol (const char *__n, char **__end_PTR, int __base) ;
long __attribute__((__cdecl__)) _strtol_r (struct _reent *,const char *__n, char **__end_PTR, int __base) ;
unsigned long __attribute__((__cdecl__)) strtoul (const char *__n, char **__end_PTR, int __base) ;
unsigned long __attribute__((__cdecl__)) _strtoul_r (struct _reent *,const char *__n, char **__end_PTR, int __base) ;
int __attribute__((__cdecl__)) system (const char *__string) ;
long __attribute__((__cdecl__)) a64l (const char *__input) ;
char * __attribute__((__cdecl__)) l64a (long __input) ;
char * __attribute__((__cdecl__)) _l64a_r (struct _reent *,long __input) ;
int __attribute__((__cdecl__)) on_exit (void (*__func)(int, void * ),void * __arg) ;
void __attribute__((__cdecl__)) _Exit (int __status) __attribute__ ( (noreturn) ) ;
int __attribute__((__cdecl__)) putenv (const char *__string) ;
int __attribute__((__cdecl__)) _putenv_r (struct _reent *, const char *__string) ;
int __attribute__((__cdecl__)) setenv (const char *__string, const char *__value, int __overwrite) ;
int __attribute__((__cdecl__)) _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite) ;
char * __attribute__((__cdecl__)) gcvt (double,int,char *) ;
char * __attribute__((__cdecl__)) gcvtf (float,int,char *) ;
char * __attribute__((__cdecl__)) fcvt (double,int,int *,int *) ;
char * __attribute__((__cdecl__)) fcvtf (float,int,int *,int *) ;
char * __attribute__((__cdecl__)) ecvt (double,int,int *,int *) ;
char * __attribute__((__cdecl__)) ecvtbuf (double, int, int*, int*, char *) ;
char * __attribute__((__cdecl__)) fcvtbuf (double, int, int*, int*, char *) ;
char * __attribute__((__cdecl__)) ecvtf (float,int,int *,int *) ;
char * __attribute__((__cdecl__)) dtoa (double, int, int, int *, int*, char**) ;
int __attribute__((__cdecl__)) rand_r (unsigned *__seed) ;
double __attribute__((__cdecl__)) drand48 (void ) ;
double __attribute__((__cdecl__)) _drand48_r (struct _reent *) ;
double __attribute__((__cdecl__)) erand48 (unsigned short [3]) ;
double __attribute__((__cdecl__)) _erand48_r (struct _reent *, unsigned short [3]) ;
long __attribute__((__cdecl__)) jrand48 (unsigned short [3]) ;
long __attribute__((__cdecl__)) _jrand48_r (struct _reent *, unsigned short [3]) ;
void __attribute__((__cdecl__)) lcong48 (unsigned short [7]) ;
void __attribute__((__cdecl__)) _lcong48_r (struct _reent *, unsigned short [7]) ;
long __attribute__((__cdecl__)) lrand48 (void ) ;
long __attribute__((__cdecl__)) _lrand48_r (struct _reent *) ;
long __attribute__((__cdecl__)) mrand48 (void ) ;
long __attribute__((__cdecl__)) _mrand48_r (struct _reent *) ;
long __attribute__((__cdecl__)) nrand48 (unsigned short [3]) ;
long __attribute__((__cdecl__)) _nrand48_r (struct _reent *, unsigned short [3]) ;
unsigned short *
__attribute__((__cdecl__)) seed48 (unsigned short [3]) ;
unsigned short *
__attribute__((__cdecl__)) _seed48_r (struct _reent *, unsigned short [3]) ;
void __attribute__((__cdecl__)) srand48 (long) ;
void __attribute__((__cdecl__)) _srand48_r (struct _reent *, long) ;
long long __attribute__((__cdecl__)) strtoll (const char *__n, char **__end_PTR, int __base) ;
long long __attribute__((__cdecl__)) _strtoll_r (struct _reent *, const char *__n, char **__end_PTR, int __base) ;
unsigned long long __attribute__((__cdecl__)) strtoull (const char *__n, char **__end_PTR, int __base) ;
unsigned long long __attribute__((__cdecl__)) _strtoull_r (struct _reent *, const char *__n, char **__end_PTR, int __base) ;
char * __attribute__((__cdecl__)) realpath (const char *, char *) ;
void __attribute__((__cdecl__)) unsetenv (const char *__string) ;
void __attribute__((__cdecl__)) _unsetenv_r (struct _reent *, const char *__string) ;
int __attribute__((__cdecl__)) random (void ) ;
long __attribute__((__cdecl__)) srandom (unsigned __seed) ;
char * __attribute__((__cdecl__)) ptsname (int) ;
int __attribute__((__cdecl__)) grantpt (int) ;
int __attribute__((__cdecl__)) unlockpt (int) ;
char * __attribute__((__cdecl__)) _dtoa_r (struct _reent *, double, int, int, int *, int*, char**) ;
void * __attribute__((__cdecl__)) _malloc_r (struct _reent *, size_t) ;
void * __attribute__((__cdecl__)) _calloc_r (struct _reent *, size_t, size_t) ;
void __attribute__((__cdecl__)) _free_r (struct _reent *, void * ) ;
void * __attribute__((__cdecl__)) _realloc_r (struct _reent *, void * , size_t) ;
void __attribute__((__cdecl__)) _mstats_r (struct _reent *, char *) ;
int __attribute__((__cdecl__)) _system_r (struct _reent *, const char *) ;
void __attribute__((__cdecl__)) __eprintf (const char *, const char *, unsigned int, const char *) ;
}
# 300 "../src/muscle/support/MuscleSupport.h" 2
# 1 "../src/muscle/syslog/SysLog.h" 1
# 1 "/usr/include/w32api/windows.h" 1 3
# 124 "/usr/include/w32api/windows.h" 3
# 7 "../src/muscle/syslog/SysLog.h" 2
# 1 "../src/muscle/util/TimeUtilityFunctions.h" 1
# 1 "/usr/include/time.h" 1 3
# 1 "/usr/include/machine/time.h" 1 3
# 18 "/usr/include/time.h" 2 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 1 3
# 21 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 63 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 128 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 190 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 271 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 319 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/stddef.h" 3
# 27 "/usr/include/time.h" 2 3
extern "C" {
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
clock_t __attribute__((__cdecl__)) clock (void) ;
double __attribute__((__cdecl__)) difftime (time_t _time2, time_t _time1) ;
time_t __attribute__((__cdecl__)) mktime (struct tm *_timeptr) ;
time_t __attribute__((__cdecl__)) time (time_t *_timer) ;
char * __attribute__((__cdecl__)) asctime (const struct tm *_tblock) ;
char * __attribute__((__cdecl__)) ctime (const time_t *_time) ;
struct tm * __attribute__((__cdecl__)) gmtime (const time_t *_timer) ;
struct tm * __attribute__((__cdecl__)) localtime (const time_t *_timer) ;
size_t __attribute__((__cdecl__)) strftime (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t) ;
char * __attribute__((__cdecl__)) asctime_r (const struct tm *, char *) ;
char * __attribute__((__cdecl__)) ctime_r (const time_t *, char *) ;
struct tm * __attribute__((__cdecl__)) gmtime_r (const time_t *, struct tm *) ;
struct tm * __attribute__((__cdecl__)) localtime_r (const time_t *, struct tm *) ;
}
extern "C" {
char * __attribute__((__cdecl__)) strptime (const char *, const char *, struct tm *) ;
void __attribute__((__cdecl__)) tzset (void ) ;
void __attribute__((__cdecl__)) _tzset_r (struct _reent *) ;
# 95 "/usr/include/time.h" 3
extern __attribute__(( dllimport )) time_t _timezone;
extern __attribute__(( dllimport )) int _daylight;
extern __attribute__(( dllimport )) char *_tzname[2];
char * __attribute__((__cdecl__)) timezone (void) ;
}
# 166 "/usr/include/time.h" 3
extern "C" {
# 207 "/usr/include/time.h" 3
# 217 "/usr/include/time.h" 3
}
# 10 "../src/muscle/util/TimeUtilityFunctions.h" 2
# 1 "../src/muscle/support/MuscleSupport.h" 1
# 303 "../src/muscle/support/MuscleSupport.h"
# 12 "../src/muscle/util/TimeUtilityFunctions.h" 2
# 1 "/usr/include/sys/time.h" 1 3
extern "C" {
struct timeval {
long tv_sec;
long tv_usec;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
# 1 "/usr/include/sys/select.h" 1 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 17 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/sys/time.h" 1 3
# 83 "/usr/include/sys/time.h" 3
# 23 "/usr/include/sys/select.h" 2 3
extern "C" {
int select (int __n, _types_fd_set *__readfds, _types_fd_set *__writefds,
_types_fd_set *__exceptfds, struct timeval *__timeout) ;
}
# 27 "/usr/include/sys/time.h" 2 3
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 62 "/usr/include/sys/time.h" 3
# 71 "/usr/include/sys/time.h" 3
int __attribute__((__cdecl__)) gettimeofday (struct timeval *__p, struct timezone *__z) ;
int __attribute__((__cdecl__)) settimeofday (const struct timeval *, const struct timezone *) ;
int __attribute__((__cdecl__)) utimes (const char *__path, struct timeval *__tvp) ;
int __attribute__((__cdecl__)) getitimer (int __which, struct itimerval *__value) ;
int __attribute__((__cdecl__)) setitimer (int __which, const struct itimerval *__value,
struct itimerval *__ovalue) ;
}
# 17 "../src/muscle/util/TimeUtilityFunctions.h" 2
namespace muscle {
inline uint64 ConvertTimeValTo64(const struct timeval & tv)
{
return (((uint64)tv.tv_sec)*1000000) + ((uint64)tv.tv_usec);
}
inline void Convert64ToTimeVal(uint64 val, struct timeval & retStruct)
{
retStruct.tv_sec = (int32)(val / 1000000);
retStruct.tv_usec = (int32)(val % 1000000);
}
inline bool IsLessThan(const struct timeval & t1, const struct timeval & t2)
{
return (t1.tv_sec == t2.tv_sec) ? (t1.tv_usec < t2.tv_usec) : (t1.tv_sec < t2.tv_sec);
}
inline void AddTimeVal(struct timeval & addToThis, const struct timeval & addThis)
{
addToThis.tv_sec += addThis.tv_sec;
addToThis.tv_usec += addThis.tv_usec;
if (addToThis.tv_usec > 1000000L)
{
addToThis.tv_sec += addToThis.tv_usec / 1000000L;
addToThis.tv_usec = addToThis.tv_usec % 1000000L;
}
}
inline void SubtractTimeVal(struct timeval & subtractFromThis, const struct timeval & subtractThis)
{
subtractFromThis.tv_sec -= subtractThis.tv_sec;
subtractFromThis.tv_usec -= subtractThis.tv_usec;
if (subtractFromThis.tv_usec < 0L)
{
subtractFromThis.tv_sec += (subtractFromThis.tv_usec / 1000000L)-1;
while(subtractFromThis.tv_usec < 0L) subtractFromThis.tv_usec += 1000000L;
}
}
inline uint64 GetCurrentTime64()
{
struct timeval tv;
gettimeofday(&tv, __null );
return ConvertTimeValTo64(tv);
}
inline bool OnceEvery(const struct timeval & interval, struct timeval & lastTime)
{
uint64 now64 = GetCurrentTime64();
struct timeval now;
Convert64ToTimeVal(now64, now);
if (!IsLessThan(now, lastTime))
{
lastTime = now;
AddTimeVal(lastTime, interval);
return 1 ;
}
return 0 ;
}
# 136 "../src/muscle/util/TimeUtilityFunctions.h"
};
# 11 "../src/muscle/syslog/SysLog.h" 2
namespace muscle {
enum
{
MUSCLE_LOG_NONE = 0,
MUSCLE_LOG_CRITICALERROR,
MUSCLE_LOG_ERROR,
MUSCLE_LOG_WARNING,
MUSCLE_LOG_INFO,
MUSCLE_LOG_DEBUG,
MUSCLE_LOG_TRACE,
NUM_MUSCLE_LOGLEVELS
};
# 41 "../src/muscle/syslog/SysLog.h"
int ParseLogLevelKeyword(const char * keyword);
int GetFileLogLevel();
int GetConsoleLogLevel();
int GetMaxLogLevel();
status_t SetFileLogLevel(int loglevel);
status_t SetConsoleLogLevel(int loglevel);
status_t Log(int minLogLevel, const char * fmt, ...);
status_t LogTime(int minLogLevel, const char * fmt, ...);
status_t LogFlush();
const char * GetLogLevelName(int logLevel);
void GetStandardLogLinePreamble(char * buf, int logLevel, time_t when);
};
# 301 "../src/muscle/support/MuscleSupport.h" 2
# 20 "../src/muscle/support/Flattenable.h" 2
namespace muscle {
class Flattenable
{
public:
Flattenable() { }
virtual ~Flattenable() { }
virtual bool IsFixedSize() const = 0;
virtual type_code TypeCode() const = 0;
virtual uint32 FlattenedSize() const = 0;
virtual void Flatten(uint8 *buffer) const = 0;
virtual bool AllowsTypeCode(type_code code) const {return ((code == B_RAW_TYPE)||(code == TypeCode()));}
virtual status_t Unflatten(const uint8 *buf, uint32 size) = 0;
status_t CopyTo(Flattenable copyTo) const
{
return (this == ©To) ? 0 : ((copyTo.AllowsTypeCode(TypeCode())) ? CopyToImplementation(copyTo) : -1 );
}
status_t CopyFrom(const Flattenable & copyFrom)
{
return (this == ©From) ? 0 : ((AllowsTypeCode(copyFrom.TypeCode())) ? CopyFromImplementation(copyFrom) : -1 );
}
static void WriteData(uint8 * outBuf, uint32 * writeOffset, const void * copyFrom, uint32 blockSize)
{
memcpy(&outBuf[*writeOffset], copyFrom, blockSize);
*writeOffset += blockSize;
};
static status_t ReadData(const uint8 * inBuf, uint32 inputBufferBytes, uint32 * readOffset, void * copyTo, uint32 blockSize)
{
if ((*readOffset + blockSize) > inputBufferBytes) return -1 ;
memcpy(copyTo, &inBuf[*readOffset], blockSize);
*readOffset += blockSize;
return 0 ;
};
protected:
virtual status_t CopyToImplementation(Flattenable & copyTo) const
{
uint8 smallBuf[256];
uint8 * bigBuf = __null ;
uint32 flatSize = FlattenedSize();
if (flatSize > (sizeof( smallBuf )/sizeof( smallBuf [0])) )
{
bigBuf = new (nothrow) uint8[flatSize];
if (bigBuf == __null )
{
muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/support/Flattenable.h",153) ;
return -1 ;
}
}
Flatten(bigBuf ? bigBuf : smallBuf);
status_t ret = copyTo.Unflatten(bigBuf ? bigBuf : smallBuf, flatSize);
delete [] bigBuf;
return ret;
}
virtual status_t CopyFromImplementation(const Flattenable & copyFrom)
{
uint8 smallBuf[256];
uint8 * bigBuf = __null ;
uint32 flatSize = copyFrom.FlattenedSize();
if (flatSize > (sizeof( smallBuf )/sizeof( smallBuf [0])) )
{
bigBuf = new (nothrow) uint8[flatSize];
if (bigBuf == __null )
{
muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/support/Flattenable.h",184) ;
return -1 ;
}
}
copyFrom.Flatten(bigBuf ? bigBuf : smallBuf);
status_t ret = Unflatten(bigBuf ? bigBuf : smallBuf, flatSize);
delete [] bigBuf;
return ret;
}
};
};
# 58 "../src/muscle/util/string.h" 2
namespace muscle {
class String;
class String : public Flattenable {
public:
String(const char * str = __null );
String(const String & str);
virtual ~String() {if (_buffer != _smallBuffer) delete [] _buffer;}
const String & operator = (char val);
const String & operator = (const char * val);
const String & operator = (const String &rhs);
const String & operator +=(const String &rhs);
const String & operator +=(const char ch);
const String & operator -=(const String &rhs);
const String & operator -=(const char ch);
String & operator <<(const String& rhs);
String & operator <<(const char* rhs);
String & operator <<(int rhs);
String & operator <<(float rhs);
String & operator <<(bool rhs);
int operator ==(const String &rhs) const;
int operator !=(const String &rhs) const {return !(*this == rhs);}
int operator < (const String &rhs) const;
int operator > (const String &rhs) const;
int operator <=(const String &rhs) const;
int operator >=(const String &rhs) const;
char operator [](uint32 Index) const;
char& operator [](uint32 Index);
char CharAt(uint32 index) const;
int CompareTo(const String &anotherString) const;
const char* Cstr() const {return _buffer ? _buffer : "";}
const char * operator()() const {return Cstr();}
bool EndsWith(const String &suffix) const;
bool Equals(const String &string) const;
int IndexOf(char ch) const;
int IndexOf(char ch, uint32 fromIndex) const;
int IndexOf(const String &str) const;
int IndexOf(const String &str, uint32 fromIndex) const;
int LastIndexOf(char ch) const;
int LastIndexOf(char ch, uint32 fromIndex) const;
int LastIndexOf(const String &str) const;
int LastIndexOf(const String &str, uint32 fromIndex) const;
const uint32 Length() const { return _length; }
bool StartsWith(const String &prefix) const;
bool StartsWith(const String &prefix, uint32 toffset) const;
String Prepend(const String & str) const;
String Append(const String & str) const;
String Substring(uint32 beginIndex) const;
String Substring(uint32 beginIndex, uint32 endIndex) const;
String Substring(const String & markerString) const;
String Substring(uint32 beginIndex, const String & markerString) const;
String ToLowerCase() const;
String ToUpperCase() const;
String Trim() const;
int CompareToIgnoreCase(const String &s) const {return ToLowerCase().CompareTo(s.ToLowerCase());}
bool EndsWithIgnoreCase(const String &s) const {return ToLowerCase().EndsWith(s.ToLowerCase());}
bool EqualsIgnoreCase(const String &s) const {return ToLowerCase().Equals(s.ToLowerCase());}
int IndexOfIgnoreCase(const String &s) const {return ToLowerCase().IndexOf(s.ToLowerCase());}
int IndexOfIgnoreCase(const String &s, uint32 f) const {return ToLowerCase().IndexOf(s.ToLowerCase(),f);}
int IndexOfIgnoreCase(char ch) const {return ToLowerCase().IndexOf((char)tolower(ch));}
int IndexOfIgnoreCase(char ch, uint32 f) const {return ToLowerCase().IndexOf((char)tolower(ch),f);}
int LastIndexOfIgnoreCase(const String &s) const {return ToLowerCase().LastIndexOf(s.ToLowerCase());}
int LastIndexOfIgnoreCase(const String &s, uint32 f) const {return ToLowerCase().LastIndexOf(s.ToLowerCase(),f);}
int LastIndexOfIgnoreCase(char ch) const {return ToLowerCase().LastIndexOf((char)tolower(ch));}
int LastIndexOfIgnoreCase(char ch, uint32 f) const {return ToLowerCase().LastIndexOf((char)tolower(ch),f);}
bool StartsWithIgnoreCase(const String &s) const {return ToLowerCase().StartsWith(s.ToLowerCase());}
bool StartsWithIgnoreCase(const String &s, uint32 o) const {return ToLowerCase().StartsWith(s.ToLowerCase(),o);}
uint32 HashCode() const;
void Replace(char oldChar, char newChar);
void Replace(const String& match, const String& replace);
virtual bool IsFixedSize() const {return 0 ;}
virtual type_code TypeCode() const {return B_STRING_TYPE;}
virtual uint32 FlattenedSize() const;
virtual void Flatten(uint8 *buffer) const;
virtual status_t Unflatten(const uint8 *buf, uint32 size);
status_t Prealloc(uint32 newBufLen) {return EnsureBufferSize(newBufLen+1, 1 );}
private:
status_t EnsureBufferSize(uint32 newBufLen, bool retainValue);
char _smallBuffer[7 +1];
char * _buffer;
uint32 _bufferLen;
uint32 _length;
void verifyIndex(uint32 number) const;
};
uint32 CStringHashFunc(const char * str);
template <class T> class HashFunctor;
template <>
class HashFunctor<String>
{
public:
uint32 operator () (const String & x) const {return CStringHashFunc(x());}
};
template <>
class HashFunctor<const char *>
{
public:
uint32 operator () (const char * x) const {return CStringHashFunc(x);}
};
int CStringCompareFunc(const char * const &, const char * const &, void *);
inline status_t
String::EnsureBufferSize(uint32 requestedBufLen, bool retainValue)
{
if ((requestedBufLen > 0)&&((_buffer == __null )||(requestedBufLen > _bufferLen)))
{
uint32 newBufLen = (_buffer == __null ) ? requestedBufLen : (requestedBufLen * 2);
char * newBuf = (requestedBufLen <= sizeof(_smallBuffer)) ? _smallBuffer : new (nothrow) char[newBufLen];
if (newBuf == _smallBuffer) newBufLen = sizeof(_smallBuffer);
if (newBuf)
{
if ((retainValue)&&(_buffer)&&(newBuf != _buffer)) strncpy(newBuf, _buffer, newBufLen);
if (_buffer != _smallBuffer) delete [] _buffer;
_buffer = newBuf;
_bufferLen = newBufLen;
}
else
{
muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/string.h",405) ;
return -1 ;
}
}
return 0 ;
}
inline void
String::verifyIndex(uint32 index) const
{
{if(!( index < _length )) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ASSERTION FAILED: (%s:%i) %s\n", "../src/muscle/util/string.h",415, "Index Out Of Bounds Exception" ); *((uint32*)__null ) = 0x666 ;} } ;
}
inline const String
operator+(const String & lhs, const String &rhs)
{
String ret(lhs);
ret += rhs;
return ret;
}
inline const String
operator+(const String & lhs, const char *rhs)
{
String ret(lhs);
ret += rhs;
return ret;
}
inline const String
operator+(const char * lhs, const String & rhs)
{
String ret(lhs);
ret += rhs;
return ret;
}
inline const String
operator+(const String & lhs, char rhs)
{
String ret(lhs);
ret += rhs;
return ret;
}
inline const String
operator-(const String & lhs, const String &rhs)
{
String ret(lhs);
ret -= rhs;
return ret;
}
inline const String
operator-(const String & lhs, const char *rhs)
{
String ret(lhs);
ret -= rhs;
return ret;
}
inline const String
operator-(const char *lhs, const String &rhs)
{
String ret(lhs);
ret -= rhs;
return ret;
}
inline const String
operator-(const String & lhs, char rhs)
{
String ret(lhs);
ret -= rhs;
return ret;
}
};
# 37 "/usr/include/w32api/winnt.h" 2 3
typedef char CHAR;
typedef short SHORT;
typedef long LONG;
typedef char CCHAR, *PCCHAR;
typedef unsigned char UCHAR,*PUCHAR;
typedef unsigned short USHORT,*PUSHORT;
typedef unsigned long ULONG,*PULONG;
typedef char *PSZ;
typedef void *PVOID,*LPVOID;
typedef void* PVOID64;
# 75 "/usr/include/w32api/winnt.h" 3
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 CHAR _TCHAR;
typedef TCHAR TBYTE,*PTCH,*PTBYTE;
typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
typedef const TCHAR *LPCTSTR;
# 107 "/usr/include/w32api/winnt.h" 3
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;
typedef BYTE BOOLEAN,*PBOOLEAN;
typedef BYTE FCHAR;
typedef WORD FSHORT;
typedef DWORD FLONG;
# 1 "/usr/include/w32api/basetsd.h" 1 3
extern "C" {
typedef int LONG32, *PLONG32;
typedef int INT32, *PINT32;
typedef unsigned int ULONG32, *PULONG32;
typedef unsigned int DWORD32, *PDWORD32;
typedef unsigned int UINT32, *PUINT32;
# 96 "/usr/include/w32api/basetsd.h" 3
typedef int INT_PTR, *PINT_PTR;
typedef unsigned int UINT_PTR, *PUINT_PTR;
typedef long LONG_PTR, *PLONG_PTR;
typedef unsigned long ULONG_PTR, *PULONG_PTR;
typedef unsigned short UHALF_PTR, *PUHALF_PTR;
typedef short HALF_PTR, *PHALF_PTR;
typedef unsigned long HANDLE_PTR;
typedef ULONG_PTR SIZE_T, *PSIZE_T;
typedef LONG_PTR SSIZE_T, *PSSIZE_T;
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
typedef long long LONG64, *PLONG64;
typedef long long INT64, *PINT64;
typedef unsigned long long ULONG64, *PULONG64;
typedef unsigned long long DWORD64, *PDWORD64;
typedef unsigned long long UINT64, *PUINT64;
}
# 163 "/usr/include/w32api/winnt.h" 2 3
typedef DWORD ACCESS_MASK, *PACCESS_MASK;
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID, *REFGUID, *LPGUID;
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, *PACE_HEADER;
typedef struct _ACCESS_ALLOWED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
typedef struct _ACCESS_DENIED_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
typedef struct _SYSTEM_AUDIT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_AUDIT_ACE;
typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
typedef struct _SYSTEM_ALARM_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD SidStart;
} SYSTEM_ALARM_ACE,*PSYSTEM_ALARM_ACE;
typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE;
typedef struct _ACCESS_DENIED_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE;
typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE;
typedef struct _SYSTEM_ALARM_OBJECT_ACE {
ACE_HEADER Header;
ACCESS_MASK Mask;
DWORD Flags;
GUID ObjectType;
GUID InheritedObjectType;
DWORD SidStart;
} SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE;
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL,*PACL;
typedef struct _ACL_REVISION_INFORMATION {
DWORD AclRevision;
} ACL_REVISION_INFORMATION;
typedef struct _ACL_SIZE_INFORMATION {
DWORD AceCount;
DWORD AclBytesInUse;
DWORD AclBytesFree;
} ACL_SIZE_INFORMATION;
typedef struct _FLOATING_SAVE_AREA {
DWORD ControlWord;
DWORD StatusWord;
DWORD TagWord;
DWORD ErrorOffset;
DWORD ErrorSelector;
DWORD DataOffset;
DWORD DataSelector;
BYTE RegisterArea[80];
DWORD Cr0NpxState;
} FLOATING_SAVE_AREA;
typedef struct _CONTEXT {
DWORD ContextFlags;
DWORD Dr0;
DWORD Dr1;
DWORD Dr2;
DWORD Dr3;
DWORD Dr6;
DWORD Dr7;
FLOATING_SAVE_AREA FloatSave;
DWORD SegGs;
DWORD SegFs;
DWORD SegEs;
DWORD SegDs;
DWORD Edi;
DWORD Esi;
DWORD Ebx;
DWORD Edx;
DWORD Ecx;
DWORD Eax;
DWORD Ebp;
DWORD Eip;
DWORD SegCs;
DWORD EFlags;
DWORD Esp;
DWORD SegSs;
BYTE ExtendedRegisters[512 ];
} CONTEXT;
# 1773 "/usr/include/w32api/winnt.h" 3
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,*LPEXCEPTION_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;
__extension__ struct {
DWORD LowPart;
LONG HighPart;
};
LONGLONG QuadPart;
} LARGE_INTEGER, *PLARGE_INTEGER;
typedef union _ULARGE_INTEGER {
struct {
DWORD LowPart;
DWORD HighPart;
} u;
__extension__ struct {
DWORD LowPart;
DWORD HighPart;
};
ULONGLONG QuadPart;
} ULARGE_INTEGER, *PULARGE_INTEGER;
typedef LARGE_INTEGER LUID,*PLUID;
#pragma pack(push,4)
typedef struct _LUID_AND_ATTRIBUTES {
LUID Luid;
DWORD Attributes;
} LUID_AND_ATTRIBUTES, *PLUID_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,*PSECURITY_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, *PSID_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,*PTOKEN_SOURCE;
typedef struct _TOKEN_CONTROL {
LUID TokenId;
LUID AuthenticationId;
LUID ModifiedId;
TOKEN_SOURCE TokenSource;
} TOKEN_CONTROL,*PTOKEN_CONTROL;
typedef struct _TOKEN_DEFAULT_DACL {
PACL DefaultDacl;
} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL;
typedef struct _TOKEN_GROUPS {
DWORD GroupCount;
SID_AND_ATTRIBUTES Groups[1 ];
} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
typedef struct _TOKEN_OWNER {
PSID Owner;
} TOKEN_OWNER,*PTOKEN_OWNER;
typedef struct _TOKEN_PRIMARY_GROUP {
PSID PrimaryGroup;
} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP;
typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[1 ];
} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
typedef enum tagTOKEN_TYPE { TokenPrimary=1,TokenImpersonation }TOKEN_TYPE, *PTOKEN_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, *PTOKEN_STATISTICS;
typedef struct _TOKEN_USER {
SID_AND_ATTRIBUTES User;
} TOKEN_USER, *PTOKEN_USER;
typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;
typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;
typedef struct _SECURITY_DESCRIPTOR {
BYTE Revision;
BYTE Sbz1;
SECURITY_DESCRIPTOR_CONTROL Control;
PSID Owner;
PSID Group;
PACL Sacl;
PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
typedef enum _TOKEN_INFORMATION_CLASS {
TokenUser=1,TokenGroups,TokenPrivileges,TokenOwner,
TokenPrimaryGroup,TokenDefaultDacl,TokenSource,TokenType,
TokenImpersonationLevel,TokenStatistics,TokenRestrictedSids,
TokenSessionId
} TOKEN_INFORMATION_CLASS;
typedef enum _SID_NAME_USE {
SidTypeUser=1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,
SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown
} SID_NAME_USE,*PSID_NAME_USE;
typedef struct _QUOTA_LIMITS {
SIZE_T PagedPoolLimit;
SIZE_T NonPagedPoolLimit;
SIZE_T MinimumWorkingSetSize;
SIZE_T MaximumWorkingSetSize;
SIZE_T PagefileLimit;
LARGE_INTEGER TimeLimit;
} QUOTA_LIMITS,*PQUOTA_LIMITS;
typedef struct _IO_COUNTERS {
ULONGLONG ReadOperationCount;
ULONGLONG WriteOperationCount;
ULONGLONG OtherOperationCount;
ULONGLONG ReadTransferCount;
ULONGLONG WriteTransferCount;
ULONGLONG OtherTransferCount;
} IO_COUNTERS, *PIO_COUNTERS;
typedef struct _FILE_NOTIFY_INFORMATION {
DWORD NextEntryOffset;
DWORD Action;
DWORD FileNameLength;
WCHAR FileName[1];
} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
typedef struct _TAPE_ERASE {
DWORD Type;
BOOLEAN Immediate;
} TAPE_ERASE,*PTAPE_ERASE;
typedef struct _TAPE_GET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
DWORD DefaultBlockSize;
DWORD MaximumBlockSize;
DWORD MinimumBlockSize;
DWORD MaximumPartitionCount;
DWORD FeaturesLow;
DWORD FeaturesHigh;
DWORD EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS,*PTAPE_GET_DRIVE_PARAMETERS;
typedef struct _TAPE_GET_MEDIA_PARAMETERS {
LARGE_INTEGER Capacity;
LARGE_INTEGER Remaining;
DWORD BlockSize;
DWORD PartitionCount;
BOOLEAN WriteProtected;
} TAPE_GET_MEDIA_PARAMETERS,*PTAPE_GET_MEDIA_PARAMETERS;
typedef struct _TAPE_GET_POSITION {
ULONG Type;
ULONG Partition;
ULONG OffsetLow;
ULONG OffsetHigh;
} TAPE_GET_POSITION,*PTAPE_GET_POSITION;
typedef struct _TAPE_PREPARE {
DWORD Operation;
BOOLEAN Immediate;
} TAPE_PREPARE,*PTAPE_PREPARE;
typedef struct _TAPE_SET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
ULONG EOTWarningZoneSize;
} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS;
typedef struct _TAPE_SET_MEDIA_PARAMETERS {
ULONG BlockSize;
} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS;
typedef struct _TAPE_SET_POSITION {
DWORD Method;
DWORD Partition;
LARGE_INTEGER Offset;
BOOLEAN Immediate;
} TAPE_SET_POSITION,*PTAPE_SET_POSITION;
typedef struct _TAPE_WRITE_MARKS {
DWORD Type;
DWORD Count;
BOOLEAN Immediate;
} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS;
typedef struct _TAPE_CREATE_PARTITION {
DWORD Method;
DWORD Count;
DWORD Size;
} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
typedef struct _MEMORY_BASIC_INFORMATION {
PVOID BaseAddress;
PVOID AllocationBase;
DWORD AllocationProtect;
DWORD RegionSize;
DWORD State;
DWORD Protect;
DWORD Type;
} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
typedef struct _MESSAGE_RESOURCE_ENTRY {
WORD Length;
WORD Flags;
BYTE Text[1];
} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY;
typedef struct _MESSAGE_RESOURCE_BLOCK {
DWORD LowId;
DWORD HighId;
DWORD OffsetToEntries;
} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK;
typedef struct _MESSAGE_RESOURCE_DATA {
DWORD NumberOfBlocks;
MESSAGE_RESOURCE_BLOCK Blocks[1];
} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA;
typedef struct _LIST_ENTRY {
struct _LIST_ENTRY *Flink;
struct _LIST_ENTRY *Blink;
} LIST_ENTRY,*PLIST_ENTRY;
typedef struct _RTL_CRITICAL_SECTION_DEBUG {
WORD Type;
WORD CreatorBackTraceIndex;
struct _RTL_CRITICAL_SECTION *CriticalSection;
LIST_ENTRY ProcessLocksList;
DWORD EntryCount;
DWORD ContentionCount;
DWORD Spare[2];
} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG;
typedef struct _RTL_CRITICAL_SECTION {
PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
LONG LockCount;
LONG RecursionCount;
HANDLE OwningThread;
HANDLE LockSemaphore;
DWORD Reserved;
} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
typedef struct _EVENTLOGRECORD {
DWORD Length;
DWORD Reserved;
DWORD RecordNumber;
DWORD TimeGenerated;
DWORD TimeWritten;
DWORD EventID;
WORD EventType;
WORD NumStrings;
WORD EventCategory;
WORD ReservedFlags;
DWORD ClosingRecordNumber;
DWORD StringOffset;
DWORD UserSidLength;
DWORD UserSidOffset;
DWORD DataLength;
DWORD DataOffset;
} EVENTLOGRECORD,*PEVENTLOGRECORD;
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA;
typedef struct _OSVERSIONINFOW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
} OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW;
typedef struct _OSVERSIONINFOEXA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
typedef struct _OSVERSIONINFOEXW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
#pragma pack(push,2)
typedef struct _IMAGE_VXD_HEADER {
WORD e32_magic;
BYTE e32_border;
BYTE e32_worder;
DWORD e32_level;
WORD e32_cpu;
WORD e32_os;
DWORD e32_ver;
DWORD e32_mflags;
DWORD e32_mpages;
DWORD e32_startobj;
DWORD e32_eip;
DWORD e32_stackobj;
DWORD e32_esp;
DWORD e32_pagesize;
DWORD e32_lastpagesize;
DWORD e32_fixupsize;
DWORD e32_fixupsum;
DWORD e32_ldrsize;
DWORD e32_ldrsum;
DWORD e32_objtab;
DWORD e32_objcnt;
DWORD e32_objmap;
DWORD e32_itermap;
DWORD e32_rsrctab;
DWORD e32_rsrccnt;
DWORD e32_restab;
DWORD e32_enttab;
DWORD e32_dirtab;
DWORD e32_dircnt;
DWORD e32_fpagetab;
DWORD e32_frectab;
DWORD e32_impmod;
DWORD e32_impmodcnt;
DWORD e32_impproc;
DWORD e32_pagesum;
DWORD e32_datapage;
DWORD e32_preload;
DWORD e32_nrestab;
DWORD e32_cbnrestab;
DWORD e32_nressum;
DWORD e32_autodata;
DWORD e32_debuginfo;
DWORD e32_debuglen;
DWORD e32_instpreload;
DWORD e32_instdemand;
DWORD e32_heapsize;
BYTE e32_res3[12];
DWORD e32_winresoff;
DWORD e32_winreslen;
WORD e32_devid;
WORD e32_ddkver;
} IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER;
#pragma pack(pop)
#pragma pack(push,4)
typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
WORD SizeOfOptionalHeader;
WORD Characteristics;
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
typedef struct _IMAGE_DATA_DIRECTORY {
DWORD VirtualAddress;
DWORD Size;
} IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY;
typedef struct _IMAGE_OPTIONAL_HEADER {
WORD Magic;
BYTE MajorLinkerVersion;
BYTE MinorLinkerVersion;
DWORD SizeOfCode;
DWORD SizeOfInitializedData;
DWORD SizeOfUninitializedData;
DWORD AddressOfEntryPoint;
DWORD BaseOfCode;
DWORD BaseOfData;
DWORD ImageBase;
DWORD SectionAlignment;
DWORD FileAlignment;
WORD MajorOperatingSystemVersion;
WORD MinorOperatingSystemVersion;
WORD MajorImageVersion;
WORD MinorImageVersion;
WORD MajorSubsystemVersion;
WORD MinorSubsystemVersion;
DWORD Reserved1;
DWORD SizeOfImage;
DWORD SizeOfHeaders;
DWORD CheckSum;
WORD Subsystem;
WORD DllCharacteristics;
DWORD SizeOfStackReserve;
DWORD SizeOfStackCommit;
DWORD SizeOfHeapReserve;
DWORD SizeOfHeapCommit;
DWORD LoaderFlags;
DWORD NumberOfRvaAndSizes;
IMAGE_DATA_DIRECTORY DataDirectory[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;
#pragma pack(pop)
#pragma pack(push,2)
typedef struct _IMAGE_DOS_HEADER {
WORD e_magic;
WORD e_cblp;
WORD e_cp;
WORD e_crlc;
WORD e_cparhdr;
WORD e_minalloc;
WORD e_maxalloc;
WORD e_ss;
WORD e_sp;
WORD e_csum;
WORD e_ip;
WORD e_cs;
WORD e_lfarlc;
WORD e_ovno;
WORD e_res[4];
WORD e_oemid;
WORD e_oeminfo;
WORD e_res2[10];
LONG e_lfanew;
} IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
typedef struct _IMAGE_OS2_HEADER {
WORD ne_magic;
CHAR ne_ver;
CHAR ne_rev;
WORD ne_enttab;
WORD ne_cbenttab;
LONG ne_crc;
WORD ne_flags;
WORD ne_autodata;
WORD ne_heap;
WORD ne_stack;
LONG ne_csip;
LONG ne_sssp;
WORD ne_cseg;
WORD ne_cmod;
WORD ne_cbnrestab;
WORD ne_segtab;
WORD ne_rsrctab;
WORD ne_restab;
WORD ne_modtab;
WORD ne_imptab;
LONG ne_nrestab;
WORD ne_cmovent;
WORD ne_align;
WORD ne_cres;
BYTE ne_exetyp;
BYTE ne_flagsothers;
WORD ne_pretthunks;
WORD ne_psegrefbytes;
WORD ne_swaparea;
WORD ne_expver;
} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER;
#pragma pack(pop)
#pragma pack(push,4)
typedef struct _IMAGE_NT_HEADERS {
DWORD Signature;
IMAGE_FILE_HEADER FileHeader;
IMAGE_OPTIONAL_HEADER OptionalHeader;
} IMAGE_NT_HEADERS,*PIMAGE_NT_HEADERS;
typedef struct _IMAGE_ROM_HEADERS {
IMAGE_FILE_HEADER FileHeader;
IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS;
typedef struct _IMAGE_SECTION_HEADER {
BYTE Name[8 ];
union {
DWORD PhysicalAddress;
DWORD VirtualSize;
} Misc;
DWORD VirtualAddress;
DWORD SizeOfRawData;
DWORD PointerToRawData;
DWORD PointerToRelocations;
DWORD PointerToLinenumbers;
WORD NumberOfRelocations;
WORD NumberOfLinenumbers;
DWORD Characteristics;
} IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER;
#pragma pack(pop)
#pragma pack(push,2)
typedef struct _IMAGE_SYMBOL {
union {
BYTE ShortName[8];
struct {
DWORD Short;
DWORD Long;
} Name;
PBYTE LongName[2];
} N;
DWORD Value;
SHORT SectionNumber;
WORD Type;
BYTE StorageClass;
BYTE NumberOfAuxSymbols;
} IMAGE_SYMBOL,*PIMAGE_SYMBOL;
typedef union _IMAGE_AUX_SYMBOL {
struct {
DWORD TagIndex;
union {
struct {
WORD Linenumber;
WORD Size;
} LnSz;
DWORD TotalSize;
} Misc;
union {
struct {
DWORD PointerToLinenumber;
DWORD PointerToNextFunction;
} Function;
struct {
WORD Dimension[4];
} Array;
} FcnAry;
WORD TvIndex;
} Sym;
struct {
BYTE Name[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 {
__extension__ union {
DWORD VirtualAddress;
DWORD RelocCount;
} ;
DWORD SymbolTableIndex;
WORD Type;
} IMAGE_RELOCATION,*PIMAGE_RELOCATION;
#pragma pack(pop)
#pragma pack(push,4)
typedef struct _IMAGE_BASE_RELOCATION {
DWORD VirtualAddress;
DWORD SizeOfBlock;
} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION;
#pragma pack(pop)
#pragma pack(push,2)
typedef struct _IMAGE_LINENUMBER {
union {
DWORD SymbolTableIndex;
DWORD VirtualAddress;
} Type;
WORD Linenumber;
} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER;
#pragma pack(pop)
#pragma pack(push,4)
typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
BYTE Name[16];
BYTE Date[12];
BYTE UserID[6];
BYTE GroupID[6];
BYTE Mode[8];
BYTE Size[10];
BYTE EndHeader[2];
} IMAGE_ARCHIVE_MEMBER_HEADER,*PIMAGE_ARCHIVE_MEMBER_HEADER;
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Name;
DWORD Base;
DWORD NumberOfFunctions;
DWORD NumberOfNames;
PDWORD *AddressOfFunctions;
PDWORD *AddressOfNames;
PWORD *AddressOfNameOrdinals;
} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY;
typedef struct _IMAGE_IMPORT_BY_NAME {
WORD Hint;
BYTE Name[1];
} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME;
typedef struct _IMAGE_THUNK_DATA {
union {
PBYTE ForwarderString;
PDWORD Function;
DWORD Ordinal;
PIMAGE_IMPORT_BY_NAME AddressOfData;
} u1;
} IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA;
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
__extension__ 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;
__extension__ typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
__extension__ union {
__extension__ struct {
DWORD NameOffset:31;
DWORD NameIsString:1;
} ;
DWORD Name;
WORD Id;
} ;
__extension__ union {
DWORD OffsetToData;
__extension__ struct {
DWORD OffsetToDirectory:31;
DWORD DataIsDirectory:1;
} ;
} ;
} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;
typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
WORD Length;
CHAR NameString[1];
} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING;
typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
WORD Length;
WCHAR NameString[1];
} IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U;
typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
DWORD OffsetToData;
DWORD Size;
DWORD CodePage;
DWORD Reserved;
} IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY;
typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD GlobalFlagsClear;
DWORD GlobalFlagsSet;
DWORD CriticalSectionDefaultTimeout;
DWORD DeCommitFreeBlockThreshold;
DWORD DeCommitTotalFreeThreshold;
PVOID LockPrefixTable;
DWORD MaximumAllocationSize;
DWORD VirtualMemoryThreshold;
DWORD ProcessHeapFlags;
DWORD Reserved[4];
} IMAGE_LOAD_CONFIG_DIRECTORY,*PIMAGE_LOAD_CONFIG_DIRECTORY;
typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
DWORD BeginAddress;
DWORD EndAddress;
PVOID ExceptionHandler;
PVOID HandlerData;
DWORD PrologEndAddress;
} IMAGE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_RUNTIME_FUNCTION_ENTRY;
typedef struct _IMAGE_DEBUG_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Type;
DWORD SizeOfData;
DWORD AddressOfRawData;
DWORD PointerToRawData;
} IMAGE_DEBUG_DIRECTORY,*PIMAGE_DEBUG_DIRECTORY;
typedef struct _FPO_DATA {
DWORD ulOffStart;
DWORD cbProcSize;
DWORD cdwLocals;
WORD cdwParams;
WORD cbProlog:8;
WORD cbRegs:3;
WORD fHasSEH:1;
WORD fUseBP:1;
WORD reserved:1;
WORD cbFrame:2;
} FPO_DATA,*PFPO_DATA;
typedef struct _IMAGE_DEBUG_MISC {
DWORD DataType;
DWORD Length;
BOOLEAN Unicode;
BYTE Reserved[3];
BYTE Data[1];
} IMAGE_DEBUG_MISC,*PIMAGE_DEBUG_MISC;
typedef struct _IMAGE_FUNCTION_ENTRY {
DWORD StartingAddress;
DWORD EndingAddress;
DWORD EndOfPrologue;
} IMAGE_FUNCTION_ENTRY,*PIMAGE_FUNCTION_ENTRY;
typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
WORD Signature;
WORD Flags;
WORD Machine;
WORD Characteristics;
DWORD TimeDateStamp;
DWORD CheckSum;
DWORD ImageBase;
DWORD SizeOfImage;
DWORD NumberOfSections;
DWORD ExportedNamesSize;
DWORD DebugDirectorySize;
DWORD Reserved[3];
} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
#pragma pack(pop)
typedef enum _CM_SERVICE_NODE_TYPE {
DriverType= 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;
typedef struct _NT_TIB {
struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
PVOID StackBase;
PVOID StackLimit;
PVOID SubSystemTib;
__extension__ union {
PVOID FiberData;
DWORD Version;
} ;
PVOID ArbitraryUserPointer;
struct _NT_TIB *Self;
} NT_TIB,*PNT_TIB;
typedef struct _REPARSE_DATA_BUFFER {
DWORD ReparseTag;
WORD ReparseDataLength;
WORD Reserved;
__extension__ union {
struct {
WORD SubstituteNameOffset;
WORD SubstituteNameLength;
WORD PrintNameOffset;
WORD PrintNameLength;
WCHAR PathBuffer[1];
} SymbolicLinkReparseBuffer;
struct {
WORD SubstituteNameOffset;
WORD SubstituteNameLength;
WORD PrintNameOffset;
WORD PrintNameLength;
WCHAR PathBuffer[1];
} MountPointReparseBuffer;
struct {
BYTE DataBuffer[1];
} GenericReparseBuffer;
} ;
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
typedef struct _REPARSE_GUID_DATA_BUFFER {
DWORD ReparseTag;
WORD ReparseDataLength;
WORD Reserved;
GUID ReparseGuid;
struct {
BYTE DataBuffer[1];
} GenericReparseBuffer;
} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
typedef struct _REPARSE_POINT_INFORMATION {
WORD ReparseDataLength;
WORD UnparsedNameLength;
} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
typedef union _FILE_SEGMENT_ELEMENT {
PVOID64 Buffer;
ULONGLONG Alignment;
}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
PVOID GetCurrentFiber(void);
PVOID GetFiberData(void);
PVOID GetCurrentFiber(void);
extern __inline__ PVOID GetCurrentFiber(void)
{
void* ret;
__asm__ volatile (
"movl %%fs:0x10,%0"
: "=r" (ret)
:
);
return ret;
}
PVOID GetFiberData(void);
extern __inline__ PVOID GetFiberData(void)
{
void* ret;
__asm__ volatile (
"movl %%fs:0x10,%0\n"
"movl (%0),%0"
: "=r" (ret)
:
);
return ret;
}
# 2705 "/usr/include/w32api/winnt.h" 3
}
# 235 "/usr/include/w32api/windef.h" 2 3
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 struct HMONITOR__{int i;}* HMONITOR ;
typedef struct HTERMINAL__{int i;}* HTERMINAL ;
typedef struct HWINEVENTHOOK__{int i;}* HWINEVENTHOOK ;
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,*PRECT,*LPRECT;
typedef const RECT *LPCRECT;
typedef struct tagRECTL {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECTL,*PRECTL,*LPRECTL;
typedef const RECTL *LPCRECTL;
typedef struct tagPOINT {
LONG x;
LONG y;
} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
typedef struct tagSIZE {
LONG cx;
LONG cy;
} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
typedef struct tagPOINTS {
SHORT x;
SHORT y;
} POINTS,*PPOINTS,*LPPOINTS;
}
# 48 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/wincon.h" 1 3
extern "C" {
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,const SECURITY_ATTRIBUTES*,DWORD,LPVOID);
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);
# 187 "/usr/include/w32api/wincon.h" 3
}
# 49 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/basetyps.h" 1 3
# 57 "/usr/include/w32api/basetyps.h" 3
# 80 "/usr/include/w32api/basetyps.h" 3
# 93 "/usr/include/w32api/basetyps.h" 3
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;
# 50 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winbase.h" 1 3
extern "C" {
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 Spare [2];
} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG;
typedef struct _CRITICAL_SECTION {
PCRITICAL_SECTION_DEBUG DebugInfo;
LONG LockCount;
LONG RecursionCount;
HANDLE OwningThread;
HANDLE LockSemaphore;
DWORD SpinCount;
} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION;
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME,*LPSYSTEMTIME;
typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA;
typedef struct _WIN32_FIND_DATAA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
CHAR cFileName[260 ];
CHAR cAlternateFileName[14];
} WIN32_FIND_DATAA,*LPWIN32_FIND_DATAA;
typedef struct _WIN32_FIND_DATAW {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
WCHAR cFileName[260 ];
WCHAR cAlternateFileName[14];
} WIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
typedef struct _WIN32_STREAM_ID {
DWORD dwStreamId;
DWORD dwStreamAttributes;
LARGE_INTEGER Size;
DWORD dwStreamNameSize;
WCHAR cStreamName[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 {
__extension__ union {
DWORD dwOemId;
__extension__ struct {
WORD wProcessorArchitecture;
WORD wReserved;
} ;
} ;
DWORD dwPageSize;
PVOID lpMinimumApplicationAddress;
PVOID lpMaximumApplicationAddress;
DWORD dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwAllocationGranularity;
WORD wProcessorLevel;
WORD wProcessorRevision;
} SYSTEM_INFO,*LPSYSTEM_INFO;
typedef struct _SYSTEM_POWER_STATUS {
BYTE ACLineStatus;
BYTE BatteryFlag;
BYTE BatteryLifePercent;
BYTE Reserved1;
DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
typedef struct _TIME_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[32];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[32];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
typedef struct _MEMORYSTATUS {
DWORD dwLength;
DWORD dwMemoryLoad;
DWORD dwTotalPhys;
DWORD dwAvailPhys;
DWORD dwTotalPageFile;
DWORD dwAvailPageFile;
DWORD dwTotalVirtual;
DWORD dwAvailVirtual;
} MEMORYSTATUS,*LPMEMORYSTATUS;
typedef struct _LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid:8;
DWORD Type:5;
DWORD Dpl:2;
DWORD Pres:1;
DWORD LimitHi:4;
DWORD Sys:1;
DWORD Reserved_0:1;
DWORD Default_Big:1;
DWORD Granularity:1;
DWORD BaseHi:8;
} Bits;
} HighWord;
} LDT_ENTRY,*PLDT_ENTRY,*LPLDT_ENTRY;
typedef struct _PROCESS_HEAP_ENTRY {
PVOID lpData;
DWORD cbData;
BYTE cbOverhead;
BYTE iRegionIndex;
WORD wFlags;
__extension__ union {
struct {
HANDLE hMem;
DWORD dwReserved[3];
} Block;
struct {
DWORD dwCommittedSize;
DWORD dwUnCommittedSize;
LPVOID lpFirstBlock;
LPVOID lpLastBlock;
} Region;
} ;
} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY;
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)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG);
typedef BOOL(__attribute__((__stdcall__)) *ENUMRESNAMEPROC)(HMODULE,LPCTSTR,LPTSTR,LONG);
typedef BOOL(__attribute__((__stdcall__)) *ENUMRESTYPEPROC)(HMODULE,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,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
BOOL __attribute__((__stdcall__)) BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
BOOL __attribute__((__stdcall__)) BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
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(LPCSTR,HWND,LPCOMMCONFIG);
BOOL __attribute__((__stdcall__)) CommConfigDialogW(LPCWSTR,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);
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__)) CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
HANDLE __attribute__((__stdcall__)) CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
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__)) EncryptFileA(LPCSTR);
BOOL __attribute__((__stdcall__)) EncryptFileW(LPCWSTR);
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__)) FileEncryptionStatusA(LPCSTR,LPDWORD);
BOOL __attribute__((__stdcall__)) FileEncryptionStatusW(LPCWSTR,LPDWORD);
BOOL __attribute__((__stdcall__)) FileTimeToDosDateTime(const FILETIME *,LPWORD,LPWORD);
BOOL __attribute__((__stdcall__)) FileTimeToLocalFileTime(const 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);
__attribute__(( noreturn )) void __attribute__((__stdcall__)) FreeLibraryAndExitThread(HMODULE,DWORD);
BOOL __attribute__((__stdcall__)) FreeResource(HGLOBAL);
PVOID __attribute__((__stdcall__)) FreeSid(PSID);
BOOL __attribute__((__stdcall__)) GetAce(PACL,DWORD,LPVOID*);
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(LPCWSTR,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__)) GetFileSizeEx(HANDLE,PLARGE_INTEGER);
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);
DWORD __attribute__((__stdcall__)) GetLongPathNameA(LPCSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
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,LPVOID,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,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);
LONG __attribute__((__stdcall__)) InterlockedCompareExchange(LPLONG,LONG,LONG);
LONG __attribute__((__stdcall__)) InterlockedDecrement(LPLONG);
LONG __attribute__((__stdcall__)) InterlockedExchange(LPLONG,LONG);
LONG __attribute__((__stdcall__)) InterlockedExchangeAdd(LPLONG,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__)) ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
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__)) SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,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__)) SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
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);
BOOL __attribute__((__stdcall__)) VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
BOOL __attribute__((__stdcall__)) VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
PVOID __attribute__((__stdcall__)) VirtualAlloc(PVOID,DWORD,DWORD,DWORD);
PVOID __attribute__((__stdcall__)) VirtualAllocEx(HANDLE,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__)) WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
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,LPVOID,UINT,LPCSTR);
BOOL __attribute__((__stdcall__)) WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,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);
# 1736 "/usr/include/w32api/winbase.h" 3
typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*LPWIN32_FIND_DATA;
typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
}
# 51 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/wingdi.h" 1 3
extern "C" {
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 _DOCINFOA {
int cbSize;
LPCTSTR lpszDocName;
LPCTSTR lpszOutput;
LPCTSTR lpszDatatype;
DWORD fwType;
} DOCINFOA,*LPDOCINFOA;
typedef struct _DOCINFOW {
int cbSize;
LPCWSTR lpszDocName;
LPCWSTR lpszOutput;
LPCWSTR lpszDatatype;
DWORD fwType;
} DOCINFOW,*LPDOCINFOW;
typedef struct tagEMR {
DWORD iType;
DWORD nSize;
} EMR,*PEMR;
typedef struct tagEMRANGLEARC {
EMR emr;
POINTL ptlCenter;
DWORD nRadius;
FLOAT eStartAngle;
FLOAT eSweepAngle;
} EMRANGLEARC,*PEMRANGLEARC;
typedef struct tagEMRARC {
EMR emr;
RECTL rclBox;
POINTL ptlStart;
POINTL ptlEnd;
} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
typedef struct _XFORM {
FLOAT eM11;
FLOAT eM12;
FLOAT eM21;
FLOAT eM22;
FLOAT eDx;
FLOAT eDy;
} XFORM,*PXFORM,*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,*PLOGBRUSH,*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,*PLOGPEN,*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,*PRGNDATA, *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, *PPOLYTEXTA;
typedef struct _POLYTEXTW {
int x;
int y;
UINT n;
LPCWSTR lpstr;
UINT uiFlags;
RECT rcl;
int *pdx;
} POLYTEXTW, *PPOLYTEXTW;
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 struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
BYTE SourceConstantAlpha;
BYTE AlphaFormat;
} BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;
typedef struct _DESIGNVECTOR {
DWORD dvReserved;
DWORD dvNumAxes;
LONG dvValues[16 ];
} DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR;
typedef USHORT COLOR16;
typedef struct _TRIVERTEX {
LONG x;
LONG y;
COLOR16 Red;
COLOR16 Green;
COLOR16 Blue;
COLOR16 Alpha;
} TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
typedef struct _DISPLAY_DEVICE {
DWORD cb;
WCHAR DeviceName[32];
WCHAR DeviceString[128];
DWORD StateFlags;
WCHAR DeviceID[128];
WCHAR DeviceKey[128];
} DISPLAY_DEVICE, *PDISPLAY_DEVICE;
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);
typedef UINT (__attribute__((__stdcall__)) *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
typedef DWORD (__attribute__((__stdcall__)) *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
int __attribute__((__stdcall__)) AbortDoc(HDC);
BOOL __attribute__((__stdcall__)) AbortPath(HDC);
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,FONTENUMPROCW,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);
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__)) GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
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,const 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);
int __attribute__((__stdcall__)) GetRandomRgn (HDC,HRGN,INT);
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,const 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 DOCINFOA*);
int __attribute__((__stdcall__)) StartDocW(HDC,const DOCINFOW*);
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,const 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);
# 2807 "/usr/include/w32api/wingdi.h" 3
typedef BYTE BCHAR;
typedef DOCINFOA DOCINFO, *LPDOCINFO;
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;
}
# 53 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winuser.h" 1 3
extern "C" {
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__)) * MONITORENUMPROC)(HMONITOR,HDC,LPRECT,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 HDEVNOTIFY__{int i;}* HDEVNOTIFY ;
typedef struct tagACCEL {
BYTE fVirt;
WORD key;
WORD cmd;
} ACCEL,*LPACCEL;
typedef struct tagACCESSTIMEOUT {
UINT cbSize;
DWORD dwFlags;
DWORD iTimeOutMSec;
} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
typedef struct tagANIMATIONINFO {
UINT cbSize;
int iMinAnimate;
} ANIMATIONINFO,*LPANIMATIONINFO;
typedef struct tagCREATESTRUCTA {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCSTR lpszName;
LPCSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCTA,*LPCREATESTRUCTA;
typedef struct tagCREATESTRUCTW {
LPVOID lpCreateParams;
HINSTANCE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCWSTR lpszName;
LPCWSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCTW,*LPCREATESTRUCTW;
typedef struct tagCBT_CREATEWNDA {
LPCREATESTRUCTA lpcs;
HWND hwndInsertAfter;
} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
typedef struct tagCBT_CREATEWNDW {
LPCREATESTRUCTW lpcs;
HWND hwndInsertAfter;
} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
typedef struct tagCBTACTIVATESTRUCT {
BOOL fMouse;
HWND hWndActive;
} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
typedef struct tagCLIENTCREATESTRUCT {
HANDLE hWindowMenu;
UINT idFirstChild;
} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
typedef struct tagCOMPAREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
HWND hwndItem;
UINT itemID1;
DWORD itemData1;
UINT itemID2;
DWORD itemData2;
DWORD dwLocaleId;
} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
typedef struct tagCOPYDATASTRUCT {
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT,*PCOPYDATASTRUCT;
typedef struct tagCURSORSHAPE {
int xHotSpot;
int yHotSpot;
int cx;
int cy;
int cbWidth;
BYTE Planes;
BYTE BitsPixel;
} CURSORSHAPE,*LPCURSORSHAPE;
typedef struct tagCWPRETSTRUCT {
LRESULT lResult;
LPARAM lParam;
WPARAM wParam;
DWORD message;
HWND hwnd;
} CWPRETSTRUCT;
typedef struct tagCWPSTRUCT {
LPARAM lParam;
WPARAM wParam;
UINT message;
HWND hwnd;
} CWPSTRUCT,*PCWPSTRUCT;
typedef struct tagDEBUGHOOKINFO {
DWORD idThread;
DWORD idThreadInstaller;
LPARAM lParam;
WPARAM wParam;
int code;
} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
typedef struct tagDELETEITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
HWND hwndItem;
UINT itemData;
} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
#pragma pack(push,2)
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
short x;
short y;
short cx;
short cy;
WORD id;
} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
typedef struct {
DWORD style;
DWORD dwExtendedStyle;
WORD cdit;
short x;
short y;
short cx;
short cy;
} DLGTEMPLATE,*LPDLGTEMPLATE;
typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
#pragma pack(pop)
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
DWORD itemData;
} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
typedef struct {
UINT cbSize;
int iTabLength;
int iLeftMargin;
int iRightMargin;
UINT uiLengthDrawn;
} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
typedef struct tagPAINTSTRUCT {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT,*LPPAINTSTRUCT;
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG,*LPMSG,*PMSG;
typedef struct _ICONINFO {
BOOL fIcon;
DWORD xHotspot;
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
} ICONINFO,*PICONINFO;
typedef struct tagNMHDR {
HWND hwndFrom;
UINT idFrom;
UINT code;
} NMHDR,*LPNMHDR;
typedef struct _WNDCLASSA {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
typedef struct _WNDCLASSW {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
typedef struct _WNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
typedef struct _WNDCLASSEXW {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
typedef struct tagMENUITEMINFOA {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
LPSTR dwTypeData;
UINT cch;
} 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 tagMOUSEKEYS{
UINT cbSize;
DWORD dwFlags;
DWORD iMaxSpeed;
DWORD iTimeToMaxSpeed;
DWORD iCtrlSpeed;
DWORD dwReserved1;
DWORD dwReserved2;
} MOUSEKEYS, *LPMOUSEKEYS;
typedef struct tagNONCLIENTMETRICSA {
UINT cbSize;
int iBorderWidth;
int iScrollWidth;
int iScrollHeight;
int iCaptionWidth;
int iCaptionHeight;
LOGFONTA lfCaptionFont;
int iSmCaptionWidth;
int iSmCaptionHeight;
LOGFONTA lfSmCaptionFont;
int iMenuWidth;
int iMenuHeight;
LOGFONTA lfMenuFont;
LOGFONTA lfStatusFont;
LOGFONTA lfMessageFont;
} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
typedef struct tagNONCLIENTMETRICSW {
UINT cbSize;
int iBorderWidth;
int iScrollWidth;
int iScrollHeight;
int iCaptionWidth;
int iCaptionHeight;
LOGFONTW lfCaptionFont;
int iSmCaptionWidth;
int iSmCaptionHeight;
LOGFONTW lfSmCaptionFont;
int iMenuWidth;
int iMenuHeight;
LOGFONTW lfMenuFont;
LOGFONTW lfStatusFont;
LOGFONTW lfMessageFont;
} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
typedef struct tagSERIALKEYSA {
UINT cbSize;
DWORD dwFlags;
LPSTR lpszActivePort;
LPSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
} SERIALKEYSA,*LPSERIALKEYSA;
typedef struct tagSERIALKEYSW {
UINT cbSize;
DWORD dwFlags;
LPWSTR lpszActivePort;
LPWSTR lpszPort;
UINT iBaudRate;
UINT iPortState;
UINT iActive;
} SERIALKEYSW,*LPSERIALKEYSW;
typedef struct tagSOUNDSENTRYA {
UINT cbSize;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
} SOUNDSENTRYA,*LPSOUNDSENTRYA;
typedef struct tagSOUNDSENTRYW {
UINT cbSize;
DWORD dwFlags;
DWORD iFSTextEffect;
DWORD iFSTextEffectMSec;
DWORD iFSTextEffectColorBits;
DWORD iFSGrafEffect;
DWORD iFSGrafEffectMSec;
DWORD iFSGrafEffectColor;
DWORD iWindowsEffect;
DWORD iWindowsEffectMSec;
LPWSTR lpszWindowsEffectDLL;
DWORD iWindowsEffectOrdinal;
} SOUNDSENTRYW,*LPSOUNDSENTRYW;
typedef struct tagSTICKYKEYS {
DWORD cbSize;
DWORD dwFlags;
} STICKYKEYS,*LPSTICKYKEYS;
typedef struct tagTOGGLEKEYS {
DWORD cbSize;
DWORD dwFlags;
} TOGGLEKEYS;
typedef struct tagMOUSEHOOKSTRUCT {
POINT pt;
HWND hwnd;
UINT wHitTestCode;
DWORD dwExtraInfo;
} MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
typedef struct tagTRACKMOUSEEVENT {
DWORD cbSize;
DWORD dwFlags;
HWND hwndTrack;
DWORD dwHoverTime;
} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
typedef struct tagTPMPARAMS {
UINT cbSize;
RECT rcExclude;
} TPMPARAMS,*LPTPMPARAMS;
typedef struct tagEVENTMSG {
UINT message;
UINT paramL;
UINT paramH;
DWORD time;
HWND hwnd;
} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG, *PEVENTMSG, *LPEVENTMSG;
typedef struct _WINDOWPOS {
HWND hwnd;
HWND hwndInsertAfter;
int x;
int y;
int cx;
int cy;
UINT flags;
} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
typedef struct tagMDICREATESTRUCTA {
LPCSTR szClass;
LPCSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
} MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
typedef struct tagMDICREATESTRUCTW {
LPCWSTR szClass;
LPCWSTR szTitle;
HANDLE hOwner;
int x;
int y;
int cx;
int cy;
DWORD style;
LPARAM lParam;
} MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
typedef struct tagMINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;
POINT ptMaxPosition;
POINT ptMinTrackSize;
POINT ptMaxTrackSize;
} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
typedef struct tagMDINEXTMENU {
HMENU hmenuIn;
HMENU hmenuNext;
HWND hwndNext;
} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
typedef struct tagMEASUREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemWidth;
UINT itemHeight;
DWORD itemData;
} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
typedef struct tagDROPSTRUCT {
HWND hwndSource;
HWND hwndSink;
DWORD wFmt;
DWORD dwData;
POINT ptDrop;
DWORD dwControlData;
} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
typedef DWORD HELPPOLY;
typedef struct tagMULTIKEYHELPA {
DWORD mkSize;
CHAR mkKeylist;
CHAR szKeyphrase[1];
} MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
typedef struct tagMULTIKEYHELPW {
DWORD mkSize;
WCHAR mkKeylist;
WCHAR szKeyphrase[1];
} MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
typedef struct tagHELPWININFOA {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
CHAR rgchMember[2];
} HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
typedef struct tagHELPWININFOW {
int wStructSize;
int x;
int y;
int dx;
int dy;
int wMax;
WCHAR rgchMember[2];
} HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
typedef struct tagSTYLESTRUCT {
DWORD styleOld;
DWORD styleNew;
} STYLESTRUCT,*LPSTYLESTRUCT;
typedef struct tagALTTABINFO {
DWORD cbSize;
int cItems;
int cColumns;
int cRows;
int iColFocus;
int iRowFocus;
int cxItem;
int cyItem;
POINT ptStart;
} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
typedef struct tagCOMBOBOXINFO {
DWORD cbSize;
RECT rcItem;
RECT rcButton;
DWORD stateButton;
HWND hwndCombo;
HWND hwndItem;
HWND hwndList;
} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
typedef struct tagCURSORINFO {
DWORD cbSize;
DWORD flags;
HCURSOR hCursor;
POINT ptScreenPos;
} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
typedef struct tagMENUBARINFO {
DWORD cbSize;
RECT rcBar;
HMENU hMenu;
HWND hwndMenu;
BOOL fBarFocused:1;
BOOL fFocused:1;
} MENUBARINFO, *PMENUBARINFO;
typedef struct tagMENUINFO {
DWORD cbSize;
DWORD fMask;
DWORD dwStyle;
UINT cyMax;
HBRUSH hbrBack;
DWORD dwContextHelpID;
ULONG_PTR dwMenuData;
} MENUINFO, *LPMENUINFO;
typedef MENUINFO const *LPCMENUINFO;
typedef struct tagSCROLLBARINFO {
DWORD cbSize;
RECT rcScrollBar;
int dxyLineButton;
int xyThumbTop;
int xyThumbBottom;
int reserved;
DWORD rgstate[5 + 1];
} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
typedef struct tagTITLEBARINFO {
DWORD cbSize;
RECT rcTitleBar;
DWORD rgstate[5 + 1];
} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
typedef struct tagWINDOWINFO {
DWORD cbSize;
RECT rcWindow;
RECT rcClient;
DWORD dwStyle;
DWORD dwExStyle;
DWORD dwWindowStatus;
UINT cxWindowBorders;
UINT cyWindowBorders;
ATOM atomWindowType;
WORD wCreatorVersion;
} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
typedef struct tagLASTINPUTINFO {
UINT cbSize;
DWORD dwTime;
} LASTINPUTINFO, * PLASTINPUTINFO;
typedef struct tagMONITORINFO {
DWORD cbSize;
RECT rcMonitor;
RECT rcWork;
DWORD dwFlags;
} MONITORINFO,*LPMONITORINFO;
typedef struct tagKBDLLHOOKSTRUCT {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
DWORD dwExtraInfo;
} KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
# 2617 "/usr/include/w32api/winuser.h" 3
typedef struct tagMOUSEMOVEPOINT {
int x;
int y;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEMOVEPOINT, *PMOUSEMOVEPOINT;
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT;
typedef struct tagKEYBDINPUT {
WORD wVk;
WORD wScan;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT;
typedef struct tagHARDWAREINPUT {
DWORD uMsg;
WORD wParamL;
WORD wParamH;
} HARDWAREINPUT, *PHARDWAREINPUT;
typedef struct tagINPUT {
DWORD type;
__extension__ union {
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
} ;
} INPUT, *PINPUT, *LPINPUT;
typedef struct tagGUITHREADINFO {
DWORD cbSize;
DWORD flags;
HWND hwndActive;
HWND hwndFocus;
HWND hwndCapture;
HWND hwndMenuOwner;
HWND hwndMoveSize;
HWND hwndCaret;
RECT rcCaret;
} GUITHREADINFO, *PGUITHREADINFO;
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(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
HDESK __attribute__((__stdcall__)) CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,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(LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
HWND __attribute__((__stdcall__)) CreateMDIWindowW(LPCWSTR,LPCWSTR,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__)) EndMenu(void );
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__)) EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,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,LPWNDCLASSA);
BOOL __attribute__((__stdcall__)) GetClassInfoExA(HINSTANCE,LPCSTR,LPWNDCLASSEXA);
BOOL __attribute__((__stdcall__)) GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
BOOL __attribute__((__stdcall__)) GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
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);
UINT __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__)) GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
BOOL __attribute__((__stdcall__)) GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
BOOL __attribute__((__stdcall__)) GetComboBoxInfo(HWND,PCOMBOBOXINFO);
BOOL __attribute__((__stdcall__)) GetCursorInfo(PCURSORINFO);
BOOL __attribute__((__stdcall__)) GetLastInputInfo(PLASTINPUTINFO);
DWORD __attribute__((__stdcall__)) GetListBoxInfo(HWND);
BOOL __attribute__((__stdcall__)) GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
BOOL __attribute__((__stdcall__)) GetMenuInfo(HMENU,LPMENUINFO);
BOOL __attribute__((__stdcall__)) GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
BOOL __attribute__((__stdcall__)) GetTitleBarInfo(HWND,PTITLEBARINFO);
BOOL __attribute__((__stdcall__)) GetWindowInfo(HWND,PWINDOWINFO);
BOOL __attribute__((__stdcall__)) GetMonitorInfoA(HMONITOR,LPMONITORINFO);
BOOL __attribute__((__stdcall__)) GetMonitorInfoW(HMONITOR,LPMONITORINFO);
UINT __attribute__((__stdcall__)) GetWindowModuleFileNameA(HWND,LPSTR,UINT);
UINT __attribute__((__stdcall__)) GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
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(const MSGBOXPARAMSA*);
int __attribute__((__stdcall__)) MessageBoxIndirectW(const MSGBOXPARAMSW*);
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,const HANDLE*,BOOL,DWORD,DWORD);
DWORD __attribute__((__stdcall__)) MsgWaitForMultipleObjectsEx(DWORD,const HANDLE*,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__)) SetMenuInfo(HMENU,LPCMENUINFO);
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);
# 3389 "/usr/include/w32api/winuser.h" 3
typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
}
# 56 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winnls.h" 1 3
extern "C" {
# 416 "/usr/include/w32api/winnls.h" 3
typedef DWORD LCTYPE;
typedef DWORD CALTYPE;
typedef DWORD CALID;
typedef DWORD LGRPID;
typedef BOOL (__attribute__((__stdcall__)) *CALINFO_ENUMPROCA)(LPSTR);
typedef BOOL (__attribute__((__stdcall__)) *CALINFO_ENUMPROCW)(LPWSTR);
typedef BOOL (__attribute__((__stdcall__)) * CALINFO_ENUMPROCEXA)(LPSTR, CALID);
typedef BOOL (__attribute__((__stdcall__)) * CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
typedef BOOL (__attribute__((__stdcall__)) * LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
typedef BOOL (__attribute__((__stdcall__)) * LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
typedef BOOL (__attribute__((__stdcall__)) * LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
typedef BOOL (__attribute__((__stdcall__)) * LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
typedef BOOL (__attribute__((__stdcall__)) * UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
typedef BOOL (__attribute__((__stdcall__)) * UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
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__)) * DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
typedef BOOL (__attribute__((__stdcall__)) * DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
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 _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[2 ];
BYTE LeadByte[12 ];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[260 ];
} CPINFOEXA, *LPCPINFOEXA;
typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[2 ];
BYTE LeadByte[12 ];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[260 ];
} CPINFOEXW, *LPCPINFOEXW;
typedef struct _currencyfmtA {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
LPSTR lpDecimalSep;
LPSTR lpThousandSep;
UINT NegativeOrder;
UINT PositiveOrder;
LPSTR lpCurrencySymbol;
} CURRENCYFMTA, *LPCURRENCYFMTA;
typedef struct _currencyfmtW {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
LPWSTR lpDecimalSep;
LPWSTR lpThousandSep;
UINT NegativeOrder;
UINT PositiveOrder;
LPWSTR lpCurrencySymbol;
} CURRENCYFMTW, *LPCURRENCYFMTW;
typedef struct _numberfmtA {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
LPSTR lpDecimalSep;
LPSTR lpThousandSep;
UINT NegativeOrder;
} NUMBERFMTA, *LPNUMBERFMTA;
typedef struct _numberfmtW {
UINT NumDigits;
UINT LeadingZero;
UINT Grouping;
LPWSTR lpDecimalSep;
LPWSTR lpThousandSep;
UINT NegativeOrder;
} NUMBERFMTW, *LPNUMBERFMTW;
int __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);
BOOL __attribute__((__stdcall__)) GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
BOOL __attribute__((__stdcall__)) GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
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);
BOOL __attribute__((__stdcall__)) IsValidLocale(LCID,DWORD);
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);
# 569 "/usr/include/w32api/winnls.h" 3
# 610 "/usr/include/w32api/winnls.h" 3
typedef CPINFOEXA CPINFOEX;
typedef LPCPINFOEXA LPCPINFOEX;
typedef CURRENCYFMTA CURRENCYFMT;
typedef LPCURRENCYFMTA LPCURRENCYFMT;
typedef NUMBERFMTA NUMBERFMT;
typedef LPNUMBERFMTA LPNUMBERFMT;
}
# 59 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winver.h" 1 3
extern "C" {
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(const LPVOID,LPSTR,LPVOID*,PUINT);
BOOL __attribute__((__stdcall__)) VerQueryValueW(const LPVOID,LPWSTR,LPVOID*,PUINT);
# 120 "/usr/include/w32api/winver.h" 3
}
# 62 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winnetwk.h" 1 3
extern "C" {
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__)) WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPCSTR*);
DWORD __attribute__((__stdcall__)) WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPCWSTR*);
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);
# 313 "/usr/include/w32api/winnetwk.h" 3
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;
}
# 65 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winreg.h" 1 3
extern "C" {
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(LPCSTR,HKEY,PHKEY);
LONG __attribute__((__stdcall__)) RegConnectRegistryW(LPCWSTR,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,LPDWORD);
LONG __attribute__((__stdcall__)) RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
LONG __attribute__((__stdcall__)) RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
LONG __attribute__((__stdcall__)) RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
LONG __attribute__((__stdcall__)) RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
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);
# 131 "/usr/include/w32api/winreg.h" 3
typedef VALENTA VALENT,*PVALENT;
}
# 68 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winsvc.h" 1 3
extern "C" {
typedef struct _SERVICE_STATUS {
DWORD dwServiceType;
DWORD dwCurrentState;
DWORD dwControlsAccepted;
DWORD dwWin32ExitCode;
DWORD dwServiceSpecificExitCode;
DWORD dwCheckPoint;
DWORD dwWaitHint;
} SERVICE_STATUS,*LPSERVICE_STATUS;
typedef struct _SERVICE_STATUS_PROCESS {
DWORD dwServiceType;
DWORD dwCurrentState;
DWORD dwControlsAccepted;
DWORD dwWin32ExitCode;
DWORD dwServiceSpecificExitCode;
DWORD dwCheckPoint;
DWORD dwWaitHint;
DWORD dwProcessId;
DWORD dwServiceFlags;
} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
typedef enum _SC_STATUS_TYPE {
SC_STATUS_PROCESS_INFO = 0
} SC_STATUS_TYPE;
typedef enum _SC_ENUM_TYPE {
SC_ENUM_PROCESS_INFO = 0
} SC_ENUM_TYPE;
typedef struct _ENUM_SERVICE_STATUSA {
LPSTR lpServiceName;
LPSTR lpDisplayName;
SERVICE_STATUS ServiceStatus;
} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
typedef struct _ENUM_SERVICE_STATUSW {
LPWSTR lpServiceName;
LPWSTR lpDisplayName;
SERVICE_STATUS ServiceStatus;
} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
LPSTR lpServiceName;
LPSTR lpDisplayName;
SERVICE_STATUS_PROCESS ServiceStatusProcess;
} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
LPWSTR lpServiceName;
LPWSTR lpDisplayName;
SERVICE_STATUS_PROCESS ServiceStatusProcess;
} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
typedef struct _QUERY_SERVICE_CONFIGW {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPWSTR lpBinaryPathName;
LPWSTR lpLoadOrderGroup;
DWORD dwTagId;
LPWSTR lpDependencies;
LPWSTR lpServiceStartName;
LPWSTR lpDisplayName;
} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
typedef struct _QUERY_SERVICE_LOCK_STATUSA {
DWORD fIsLocked;
LPSTR lpLockOwner;
DWORD dwLockDuration;
} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
typedef struct _QUERY_SERVICE_LOCK_STATUSW {
DWORD fIsLocked;
LPWSTR lpLockOwner;
DWORD dwLockDuration;
} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
typedef void (__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 void (__attribute__((__stdcall__)) *LPHANDLER_FUNCTION)(DWORD);
typedef DWORD (__attribute__((__stdcall__)) *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
typedef struct _SERVICE_DESCRIPTIONA {
LPSTR lpDescription;
} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
typedef struct _SERVICE_DESCRIPTIONW {
LPWSTR lpDescription;
} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
typedef enum _SC_ACTION_TYPE {
SC_ACTION_NONE = 0,
SC_ACTION_RESTART = 1,
SC_ACTION_REBOOT = 2,
SC_ACTION_RUN_COMMAND = 3
} SC_ACTION_TYPE;
typedef struct _SC_ACTION {
SC_ACTION_TYPE Type;
DWORD Delay;
} SC_ACTION,*LPSC_ACTION;
typedef struct _SERVICE_FAILURE_ACTIONSA {
DWORD dwResetPeriod;
LPSTR lpRebootMsg;
LPSTR lpCommand;
DWORD cActions;
SC_ACTION * lpsaActions;
} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
typedef struct _SERVICE_FAILURE_ACTIONSW {
DWORD dwResetPeriod;
LPWSTR lpRebootMsg;
LPWSTR lpCommand;
DWORD cActions;
SC_ACTION * lpsaActions;
} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
BOOL __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__)) ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
BOOL __attribute__((__stdcall__)) ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
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__)) EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
BOOL __attribute__((__stdcall__)) EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
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__)) QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
BOOL __attribute__((__stdcall__)) QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
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);
BOOL __attribute__((__stdcall__)) QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
SERVICE_STATUS_HANDLE __attribute__((__stdcall__)) RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
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);
# 273 "/usr/include/w32api/winsvc.h" 3
typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
}
# 71 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/commdlg.h" 1 3
extern "C" {
#pragma pack(push,1)
typedef UINT (__attribute__((__stdcall__)) *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
typedef __CDHOOKPROC LPCCHOOKPROC;
typedef __CDHOOKPROC LPCFHOOKPROC;
typedef __CDHOOKPROC LPFRHOOKPROC;
typedef __CDHOOKPROC LPOFNHOOKPROC;
typedef __CDHOOKPROC LPPAGEPAINTHOOK;
typedef __CDHOOKPROC LPPAGESETUPHOOK;
typedef __CDHOOKPROC LPSETUPHOOKPROC;
typedef __CDHOOKPROC LPPRINTHOOKPROC;
typedef struct tagCHOOSECOLORA {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF* lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} CHOOSECOLORA,*LPCHOOSECOLORA;
typedef struct tagCHOOSECOLORW {
DWORD lStructSize;
HWND hwndOwner;
HWND hInstance;
COLORREF rgbResult;
COLORREF* lpCustColors;
DWORD Flags;
LPARAM lCustData;
LPCCHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} CHOOSECOLORW,*LPCHOOSECOLORW;
typedef struct tagCHOOSEFONTA {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONTA lpLogFont;
INT iPointSize;
DWORD Flags;
DWORD rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
HINSTANCE hInstance;
LPSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONTA,*LPCHOOSEFONTA;
typedef struct tagCHOOSEFONTW {
DWORD lStructSize;
HWND hwndOwner;
HDC hDC;
LPLOGFONTW lpLogFont;
INT iPointSize;
DWORD Flags;
DWORD rgbColors;
LPARAM lCustData;
LPCFHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
HINSTANCE hInstance;
LPWSTR lpszStyle;
WORD nFontType;
WORD ___MISSING_ALIGNMENT__;
INT nSizeMin;
INT nSizeMax;
} CHOOSEFONTW,*LPCHOOSEFONTW;
typedef struct tagDEVNAMES {
WORD wDriverOffset;
WORD wDeviceOffset;
WORD wOutputOffset;
WORD wDefault;
} DEVNAMES,*LPDEVNAMES;
typedef struct {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
LPSTR lpstrFindWhat;
LPSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} FINDREPLACEA,*LPFINDREPLACEA;
typedef struct {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
DWORD Flags;
LPWSTR lpstrFindWhat;
LPWSTR lpstrReplaceWith;
WORD wFindWhatLen;
WORD wReplaceWithLen;
LPARAM lCustData;
LPFRHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} FINDREPLACEW,*LPFINDREPLACEW;
typedef struct tagOFNA {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpstrFilter;
LPSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPSTR lpstrFile;
DWORD nMaxFile;
LPSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCSTR lpstrInitialDir;
LPCSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCSTR lpTemplateName;
} OPENFILENAMEA,*LPOPENFILENAMEA;
typedef struct tagOFNW {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCWSTR lpstrFilter;
LPWSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPWSTR lpstrFile;
DWORD nMaxFile;
LPWSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCWSTR lpstrInitialDir;
LPCWSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCWSTR lpstrDefExt;
DWORD lCustData;
LPOFNHOOKPROC lpfnHook;
LPCWSTR lpTemplateName;
} OPENFILENAMEW,*LPOPENFILENAMEW;
typedef struct _OFNOTIFYA {
NMHDR hdr;
LPOPENFILENAMEA lpOFN;
LPSTR pszFile;
} OFNOTIFYA,*LPOFNOTIFYA;
typedef struct _OFNOTIFYW {
NMHDR hdr;
LPOPENFILENAMEW lpOFN;
LPWSTR pszFile;
} OFNOTIFYW,*LPOFNOTIFYW;
typedef struct tagPSDA {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGA,*LPPAGESETUPDLGA;
typedef struct tagPSDW {
DWORD lStructSize;
HWND hwndOwner;
HGLOBAL hDevMode;
HGLOBAL hDevNames;
DWORD Flags;
POINT ptPaperSize;
RECT rtMinMargin;
RECT rtMargin;
HINSTANCE hInstance;
LPARAM lCustData;
LPPAGESETUPHOOK lpfnPageSetupHook;
LPPAGEPAINTHOOK lpfnPagePaintHook;
LPCWSTR lpPageSetupTemplateName;
HGLOBAL hPageSetupTemplate;
} PAGESETUPDLGW,*LPPAGESETUPDLGW;
typedef struct tagPDA {
DWORD lStructSize;
HWND hwndOwner;
HANDLE hDevMode;
HANDLE hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCSTR lpPrintTemplateName;
LPCSTR lpSetupTemplateName;
HANDLE hPrintTemplate;
HANDLE hSetupTemplate;
} PRINTDLGA,*LPPRINTDLGA;
typedef struct tagPDW {
DWORD lStructSize;
HWND hwndOwner;
HANDLE hDevMode;
HANDLE hDevNames;
HDC hDC;
DWORD Flags;
WORD nFromPage;
WORD nToPage;
WORD nMinPage;
WORD nMaxPage;
WORD nCopies;
HINSTANCE hInstance;
DWORD lCustData;
LPPRINTHOOKPROC lpfnPrintHook;
LPSETUPHOOKPROC lpfnSetupHook;
LPCWSTR lpPrintTemplateName;
LPCWSTR lpSetupTemplateName;
HANDLE hPrintTemplate;
HANDLE hSetupTemplate;
} PRINTDLGW,*LPPRINTDLGW;
# 492 "/usr/include/w32api/commdlg.h" 3
BOOL __attribute__((__stdcall__)) ChooseColorA(LPCHOOSECOLORA);
BOOL __attribute__((__stdcall__)) ChooseColorW(LPCHOOSECOLORW);
BOOL __attribute__((__stdcall__)) ChooseFontA(LPCHOOSEFONTA);
BOOL __attribute__((__stdcall__)) ChooseFontW(LPCHOOSEFONTW);
DWORD __attribute__((__stdcall__)) CommDlgExtendedError(void);
HWND __attribute__((__stdcall__)) FindTextA(LPFINDREPLACEA);
HWND __attribute__((__stdcall__)) FindTextW(LPFINDREPLACEW);
short __attribute__((__stdcall__)) GetFileTitleA(LPCSTR,LPSTR,WORD);
short __attribute__((__stdcall__)) GetFileTitleW(LPCWSTR,LPWSTR,WORD);
BOOL __attribute__((__stdcall__)) GetOpenFileNameA(LPOPENFILENAMEA);
BOOL __attribute__((__stdcall__)) GetOpenFileNameW(LPOPENFILENAMEW);
BOOL __attribute__((__stdcall__)) GetSaveFileNameA(LPOPENFILENAMEA);
BOOL __attribute__((__stdcall__)) GetSaveFileNameW(LPOPENFILENAMEW);
BOOL __attribute__((__stdcall__)) PageSetupDlgA(LPPAGESETUPDLGA);
BOOL __attribute__((__stdcall__)) PageSetupDlgW(LPPAGESETUPDLGW);
BOOL __attribute__((__stdcall__)) PrintDlgA(LPPRINTDLGA);
BOOL __attribute__((__stdcall__)) PrintDlgW(LPPRINTDLGW);
HWND __attribute__((__stdcall__)) ReplaceTextA(LPFINDREPLACEA);
HWND __attribute__((__stdcall__)) ReplaceTextW(LPFINDREPLACEW);
# 546 "/usr/include/w32api/commdlg.h" 3
typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR;
typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT;
typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE;
typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME;
typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY;
typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG;
typedef PRINTDLGA PRINTDLG,*LPPRINTDLG;
#pragma pack(pop)
}
# 75 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/cderr.h" 1 3
# 76 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/dde.h" 1 3
extern "C" {
typedef struct {
unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
} DDEACK;
typedef struct {
unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
short cfFormat;
} DDEADVISE;
typedef struct {
unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
short cfFormat;
BYTE Value[1];
} DDEDATA;
typedef struct {
unsigned short unused:13,fRelease:1,fReserved:2;
short cfFormat;
BYTE Value[1];
} DDEPOKE;
typedef struct {
unsigned short unused:13,
fRelease:1,
fDeferUpd:1,
fAckReq:1;
short cfFormat;
} DDELN;
typedef struct {
unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
short cfFormat;
BYTE rgb[1];
} DDEUP;
BOOL __attribute__((__stdcall__)) DdeSetQualityOfService(HWND,const SECURITY_QUALITY_OF_SERVICE*,PSECURITY_QUALITY_OF_SERVICE);
BOOL __attribute__((__stdcall__)) ImpersonateDdeClientWindow(HWND,HWND);
LONG __attribute__((__stdcall__)) PackDDElParam(UINT,UINT,UINT);
BOOL __attribute__((__stdcall__)) UnpackDDElParam(UINT,LONG,PUINT,PUINT);
BOOL __attribute__((__stdcall__)) FreeDDElParam(UINT,LONG);
LONG __attribute__((__stdcall__)) ReuseDDElParam(LONG,UINT,UINT,UINT,UINT);
}
# 77 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/ddeml.h" 1 3
extern "C" {
typedef struct HCONVLIST__{int i;}* HCONVLIST ;
typedef struct HCONV__{int i;}* HCONV ;
typedef struct HSZ__{int i;}* HSZ ;
typedef struct HDDEDATA__{int i;}* HDDEDATA ;
typedef HDDEDATA __attribute__((__stdcall__)) FNCALLBACK(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
typedef HDDEDATA(__attribute__((__stdcall__)) *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
typedef struct tagHSZPAIR {
HSZ hszSvc;
HSZ hszTopic;
} HSZPAIR, *PHSZPAIR;
typedef struct tagCONVCONTEXT {
UINT cb;
UINT wFlags;
UINT wCountryID;
int iCodePage;
DWORD dwLangID;
DWORD dwSecurity;
SECURITY_QUALITY_OF_SERVICE qos;
} CONVCONTEXT,*PCONVCONTEXT;
typedef struct tagCONVINFO {
DWORD cb;
DWORD hUser;
HCONV hConvPartner;
HSZ hszSvcPartner;
HSZ hszServiceReq;
HSZ hszTopic;
HSZ hszItem;
UINT wFmt;
UINT wType;
UINT wStatus;
UINT wConvst;
UINT wLastError;
HCONVLIST hConvList;
CONVCONTEXT ConvCtxt;
HWND hwnd;
HWND hwndPartner;
} CONVINFO,*PCONVINFO;
typedef struct tagDDEML_MSG_HOOK_DATA {
UINT uiLo;
UINT uiHi;
DWORD cbData;
DWORD Data[8];
} DDEML_MSG_HOOK_DATA;
typedef struct tagMONHSZSTRUCT {
UINT cb;
BOOL fsAction;
DWORD dwTime;
HSZ hsz;
HANDLE hTask;
TCHAR str[1];
} MONHSZSTRUCT, *PMONHSZSTRUCT;
typedef struct tagMONLINKSTRUCT {
UINT cb;
DWORD dwTime;
HANDLE hTask;
BOOL fEstablished;
BOOL fNoData;
HSZ hszSvc;
HSZ hszTopic;
HSZ hszItem;
UINT wFmt;
BOOL fServer;
HCONV hConvServer;
HCONV hConvClient;
} MONLINKSTRUCT, *PMONLINKSTRUCT;
typedef struct tagMONCONVSTRUCT {
UINT cb;
BOOL fConnect;
DWORD dwTime;
HANDLE hTask;
HSZ hszSvc;
HSZ hszTopic;
HCONV hConvClient;
HCONV hConvServer;
} MONCONVSTRUCT, *PMONCONVSTRUCT;
typedef struct tagMONCBSTRUCT {
UINT cb;
DWORD dwTime;
HANDLE hTask;
DWORD dwRet;
UINT wType;
UINT wFmt;
HCONV hConv;
HSZ hsz1;
HSZ hsz2;
HDDEDATA hData;
ULONG_PTR dwData1;
ULONG_PTR dwData2;
CONVCONTEXT cc;
DWORD cbData;
DWORD Data[8];
} MONCBSTRUCT, *PMONCBSTRUCT;
typedef struct tagMONERRSTRUCT {
UINT cb;
UINT wLastError;
DWORD dwTime;
HANDLE hTask;
} MONERRSTRUCT, *PMONERRSTRUCT;
typedef struct tagMONMSGSTRUCT {
UINT cb;
HWND hwndTo;
DWORD dwTime;
HANDLE hTask;
UINT wMsg;
WPARAM wParam;
LPARAM lParam;
DDEML_MSG_HOOK_DATA dmhd;
} MONMSGSTRUCT, *PMONMSGSTRUCT;
BOOL __attribute__((__stdcall__)) DdeAbandonTransaction(DWORD,HCONV,DWORD);
PBYTE __attribute__((__stdcall__)) DdeAccessData(HDDEDATA,PDWORD);
HDDEDATA __attribute__((__stdcall__)) DdeAddData(HDDEDATA,PBYTE,DWORD,DWORD);
HDDEDATA __attribute__((__stdcall__)) DdeClientTransaction(PBYTE,DWORD,HCONV,HSZ,UINT,UINT,DWORD,PDWORD);
int __attribute__((__stdcall__)) DdeCmpStringHandles(HSZ,HSZ);
HCONV __attribute__((__stdcall__)) DdeConnect(DWORD,HSZ,HSZ,PCONVCONTEXT);
HCONVLIST __attribute__((__stdcall__)) DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT);
HDDEDATA __attribute__((__stdcall__)) DdeCreateDataHandle(DWORD,PBYTE,DWORD,DWORD,HSZ,UINT,UINT);
HSZ __attribute__((__stdcall__)) DdeCreateStringHandleA(DWORD,LPSTR,int);
HSZ __attribute__((__stdcall__)) DdeCreateStringHandleW(DWORD,LPWSTR,int);
BOOL __attribute__((__stdcall__)) DdeDisconnect(HCONV);
BOOL __attribute__((__stdcall__)) DdeDisconnectList(HCONVLIST);
BOOL __attribute__((__stdcall__)) DdeEnableCallback(DWORD,HCONV,UINT);
BOOL __attribute__((__stdcall__)) DdeFreeDataHandle(HDDEDATA);
BOOL __attribute__((__stdcall__)) DdeFreeStringHandle(DWORD,HSZ);
DWORD __attribute__((__stdcall__)) DdeGetData(HDDEDATA,PBYTE,DWORD,DWORD);
UINT __attribute__((__stdcall__)) DdeGetLastError(DWORD);
BOOL __attribute__((__stdcall__)) DdeImpersonateClient(HCONV);
UINT __attribute__((__stdcall__)) DdeInitializeA(PDWORD,PFNCALLBACK,DWORD,DWORD);
UINT __attribute__((__stdcall__)) DdeInitializeW(PDWORD,PFNCALLBACK,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) DdeKeepStringHandle(DWORD,HSZ);
HDDEDATA __attribute__((__stdcall__)) DdeNameService(DWORD,HSZ,HSZ,UINT);
BOOL __attribute__((__stdcall__)) DdePostAdvise(DWORD,HSZ,HSZ);
UINT __attribute__((__stdcall__)) DdeQueryConvInfo(HCONV,DWORD,PCONVINFO);
HCONV __attribute__((__stdcall__)) DdeQueryNextServer(HCONVLIST,HCONV);
DWORD __attribute__((__stdcall__)) DdeQueryStringA(DWORD,HSZ,LPSTR,DWORD,int);
DWORD __attribute__((__stdcall__)) DdeQueryStringW(DWORD,HSZ,LPWSTR,DWORD,int);
HCONV __attribute__((__stdcall__)) DdeReconnect(HCONV);
BOOL __attribute__((__stdcall__)) DdeSetUserHandle(HCONV,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) DdeUnaccessData(HDDEDATA);
BOOL __attribute__((__stdcall__)) DdeUninitialize(DWORD);
# 298 "/usr/include/w32api/ddeml.h" 3
}
# 78 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/dlgs.h" 1 3
extern "C" {
typedef struct tagCRGB {
BYTE bRed;
BYTE bGreen;
BYTE bBlue;
BYTE bExtra;
} CRGB;
}
# 79 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/imm.h" 1 3
extern "C" {
typedef DWORD HIMC;
typedef DWORD HIMCC;
typedef HKL *LPHKL;
typedef struct tagCOMPOSITIONFORM {
DWORD dwStyle;
POINT ptCurrentPos;
RECT rcArea;
} COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
typedef struct tagCANDIDATEFORM {
DWORD dwIndex;
DWORD dwStyle;
POINT ptCurrentPos;
RECT rcArea;
} CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM;
typedef struct tagCANDIDATELIST {
DWORD dwSize;
DWORD dwStyle;
DWORD dwCount;
DWORD dwSelection;
DWORD dwPageStart;
DWORD dwPageSize;
DWORD dwOffset[1];
} CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST;
typedef struct tagREGISTERWORDA {
LPSTR lpReading;
LPSTR lpWord;
} REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA;
typedef struct tagREGISTERWORDW {
LPWSTR lpReading;
LPWSTR lpWord;
} REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW;
typedef struct tagSTYLEBUFA {
DWORD dwStyle;
CHAR szDescription[32 ];
} STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA;
typedef struct tagSTYLEBUFW {
DWORD dwStyle;
WCHAR szDescription[32 ];
} STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW;
typedef struct tagIMEMENUITEMINFOA {
UINT cbSize;
UINT fType;
UINT fState;
UINT wID;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
CHAR szString[80 ];
HBITMAP hbmpItem;
} IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA;
typedef struct tagIMEMENUITEMINFOW {
UINT cbSize;
UINT fType;
UINT fState;
UINT wID;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
DWORD dwItemData;
WCHAR szString[80 ];
HBITMAP hbmpItem;
} IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW;
typedef int (__attribute__((__stdcall__)) *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
typedef int (__attribute__((__stdcall__)) *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD;
typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF;
typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO;
HKL __attribute__((__stdcall__)) ImmInstallIMEA(LPCSTR,LPCSTR);
HKL __attribute__((__stdcall__)) ImmInstallIMEW(LPCWSTR,LPCWSTR);
HWND __attribute__((__stdcall__)) ImmGetDefaultIMEWnd(HWND);
UINT __attribute__((__stdcall__)) ImmGetDescriptionA(HKL,LPSTR,UINT);
UINT __attribute__((__stdcall__)) ImmGetDescriptionW(HKL,LPWSTR,UINT);
UINT __attribute__((__stdcall__)) ImmGetIMEFileNameA(HKL,LPSTR,UINT);
UINT __attribute__((__stdcall__)) ImmGetIMEFileNameW(HKL,LPWSTR,UINT);
DWORD __attribute__((__stdcall__)) ImmGetProperty(HKL,DWORD);
BOOL __attribute__((__stdcall__)) ImmIsIME(HKL);
BOOL __attribute__((__stdcall__)) ImmSimulateHotKey(HWND,DWORD);
HIMC __attribute__((__stdcall__)) ImmCreateContext(void);
BOOL __attribute__((__stdcall__)) ImmDestroyContext(HIMC);
HIMC __attribute__((__stdcall__)) ImmGetContext(HWND);
BOOL __attribute__((__stdcall__)) ImmReleaseContext(HWND,HIMC);
HIMC __attribute__((__stdcall__)) ImmAssociateContext(HWND,HIMC);
LONG __attribute__((__stdcall__)) ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);
LONG __attribute__((__stdcall__)) ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD);
BOOL __attribute__((__stdcall__)) ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
BOOL __attribute__((__stdcall__)) ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
DWORD __attribute__((__stdcall__)) ImmGetCandidateListCountA(HIMC,PDWORD);
DWORD __attribute__((__stdcall__)) ImmGetCandidateListCountW(HIMC,PDWORD);
DWORD __attribute__((__stdcall__)) ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD);
DWORD __attribute__((__stdcall__)) ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD);
DWORD __attribute__((__stdcall__)) ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) ImmGetConversionStatus(HIMC,LPDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) ImmSetConversionStatus(HIMC,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) ImmGetOpenStatus(HIMC);
BOOL __attribute__((__stdcall__)) ImmSetOpenStatus(HIMC,BOOL);
BOOL __attribute__((__stdcall__)) ImmGetCompositionFontA(HIMC,LPLOGFONTA);
BOOL __attribute__((__stdcall__)) ImmGetCompositionFontW(HIMC,LPLOGFONTW);
BOOL __attribute__((__stdcall__)) ImmSetCompositionFontA(HIMC,LPLOGFONTA);
BOOL __attribute__((__stdcall__)) ImmSetCompositionFontW(HIMC,LPLOGFONTW);
BOOL __attribute__((__stdcall__)) ImmConfigureIMEA(HKL,HWND,DWORD,PVOID);
BOOL __attribute__((__stdcall__)) ImmConfigureIMEW(HKL,HWND,DWORD,PVOID);
LRESULT __attribute__((__stdcall__)) ImmEscapeA(HKL,HIMC,UINT,PVOID);
LRESULT __attribute__((__stdcall__)) ImmEscapeW(HKL,HIMC,UINT,PVOID);
DWORD __attribute__((__stdcall__)) ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT);
DWORD __attribute__((__stdcall__)) ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT);
BOOL __attribute__((__stdcall__)) ImmNotifyIME(HIMC,DWORD,DWORD,DWORD);
BOOL __attribute__((__stdcall__)) ImmGetStatusWindowPos(HIMC,LPPOINT);
BOOL __attribute__((__stdcall__)) ImmSetStatusWindowPos(HIMC,LPPOINT);
BOOL __attribute__((__stdcall__)) ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM);
BOOL __attribute__((__stdcall__)) ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM);
BOOL __attribute__((__stdcall__)) ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM);
BOOL __attribute__((__stdcall__)) ImmSetCandidateWindow(HIMC,PCANDIDATEFORM);
BOOL __attribute__((__stdcall__)) ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
BOOL __attribute__((__stdcall__)) ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
UINT __attribute__((__stdcall__)) ImmGetVirtualKey(HWND);
BOOL __attribute__((__stdcall__)) ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
BOOL __attribute__((__stdcall__)) ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
BOOL __attribute__((__stdcall__)) ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
BOOL __attribute__((__stdcall__)) ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
UINT __attribute__((__stdcall__)) ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA);
UINT __attribute__((__stdcall__)) ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW);
UINT __attribute__((__stdcall__)) ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID);
UINT __attribute__((__stdcall__)) ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID);
BOOL __attribute__((__stdcall__)) EnableEUDC(BOOL);
BOOL __attribute__((__stdcall__)) ImmDisableIME(DWORD);
DWORD __attribute__((__stdcall__)) ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD);
DWORD __attribute__((__stdcall__)) ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD);
# 400 "/usr/include/w32api/imm.h" 3
}
# 80 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/lzexpand.h" 1 3
extern "C" {
LONG __attribute__((__stdcall__)) CopyLZFile(INT,INT);
INT __attribute__((__stdcall__)) GetExpandedNameA(LPSTR,LPSTR);
INT __attribute__((__stdcall__)) GetExpandedNameW(LPWSTR,LPWSTR);
void __attribute__((__stdcall__)) LZClose(INT);
LONG __attribute__((__stdcall__)) LZCopy(INT,INT);
void __attribute__((__stdcall__)) LZDone(void );
INT __attribute__((__stdcall__)) LZInit(INT);
INT __attribute__((__stdcall__)) LZOpenFileA(LPSTR,LPOFSTRUCT,WORD);
INT __attribute__((__stdcall__)) LZOpenFileW(LPWSTR,LPOFSTRUCT,WORD);
INT __attribute__((__stdcall__)) LZRead(INT,LPSTR,INT);
LONG __attribute__((__stdcall__)) LZSeek(INT,LONG,INT);
INT __attribute__((__stdcall__)) LZStart(void );
}
# 81 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/mmsystem.h" 1 3
#pragma pack(push,1)
extern "C" {
typedef DWORD MCIERROR;
typedef UINT MCIDEVICEID;
typedef UINT(__attribute__((__stdcall__)) *YIELDPROC)(MCIDEVICEID,DWORD);
typedef UINT MMVERSION;
typedef UINT MMRESULT;
typedef struct mmtime_tag {
UINT wType;
union {
DWORD ms;
DWORD sample;
DWORD cb;
DWORD ticks;
struct {
BYTE hour;
BYTE min;
BYTE sec;
BYTE frame;
BYTE fps;
BYTE dummy;
BYTE pad[2];
} smpte;
struct {
DWORD songptrpos;
} midi;
} u;
} MMTIME,*PMMTIME,*LPMMTIME;
typedef struct HDRVR__{int i;}* HDRVR ;
typedef struct tagDRVCONFIGINFO {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
typedef struct DRVCONFIGINFOEX {
DWORD dwDCISize;
LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName;
DWORD dnDevNode;
} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
typedef LRESULT(__attribute__((__stdcall__)) * DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
typedef void (__attribute__((__stdcall__)) DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
typedef DRVCALLBACK *LPDRVCALLBACK;
typedef DRVCALLBACK *PDRVCALLBACK;
typedef struct HWAVE__{int i;}* HWAVE ;
typedef struct HWAVEIN__{int i;}* HWAVEIN ;
typedef struct HWAVEOUT__{int i;}* HWAVEOUT ;
typedef HWAVEIN *LPHWAVEIN;
typedef HWAVEOUT *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK *LPWAVECALLBACK;
typedef struct wavehdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag *lpNext;
DWORD reserved;
} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
typedef struct tagWAVEOUTCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
typedef struct tagWAVEOUTCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
DWORD dwSupport;
} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
typedef struct tagWAVEINCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
typedef struct tagWAVEINCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
DWORD dwFormats;
WORD wChannels;
WORD wReserved1;
} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
typedef struct waveformat_tag {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
typedef struct pcmwaveformat_tag {
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
typedef struct tWAVEFORMATEX {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
typedef struct HMIDI__{int i;}* HMIDI ;
typedef struct HMIDIIN__{int i;}* HMIDIIN ;
typedef struct HMIDIOUT__{int i;}* HMIDIOUT ;
typedef struct HMIDISTRM__{int i;}* HMIDISTRM ;
typedef HMIDI *LPHMIDI;
typedef HMIDIIN *LPHMIDIIN;
typedef HMIDIOUT *LPHMIDIOUT;
typedef HMIDISTRM *LPHMIDISTRM;
typedef DRVCALLBACK MIDICALLBACK;
typedef MIDICALLBACK *LPMIDICALLBACK;
typedef WORD PATCHARRAY[128 ];
typedef WORD *LPPATCHARRAY;
typedef WORD KEYARRAY[128 ];
typedef WORD *LPKEYARRAY;
typedef struct tagMIDIOUTCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
typedef struct tagMIDIOUTCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
WORD wTechnology;
WORD wVoices;
WORD wNotes;
WORD wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
typedef struct tagMIDIINCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
DWORD dwSupport;
} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
typedef struct tagMIDIINCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
DWORD dwSupport;
} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
typedef struct midihdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
struct midihdr_tag *lpNext;
DWORD reserved;
DWORD dwOffset;
DWORD dwReserved[8];
} MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
typedef struct midievent_tag {
DWORD dwDeltaTime;
DWORD dwStreamID;
DWORD dwEvent;
DWORD dwParms[1];
} MIDIEVENT;
typedef struct midistrmbuffver_tag {
DWORD dwVersion;
DWORD dwMid;
DWORD dwOEMVersion;
} MIDISTRMBUFFVER;
typedef struct midiproptimediv_tag {
DWORD cbStruct;
DWORD dwTimeDiv;
} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
typedef struct midiproptempo_tag {
DWORD cbStruct;
DWORD dwTempo;
} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
typedef struct tagAUXCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
typedef struct tagAUXCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
WORD wTechnology;
WORD wReserved1;
DWORD dwSupport;
} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
typedef struct HMIXEROBJ__{int i;}* HMIXEROBJ ;
typedef HMIXEROBJ *LPHMIXEROBJ;
typedef struct HMIXER__{int i;}* HMIXER ;
typedef HMIXER *LPHMIXER;
typedef struct tagMIXERCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
typedef struct tagMIXERCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
DWORD fdwSupport;
DWORD cDestinations;
} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
typedef struct tagMIXERLINEA {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
CHAR szShortName[16 ];
CHAR szName[64 ];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
CHAR szPname[32 ];
} Target;
} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
typedef struct tagMIXERLINEW {
DWORD cbStruct;
DWORD dwDestination;
DWORD dwSource;
DWORD dwLineID;
DWORD fdwLine;
DWORD dwUser;
DWORD dwComponentType;
DWORD cChannels;
DWORD cConnections;
DWORD cControls;
WCHAR szShortName[16 ];
WCHAR szName[64 ];
struct {
DWORD dwType;
DWORD dwDeviceID;
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
WCHAR szPname[32 ];
} Target;
} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
typedef struct tagMIXERCONTROLA {
DWORD cbStruct;
DWORD dwControlID;
DWORD dwControlType;
DWORD fdwControl;
DWORD cMultipleItems;
CHAR szShortName[16 ];
CHAR szName[64 ];
union {
__extension__ struct {
LONG lMinimum;
LONG lMaximum;
} ;
__extension__ struct {
DWORD dwMinimum;
DWORD dwMaximum;
} ;
DWORD dwReserved[6];
} Bounds;
union {
DWORD cSteps;
DWORD cbCustomData;
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
typedef struct tagMIXERCONTROLW {
DWORD cbStruct;
DWORD dwControlID;
DWORD dwControlType;
DWORD fdwControl;
DWORD cMultipleItems;
WCHAR szShortName[16 ];
WCHAR szName[64 ];
union {
__extension__ struct {
LONG lMinimum;
LONG lMaximum;
} ;
__extension__ struct {
DWORD dwMinimum;
DWORD dwMaximum;
} ;
DWORD dwReserved[6];
} Bounds;
union {
DWORD cSteps;
DWORD cbCustomData;
DWORD dwReserved[6];
} Metrics;
} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
typedef struct tagMIXERLINECONTROLSA {
DWORD cbStruct;
DWORD dwLineID;
__extension__ union {
DWORD dwControlID;
DWORD dwControlType;
} ;
DWORD cControls;
DWORD cbmxctrl;
LPMIXERCONTROLA pamxctrl;
} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
typedef struct tagMIXERLINECONTROLSW {
DWORD cbStruct;
DWORD dwLineID;
__extension__ union {
DWORD dwControlID;
DWORD dwControlType;
} ;
DWORD cControls;
DWORD cbmxctrl;
LPMIXERCONTROLW pamxctrl;
} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct;
DWORD dwControlID;
DWORD cChannels;
__extension__ union {
HWND hwndOwner;
DWORD cMultipleItems;
} ;
DWORD cbDetails;
PVOID paDetails;
} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
DWORD dwParam1;
DWORD dwParam2;
CHAR szName[64 ];
} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
DWORD dwParam1;
DWORD dwParam2;
WCHAR szName[64 ];
} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
LONG fValue;
} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
typedef struct tMIXERCONTROLDETAILS_SIGNED {
LONG lValue;
} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
DWORD dwValue;
} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
typedef void(__attribute__((__stdcall__)) TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
typedef TIMECALLBACK *LPTIMECALLBACK;
typedef struct timecaps_tag {
UINT wPeriodMin;
UINT wPeriodMax;
} TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
typedef struct tagJOYCAPSA {
WORD wMid;
WORD wPid;
CHAR szPname[32 ];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
CHAR szRegKey[32 ];
CHAR szOEMVxD[260 ];
} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
typedef struct tagJOYCAPSW {
WORD wMid;
WORD wPid;
WCHAR szPname[32 ];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
UINT wZmax;
UINT wNumButtons;
UINT wPeriodMin;
UINT wPeriodMax;
UINT wRmin;
UINT wRmax;
UINT wUmin;
UINT wUmax;
UINT wVmin;
UINT wVmax;
UINT wCaps;
UINT wMaxAxes;
UINT wNumAxes;
UINT wMaxButtons;
WCHAR szRegKey[32 ];
WCHAR szOEMVxD[260 ];
} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
typedef struct joyinfo_tag {
UINT wXpos;
UINT wYpos;
UINT wZpos;
UINT wButtons;
} JOYINFO,*PJOYINFO,*LPJOYINFO;
typedef struct joyinfoex_tag {
DWORD dwSize;
DWORD dwFlags;
DWORD dwXpos;
DWORD dwYpos;
DWORD dwZpos;
DWORD dwRpos;
DWORD dwUpos;
DWORD dwVpos;
DWORD dwButtons;
DWORD dwButtonNumber;
DWORD dwPOV;
DWORD dwReserved1;
DWORD dwReserved2;
} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
typedef DWORD FOURCC;
typedef char *HPSTR;
typedef struct HMMIO__{int i;}* HMMIO ;
typedef LRESULT (__attribute__((__stdcall__)) MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
typedef MMIOPROC *LPMMIOPROC;
typedef struct _MMIOINFO {
DWORD dwFlags;
FOURCC fccIOProc;
LPMMIOPROC pIOProc;
UINT wErrorRet;
HTASK htask;
LONG cchBuffer;
HPSTR pchBuffer;
HPSTR pchNext;
HPSTR pchEndRead;
HPSTR pchEndWrite;
LONG lBufOffset;
LONG lDiskOffset;
DWORD adwInfo[3];
DWORD dwReserved1;
DWORD dwReserved2;
HMMIO hmmio;
} MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
typedef const MMIOINFO *LPCMMIOINFO;
typedef struct _MMCKINFO {
FOURCC ckid;
DWORD cksize;
FOURCC fccType;
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
typedef const MMCKINFO *LPCMMCKINFO;
typedef struct tagMCI_GENERIC_PARMS {
DWORD dwCallback;
} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
typedef struct tagMCI_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
typedef struct tagMCI_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
typedef struct tagMCI_PLAY_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
typedef struct tagMCI_SEEK_PARMS {
DWORD dwCallback;
DWORD dwTo;
} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
typedef struct tagMCI_STATUS_PARMS {
DWORD dwCallback;
DWORD dwReturn;
DWORD dwItem;
DWORD dwTrack;
} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
typedef struct tagMCI_INFO_PARMSA {
DWORD dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
typedef struct tagMCI_INFO_PARMSW {
DWORD dwCallback;
LPWSTR lpstrReturn;
DWORD dwRetSize;
} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
typedef struct tagMCI_GETDEVCAPS_PARMS {
DWORD dwCallback;
DWORD dwReturn;
DWORD dwItem;
} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
typedef struct tagMCI_SYSINFO_PARMSA {
DWORD dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
typedef struct tagMCI_SYSINFO_PARMSW {
DWORD dwCallback;
LPWSTR lpstrReturn;
DWORD dwRetSize;
DWORD dwNumber;
UINT wDeviceType;
} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
typedef struct tagMCI_SET_PARMS {
DWORD dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
typedef struct tagMCI_BREAK_PARMS {
DWORD dwCallback;
int nVirtKey;
HWND hwndBreak;
} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
typedef struct tagMCI_SAVE_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
typedef struct tagMCI_SAVE_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
typedef struct tagMCI_LOAD_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
typedef struct tagMCI_LOAD_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
typedef struct tagMCI_RECORD_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
typedef struct tagMCI_VD_PLAY_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
DWORD dwSpeed;
} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
typedef struct tagMCI_VD_STEP_PARMS {
DWORD dwCallback;
DWORD dwFrames;
} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
typedef struct tagMCI_VD_ESCAPE_PARMSA {
DWORD dwCallback;
LPCSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
typedef struct tagMCI_VD_ESCAPE_PARMSW {
DWORD dwCallback;
LPCWSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
typedef struct tagMCI_WAVE_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
typedef struct tagMCI_WAVE_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
typedef struct tagMCI_WAVE_DELETE_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
typedef struct tagMCI_WAVE_SET_PARMS {
DWORD dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
UINT wInput;
UINT wOutput;
WORD wFormatTag;
WORD wReserved2;
WORD nChannels;
WORD wReserved3;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wReserved4;
WORD wBitsPerSample;
WORD wReserved5;
} MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS;
LRESULT __attribute__((__stdcall__)) CloseDriver(HDRVR,LONG,LONG);
HDRVR __attribute__((__stdcall__)) OpenDriver(LPCWSTR,LPCWSTR,LONG);
LRESULT __attribute__((__stdcall__)) SendDriverMessage(HDRVR,UINT,LONG,LONG);
HMODULE __attribute__((__stdcall__)) DrvGetModuleHandle(HDRVR);
HMODULE __attribute__((__stdcall__)) GetDriverModuleHandle(HDRVR);
LRESULT __attribute__((__stdcall__)) DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
UINT __attribute__((__stdcall__)) mmsystemGetVersion(void);
BOOL __attribute__((__stdcall__)) sndPlaySoundA(LPCSTR,UINT);
BOOL __attribute__((__stdcall__)) sndPlaySoundW(LPCWSTR,UINT);
BOOL __attribute__((__stdcall__)) PlaySoundA(LPCSTR,HMODULE,DWORD);
BOOL __attribute__((__stdcall__)) PlaySoundW(LPCWSTR,HMODULE,DWORD);
UINT __attribute__((__stdcall__)) waveOutGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutGetVolume(HWAVEOUT,PDWORD);
MMRESULT __attribute__((__stdcall__)) waveOutSetVolume(HWAVEOUT,DWORD);
MMRESULT __attribute__((__stdcall__)) waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) waveOutClose(HWAVEOUT);
MMRESULT __attribute__((__stdcall__)) waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutPause(HWAVEOUT);
MMRESULT __attribute__((__stdcall__)) waveOutRestart(HWAVEOUT);
MMRESULT __attribute__((__stdcall__)) waveOutReset(HWAVEOUT);
MMRESULT __attribute__((__stdcall__)) waveOutBreakLoop(HWAVEOUT);
MMRESULT __attribute__((__stdcall__)) waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
MMRESULT __attribute__((__stdcall__)) waveOutGetPitch(HWAVEOUT,PDWORD);
MMRESULT __attribute__((__stdcall__)) waveOutSetPitch(HWAVEOUT,DWORD);
MMRESULT __attribute__((__stdcall__)) waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
MMRESULT __attribute__((__stdcall__)) waveOutSetPlaybackRate(HWAVEOUT,DWORD);
MMRESULT __attribute__((__stdcall__)) waveOutGetID(HWAVEOUT,LPUINT);
MMRESULT __attribute__((__stdcall__)) waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
UINT __attribute__((__stdcall__)) waveInGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT __attribute__((__stdcall__)) waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
MMRESULT __attribute__((__stdcall__)) waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) waveInClose(HWAVEIN);
MMRESULT __attribute__((__stdcall__)) waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
MMRESULT __attribute__((__stdcall__)) waveInStart(HWAVEIN);
MMRESULT __attribute__((__stdcall__)) waveInStop(HWAVEIN);
MMRESULT __attribute__((__stdcall__)) waveInReset(HWAVEIN);
MMRESULT __attribute__((__stdcall__)) waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
MMRESULT __attribute__((__stdcall__)) waveInGetID(HWAVEIN,LPUINT);
MMRESULT __attribute__((__stdcall__)) waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
UINT __attribute__((__stdcall__)) midiOutGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) midiStreamClose(HMIDISTRM);
MMRESULT __attribute__((__stdcall__)) midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
MMRESULT __attribute__((__stdcall__)) midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
MMRESULT __attribute__((__stdcall__)) midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiStreamPause(HMIDISTRM);
MMRESULT __attribute__((__stdcall__)) midiStreamRestart(HMIDISTRM);
MMRESULT __attribute__((__stdcall__)) midiStreamStop(HMIDISTRM);
MMRESULT __attribute__((__stdcall__)) midiConnect(HMIDI,HMIDIOUT,PVOID);
MMRESULT __attribute__((__stdcall__)) midiDisconnect(HMIDI,HMIDIOUT,PVOID);
MMRESULT __attribute__((__stdcall__)) midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutGetVolume(HMIDIOUT,PDWORD);
MMRESULT __attribute__((__stdcall__)) midiOutSetVolume(HMIDIOUT,DWORD);
MMRESULT __attribute__((__stdcall__)) midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) midiOutClose(HMIDIOUT);
MMRESULT __attribute__((__stdcall__)) midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutShortMsg(HMIDIOUT,DWORD);
MMRESULT __attribute__((__stdcall__)) midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutReset(HMIDIOUT);
MMRESULT __attribute__((__stdcall__)) midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
MMRESULT __attribute__((__stdcall__)) midiOutGetID(HMIDIOUT,LPUINT);
MMRESULT __attribute__((__stdcall__)) midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
UINT __attribute__((__stdcall__)) midiInGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
MMRESULT __attribute__((__stdcall__)) midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
MMRESULT __attribute__((__stdcall__)) midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) midiInClose(HMIDIIN);
MMRESULT __attribute__((__stdcall__)) midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
MMRESULT __attribute__((__stdcall__)) midiInStart(HMIDIIN);
MMRESULT __attribute__((__stdcall__)) midiInStop(HMIDIIN);
MMRESULT __attribute__((__stdcall__)) midiInReset(HMIDIIN);
MMRESULT __attribute__((__stdcall__)) midiInGetID(HMIDIIN,LPUINT);
MMRESULT __attribute__((__stdcall__)) midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
UINT __attribute__((__stdcall__)) auxGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) auxSetVolume(UINT,DWORD);
MMRESULT __attribute__((__stdcall__)) auxGetVolume(UINT,PDWORD);
MMRESULT __attribute__((__stdcall__)) auxOutMessage(UINT,UINT,DWORD,DWORD);
UINT __attribute__((__stdcall__)) mixerGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerClose(HMIXER);
DWORD __attribute__((__stdcall__)) mixerMessage(HMIXER,UINT,DWORD,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetID(HMIXEROBJ,PUINT,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
MMRESULT __attribute__((__stdcall__)) mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
MMRESULT __attribute__((__stdcall__)) timeGetSystemTime(LPMMTIME,UINT);
DWORD __attribute__((__stdcall__)) timeGetTime(void);
MMRESULT __attribute__((__stdcall__)) timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
MMRESULT __attribute__((__stdcall__)) timeKillEvent(UINT);
MMRESULT __attribute__((__stdcall__)) timeGetDevCaps(LPTIMECAPS,UINT);
MMRESULT __attribute__((__stdcall__)) timeBeginPeriod(UINT);
MMRESULT __attribute__((__stdcall__)) timeEndPeriod(UINT);
UINT __attribute__((__stdcall__)) joyGetNumDevs(void);
MMRESULT __attribute__((__stdcall__)) joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
MMRESULT __attribute__((__stdcall__)) joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
MMRESULT __attribute__((__stdcall__)) joyGetPos(UINT,LPJOYINFO);
MMRESULT __attribute__((__stdcall__)) joyGetPosEx(UINT,LPJOYINFOEX);
MMRESULT __attribute__((__stdcall__)) joyGetThreshold(UINT,LPUINT);
MMRESULT __attribute__((__stdcall__)) joyReleaseCapture(UINT);
MMRESULT __attribute__((__stdcall__)) joySetCapture(HWND,UINT,UINT,BOOL);
MMRESULT __attribute__((__stdcall__)) joySetThreshold(UINT,UINT);
FOURCC __attribute__((__stdcall__)) mmioStringToFOURCCA(LPCSTR,UINT);
FOURCC __attribute__((__stdcall__)) mmioStringToFOURCCW(LPCWSTR,UINT);
LPMMIOPROC __attribute__((__stdcall__)) mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
LPMMIOPROC __attribute__((__stdcall__)) mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
HMMIO __attribute__((__stdcall__)) mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
HMMIO __attribute__((__stdcall__)) mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
MMRESULT __attribute__((__stdcall__)) mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
MMRESULT __attribute__((__stdcall__)) mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
MMRESULT __attribute__((__stdcall__)) mmioClose(HMMIO,UINT);
LONG __attribute__((__stdcall__)) mmioRead(HMMIO,HPSTR,LONG);
LONG __attribute__((__stdcall__)) mmioWrite(HMMIO,LPCSTR,LONG);
LONG __attribute__((__stdcall__)) mmioSeek(HMMIO,LONG,int);
MMRESULT __attribute__((__stdcall__)) mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
MMRESULT __attribute__((__stdcall__)) mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
MMRESULT __attribute__((__stdcall__)) mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
MMRESULT __attribute__((__stdcall__)) mmioFlush(HMMIO,UINT);
MMRESULT __attribute__((__stdcall__)) mmioAdvance(HMMIO,LPMMIOINFO,UINT);
LRESULT __attribute__((__stdcall__)) mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
MMRESULT __attribute__((__stdcall__)) mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT);
MMRESULT __attribute__((__stdcall__)) mmioAscend(HMMIO,LPMMCKINFO,UINT);
MMRESULT __attribute__((__stdcall__)) mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
MCIERROR __attribute__((__stdcall__)) mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD);
MCIERROR __attribute__((__stdcall__)) mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD);
MCIERROR __attribute__((__stdcall__)) mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
MCIERROR __attribute__((__stdcall__)) mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
MCIDEVICEID __attribute__((__stdcall__)) mciGetDeviceIDA(LPCSTR);
MCIDEVICEID __attribute__((__stdcall__)) mciGetDeviceIDW(LPCWSTR);
MCIDEVICEID __attribute__((__stdcall__)) mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
MCIDEVICEID __attribute__((__stdcall__)) mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
BOOL __attribute__((__stdcall__)) mciGetErrorStringA(MCIERROR,LPSTR,UINT);
BOOL __attribute__((__stdcall__)) mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
BOOL __attribute__((__stdcall__)) mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
HTASK __attribute__((__stdcall__)) mciGetCreatorTask(MCIDEVICEID);
YIELDPROC __attribute__((__stdcall__)) mciGetYieldProc(MCIDEVICEID,PDWORD);
typedef struct tagMCI_SEQ_SET_PARMS {
DWORD dwCallback;
DWORD dwTimeFormat;
DWORD dwAudio;
DWORD dwTempo;
DWORD dwPort;
DWORD dwSlave;
DWORD dwMaster;
DWORD dwOffset;
} MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS;
typedef struct tagMCI_ANIM_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA;
typedef struct tagMCI_ANIM_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW;
typedef struct tagMCI_ANIM_PLAY_PARMS {
DWORD dwCallback;
DWORD dwFrom;
DWORD dwTo;
DWORD dwSpeed;
} MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS;
typedef struct tagMCI_ANIM_STEP_PARMS {
DWORD dwCallback;
DWORD dwFrames;
} MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS;
typedef struct tagMCI_ANIM_WINDOW_PARMSA {
DWORD dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCSTR lpstrText;
} MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA;
typedef struct tagMCI_ANIM_WINDOW_PARMSW {
DWORD dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCWSTR lpstrText;
} MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW;
typedef struct tagMCI_ANIM_RECT_PARMS {
DWORD dwCallback;
RECT rc;
} MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS;
typedef struct tagMCI_ANIM_UPDATE_PARMS {
DWORD dwCallback;
RECT rc;
HDC hDC;
} MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS;
typedef struct tagMCI_OVLY_OPEN_PARMSA {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCSTR lpstrDeviceType;
LPCSTR lpstrElementName;
LPCSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA;
typedef struct tagMCI_OVLY_OPEN_PARMSW {
DWORD dwCallback;
MCIDEVICEID wDeviceID;
LPCWSTR lpstrDeviceType;
LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW;
typedef struct tagMCI_OVLY_WINDOW_PARMSA {
DWORD dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCSTR lpstrText;
} MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA;
typedef struct tagMCI_OVLY_WINDOW_PARMSW {
DWORD dwCallback;
HWND hWnd;
UINT nCmdShow;
LPCWSTR lpstrText;
} MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW;
typedef struct tagMCI_OVLY_RECT_PARMS {
DWORD dwCallback;
RECT rc;
} MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS;
typedef struct tagMCI_OVLY_SAVE_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
RECT rc;
} MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA;
typedef struct tagMCI_OVLY_SAVE_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
RECT rc;
} MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW;
typedef struct tagMCI_OVLY_LOAD_PARMSA {
DWORD dwCallback;
LPCSTR lpfilename;
RECT rc;
} MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA;
typedef struct tagMCI_OVLY_LOAD_PARMSW {
DWORD dwCallback;
LPCWSTR lpfilename;
RECT rc;
} MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW;
# 1882 "/usr/include/w32api/mmsystem.h" 3
typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
}
#pragma pack(pop)
# 82 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/nb30.h" 1 3
extern "C" {
typedef struct _ACTION_HEADER {
ULONG transport_id;
USHORT action_code;
USHORT reserved;
} ACTION_HEADER,*PACTION_HEADER;
typedef struct _ADAPTER_STATUS {
UCHAR adapter_address[6];
UCHAR rev_major;
UCHAR reserved0;
UCHAR adapter_type;
UCHAR rev_minor;
WORD duration;
WORD frmr_recv;
WORD frmr_xmit;
WORD iframe_recv_err;
WORD xmit_aborts;
DWORD xmit_success;
DWORD recv_success;
WORD iframe_xmit_err;
WORD recv_buff_unavail;
WORD t1_timeouts;
WORD ti_timeouts;
DWORD reserved1;
WORD free_ncbs;
WORD max_cfg_ncbs;
WORD max_ncbs;
WORD xmit_buf_unavail;
WORD max_dgram_size;
WORD pending_sess;
WORD max_cfg_sess;
WORD max_sess;
WORD max_sess_pkt_size;
WORD name_count;
} ADAPTER_STATUS,*PADAPTER_STATUS;
typedef struct _FIND_NAME_BUFFER {
UCHAR length;
UCHAR access_control;
UCHAR frame_control;
UCHAR destination_addr[6];
UCHAR source_addr[6];
UCHAR routing_info[18];
} FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
typedef struct _FIND_NAME_HEADER {
WORD node_count;
UCHAR reserved;
UCHAR unique_group;
} FIND_NAME_HEADER,*PFIND_NAME_HEADER;
typedef struct _LANA_ENUM {
UCHAR length;
UCHAR lana[254 +1];
} LANA_ENUM,*PLANA_ENUM;
typedef struct _NAME_BUFFER {
UCHAR name[16 ];
UCHAR name_num;
UCHAR name_flags;
} NAME_BUFFER,*PNAME_BUFFER;
typedef struct _NCB {
UCHAR ncb_command;
UCHAR ncb_retcode;
UCHAR ncb_lsn;
UCHAR ncb_num;
PUCHAR ncb_buffer;
WORD ncb_length;
UCHAR ncb_callname[16 ];
UCHAR ncb_name[16 ];
UCHAR ncb_rto;
UCHAR ncb_sto;
void (__attribute__((__stdcall__)) *ncb_post)(struct _NCB*);
UCHAR ncb_lana_num;
UCHAR ncb_cmd_cplt;
UCHAR ncb_reserve[10];
HANDLE ncb_event;
} NCB,*PNCB;
typedef struct _SESSION_BUFFER {
UCHAR lsn;
UCHAR state;
UCHAR local_name[16 ];
UCHAR remote_name[16 ];
UCHAR rcvs_outstanding;
UCHAR sends_outstanding;
} SESSION_BUFFER,*PSESSION_BUFFER;
typedef struct _SESSION_HEADER {
UCHAR sess_name;
UCHAR num_sess;
UCHAR rcv_dg_outstanding;
UCHAR rcv_any_outstanding;
} SESSION_HEADER,*PSESSION_HEADER;
UCHAR __attribute__((__stdcall__)) Netbios(PNCB);
}
# 83 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/rpc.h" 1 3
# 1 "/usr/include/w32api/windows.h" 1 3
# 124 "/usr/include/w32api/windows.h" 3
# 2 "/usr/include/w32api/rpc.h" 2 3
extern "C" {
typedef void *I_RPC_HANDLE;
typedef long RPC_STATUS;
# 1 "/usr/include/w32api/rpcdce.h" 1 3
extern "C" {
typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
typedef RPC_BINDING_HANDLE handle_t;
typedef struct _RPC_BINDING_VECTOR {
unsigned long Count;
RPC_BINDING_HANDLE BindingH[1];
} RPC_BINDING_VECTOR;
typedef struct _UUID_VECTOR {
unsigned long Count;
UUID *Uuid[1];
} UUID_VECTOR;
typedef void *RPC_IF_HANDLE;
typedef struct _RPC_IF_ID {
UUID Uuid;
unsigned short VersMajor;
unsigned short VersMinor;
} RPC_IF_ID;
typedef struct _RPC_POLICY {
unsigned int Length ;
unsigned long EndpointFlags ;
unsigned long NICFlags ;
} RPC_POLICY,*PRPC_POLICY ;
typedef void __attribute__((__stdcall__)) RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
typedef struct {
unsigned int Count;
unsigned long Stats[1];
} RPC_STATS_VECTOR;
typedef struct {
unsigned long Count;
RPC_IF_ID*IfId[1];
} RPC_IF_ID_VECTOR;
typedef void *RPC_AUTH_IDENTITY_HANDLE;
typedef void *RPC_AUTHZ_HANDLE;
typedef struct _RPC_SECURITY_QOS {
unsigned long Version;
unsigned long Capabilities;
unsigned long IdentityTracking;
unsigned long ImpersonationType;
} RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
unsigned short *User;
unsigned long UserLength;
unsigned short *Domain;
unsigned long DomainLength;
unsigned short *Password;
unsigned long PasswordLength;
unsigned long Flags;
} SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
unsigned char *User;
unsigned long UserLength;
unsigned char *Domain;
unsigned long DomainLength;
unsigned char *Password;
unsigned long PasswordLength;
unsigned long Flags;
} SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
typedef struct {
unsigned char *UserName;
unsigned char *ComputerName;
unsigned short Privilege;
unsigned long AuthFlags;
} RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
typedef int(__attribute__((__stdcall__)) *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
typedef struct _RPC_PROTSEQ_VECTORA {
unsigned int Count;
unsigned char*Protseq[1];
} RPC_PROTSEQ_VECTORA;
typedef struct _RPC_PROTSEQ_VECTORW {
unsigned int Count;
unsigned short*Protseq[1];
} RPC_PROTSEQ_VECTORW;
RPC_STATUS __attribute__((__stdcall__)) RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
RPC_STATUS __attribute__((__stdcall__)) RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
RPC_STATUS __attribute__((__stdcall__)) RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
RPC_STATUS __attribute__((__stdcall__)) RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
RPC_STATUS __attribute__((__stdcall__)) RpcStringFreeA(unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcStringFreeW(unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcNetworkIsProtseqValidA(unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNetworkIsProtseqValidW(unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
RPC_STATUS __attribute__((__stdcall__)) RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
RPC_STATUS __attribute__((__stdcall__)) RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
RPC_STATUS __attribute__((__stdcall__)) RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*,unsigned long,RPC_SECURITY_QOS*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE,unsigned short ** , unsigned long *, unsigned long *, RPC_AUTH_IDENTITY_HANDLE *, unsigned long *, unsigned long , RPC_SECURITY_QOS *);
typedef void(__attribute__((__stdcall__)) *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
RPC_STATUS __attribute__((__stdcall__)) UuidToStringA(UUID*,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) UuidFromStringA(unsigned char*,UUID*);
RPC_STATUS __attribute__((__stdcall__)) UuidToStringW(UUID*,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) UuidFromStringW(unsigned short*,UUID*);
RPC_STATUS __attribute__((__stdcall__)) RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) DceErrorInqTextA(RPC_STATUS,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) DceErrorInqTextW(RPC_STATUS,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
# 259 "/usr/include/w32api/rpcdce.h" 3
# 327 "/usr/include/w32api/rpcdce.h" 3
RPC_STATUS __attribute__((__stdcall__)) RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingFree(RPC_BINDING_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingReset(RPC_BINDING_HANDLE);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingVectorFree(RPC_BINDING_VECTOR **);
RPC_STATUS __attribute__((__stdcall__)) RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtSetCancelTimeout(long Timeout);
RPC_STATUS __attribute__((__stdcall__)) RpcObjectInqType(UUID *,UUID *);
RPC_STATUS __attribute__((__stdcall__)) RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *);
RPC_STATUS __attribute__((__stdcall__)) RpcObjectSetType(UUID *,UUID *);
RPC_STATUS __attribute__((__stdcall__)) RpcProtseqVectorFreeA (RPC_PROTSEQ_VECTORA **);
RPC_STATUS __attribute__((__stdcall__)) RpcServerInqIf(RPC_IF_HANDLE,UUID*,void **);
RPC_STATUS __attribute__((__stdcall__)) RpcServerListen(unsigned int,unsigned int,unsigned int);
RPC_STATUS __attribute__((__stdcall__)) RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,void *);
RPC_STATUS __attribute__((__stdcall__)) RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,void *,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseAllProtseqs(unsigned int,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*);
RPC_STATUS __attribute__((__stdcall__)) RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtWaitServerListen(void);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtSetServerStackSize(unsigned long);
void __attribute__((__stdcall__)) RpcSsDontSerializeContext(void);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEnableIdleCleanup(void);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE);
RPC_STATUS __attribute__((__stdcall__)) RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
__attribute__(( noreturn )) void __attribute__((__stdcall__)) RpcRaiseException(RPC_STATUS);
RPC_STATUS __attribute__((__stdcall__)) RpcTestCancel(void);
RPC_STATUS __attribute__((__stdcall__)) RpcCancelThread(void*);
RPC_STATUS __attribute__((__stdcall__)) UuidCreate(UUID*);
signed int __attribute__((__stdcall__)) UuidCompare(UUID*,UUID*, RPC_STATUS*);
RPC_STATUS __attribute__((__stdcall__)) UuidCreateNil(UUID*);
int __attribute__((__stdcall__)) UuidEqual(UUID*,UUID*, RPC_STATUS*);
unsigned short __attribute__((__stdcall__)) UuidHash(UUID*,RPC_STATUS*);
int __attribute__((__stdcall__)) UuidIsNil(UUID*,RPC_STATUS*);
RPC_STATUS __attribute__((__stdcall__)) RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtInqParameter(unsigned int,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtSetParameter(unsigned int,unsigned long);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long);
# 1 "/usr/include/w32api/rpcdcep.h" 1 3
extern "C" {
typedef struct _RPC_VERSION {
unsigned short MajorVersion;
unsigned short MinorVersion;
} RPC_VERSION;
typedef struct _RPC_SYNTAX_IDENTIFIER {
GUID SyntaxGUID;
RPC_VERSION SyntaxVersion;
} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
typedef struct _RPC_MESSAGE {
HANDLE Handle;
unsigned long DataRepresentation;
void *Buffer;
unsigned int BufferLength;
unsigned int ProcNum;
PRPC_SYNTAX_IDENTIFIER TransferSyntax;
void *RpcInterfaceInformation;
void *ReservedForRuntime;
void *ManagerEpv;
void *ImportContext;
unsigned long RpcFlags;
} RPC_MESSAGE,*PRPC_MESSAGE;
typedef long __attribute__((__stdcall__)) RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**);
typedef void(__attribute__((__stdcall__)) *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message);
typedef struct {
unsigned int DispatchTableCount;
RPC_DISPATCH_FUNCTION *DispatchTable;
int Reserved;
} RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
typedef struct _RPC_PROTSEQ_ENDPOINT {
unsigned char *RpcProtocolSequence;
unsigned char *Endpoint;
} RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
typedef struct _RPC_SERVER_INTERFACE {
unsigned int Length;
RPC_SYNTAX_IDENTIFIER InterfaceId;
RPC_SYNTAX_IDENTIFIER TransferSyntax;
PRPC_DISPATCH_TABLE DispatchTable;
unsigned int RpcProtseqEndpointCount;
PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
void *DefaultManagerEpv;
void const *InterpreterInfo;
} RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
typedef struct _RPC_CLIENT_INTERFACE {
unsigned int Length;
RPC_SYNTAX_IDENTIFIER InterfaceId;
RPC_SYNTAX_IDENTIFIER TransferSyntax;
PRPC_DISPATCH_TABLE DispatchTable;
unsigned int RpcProtseqEndpointCount;
PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
unsigned long Reserved;
void const *InterpreterInfo;
} RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
typedef void *I_RPC_MUTEX;
typedef struct _RPC_TRANSFER_SYNTAX {
GUID Uuid;
unsigned short VersMajor;
unsigned short VersMinor;
} RPC_TRANSFER_SYNTAX;
typedef long(__attribute__((__stdcall__)) *RPC_BLOCKING_FUNCTION)(void*,void*);
long __attribute__((__stdcall__)) I_RpcGetBuffer(RPC_MESSAGE*);
long __attribute__((__stdcall__)) I_RpcSendReceive(RPC_MESSAGE*);
long __attribute__((__stdcall__)) I_RpcFreeBuffer(RPC_MESSAGE*);
void __attribute__((__stdcall__)) I_RpcRequestMutex(I_RPC_MUTEX*);
void __attribute__((__stdcall__)) I_RpcClearMutex(I_RPC_MUTEX);
void __attribute__((__stdcall__)) I_RpcDeleteMutex(I_RPC_MUTEX);
__attribute__((__stdcall__)) void * I_RpcAllocate(unsigned int);
void __attribute__((__stdcall__)) I_RpcFree(void*);
void __attribute__((__stdcall__)) I_RpcPauseExecution(unsigned long);
typedef void(__attribute__((__stdcall__)) *PRPC_RUNDOWN) (void*);
long __attribute__((__stdcall__)) I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*);
long __attribute__((__stdcall__)) I_RpcStopMonitorAssociation(HANDLE);
HANDLE __attribute__((__stdcall__)) I_RpcGetCurrentCallHandle(void);
long __attribute__((__stdcall__)) I_RpcGetAssociationContext(void**);
long __attribute__((__stdcall__)) I_RpcSetAssociationContext(void*);
long __attribute__((__stdcall__)) I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*);
long __attribute__((__stdcall__)) I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**);
long __attribute__((__stdcall__)) I_RpcBindingInqTransportType(HANDLE,unsigned int*);
long __attribute__((__stdcall__)) I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*);
long __attribute__((__stdcall__)) I_UuidCreate(GUID*);
long __attribute__((__stdcall__)) I_RpcBindingCopy(HANDLE,HANDLE*);
long __attribute__((__stdcall__)) I_RpcBindingIsClientLocal(HANDLE,unsigned int*);
void __attribute__((__stdcall__)) I_RpcSsDontSerializeContext(void);
long __attribute__((__stdcall__)) I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
long __attribute__((__stdcall__)) I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
long __attribute__((__stdcall__)) I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
long __attribute__((__stdcall__)) I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FUNCTION);
long __attribute__((__stdcall__)) I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
long __attribute__((__stdcall__)) I_RpcGetThreadWindowHandle(void**);
long __attribute__((__stdcall__)) I_RpcServerThreadPauseListening(void);
long __attribute__((__stdcall__)) I_RpcServerThreadContinueListening(void);
long __attribute__((__stdcall__)) I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*);
long __attribute__((__stdcall__)) I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*);
}
# 383 "/usr/include/w32api/rpcdce.h" 2 3
}
# 34 "/usr/include/w32api/rpc.h" 2 3
# 1 "/usr/include/w32api/rpcnsi.h" 1 3
extern "C" {
typedef void *RPC_NS_HANDLE;
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingExportA(unsigned long,unsigned char*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingUnexportA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingLookupBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingLookupNext(RPC_NS_HANDLE,RPC_BINDING_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingLookupDone(RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupDeleteA(unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrAddA(unsigned long,unsigned char*,unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrRemoveA(unsigned long,unsigned char*,unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrInqNextA(RPC_NS_HANDLE,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrInqDone(RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileDeleteA(unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltAddA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*,unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltRemoveA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned char*,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltInqNextA(RPC_NS_HANDLE,RPC_IF_ID*,unsigned char**,unsigned long*,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltInqDone(RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryObjectInqNext( RPC_NS_HANDLE, UUID*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryObjectInqDone( RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryExpandNameA(unsigned long,unsigned char*,unsigned char**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtBindingUnexportA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryCreateA(unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryDeleteA(unsigned long,unsigned char*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryInqIfIdsA(unsigned long,unsigned char*,RPC_IF_ID_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE,unsigned long);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtInqExpAge(unsigned long*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtSetExpAge(unsigned long);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingImportNext(RPC_NS_HANDLE,RPC_BINDING_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingImportDone(RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingSelect(RPC_BINDING_VECTOR*,RPC_BINDING_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryObjectInqBeginA(unsigned long,unsigned char*,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingImportBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingExportW(unsigned long,unsigned short*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingUnexportW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingLookupBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupDeleteW(unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrAddW(unsigned long,unsigned short*,unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrRemoveW(unsigned long,unsigned short*,unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrInqBeginW(unsigned long,unsigned short*,unsigned long,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsGroupMbrInqNextW(RPC_NS_HANDLE,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileDeleteW(unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltAddW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*,unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltRemoveW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltInqBeginW(unsigned long,unsigned short*, unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned short*, RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsProfileEltInqNextW(RPC_NS_HANDLE,RPC_IF_ID*, unsigned short**,unsigned long*,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryObjectInqBeginW(unsigned long,unsigned short*,RPC_NS_HANDLE*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsEntryExpandNameW(unsigned long,unsigned short*,unsigned short**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtBindingUnexportW(unsigned long,unsigned short*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryCreateW(unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryDeleteW(unsigned long,unsigned short*);
RPC_STATUS __attribute__((__stdcall__)) RpcNsMgmtEntryInqIfIdsW(unsigned long,unsigned short , RPC_IF_ID_VECTOR**);
RPC_STATUS __attribute__((__stdcall__)) RpcNsBindingImportBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
# 97 "/usr/include/w32api/rpcnsi.h" 3
}
# 35 "/usr/include/w32api/rpc.h" 2 3
# 1 "/usr/include/w32api/rpcnterr.h" 1 3
# 36 "/usr/include/w32api/rpc.h" 2 3
# 51 "/usr/include/w32api/rpc.h" 3
RPC_STATUS __attribute__((__stdcall__)) RpcImpersonateClient(RPC_BINDING_HANDLE);
RPC_STATUS __attribute__((__stdcall__)) RpcRevertToSelf(void);
long __attribute__((__stdcall__)) I_RpcMapWin32Status(RPC_STATUS);
}
# 84 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/shellapi.h" 1 3
extern "C" {
typedef WORD FILEOP_FLAGS;
typedef WORD PRINTEROP_FLAGS;
typedef struct _AppBarData {
DWORD cbSize;
HWND hWnd;
UINT uCallbackMessage;
UINT uEdge;
RECT rc;
LPARAM lParam;
} APPBARDATA,*PAPPBARDATA;
typedef struct HDROP__{int i;}* HDROP ;
typedef struct _NOTIFYICONDATAA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
CHAR szTip[64];
} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
typedef struct _NOTIFYICONDATAW {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
WCHAR szTip[64];
} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
typedef struct _SHELLEXECUTEINFOA {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCSTR lpVerb;
LPCSTR lpFile;
LPCSTR lpParameters;
LPCSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
PVOID lpIDList;
LPCSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
typedef struct _SHELLEXECUTEINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR lpVerb;
LPCWSTR lpFile;
LPCWSTR lpParameters;
LPCWSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
PVOID lpIDList;
LPCWSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
typedef struct _SHFILEOPSTRUCTA {
HWND hwnd;
UINT wFunc;
LPCSTR pFrom;
LPCSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
PVOID hNameMappings;
LPCSTR lpszProgressTitle;
} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
typedef struct _SHFILEOPSTRUCTW {
HWND hwnd;
UINT wFunc;
LPCWSTR pFrom;
LPCWSTR pTo;
FILEOP_FLAGS fFlags;
BOOL fAnyOperationsAborted;
PVOID hNameMappings;
LPCWSTR lpszProgressTitle;
} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
typedef struct _SHFILEINFOA {
HICON hIcon;
int iIcon;
DWORD dwAttributes;
CHAR szDisplayName[260 ];
CHAR szTypeName[80];
} SHFILEINFOA;
typedef struct _SHFILEINFOW {
HICON hIcon;
int iIcon;
DWORD dwAttributes;
WCHAR szDisplayName[260 ];
WCHAR szTypeName[80];
} SHFILEINFOW;
LPWSTR * __attribute__((__stdcall__)) CommandLineToArgvW(LPCWSTR,int*);
void __attribute__((__stdcall__)) DragAcceptFiles(HWND,BOOL);
void __attribute__((__stdcall__)) DragFinish(HDROP);
UINT __attribute__((__stdcall__)) DragQueryFileA(HDROP,UINT,LPSTR,UINT);
UINT __attribute__((__stdcall__)) DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
BOOL __attribute__((__stdcall__)) DragQueryPoint(HDROP,LPPOINT);
HICON __attribute__((__stdcall__)) ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
HICON __attribute__((__stdcall__)) ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
HICON __attribute__((__stdcall__)) ExtractIconA(HINSTANCE,LPCSTR,UINT);
HICON __attribute__((__stdcall__)) ExtractIconW(HINSTANCE,LPCWSTR,UINT);
HICON __attribute__((__stdcall__)) ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
HICON __attribute__((__stdcall__)) ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
HINSTANCE __attribute__((__stdcall__)) FindExecutableA(LPCSTR,LPCSTR,LPSTR);
HINSTANCE __attribute__((__stdcall__)) FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
UINT __attribute__((__stdcall__)) SHAppBarMessage(DWORD,PAPPBARDATA);
BOOL __attribute__((__stdcall__)) Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
BOOL __attribute__((__stdcall__)) Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
int __attribute__((__stdcall__)) ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
int __attribute__((__stdcall__)) ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
HINSTANCE __attribute__((__stdcall__)) ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
HINSTANCE __attribute__((__stdcall__)) ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
BOOL __attribute__((__stdcall__)) ShellExecuteExA(LPSHELLEXECUTEINFOA);
BOOL __attribute__((__stdcall__)) ShellExecuteExW(LPSHELLEXECUTEINFOW);
int __attribute__((__stdcall__)) SHFileOperationA(LPSHFILEOPSTRUCTA);
int __attribute__((__stdcall__)) SHFileOperationW(LPSHFILEOPSTRUCTW);
void __attribute__((__stdcall__)) SHFreeNameMappings(HANDLE);
DWORD __attribute__((__stdcall__)) SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
DWORD __attribute__((__stdcall__)) SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
# 237 "/usr/include/w32api/shellapi.h" 3
typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
typedef SHFILEINFOA SHFILEINFO;
}
# 85 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winperf.h" 1 3
extern "C" {
typedef struct _PERF_DATA_BLOCK {
WCHAR Signature[4];
DWORD LittleEndian;
DWORD Version;
DWORD Revision;
DWORD TotalByteLength;
DWORD HeaderLength;
DWORD NumObjectTypes;
LONG DefaultObject;
SYSTEMTIME SystemTime;
LARGE_INTEGER PerfTime;
LARGE_INTEGER PerfFreq;
LARGE_INTEGER PerfTime100nSec;
DWORD SystemNameLength;
DWORD SystemNameOffset;
} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK;
typedef struct _PERF_OBJECT_TYPE {
DWORD TotalByteLength;
DWORD DefinitionLength;
DWORD HeaderLength;
DWORD ObjectNameTitleIndex;
LPWSTR ObjectNameTitle;
DWORD ObjectHelpTitleIndex;
LPWSTR ObjectHelpTitle;
DWORD DetailLevel;
DWORD NumCounters;
LONG DefaultCounter;
LONG NumInstances;
DWORD CodePage;
LARGE_INTEGER PerfTime;
LARGE_INTEGER PerfFreq;
} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;
typedef struct _PERF_COUNTER_DEFINITION {
DWORD ByteLength;
DWORD CounterNameTitleIndex;
LPWSTR CounterNameTitle;
DWORD CounterHelpTitleIndex;
LPWSTR CounterHelpTitle;
LONG DefaultScale;
DWORD DetailLevel;
DWORD CounterType;
DWORD CounterSize;
DWORD CounterOffset;
} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION;
typedef struct _PERF_INSTANCE_DEFINITION {
DWORD ByteLength;
DWORD ParentObjectTitleIndex;
DWORD ParentObjectInstance;
LONG UniqueID;
DWORD NameOffset;
DWORD NameLength;
} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION;
typedef struct _PERF_COUNTER_BLOCK {
DWORD ByteLength;
} PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK;
typedef DWORD(__attribute__((__stdcall__)) PM_OPEN_PROC)(LPWSTR);
typedef DWORD(__attribute__((__stdcall__)) PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD);
typedef DWORD(__attribute__((__stdcall__)) PM_CLOSE_PROC)(void);
}
# 86 "/usr/include/w32api/windows.h" 2 3
# 1 "/usr/include/w32api/winspool.h" 1 3
extern "C" {
typedef struct _ADDJOB_INFO_1A {
LPSTR Path;
DWORD JobId;
} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
typedef struct _ADDJOB_INFO_1W {
LPWSTR Path;
DWORD JobId;
} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
typedef struct _JOB_INFO_1A {
DWORD JobId;
LPSTR pPrinterName;
LPSTR pMachineName;
LPSTR pUserName;
LPSTR pDocument;
LPSTR pDatatype;
LPSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
typedef struct _JOB_INFO_1W {
DWORD JobId;
LPWSTR pPrinterName;
LPWSTR pMachineName;
LPWSTR pUserName;
LPWSTR pDocument;
LPWSTR pDatatype;
LPWSTR pStatus;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD TotalPages;
DWORD PagesPrinted;
SYSTEMTIME Submitted;
} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
typedef struct _JOB_INFO_2A {
DWORD JobId;
LPSTR pPrinterName;
LPSTR pMachineName;
LPSTR pUserName;
LPSTR pDocument;
LPSTR pNotifyName;
LPSTR pDatatype;
LPSTR pPrintProcessor;
LPSTR pParameters;
LPSTR pDriverName;
LPDEVMODEA pDevMode;
LPSTR pStatus;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD StartTime;
DWORD UntilTime;
DWORD TotalPages;
DWORD Size;
SYSTEMTIME Submitted;
DWORD Time;
DWORD PagesPrinted;
} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
typedef struct _JOB_INFO_2W {
DWORD JobId;
LPWSTR pPrinterName;
LPWSTR pMachineName;
LPWSTR pUserName;
LPWSTR pDocument;
LPWSTR pNotifyName;
LPWSTR pDatatype;
LPWSTR pPrintProcessor;
LPWSTR pParameters;
LPWSTR pDriverName;
LPDEVMODEW pDevMode;
LPWSTR pStatus;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Status;
DWORD Priority;
DWORD Position;
DWORD StartTime;
DWORD UntilTime;
DWORD TotalPages;
DWORD Size;
SYSTEMTIME Submitted;
DWORD Time;
DWORD PagesPrinted;
} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
typedef struct _DOC_INFO_1A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
typedef struct _DOC_INFO_1W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
typedef struct _DOC_INFO_2A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
typedef struct _DOC_INFO_2W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
typedef struct _DRIVER_INFO_2A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
typedef struct _DRIVER_INFO_2W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
typedef struct _DRIVER_INFO_3A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDriverPath;
LPSTR pDataFile;
LPSTR pConfigFile;
LPSTR pHelpFile;
LPSTR pDependentFiles;
LPSTR pMonitorName;
LPSTR pDefaultDataType;
} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
typedef struct _DRIVER_INFO_3W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDriverPath;
LPWSTR pDataFile;
LPWSTR pConfigFile;
LPWSTR pHelpFile;
LPWSTR pDependentFiles;
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
typedef struct _MONITOR_INFO_2A{
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDLLName;
} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
typedef struct _MONITOR_INFO_2W{
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDLLName;
} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
typedef struct _PORT_INFO_2A {
LPSTR pPortName;
LPSTR pMonitorName;
LPSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
typedef struct _PORT_INFO_2W {
LPWSTR pPortName;
LPWSTR pMonitorName;
LPWSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
typedef struct _PORT_INFO_3A {
DWORD dwStatus;
LPSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
typedef struct _PORT_INFO_3W {
DWORD dwStatus;
LPWSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
typedef struct _PRINTER_INFO_1A {
DWORD Flags;
LPSTR pDescription;
LPSTR pName;
LPSTR pComment;
} PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A;
typedef struct _PRINTER_INFO_1W {
DWORD Flags;
LPWSTR pDescription;
LPWSTR pName;
LPWSTR pComment;
} PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W;
typedef struct _PRINTER_INFO_2A {
LPSTR pServerName;
LPSTR pPrinterName;
LPSTR pShareName;
LPSTR pPortName;
LPSTR pDriverName;
LPSTR pComment;
LPSTR pLocation;
LPDEVMODEA pDevMode;
LPSTR pSepFile;
LPSTR pPrintProcessor;
LPSTR pDatatype;
LPSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A;
typedef struct _PRINTER_INFO_2W {
LPWSTR pServerName;
LPWSTR pPrinterName;
LPWSTR pShareName;
LPWSTR pPortName;
LPWSTR pDriverName;
LPWSTR pComment;
LPWSTR pLocation;
LPDEVMODEW pDevMode;
LPWSTR pSepFile;
LPWSTR pPrintProcessor;
LPWSTR pDatatype;
LPWSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W;
typedef struct _PRINTER_INFO_3 {
PSECURITY_DESCRIPTOR pSecurityDescriptor;
} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
typedef struct _PRINTER_INFO_4A {
LPSTR pPrinterName;
LPSTR pServerName;
DWORD Attributes;
} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
typedef struct _PRINTER_INFO_4W {
LPWSTR pPrinterName;
LPWSTR pServerName;
DWORD Attributes;
} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
typedef struct _PRINTER_INFO_5A {
LPSTR pPrinterName;
LPSTR pPortName;
DWORD Attributes;
DWORD DeviceNotSelectedTimeout;
DWORD TransmissionRetryTimeout;
} PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A;
typedef struct _PRINTER_INFO_5W {
LPWSTR pPrinterName;
LPWSTR pPortName;
DWORD Attributes;
DWORD DeviceNotSelectedTimeout;
DWORD TransmissionRetryTimeout;
} PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W;
typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
typedef struct _PRINTER_NOTIFY_INFO_DATA {
WORD Type;
WORD Field;
DWORD Reserved;
DWORD Id;
union {
DWORD adwData[2];
struct {
DWORD cbBuf;
PVOID pBuf;
} Data;
} NotifyData;
} PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA;
typedef struct _PRINTER_NOTIFY_INFO {
DWORD Version;
DWORD Flags;
DWORD Count;
PRINTER_NOTIFY_INFO_DATA aData[1];
} PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO;
typedef struct _FORM_INFO_1A {
DWORD Flags;
LPSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
typedef struct _FORM_INFO_1W {
DWORD Flags;
LPWSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
typedef struct _PRINTER_DEFAULTSA {
LPSTR pDatatype;
LPDEVMODE pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
typedef struct _PRINTER_DEFAULTSW {
LPWSTR pDatatype;
LPDEVMODE pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
BOOL __attribute__((__stdcall__)) AbortPrinter(HANDLE);
BOOL __attribute__((__stdcall__)) AddFormA(HANDLE,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddFormW(HANDLE,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) AddMonitorA(LPSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddMonitorW(LPWSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddPortA(LPSTR,HWND,LPSTR);
BOOL __attribute__((__stdcall__)) AddPortW(LPWSTR,HWND,LPWSTR);
HANDLE __attribute__((__stdcall__)) AddPrinterA(LPSTR,DWORD,PBYTE);
HANDLE __attribute__((__stdcall__)) AddPrinterW(LPWSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddPrinterConnectionA(LPSTR);
BOOL __attribute__((__stdcall__)) AddPrinterConnectionW(LPWSTR);
BOOL __attribute__((__stdcall__)) AddPrinterDriverA(LPSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddPrinterDriverW(LPWSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR);
BOOL __attribute__((__stdcall__)) AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR);
BOOL __attribute__((__stdcall__)) AddPrintProvidorA(LPSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) AddPrintProvidorW(LPWSTR,DWORD,PBYTE);
LONG __attribute__((__stdcall__)) AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA);
LONG __attribute__((__stdcall__)) AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW);
BOOL __attribute__((__stdcall__)) ClosePrinter(HANDLE);
BOOL __attribute__((__stdcall__)) ConfigurePortA(LPSTR,HWND,LPSTR);
BOOL __attribute__((__stdcall__)) ConfigurePortW(LPWSTR,HWND,LPWSTR);
HANDLE __attribute__((__stdcall__)) ConnectToPrinterDlg(HWND,DWORD);
BOOL __attribute__((__stdcall__)) DeleteFormA(HANDLE,LPSTR);
BOOL __attribute__((__stdcall__)) DeleteFormW(HANDLE,LPWSTR);
BOOL __attribute__((__stdcall__)) DeleteMonitorA(LPSTR,LPSTR,LPSTR);
BOOL __attribute__((__stdcall__)) DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR);
BOOL __attribute__((__stdcall__)) DeletePortA(LPSTR,HWND,LPSTR);
BOOL __attribute__((__stdcall__)) DeletePortW(LPWSTR,HWND,LPWSTR);
BOOL __attribute__((__stdcall__)) DeletePrinter(HANDLE);
BOOL __attribute__((__stdcall__)) DeletePrinterConnectionA(LPSTR);
BOOL __attribute__((__stdcall__)) DeletePrinterConnectionW(LPWSTR);
DWORD __attribute__((__stdcall__)) DeletePrinterDataA(HANDLE,LPSTR);
DWORD __attribute__((__stdcall__)) DeletePrinterDataW(HANDLE,LPWSTR);
BOOL __attribute__((__stdcall__)) DeletePrinterDriverA(LPSTR,LPSTR,LPSTR);
BOOL __attribute__((__stdcall__)) DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR);
BOOL __attribute__((__stdcall__)) DeletePrintProcessorA(LPSTR,LPSTR,LPSTR);
BOOL __attribute__((__stdcall__)) DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
BOOL __attribute__((__stdcall__)) DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
BOOL __attribute__((__stdcall__)) DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
LONG __attribute__((__stdcall__)) DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
LONG __attribute__((__stdcall__)) DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEA,PDEVMODEA,DWORD);
BOOL __attribute__((__stdcall__)) EndDocPrinter(HANDLE);
BOOL __attribute__((__stdcall__)) EndPagePrinter(HANDLE);
BOOL __attribute__((__stdcall__)) EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
DWORD __attribute__((__stdcall__)) EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
BOOL __attribute__((__stdcall__)) FindClosePrinterChangeNotification(HANDLE);
HANDLE __attribute__((__stdcall__)) FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
HANDLE __attribute__((__stdcall__)) FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
BOOL __attribute__((__stdcall__)) FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
BOOL __attribute__((__stdcall__)) GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
DWORD __attribute__((__stdcall__)) GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA);
BOOL __attribute__((__stdcall__)) OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
DWORD __attribute__((__stdcall__)) PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD);
DWORD __attribute__((__stdcall__)) PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD);
BOOL __attribute__((__stdcall__)) PrinterProperties(HWND,HANDLE);
BOOL __attribute__((__stdcall__)) ReadPrinter(HANDLE,PVOID,DWORD,PDWORD);
BOOL __attribute__((__stdcall__)) ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA);
BOOL __attribute__((__stdcall__)) ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW);
BOOL __attribute__((__stdcall__)) ScheduleJob(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) SetFormA(HANDLE,LPSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) SetFormW(HANDLE,LPWSTR,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD);
BOOL __attribute__((__stdcall__)) SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD);
BOOL __attribute__((__stdcall__)) SetPrinterA(HANDLE,DWORD,PBYTE,DWORD);
BOOL __attribute__((__stdcall__)) SetPrinterW(HANDLE,DWORD,PBYTE,DWORD);
BOOL __attribute__((__stdcall__)) SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD);
BOOL __attribute__((__stdcall__)) SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD);
DWORD __attribute__((__stdcall__)) StartDocPrinterA(HANDLE,DWORD,PBYTE);
DWORD __attribute__((__stdcall__)) StartDocPrinterW(HANDLE,DWORD,PBYTE);
BOOL __attribute__((__stdcall__)) StartPagePrinter(HANDLE);
DWORD __attribute__((__stdcall__)) WaitForPrinterChange(HANDLE,DWORD);
BOOL __attribute__((__stdcall__)) WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
# 713 "/usr/include/w32api/winspool.h" 3
typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
}
# 87 "/usr/include/w32api/windows.h" 2 3
# 106 "/usr/include/w32api/windows.h" 3
# 4 "../src/muscle/iogateway/AbstractMessageIOGateway.cpp" 2
# 1 "../src/muscle/iogateway/AbstractMessageIOGateway.h" 1
# 1 "../src/muscle/dataio/DataIO.h" 1
# 1 "../src/muscle/util/RefCount.h" 1
# 1 "../src/muscle/util/ObjectPool.h" 1
# 1 "../src/muscle/util/Queue.h" 1
namespace muscle {
template <class ItemType> class Queue
{
public:
Queue(uint32 initialSize = 3 );
Queue(const Queue& copyMe);
virtual ~Queue();
Queue &operator=(const Queue &from);
bool operator==(const Queue &rhs) const;
bool operator!=(const Queue &rhs) const {return !(*this == rhs);}
status_t AddTail() {ItemType blank = ItemType(); return AddTail(blank);}
status_t AddTail(const ItemType & item);
status_t AddTail(const Queue<ItemType> & queue);
status_t AddHead() {ItemType blank = ItemType(); return AddHead(blank);}
status_t AddHead(const ItemType &item);
status_t AddHead(const Queue<ItemType> & queue);
status_t RemoveHead();
status_t RemoveHead(ItemType & returnItem);
status_t RemoveTail();
status_t RemoveTail(ItemType & returnItem);
status_t RemoveItemAt(uint32 index);
status_t RemoveItemAt(uint32 index, ItemType & returnItem);
status_t GetItemAt(uint32 index, ItemType & returnItem) const;
status_t ReplaceItemAt(uint32 index) {ItemType blank = ItemType(); return ReplaceItemAt(index, blank);}
status_t ReplaceItemAt(uint32 index, const ItemType & newItem);
status_t InsertItemAt(uint32 index) {ItemType blank = ItemType(); return InsertItemAt(index, blank);}
status_t InsertItemAt(uint32 index, const ItemType & newItem);
void Clear();
uint32 GetNumItems() const {return _itemCount;}
bool IsEmpty() const {return (_itemCount == 0);}
const ItemType & Head() const {return *GetItemPointer(0);}
const ItemType & Tail() const {return *GetItemPointer(_itemCount-1);}
ItemType & Head() {return *GetItemPointer(0);}
ItemType & Tail() {return *GetItemPointer(_itemCount-1);}
ItemType * HeadPointer() const {return (_itemCount > 0) ? GetItemPointer(0) : __null ;}
ItemType * TailPointer() const {return (_itemCount > 0) ? GetItemPointer(_itemCount-1) : __null ;}
const ItemType & operator [](uint32 Index) const;
ItemType & operator [](uint32 Index);
ItemType * GetItemPointer(uint32 index) const;
status_t EnsureSize(uint32 numItems);
int32 IndexOf(const ItemType & item) const;
void Swap(uint32 fromIndex, uint32 toIndex);
void ReverseItemOrdering(uint32 from=0, uint32 to = ((uint32)-1));
typedef int (*ItemCompareFunc)(const ItemType & item1, const ItemType & item2, void * cookie);
void Sort(ItemCompareFunc compareFunc, uint32 from=0, uint32 to = ((uint32)-1), void * optCookie = __null );
uint32 RemoveAllInstancesOf(const ItemType & val);
status_t RemoveFirstInstanceOf(const ItemType & val);
status_t RemoveLastInstanceOf(const ItemType & val);
private:
inline uint32 NextIndex(uint32 idx) const {return (idx >= _queueSize-1) ? 0 : idx+1;}
inline uint32 PrevIndex(uint32 idx) const {return (idx <= 0) ? _queueSize-1 : idx-1;}
inline uint32 InternalizeIndex(uint32 idx) const {return (_headIndex + idx) % _queueSize;}
void Merge(ItemCompareFunc compareFunc, uint32 from, uint32 pivot, uint32 to, uint32 len1, uint32 len2, void * cookie);
uint32 Lower(ItemCompareFunc compareFunc, uint32 from, uint32 to, const ItemType & val, void * cookie) const;
uint32 Upper(ItemCompareFunc compareFunc, uint32 from, uint32 to, const ItemType & val, void * cookie) const;
ItemType _smallQueue[3 ];
ItemType * _queue;
uint32 _queueSize;
uint32 _itemCount;
int32 _headIndex;
int32 _tailIndex;
const uint32 _initialSize;
};
template <class ItemType>
Queue<ItemType>::Queue(uint32 initialSize)
: _queue(__null ), _queueSize(0), _itemCount(0), _initialSize(initialSize)
{
}
template <class ItemType>
Queue<ItemType>::Queue(const Queue& rhs)
: _queue(__null ), _queueSize(0), _itemCount(0), _initialSize(rhs._initialSize)
{
*this = rhs;
}
template <class ItemType>
bool
Queue<ItemType>::operator ==(const Queue& rhs) const
{
if (this == &rhs) return 1 ;
if (GetNumItems() != rhs.GetNumItems()) return 0 ;
for (int i = GetNumItems()-1; i>=0; i--) if ((*this)[i] != rhs[i]) return 0 ;
return 1 ;
}
template <class ItemType>
Queue<ItemType> &
Queue<ItemType>::operator =(const Queue& rhs)
{
if (this != &rhs)
{
Clear();
uint32 numItems = rhs.GetNumItems();
if (EnsureSize(numItems) == 0 )
{
for (uint32 i=0; i<numItems; i++)
{
if (AddTail(*rhs.GetItemPointer(i)) == -1 ) break;
}
}
}
return *this;
}
template <class ItemType>
ItemType &
Queue<ItemType>::operator[](uint32 i)
{
{if(!( i<_itemCount )) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ASSERTION FAILED: (%s:%i) %s\n", "../src/muscle/util/Queue.h",363, "Invalid index to Queue::[]" ); *((uint32*)__null ) = 0x666 ;} } ;
return _queue[InternalizeIndex(i)];
}
template <class ItemType>
const ItemType &
Queue<ItemType>::operator[](uint32 i) const
{
{if(!( i<_itemCount )) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ASSERTION FAILED: (%s:%i) %s\n", "../src/muscle/util/Queue.h",371, "Invalid index to Queue::[]" ); *((uint32*)__null ) = 0x666 ;} } ;
return _queue[InternalizeIndex(i)];
}
template <class ItemType>
ItemType *
Queue<ItemType>::GetItemPointer(uint32 i) const
{
return &_queue[InternalizeIndex(i)];
}
template <class ItemType>
Queue<ItemType>::~Queue()
{
if (_queue != _smallQueue) delete [] _queue;
}
template <class ItemType>
status_t
Queue<ItemType>::
AddTail(const ItemType &item)
{
if (EnsureSize(_itemCount+1) == -1 ) return -1 ;
if (_itemCount == 0) _headIndex = _tailIndex = 0;
else _tailIndex = NextIndex(_tailIndex);
_queue[_tailIndex] = item;
_itemCount++;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
AddTail(const Queue<ItemType> &queue)
{
uint32 qSize = queue.GetNumItems();
for (uint32 i=0; i<qSize; i++) if (AddTail(queue[i]) == -1 ) return -1 ;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
AddHead(const ItemType &item)
{
if (EnsureSize(_itemCount+1) == -1 ) return -1 ;
if (_itemCount == 0) _headIndex = _tailIndex = 0;
else _headIndex = PrevIndex(_headIndex);
_queue[_headIndex] = item;
_itemCount++;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
AddHead(const Queue<ItemType> &queue)
{
for (int i=((int)queue.GetNumItems())-1; i>=0; i--) if (AddHead(queue[i]) == -1 ) return -1 ;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveHead(ItemType & returnItem)
{
if (_itemCount == 0) return -1 ;
returnItem = _queue[_headIndex];
return RemoveHead();
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveHead()
{
if (_itemCount == 0) return -1 ;
int oldHeadIndex = _headIndex;
_headIndex = NextIndex(_headIndex);
_itemCount--;
ItemType blank = ItemType();
_queue[oldHeadIndex] = blank;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveTail(ItemType & returnItem)
{
if (_itemCount == 0) return -1 ;
returnItem = _queue[_tailIndex];
return RemoveTail();
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveTail()
{
if (_itemCount == 0) return -1 ;
int removedItemIndex = _tailIndex;
_tailIndex = PrevIndex(_tailIndex);
_itemCount--;
ItemType blank = ItemType();
_queue[removedItemIndex] = blank;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
GetItemAt(uint32 index, ItemType & returnItem) const
{
if (index >= _itemCount) return -1 ;
returnItem = _queue[InternalizeIndex(index)];
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveItemAt(uint32 index, ItemType & returnItem)
{
if (index >= _itemCount) return -1 ;
returnItem = _queue[InternalizeIndex(index)];
return RemoveItemAt(index);
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveItemAt(uint32 index)
{
if (index >= _itemCount) return -1 ;
if (index == 0) return RemoveHead();
index = InternalizeIndex(index);
while(index != (uint32) _tailIndex)
{
uint32 next = NextIndex(index);
_queue[index] = _queue[next];
index = next;
}
int oldIndex = _tailIndex;
_tailIndex = PrevIndex(_tailIndex);
_itemCount--;
ItemType blank = ItemType();
_queue[oldIndex] = blank;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
ReplaceItemAt(uint32 index, const ItemType & newItem)
{
if (index >= _itemCount) return -1 ;
_queue[InternalizeIndex(index)] = newItem;
return 0 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
InsertItemAt(uint32 index, const ItemType & newItem)
{
if (index > _itemCount) return -1 ;
if (index == _itemCount) return AddTail(newItem);
if (index == 0) return AddHead(newItem);
if (AddTail(newItem) == -1 ) return -1 ;
int lo = (int) index;
for (int i=((int)_itemCount)-1; i>lo; i--) ReplaceItemAt(i, *GetItemPointer(i-1));
ReplaceItemAt(index, newItem);
return 0 ;
}
template <class ItemType>
void
Queue<ItemType>::
Clear()
{
while(RemoveTail() == 0 ) { }
}
template <class ItemType>
status_t
Queue<ItemType>::
EnsureSize(uint32 size)
{
if ((_queue == __null )||(_queueSize < size))
{
const uint32 sqLen = (sizeof( _smallQueue )/sizeof( _smallQueue [0])) ;
uint32 newQLen = (size <= sqLen) ? sqLen : (size*2);
if (newQLen < _initialSize) newQLen = _initialSize;
ItemType * newQueue = ((_queue == _smallQueue)||(newQLen > sqLen)) ? new (nothrow) ItemType[newQLen] : _smallQueue;
if (newQueue == __null ) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/Queue.h",574) ; return -1 ;}
if (newQueue == _smallQueue) newQLen = sqLen;
if (_itemCount > 0)
{
for (uint32 i=0; i<_itemCount; i++) (void) GetItemAt(i, newQueue[i]);
_headIndex = 0;
_tailIndex = _itemCount-1;
}
if (_queue == _smallQueue)
{
ItemType blank = ItemType();
for (uint32 i=0; i<sqLen; i++) _smallQueue[i] = blank;
}
else delete [] _queue;
_queue = newQueue;
_queueSize = newQLen;
}
return 0 ;
}
template <class ItemType>
int32
Queue<ItemType>::
IndexOf(const ItemType & item) const
{
if (_queue) for (int i=((int)GetNumItems())-1; i>=0; i--) if (*GetItemPointer(i) == item) return i;
return -1;
}
template <class ItemType>
void
Queue<ItemType>::
Swap(uint32 fromIndex, uint32 toIndex)
{
ItemType temp = *(GetItemPointer(fromIndex));
ReplaceItemAt(fromIndex, *(GetItemPointer(toIndex)));
ReplaceItemAt(toIndex, temp);
}
template <class ItemType>
void
Queue<ItemType>::
Sort(ItemCompareFunc compareFunc, uint32 from, uint32 to, void * cookie)
{
uint32 size = GetNumItems();
if (to > size) to = size;
if (to > from)
{
if (to < from+12)
{
if (to > from+1)
{
for (uint32 i=from+1; i<to; i++)
{
for (uint32 j=i; j>from; j--)
{
int ret = compareFunc(*(GetItemPointer(j)), *(GetItemPointer(j-1)), cookie);
if (ret < 0) Swap(j, j-1);
else break;
}
}
}
}
else
{
uint32 middle = (from + to)/2;
Sort(compareFunc, from, middle, cookie);
Sort(compareFunc, middle, to, cookie);
Merge(compareFunc, from, middle, to, middle-from, to-middle, cookie);
}
}
}
template <class ItemType>
void
Queue<ItemType>::
ReverseItemOrdering(uint32 from, uint32 to)
{
to--;
uint32 size = GetNumItems();
if (to >= size) to = size-1;
while (from < to) Swap(from++, to--);
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveFirstInstanceOf(const ItemType & val)
{
uint32 ni = GetNumItems();
for (uint32 i=0; i<ni; i++)
{
if ((*this)[i] == val)
{
RemoveItemAt(i);
return 0 ;
}
}
return -1 ;
}
template <class ItemType>
status_t
Queue<ItemType>::
RemoveLastInstanceOf(const ItemType & val)
{
for (int32 i=((int32)GetNumItems())-1; i>=0; i--)
{
if ((*this)[i] == val)
{
RemoveItemAt(i);
return 0 ;
}
}
return -1 ;
}
template <class ItemType>
uint32
Queue<ItemType>::
RemoveAllInstancesOf(const ItemType & val)
{
uint32 ret = 0;
uint32 writeTo = 0;
uint32 origSize = GetNumItems();
for(uint32 readFrom=0; readFrom<origSize; readFrom++)
{
const ItemType & nextRead = (*this)[readFrom];
if (nextRead == val) ret++;
else
{
if (readFrom > writeTo) (*this)[writeTo] = nextRead;
writeTo++;
}
}
for (; writeTo<origSize; writeTo++) RemoveTail();
return ret;
}
template <class ItemType>
void
Queue<ItemType>::
Merge(ItemCompareFunc compareFunc, uint32 from, uint32 pivot, uint32 to, uint32 len1, uint32 len2, void * cookie)
{
if ((len1)&&(len2))
{
if (len1+len2 == 2)
{
if (compareFunc(*(GetItemPointer(pivot)), *(GetItemPointer(from)), cookie) < 0) Swap(pivot, from);
}
else
{
uint32 first_cut, second_cut;
uint32 len11, len22;
if (len1 > len2)
{
len11 = len1/2;
first_cut = from + len11;
second_cut = Lower(compareFunc, pivot, to, *GetItemPointer(first_cut), cookie);
len22 = second_cut - pivot;
}
else
{
len22 = len2/2;
second_cut = pivot + len22;
first_cut = Upper(compareFunc, from, pivot, *GetItemPointer(second_cut), cookie);
len11 = first_cut - from;
}
if ((pivot!=first_cut)&&(pivot!=second_cut))
{
uint32 n = pivot-first_cut;
{
uint32 m = second_cut-first_cut;
while(n!=0)
{
uint32 t = m % n;
m=n;
n=t;
}
n = m;
}
while(n--)
{
const ItemType val = *GetItemPointer(first_cut+n);
uint32 shift = pivot - first_cut;
uint32 p1 = first_cut+n;
uint32 p2 = p1+shift;
while (p2 != first_cut + n)
{
ReplaceItemAt(p1, *GetItemPointer(p2));
p1 = p2;
if (second_cut - p2 > shift) p2 += shift;
else p2 = first_cut + (shift - (second_cut - p2));
}
ReplaceItemAt(p1, val);
}
}
uint32 new_mid = first_cut+len22;
Merge(compareFunc, from, first_cut, new_mid, len11, len22, cookie);
Merge(compareFunc, new_mid, second_cut, to, len1 - len11, len2 - len22, cookie);
}
}
}
template <class ItemType>
uint32
Queue<ItemType>::
Lower(ItemCompareFunc compareFunc, uint32 from, uint32 to, const ItemType & val, void * cookie) const
{
if (to > from)
{
uint32 len = to - from;
while (len > 0)
{
uint32 half = len/2;
uint32 mid = from + half;
if (compareFunc(*(GetItemPointer(mid)), val, cookie) < 0)
{
from = mid+1;
len = len - half - 1;
}
else len = half;
}
}
return from;
}
template <class ItemType>
uint32
Queue<ItemType>::
Upper(ItemCompareFunc compareFunc, uint32 from, uint32 to, const ItemType & val, void * cookie) const
{
if (to > from)
{
uint32 len = to - from;
while (len > 0)
{
uint32 half = len/2;
uint32 mid = from + half;
if (compareFunc(val, *(GetItemPointer(mid)), cookie) < 0) len = half;
else
{
from = mid+1;
len = len - half -1;
}
}
}
return from;
}
};
# 10 "../src/muscle/util/ObjectPool.h" 2
# 1 "../src/muscle/system/Mutex.h" 1
# 1 "/usr/lib/qt3/include/qthread.h" 1
# 1 "/usr/lib/qt3/include/qwindowdefs.h" 1
# 1 "/usr/lib/qt3/include/qobjectdefs.h" 1
# 1 "/usr/lib/qt3/include/qglobal.h" 1
# 96 "/usr/lib/qt3/include/qglobal.h"
# 163 "/usr/lib/qt3/include/qglobal.h"
# 236 "/usr/lib/qt3/include/qglobal.h"
# 374 "/usr/lib/qt3/include/qglobal.h"
# 402 "/usr/lib/qt3/include/qglobal.h"
# 416 "/usr/lib/qt3/include/qglobal.h"
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned uint;
typedef unsigned long ulong;
typedef char *pchar;
typedef uchar *puchar;
typedef const char *pcchar;
inline int qRound( double d )
{
return int( d >= 0.0 ? d + 0.5 : d - 0.5 );
}
typedef signed char INT8;
typedef unsigned char UINT8;
typedef short INT16;
typedef unsigned short UINT16;
typedef int INT32;
typedef unsigned int UINT32;
typedef signed char Q_INT8;
typedef unsigned char Q_UINT8;
typedef short Q_INT16;
typedef unsigned short Q_UINT16;
typedef int Q_INT32;
typedef unsigned int Q_UINT32;
typedef long Q_LONG;
typedef unsigned long Q_ULONG;
class QDataStream;
extern bool qt_winunicode;
# 571 "/usr/lib/qt3/include/qglobal.h"
# 1 "/usr/lib/qt3/include/qconfig.h" 1
# 572 "/usr/lib/qt3/include/qglobal.h" 2
# 1 "/usr/lib/qt3/include/qmodules.h" 1
# 577 "/usr/lib/qt3/include/qglobal.h" 2
# 615 "/usr/lib/qt3/include/qglobal.h"
# 1 "/usr/lib/qt3/include/qfeatures.h" 1
# 626 "/usr/lib/qt3/include/qglobal.h" 2
# 649 "/usr/lib/qt3/include/qglobal.h"
const char *qVersion();
bool qSysInfo( int *wordSize, bool *bigEndian );
int qWinVersion();
# 701 "/usr/lib/qt3/include/qglobal.h"
void qDebug( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void qWarning( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void qFatal( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void qSystemWarning( const char *, int code = -1 );
void debug( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void warning( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
void fatal( const char *, ... )
__attribute__ ((format (printf, 1, 2)))
;
bool qt_check_pointer( bool c, const char *, int );
enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
typedef void (*QtMsgHandler)(QtMsgType, const char *);
QtMsgHandler qInstallMsgHandler( QtMsgHandler );
typedef QtMsgHandler msg_handler;
void qSuppressObsoleteWarnings( bool = 1 );
void qObsolete( const char *obj, const char *oldfunc,
const char *newfunc );
void qObsolete( const char *obj, const char *oldfunc );
void qObsolete( const char *message );
# 42 "/usr/lib/qt3/include/qobjectdefs.h" 2
struct QUObject;
# 86 "/usr/lib/qt3/include/qobjectdefs.h"
# 114 "/usr/lib/qt3/include/qobjectdefs.h"
class QObject;
class QMetaObject;
class QSignal;
class QConnection;
class QEvent;
struct QMetaData;
class QConnectionList;
class QConnectionListIt;
class QSignalVec;
class QObjectList;
class QObjectListIt;
class QMemberDict;
# 43 "/usr/lib/qt3/include/qwindowdefs.h" 2
# 1 "/usr/lib/qt3/include/qstring.h" 1
# 1 "/usr/lib/qt3/include/qcstring.h" 1
# 1 "/usr/lib/qt3/include/qmemarray.h" 1
# 1 "/usr/lib/qt3/include/qgarray.h" 1
# 1 "/usr/lib/qt3/include/qshared.h" 1
struct QShared
{
QShared() { count = 1; }
void ref() { count++; }
bool deref() { return !--count; }
uint count;
};
# 42 "/usr/lib/qt3/include/qgarray.h" 2
class QGArray
{
friend class QBuffer;
public:
struct array_data : public QShared {
array_data() { data=0; len=0; }
char *data;
uint len;
};
QGArray();
protected:
QGArray( int, int );
QGArray( int size );
QGArray( const QGArray &a );
virtual ~QGArray();
QGArray &operator=( const QGArray &a ) { return assign( a ); }
virtual void detach() { duplicate(*this); }
char *data() const { return shd->data; }
uint nrefs() const { return shd->count; }
uint size() const { return shd->len; }
bool isEqual( const QGArray &a ) const;
bool resize( uint newsize );
bool fill( const char *d, int len, uint sz );
QGArray &assign( const QGArray &a );
QGArray &assign( const char *d, uint len );
QGArray &duplicate( const QGArray &a );
QGArray &duplicate( const char *d, uint len );
void store( const char *d, uint len );
array_data *sharedBlock() const { return shd; }
void setSharedBlock( array_data *p ) { shd=(array_data*)p; }
QGArray &setRawData( const char *d, uint len );
void resetRawData( const char *d, uint len );
int find( const char *d, uint index, uint sz ) const;
int contains( const char *d, uint sz ) const;
void sort( uint sz );
int bsearch( const char *d, uint sz ) const;
char *at( uint index ) const;
bool setExpand( uint index, const char *d, uint sz );
protected:
virtual array_data *newData();
virtual void deleteData( array_data *p );
private:
static void msg_index( uint );
array_data *shd;
};
inline char *QGArray::at( uint index ) const
{
if ( index >= size() ) {
msg_index( index );
index = 0;
}
return &shd->data[index];
}
# 42 "/usr/lib/qt3/include/qmemarray.h" 2
template<class type>
class QMemArray
: public QGArray
{
public:
typedef type* Iterator;
typedef const type* ConstIterator;
typedef type ValueType;
protected:
QMemArray( int, int ) : QGArray( 0, 0 ) {}
public:
QMemArray() {}
QMemArray( int size ) : QGArray(size*sizeof(type)) {}
QMemArray( const QMemArray<type> &a ) : QGArray(a) {}
~QMemArray() {}
QMemArray<type> &operator=(const QMemArray<type> &a)
{ return (QMemArray<type>&)QGArray::assign(a); }
type *data() const { return (type *)QGArray::data(); }
uint nrefs() const { return QGArray::nrefs(); }
uint size() const { return QGArray::size()/sizeof(type); }
uint count() const { return size(); }
bool isEmpty() const { return QGArray::size() == 0; }
bool isNull() const { return QGArray::data() == 0; }
bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); }
bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); }
bool fill( const type &d, int size = -1 )
{ return QGArray::fill((char*)&d,size,sizeof(type) ); }
void detach() { QGArray::detach(); }
QMemArray<type> copy() const
{ QMemArray<type> tmp; return tmp.duplicate(*this); }
QMemArray<type>& assign( const QMemArray<type>& a )
{ return (QMemArray<type>&)QGArray::assign(a); }
QMemArray<type>& assign( const type *a, uint n )
{ return (QMemArray<type>&)QGArray::assign((char*)a,n*sizeof(type)); }
QMemArray<type>& duplicate( const QMemArray<type>& a )
{ return (QMemArray<type>&)QGArray::duplicate(a); }
QMemArray<type>& duplicate( const type *a, uint n )
{ return (QMemArray<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); }
QMemArray<type>& setRawData( const type *a, uint n )
{ return (QMemArray<type>&)QGArray::setRawData((char*)a,
n*sizeof(type)); }
void resetRawData( const type *a, uint n )
{ QGArray::resetRawData((char*)a,n*sizeof(type)); }
int find( const type &d, uint i=0 ) const
{ return QGArray::find((char*)&d,i,sizeof(type)); }
int contains( const type &d ) const
{ return QGArray::contains((char*)&d,sizeof(type)); }
void sort() { QGArray::sort(sizeof(type)); }
int bsearch( const type &d ) const
{ return QGArray::bsearch((const char*)&d,sizeof(type)); }
type& operator[]( int i ) const
{ return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
type& at( uint i ) const
{ return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
operator const type*() const { return (const type *)QGArray::data(); }
bool operator==( const QMemArray<type> &a ) const { return isEqual(a); }
bool operator!=( const QMemArray<type> &a ) const { return !isEqual(a); }
Iterator begin() { return data(); }
Iterator end() { return data() + size(); }
ConstIterator begin() const { return data(); }
ConstIterator end() const { return data() + size(); }
};
# 43 "/usr/lib/qt3/include/qcstring.h" 2
void *qmemmove( void *dst, const void *src, uint len );
char *qstrdup( const char * );
inline uint qstrlen( const char *str )
{ return str ? (uint)strlen(str) : 0; }
inline char *qstrcpy( char *dst, const char *src )
{ return src ? strcpy(dst, src) : 0; }
char *qstrncpy( char *dst, const char *src, uint len );
inline int qstrcmp( const char *str1, const char *str2 )
{
return ( str1 && str2 ) ? strcmp( str1, str2 )
: ( str1 ? 1 : ( str2 ? -1 : 0 ) );
}
inline int qstrncmp( const char *str1, const char *str2, uint len )
{
return ( str1 && str2 ) ? strncmp( str1, str2, len )
: ( str1 ? 1 : ( str2 ? -1 : 0 ) );
}
int qstricmp( const char *, const char * );
int qstrnicmp( const char *, const char *, uint len );
inline uint cstrlen( const char *str )
{ return (uint)strlen(str); }
inline char *cstrcpy( char *dst, const char *src )
{ return strcpy(dst,src); }
inline int cstrcmp( const char *str1, const char *str2 )
{ return strcmp(str1,str2); }
inline int cstrncmp( const char *str1, const char *str2, uint len )
{ return strncmp(str1,str2,len); }
Q_UINT16 qChecksum( const char *s, uint len );
# 119 "/usr/lib/qt3/include/qcstring.h"
typedef QMemArray<char> QByteArray;
QDataStream &operator<<( QDataStream &, const QByteArray & );
QDataStream &operator>>( QDataStream &, QByteArray & );
class QRegExp;
class QCString : public QByteArray
{
public:
QCString() {}
QCString( int size );
QCString( const QCString &s ) : QByteArray( s ) {}
QCString( const char *str );
QCString( const char *str, uint maxlen );
~QCString();
QCString &operator=( const QCString &s );
QCString &operator=( const char *str );
bool isNull() const;
bool isEmpty() const;
uint length() const;
bool resize( uint newlen );
bool truncate( uint pos );
bool fill( char c, int len = -1 );
QCString copy() const;
QCString &sprintf( const char *format, ... );
int find( char c, int index=0, bool cs= 1 ) const;
int find( const char *str, int index=0, bool cs= 1 ) const;
int find( const QRegExp &, int index=0 ) const;
int findRev( char c, int index=-1, bool cs= 1 ) const;
int findRev( const char *str, int index=-1, bool cs= 1 ) const;
int findRev( const QRegExp &, int index=-1 ) const;
int contains( char c, bool cs= 1 ) const;
int contains( const char *str, bool cs= 1 ) const;
int contains( const QRegExp & ) const;
QCString left( uint len ) const;
QCString right( uint len ) const;
QCString mid( uint index, uint len=0xffffffff) const;
QCString leftJustify( uint width, char fill=' ', bool trunc= 0 )const;
QCString rightJustify( uint width, char fill=' ',bool trunc= 0 )const;
QCString lower() const;
QCString upper() const;
QCString stripWhiteSpace() const;
QCString simplifyWhiteSpace() const;
QCString &insert( uint index, const char * );
QCString &insert( uint index, char );
QCString &append( const char * );
QCString &prepend( const char * );
QCString &remove( uint index, uint len );
QCString &replace( uint index, uint len, const char * );
QCString &replace( const QRegExp &, const char * );
short toShort( bool *ok=0 ) const;
ushort toUShort( bool *ok=0 ) const;
int toInt( bool *ok=0 ) const;
uint toUInt( bool *ok=0 ) const;
long toLong( bool *ok=0 ) const;
ulong toULong( bool *ok=0 ) const;
float toFloat( bool *ok=0 ) const;
double toDouble( bool *ok=0 ) const;
QCString &setStr( const char *s );
QCString &setNum( short );
QCString &setNum( ushort );
QCString &setNum( int );
QCString &setNum( uint );
QCString &setNum( long );
QCString &setNum( ulong );
QCString &setNum( float, char f='g', int prec=6 );
QCString &setNum( double, char f='g', int prec=6 );
bool setExpand( uint index, char c );
operator const char *() const;
QCString &operator+=( const char *str );
QCString &operator+=( char c );
};
QDataStream &operator<<( QDataStream &, const QCString & );
QDataStream &operator>>( QDataStream &, QCString & );
inline QCString &QCString::operator=( const QCString &s )
{ return (QCString&)assign( s ); }
inline QCString &QCString::operator=( const char *str )
{ return (QCString&)duplicate( str, qstrlen(str)+1 ); }
inline bool QCString::isNull() const
{ return data() == 0; }
inline bool QCString::isEmpty() const
{ return data() == 0 || *data() == '\0'; }
inline uint QCString::length() const
{ return qstrlen( data() ); }
inline bool QCString::truncate( uint pos )
{ return resize(pos+1); }
inline QCString QCString::copy() const
{ return QCString( data() ); }
inline QCString &QCString::prepend( const char *s )
{ return insert(0,s); }
inline QCString &QCString::append( const char *s )
{ return operator+=(s); }
inline QCString &QCString::setNum( short n )
{ return setNum((long)n); }
inline QCString &QCString::setNum( ushort n )
{ return setNum((ulong)n); }
inline QCString &QCString::setNum( int n )
{ return setNum((long)n); }
inline QCString &QCString::setNum( uint n )
{ return setNum((ulong)n); }
inline QCString &QCString::setNum( float n, char f, int prec )
{ return setNum((double)n,f,prec); }
inline QCString::operator const char *() const
{ return (const char *)data(); }
inline bool operator==( const QCString &s1, const QCString &s2 )
{ return qstrcmp(s1.data(),s2.data()) == 0; }
inline bool operator==( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) == 0; }
inline bool operator==( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) == 0; }
inline bool operator!=( const QCString &s1, const QCString &s2 )
{ return qstrcmp(s1.data(),s2.data()) != 0; }
inline bool operator!=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) != 0; }
inline bool operator!=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) != 0; }
inline bool operator<( const QCString &s1, const QCString& s2 )
{ return qstrcmp(s1.data(),s2.data()) < 0; }
inline bool operator<( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) < 0; }
inline bool operator<( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) < 0; }
inline bool operator<=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) <= 0; }
inline bool operator<=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) <= 0; }
inline bool operator>( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) > 0; }
inline bool operator>( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) > 0; }
inline bool operator>=( const QCString &s1, const char *s2 )
{ return qstrcmp(s1.data(),s2) >= 0; }
inline bool operator>=( const char *s1, const QCString &s2 )
{ return qstrcmp(s1,s2.data()) >= 0; }
inline const QCString operator+( const QCString &s1, const QCString &s2 )
{
QCString tmp( s1.data() );
tmp += s2;
return tmp;
}
inline const QCString operator+( const QCString &s1, const char *s2 )
{
QCString tmp( s1.data() );
tmp += s2;
return tmp;
}
inline const QCString operator+( const char *s1, const QCString &s2 )
{
QCString tmp( s1 );
tmp += s2;
return tmp;
}
inline const QCString operator+( const QCString &s1, char c2 )
{
QCString tmp( s1.data() );
tmp += c2;
return tmp;
}
inline const QCString operator+( char c1, const QCString &s2 )
{
QCString tmp;
tmp += c1;
tmp += s2;
return tmp;
}
# 43 "/usr/lib/qt3/include/qstring.h" 2
class QRegExp;
class QString;
class QCharRef;
class QChar {
public:
QChar();
QChar( char c );
QChar( uchar c );
QChar( uchar c, uchar r );
QChar( const QChar& c );
QChar( ushort rc );
QChar( short rc );
QChar( uint rc );
QChar( int rc );
static const QChar null;
static const QChar replacement;
static const QChar byteOrderMark;
static const QChar byteOrderSwapped;
static const QChar nbsp;
enum Category
{
NoCategory,
Mark_NonSpacing,
Mark_SpacingCombining,
Mark_Enclosing,
Number_DecimalDigit,
Number_Letter,
Number_Other,
Separator_Space,
Separator_Line,
Separator_Paragraph,
Other_Control,
Other_Format,
Other_Surrogate,
Other_PrivateUse,
Other_NotAssigned,
Letter_Uppercase,
Letter_Lowercase,
Letter_Titlecase,
Letter_Modifier,
Letter_Other,
Punctuation_Connector,
Punctuation_Dash,
Punctuation_Dask = Punctuation_Dash,
Punctuation_Open,
Punctuation_Close,
Punctuation_InitialQuote,
Punctuation_FinalQuote,
Punctuation_Other,
Symbol_Math,
Symbol_Currency,
Symbol_Modifier,
Symbol_Other
};
enum Direction
{
DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN
};
enum Decomposition
{
Single, Canonical, Font, NoBreak, Initial, Medial,
Final, Isolated, Circle, Super, Sub, Vertical,
Wide, Narrow, Small, Square, Compat, Fraction
};
enum Joining
{
OtherJoining, Dual, Right, Center
};
enum CombiningClass
{
Combining_BelowLeftAttached = 200,
Combining_BelowAttached = 202,
Combining_BelowRightAttached = 204,
Combining_LeftAttached = 208,
Combining_RightAttached = 210,
Combining_AboveLeftAttached = 212,
Combining_AboveAttached = 214,
Combining_AboveRightAttached = 216,
Combining_BelowLeft = 218,
Combining_Below = 220,
Combining_BelowRight = 222,
Combining_Left = 224,
Combining_Right = 226,
Combining_AboveLeft = 228,
Combining_Above = 230,
Combining_AboveRight = 232,
Combining_DoubleBelow = 233,
Combining_DoubleAbove = 234,
Combining_IotaSubscript = 240
};
int digitValue() const;
QChar lower() const;
QChar upper() const;
Category category() const;
Direction direction() const;
Joining joining() const;
bool mirrored() const;
QChar mirroredChar() const;
const QString &decomposition() const;
Decomposition decompositionTag() const;
unsigned char combiningClass() const;
char latin1() const { return ucs > 0xff ? 0 : (char) ucs; }
ushort unicode() const { return ucs; }
ushort &unicode() { return ucs; }
operator char() const { return latin1(); }
bool isNull() const { return unicode()==0; }
bool isPrint() const;
bool isPunct() const;
bool isSpace() const;
bool isMark() const;
bool isLetter() const;
bool isNumber() const;
bool isLetterOrNumber() const;
bool isDigit() const;
bool isSymbol() const;
uchar cell() const { return ((uchar) ucs & 0xff); }
uchar row() const { return ((uchar) (ucs>>8)&0xff); }
void setCell( uchar cell ) { ucs = (ucs & 0xff00) + cell; }
void setRow( uchar row ) { ucs = (((ushort) row)<<8) + (ucs&0xff); }
static bool networkOrdered() {
int wordSize;
bool bigEndian = 0 ;
qSysInfo( &wordSize, &bigEndian );
return bigEndian;
}
friend inline bool operator==( char ch, QChar c );
friend inline bool operator==( QChar c, char ch );
friend inline bool operator==( QChar c1, QChar c2 );
friend inline bool operator!=( QChar c1, QChar c2 );
friend inline bool operator!=( char ch, QChar c );
friend inline bool operator!=( QChar c, char ch );
friend inline bool operator<=( QChar c, char ch );
friend inline bool operator<=( char ch, QChar c );
friend inline bool operator<=( QChar c1, QChar c2 );
private:
ushort ucs;
} ;
inline QChar::QChar()
{
ucs = 0;
}
inline QChar::QChar( char c )
{
ucs = (uchar)c;
}
inline QChar::QChar( uchar c )
{
ucs = c;
}
inline QChar::QChar( uchar c, uchar r )
{
ucs = (r << 8) | c;
}
inline QChar::QChar( const QChar& c )
{
ucs = c.ucs;
}
inline QChar::QChar( ushort rc )
{
ucs = rc;
}
inline QChar::QChar( short rc )
{
ucs = (ushort) rc;
}
inline QChar::QChar( uint rc )
{
ucs = (ushort ) (rc & 0xffff);
}
inline QChar::QChar( int rc )
{
ucs = (ushort) (rc & 0xffff);
}
inline bool operator==( char ch, QChar c )
{
return ((uchar) ch) == c.ucs;
}
inline bool operator==( QChar c, char ch )
{
return ((uchar) ch) == c.ucs;
}
inline bool operator==( QChar c1, QChar c2 )
{
return c1.ucs == c2.ucs;
}
inline bool operator!=( QChar c1, QChar c2 )
{
return c1.ucs != c2.ucs;
}
inline bool operator!=( char ch, QChar c )
{
return ((uchar)ch) != c.ucs;
}
inline bool operator!=( QChar c, char ch )
{
return ((uchar) ch) != c.ucs;
}
inline bool operator<=( QChar c, char ch )
{
return c.ucs <= ((uchar) ch);
}
inline bool operator<=( char ch, QChar c )
{
return ((uchar) ch) <= c.ucs;
}
inline bool operator<=( QChar c1, QChar c2 )
{
return c1.ucs <= c2.ucs;
}
inline bool operator>=( QChar c, char ch ) { return ch <= c; }
inline bool operator>=( char ch, QChar c ) { return c <= ch; }
inline bool operator>=( QChar c1, QChar c2 ) { return c2 <= c1; }
inline bool operator<( QChar c, char ch ) { return !(ch<=c); }
inline bool operator<( char ch, QChar c ) { return !(c<=ch); }
inline bool operator<( QChar c1, QChar c2 ) { return !(c2<=c1); }
inline bool operator>( QChar c, char ch ) { return !(ch>=c); }
inline bool operator>( char ch, QChar c ) { return !(c>=ch); }
inline bool operator>( QChar c1, QChar c2 ) { return !(c2>=c1); }
struct QStringData : public QShared {
QStringData() :
unicode(0), ascii(0), len(0), simpletext(1), maxl(0), dirty(0) { ref(); }
QStringData(QChar *u, uint l, uint m) :
unicode(u), ascii(0), len(l), simpletext(1), maxl(m), dirty(1) { }
~QStringData() { if ( unicode ) delete[] ((char*)unicode);
if ( ascii ) delete[] ascii; }
void deleteSelf();
QChar *unicode;
char *ascii;
void setDirty() {
if ( ascii ) {
delete [] ascii;
ascii = 0;
}
dirty = 1;
}
uint len : 30;
uint simpletext : 1;
uint maxl : 30;
uint dirty : 1;
};
class QString
{
public:
QString();
QString( QChar );
QString( const QString & );
QString( const QByteArray& );
QString( const QChar* unicode, uint length );
QString( const char *str );
~QString();
QString &operator=( const QString & );
QString &operator=( const char * );
QString &operator=( const QCString& );
QString &operator=( QChar c );
QString &operator=( char c );
static const QString null;
bool isNull() const;
bool isEmpty() const;
uint length() const;
void truncate( uint pos );
QString & fill( QChar c, int len = -1 );
QString copy() const;
QString arg( long a, int fieldwidth=0, int base=10 ) const;
QString arg( ulong a, int fieldwidth=0, int base=10 ) const;
QString arg( int a, int fieldwidth=0, int base=10 ) const;
QString arg( uint a, int fieldwidth=0, int base=10 ) const;
QString arg( short a, int fieldwidth=0, int base=10 ) const;
QString arg( ushort a, int fieldwidth=0, int base=10 ) const;
QString arg( char a, int fieldwidth=0 ) const;
QString arg( QChar a, int fieldwidth=0 ) const;
QString arg( const QString& a, int fieldwidth=0 ) const;
QString arg( double a, int fieldwidth=0, char fmt='g', int prec=-1 ) const;
QString &sprintf( const char* format, ... )
__attribute__ ((format (printf, 2, 3)))
;
int find( QChar c, int index=0, bool cs= 1 ) const;
int find( char c, int index=0, bool cs= 1 ) const;
int find( const QString &str, int index=0, bool cs= 1 ) const;
int find( const QRegExp &, int index=0 ) const;
int find( const char* str, int index=0 ) const;
int findRev( QChar c, int index=-1, bool cs= 1 ) const;
int findRev( char c, int index=-1, bool cs= 1 ) const;
int findRev( const QString &str, int index=-1, bool cs= 1 ) const;
int findRev( const QRegExp &, int index=-1 ) const;
int findRev( const char* str, int index=-1 ) const;
int contains( QChar c, bool cs= 1 ) const;
int contains( char c, bool cs= 1 ) const
{ return contains(QChar(c), cs); }
int contains( const char* str, bool cs= 1 ) const;
int contains( const QString &str, bool cs= 1 ) const;
int contains( const QRegExp & ) const;
enum SectionFlags {
SectionDefault = 0x00,
SectionSkipEmpty = 0x01,
SectionIncludeLeadingSep = 0x02,
SectionIncludeTrailingSep = 0x04,
SectionCaseInsensitiveSeps = 0x08
};
QString section( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
QString section( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
QString section( const char *in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
QString section( const QString &in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
QString section( const QRegExp ®, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
QString left( uint len ) const;
QString right( uint len ) const;
QString mid( uint index, uint len=0xffffffff) const;
QString leftJustify( uint width, QChar fill=' ', bool trunc= 0 )const;
QString rightJustify( uint width, QChar fill=' ',bool trunc= 0 )const;
QString lower() const;
QString upper() const;
QString stripWhiteSpace() const;
QString simplifyWhiteSpace() const;
QString &insert( uint index, const QString & );
QString &insert( uint index, const QChar*, uint len );
QString &insert( uint index, QChar );
QString &insert( uint index, char c ) { return insert(index,QChar(c)); }
QString &append( char );
QString &append( QChar );
QString &append( const QString & );
QString &prepend( char );
QString &prepend( QChar );
QString &prepend( const QString & );
QString &remove( uint index, uint len );
QString &replace( uint index, uint len, const QString & );
QString &replace( uint index, uint len, const QChar*, uint clen );
QString &replace( const QRegExp &, const QString & );
short toShort( bool *ok=0, int base=10 ) const;
ushort toUShort( bool *ok=0, int base=10 ) const;
int toInt( bool *ok=0, int base=10 ) const;
uint toUInt( bool *ok=0, int base=10 ) const;
long toLong( bool *ok=0, int base=10 ) const;
ulong toULong( bool *ok=0, int base=10 ) const;
float toFloat( bool *ok=0 ) const;
double toDouble( bool *ok=0 ) const;
QString &setNum( short, int base=10 );
QString &setNum( ushort, int base=10 );
QString &setNum( int, int base=10 );
QString &setNum( uint, int base=10 );
QString &setNum( long, int base=10 );
QString &setNum( ulong, int base=10 );
QString &setNum( float, char f='g', int prec=6 );
QString &setNum( double, char f='g', int prec=6 );
static QString number( long, int base=10 );
static QString number( ulong, int base=10);
static QString number( int, int base=10 );
static QString number( uint, int base=10);
static QString number( double, char f='g', int prec=6 );
void setExpand( uint index, QChar c );
QString &operator+=( const QString &str );
QString &operator+=( QChar c );
QString &operator+=( char c );
QChar at( uint i ) const
{ return i < d->len ? d->unicode[i] : QChar::null; }
QChar operator[]( int i ) const { return at((uint)i); }
QCharRef at( uint i );
QCharRef operator[]( int i );
QChar constref(uint i) const
{ return at(i); }
QChar& ref(uint i)
{
if ( d->count != 1 || i >= d->len )
subat( i );
d->setDirty();
return d->unicode[i];
}
const QChar* unicode() const { return d->unicode; }
const char* ascii() const { return latin1(); }
const char* latin1() const;
static QString fromLatin1(const char*, int len=-1);
QCString utf8() const;
static QString fromUtf8(const char*, int len=-1);
QCString local8Bit() const;
static QString fromLocal8Bit(const char*, int len=-1);
bool operator!() const;
operator const char *() const { return latin1(); }
QString &setUnicode( const QChar* unicode, uint len );
QString &setUnicodeCodes( const ushort* unicode_as_ushorts, uint len );
QString &setLatin1( const char*, int len=-1 );
int compare( const QString& s ) const;
static int compare( const QString& s1, const QString& s2 )
{ return s1.compare( s2 ); }
int localeAwareCompare( const QString& s ) const;
static int localeAwareCompare( const QString& s1, const QString& s2 )
{ return s1.localeAwareCompare( s2 ); }
friend QDataStream &operator>>( QDataStream &, QString & );
void compose();
const char* data() const { return latin1(); }
bool startsWith( const QString& ) const;
bool endsWith( const QString& ) const;
void setLength( uint newLength );
bool simpleText() const { if ( d->dirty ) checkSimpleText(); return (bool)d->simpletext; }
bool isRightToLeft() const;
private:
QString& replace( const QString &, const QString & ) { return *this; }
QString( int size, bool );
void deref();
void real_detach();
void subat( uint );
bool findArg(int& pos, int& len) const;
void checkSimpleText() const;
static QChar* asciiToUnicode( const char*, uint * len, uint maxlen=(uint)-1 );
static QChar* asciiToUnicode( const QByteArray&, uint * len );
static char* unicodeToAscii( const QChar*, uint len );
QStringData *d;
static QStringData* shared_null;
static QStringData* makeSharedNull();
friend class QConstString;
friend class QTextStream;
QString( QStringData* dd, bool ) : d(dd) { }
};
class QCharRef {
friend class QString;
QString& s;
uint p;
QCharRef(QString* str, uint pos) : s(*str), p(pos) { }
public:
ushort unicode() const { return s.constref(p).unicode(); }
char latin1() const { return s.constref(p).latin1(); }
QCharRef operator=(char c ) { s.ref(p)=c; return *this; }
QCharRef operator=(uchar c ) { s.ref(p)=c; return *this; }
QCharRef operator=(QChar c ) { s.ref(p)=c; return *this; }
QCharRef operator=(const QCharRef& c ) { s.ref(p)=c.unicode(); return *this; }
QCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; }
QCharRef operator=(short rc ) { s.ref(p)=rc; return *this; }
QCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; }
QCharRef operator=(int rc ) { s.ref(p)=rc; return *this; }
operator QChar () const { return s.constref(p); }
bool isNull() const { return unicode()==0; }
bool isPrint() const { return s.constref(p).isPrint(); }
bool isPunct() const { return s.constref(p).isPunct(); }
bool isSpace() const { return s.constref(p).isSpace(); }
bool isMark() const { return s.constref(p).isMark(); }
bool isLetter() const { return s.constref(p).isLetter(); }
bool isNumber() const { return s.constref(p).isNumber(); }
bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); }
bool isDigit() const { return s.constref(p).isDigit(); }
int digitValue() const { return s.constref(p).digitValue(); }
QChar lower() const { return s.constref(p).lower(); }
QChar upper() const { return s.constref(p).upper(); }
QChar::Category category() const { return s.constref(p).category(); }
QChar::Direction direction() const { return s.constref(p).direction(); }
QChar::Joining joining() const { return s.constref(p).joining(); }
bool mirrored() const { return s.constref(p).mirrored(); }
QChar mirroredChar() const { return s.constref(p).mirroredChar(); }
const QString &decomposition() const { return s.constref(p).decomposition(); }
QChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); }
unsigned char combiningClass() const { return s.constref(p).combiningClass(); }
uchar cell() const { return s.constref(p).cell(); }
uchar row() const { return s.constref(p).row(); }
};
inline QCharRef QString::at( uint i ) { return QCharRef(this,i); }
inline QCharRef QString::operator[]( int i ) { return at((uint)i); }
class QConstString : private QString {
public:
QConstString( const QChar* unicode, uint length );
~QConstString();
const QString& string() const { return *this; }
};
QDataStream &operator<<( QDataStream &, const QString & );
QDataStream &operator>>( QDataStream &, QString & );
inline QString::QString() :
d(shared_null ? shared_null : makeSharedNull())
{
d->ref();
}
inline QString::~QString()
{
if ( d->deref() ) {
if ( d == shared_null )
shared_null = 0;
d->deleteSelf();
}
}
inline QString QString::section( QChar sep, int start, int end, int flags ) const
{ return section(QString(sep), start, end, flags); }
inline QString QString::section( char sep, int start, int end, int flags ) const
{ return section(QChar(sep), start, end, flags); }
inline QString QString::section( const char *in_sep, int start, int end, int flags ) const
{ return section(QString(in_sep), start, end, flags); }
inline QString &QString::operator=( QChar c )
{ return *this = QString(c); }
inline QString &QString::operator=( char c )
{ return *this = QString(QChar(c)); }
inline bool QString::isNull() const
{ return unicode() == 0; }
inline bool QString::operator!() const
{ return isNull(); }
inline uint QString::length() const
{ return d->len; }
inline bool QString::isEmpty() const
{ return length() == 0; }
inline QString QString::copy() const
{ return QString( *this ); }
inline QString &QString::prepend( const QString & s )
{ return insert(0,s); }
inline QString &QString::prepend( QChar c )
{ return insert(0,c); }
inline QString &QString::prepend( char c )
{ return insert(0,c); }
inline QString &QString::append( const QString & s )
{ return operator+=(s); }
inline QString &QString::append( QChar c )
{ return operator+=(c); }
inline QString &QString::append( char c )
{ return operator+=(c); }
inline QString &QString::setNum( short n, int base )
{ return setNum((long)n, base); }
inline QString &QString::setNum( ushort n, int base )
{ return setNum((ulong)n, base); }
inline QString &QString::setNum( int n, int base )
{ return setNum((long)n, base); }
inline QString &QString::setNum( uint n, int base )
{ return setNum((ulong)n, base); }
inline QString &QString::setNum( float n, char f, int prec )
{ return setNum((double)n,f,prec); }
inline QString QString::arg(int a, int fieldwidth, int base) const
{ return arg((long)a, fieldwidth, base); }
inline QString QString::arg(uint a, int fieldwidth, int base) const
{ return arg((ulong)a, fieldwidth, base); }
inline QString QString::arg(short a, int fieldwidth, int base) const
{ return arg((long)a, fieldwidth, base); }
inline QString QString::arg(ushort a, int fieldwidth, int base) const
{ return arg((ulong)a, fieldwidth, base); }
inline int QString::find( char c, int index, bool cs ) const
{ return find(QChar(c), index, cs); }
inline int QString::findRev( char c, int index, bool cs) const
{ return findRev( QChar(c), index, cs ); }
inline int QString::find( const char* str, int index ) const
{ return find(QString::fromLatin1(str), index); }
inline int QString::findRev( const char* str, int index ) const
{ return findRev(QString::fromLatin1(str), index); }
bool operator!=( const QString &s1, const QString &s2 );
bool operator<( const QString &s1, const QString &s2 );
bool operator<=( const QString &s1, const QString &s2 );
bool operator==( const QString &s1, const QString &s2 );
bool operator>( const QString &s1, const QString &s2 );
bool operator>=( const QString &s1, const QString &s2 );
bool operator!=( const QString &s1, const char *s2 );
bool operator<( const QString &s1, const char *s2 );
bool operator<=( const QString &s1, const char *s2 );
bool operator==( const QString &s1, const char *s2 );
bool operator>( const QString &s1, const char *s2 );
bool operator>=( const QString &s1, const char *s2 );
bool operator!=( const char *s1, const QString &s2 );
bool operator<( const char *s1, const QString &s2 );
bool operator<=( const char *s1, const QString &s2 );
bool operator==( const char *s1, const QString &s2 );
bool operator>=( const char *s1, const QString &s2 );
inline const QString operator+( const QString &s1, const QString &s2 )
{
QString tmp( s1 );
tmp += s2;
return tmp;
}
inline const QString operator+( const QString &s1, const char *s2 )
{
QString tmp( s1 );
tmp += QString::fromLatin1(s2);
return tmp;
}
inline const QString operator+( const char *s1, const QString &s2 )
{
QString tmp = QString::fromLatin1( s1 );
tmp += s2;
return tmp;
}
inline const QString operator+( const QString &s1, QChar c2 )
{
QString tmp( s1 );
tmp += c2;
return tmp;
}
inline const QString operator+( const QString &s1, char c2 )
{
QString tmp( s1 );
tmp += c2;
return tmp;
}
inline const QString operator+( QChar c1, const QString &s2 )
{
QString tmp;
tmp += c1;
tmp += s2;
return tmp;
}
inline const QString operator+( char c1, const QString &s2 )
{
QString tmp;
tmp += c1;
tmp += s2;
return tmp;
}
extern QString qt_winQString(void*);
extern const void* qt_winTchar(const QString& str, bool addnul);
extern void* qt_winTchar_new(const QString& str);
extern QCString qt_winQString2MB( const QString& s, int len=-1 );
extern QString qt_winMB2QString( const char* mb, int len=-1 );
# 44 "/usr/lib/qt3/include/qwindowdefs.h" 2
# 1 "/usr/lib/qt3/include/qnamespace.h" 1
class QColor;
class QCursor;
class Qt {
public:
static const QColor & color0;
static const QColor & color1;
static const QColor & black;
static const QColor & white;
static const QColor & darkGray;
static const QColor & gray;
static const QColor & lightGray;
static const QColor & red;
static const QColor & green;
static const QColor & blue;
static const QColor & cyan;
static const QColor & magenta;
static const QColor & yellow;
static const QColor & darkRed;
static const QColor & darkGreen;
static const QColor & darkBlue;
static const QColor & darkCyan;
static const QColor & darkMagenta;
static const QColor & darkYellow;
enum ButtonState {
NoButton = 0x0000,
LeftButton = 0x0001,
RightButton = 0x0002,
MidButton = 0x0004,
MouseButtonMask = 0x00ff,
ShiftButton = 0x0100,
ControlButton = 0x0200,
AltButton = 0x0400,
MetaButton = 0x0800,
KeyButtonMask = 0x0fff,
Keypad = 0x4000
};
enum Orientation {
Horizontal = 0,
Vertical
};
enum AlignmentFlags {
AlignAuto = 0x0000,
AlignLeft = 0x0001,
AlignRight = 0x0002,
AlignHCenter = 0x0004,
AlignJustify = 0x0008,
AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify,
AlignTop = 0x0010,
AlignBottom = 0x0020,
AlignVCenter = 0x0040,
AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter,
AlignCenter = AlignVCenter | AlignHCenter
};
enum TextFlags {
SingleLine = 0x0080,
DontClip = 0x0100,
ExpandTabs = 0x0200,
ShowPrefix = 0x0400,
WordBreak = 0x0800,
BreakAnywhere = 0x1000,
DontPrint = 0x2000,
NoAccel = 0x4000
};
typedef uint WState;
enum WidgetState {
WState_Created = 0x00000001,
WState_Disabled = 0x00000002,
WState_Visible = 0x00000004,
WState_ForceHide = 0x00000008,
WState_OwnCursor = 0x00000010,
WState_MouseTracking = 0x00000020,
WState_CompressKeys = 0x00000040,
WState_BlockUpdates = 0x00000080,
WState_InPaintEvent = 0x00000100,
WState_Reparented = 0x00000200,
WState_ConfigPending = 0x00000400,
WState_Resized = 0x00000800,
WState_AutoMask = 0x00001000,
WState_Polished = 0x00002000,
WState_DND = 0x00004000,
WState_Reserved0 = 0x00008000,
WState_Reserved1 = 0x00010000,
WState_Reserved2 = 0x00020000,
WState_Reserved3 = 0x00040000,
WState_Maximized = 0x00080000,
WState_Minimized = 0x00100000,
WState_ForceDisabled = 0x00200000,
WState_Exposed = 0x00400000,
WState_HasMouse = 0x00800000
};
typedef uint WFlags;
enum WidgetFlags {
WType_TopLevel = 0x00000001,
WType_Dialog = 0x00000002,
WType_Popup = 0x00000004,
WType_Desktop = 0x00000008,
WType_Mask = 0x0000000f,
WStyle_Customize = 0x00000010,
WStyle_NormalBorder = 0x00000020,
WStyle_DialogBorder = 0x00000040,
WStyle_NoBorder = 0x00002000,
WStyle_Title = 0x00000080,
WStyle_SysMenu = 0x00000100,
WStyle_Minimize = 0x00000200,
WStyle_Maximize = 0x00000400,
WStyle_MinMax = WStyle_Minimize | WStyle_Maximize,
WStyle_Tool = 0x00000800,
WStyle_StaysOnTop = 0x00001000,
WStyle_ContextHelp = 0x00004000,
WStyle_Reserved = 0x00008000,
WStyle_Mask = 0x0000fff0,
WDestructiveClose = 0x00010000,
WPaintDesktop = 0x00020000,
WPaintUnclipped = 0x00040000,
WPaintClever = 0x00080000,
WResizeNoErase = 0x00100000,
WMouseNoMask = 0x00200000,
WStaticContents = 0x00400000,
WRepaintNoErase = 0x00800000,
WX11BypassWM = 0x00000000,
WWinOwnDC = 0x01000000,
WGroupLeader = 0x02000000,
WShowModal = 0x04000000,
WNoMousePropagation = 0x08000000,
WSubWindow = 0x10000000
,
WNorthWestGravity = WStaticContents,
WType_Modal = WType_Dialog | WShowModal,
WStyle_Dialog = WType_Dialog,
WStyle_NoBorderEx = WStyle_NoBorder
};
enum ImageConversionFlags {
ColorMode_Mask = 0x00000003,
AutoColor = 0x00000000,
ColorOnly = 0x00000003,
MonoOnly = 0x00000002,
AlphaDither_Mask = 0x0000000c,
ThresholdAlphaDither = 0x00000000,
OrderedAlphaDither = 0x00000004,
DiffuseAlphaDither = 0x00000008,
NoAlpha = 0x0000000c,
Dither_Mask = 0x00000030,
DiffuseDither = 0x00000000,
OrderedDither = 0x00000010,
ThresholdDither = 0x00000020,
DitherMode_Mask = 0x000000c0,
AutoDither = 0x00000000,
PreferDither = 0x00000040,
AvoidDither = 0x00000080
};
enum BGMode {
TransparentMode,
OpaqueMode
};
enum PaintUnit {
PixelUnit,
LoMetricUnit,
HiMetricUnit,
LoEnglishUnit,
HiEnglishUnit,
TwipsUnit
};
enum GUIStyle {
MacStyle,
WindowsStyle,
Win3Style,
PMStyle,
MotifStyle
};
enum Modifier {
SHIFT = 0x00200000,
CTRL = 0x00400000,
ALT = 0x00800000,
MODIFIER_MASK = 0x00e00000,
UNICODE_ACCEL = 0x10000000,
ASCII_ACCEL = UNICODE_ACCEL
};
enum Key {
Key_Escape = 0x1000,
Key_Tab = 0x1001,
Key_Backtab = 0x1002, Key_BackTab = Key_Backtab,
Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace,
Key_Return = 0x1004,
Key_Enter = 0x1005,
Key_Insert = 0x1006,
Key_Delete = 0x1007,
Key_Pause = 0x1008,
Key_Print = 0x1009,
Key_SysReq = 0x100a,
Key_Home = 0x1010,
Key_End = 0x1011,
Key_Left = 0x1012,
Key_Up = 0x1013,
Key_Right = 0x1014,
Key_Down = 0x1015,
Key_Prior = 0x1016, Key_PageUp = Key_Prior,
Key_Next = 0x1017, Key_PageDown = Key_Next,
Key_Shift = 0x1020,
Key_Control = 0x1021,
Key_Meta = 0x1022,
Key_Alt = 0x1023,
Key_CapsLock = 0x1024,
Key_NumLock = 0x1025,
Key_ScrollLock = 0x1026,
Key_F1 = 0x1030,
Key_F2 = 0x1031,
Key_F3 = 0x1032,
Key_F4 = 0x1033,
Key_F5 = 0x1034,
Key_F6 = 0x1035,
Key_F7 = 0x1036,
Key_F8 = 0x1037,
Key_F9 = 0x1038,
Key_F10 = 0x1039,
Key_F11 = 0x103a,
Key_F12 = 0x103b,
Key_F13 = 0x103c,
Key_F14 = 0x103d,
Key_F15 = 0x103e,
Key_F16 = 0x103f,
Key_F17 = 0x1040,
Key_F18 = 0x1041,
Key_F19 = 0x1042,
Key_F20 = 0x1043,
Key_F21 = 0x1044,
Key_F22 = 0x1045,
Key_F23 = 0x1046,
Key_F24 = 0x1047,
Key_F25 = 0x1048,
Key_F26 = 0x1049,
Key_F27 = 0x104a,
Key_F28 = 0x104b,
Key_F29 = 0x104c,
Key_F30 = 0x104d,
Key_F31 = 0x104e,
Key_F32 = 0x104f,
Key_F33 = 0x1050,
Key_F34 = 0x1051,
Key_F35 = 0x1052,
Key_Super_L = 0x1053,
Key_Super_R = 0x1054,
Key_Menu = 0x1055,
Key_Hyper_L = 0x1056,
Key_Hyper_R = 0x1057,
Key_Help = 0x1058,
Key_Direction_L = 0x1059,
Key_Direction_R = 0x1060,
Key_Space = 0x20,
Key_Any = Key_Space,
Key_Exclam = 0x21,
Key_QuoteDbl = 0x22,
Key_NumberSign = 0x23,
Key_Dollar = 0x24,
Key_Percent = 0x25,
Key_Ampersand = 0x26,
Key_Apostrophe = 0x27,
Key_ParenLeft = 0x28,
Key_ParenRight = 0x29,
Key_Asterisk = 0x2a,
Key_Plus = 0x2b,
Key_Comma = 0x2c,
Key_Minus = 0x2d,
Key_Period = 0x2e,
Key_Slash = 0x2f,
Key_0 = 0x30,
Key_1 = 0x31,
Key_2 = 0x32,
Key_3 = 0x33,
Key_4 = 0x34,
Key_5 = 0x35,
Key_6 = 0x36,
Key_7 = 0x37,
Key_8 = 0x38,
Key_9 = 0x39,
Key_Colon = 0x3a,
Key_Semicolon = 0x3b,
Key_Less = 0x3c,
Key_Equal = 0x3d,
Key_Greater = 0x3e,
Key_Question = 0x3f,
Key_At = 0x40,
Key_A = 0x41,
Key_B = 0x42,
Key_C = 0x43,
Key_D = 0x44,
Key_E = 0x45,
Key_F = 0x46,
Key_G = 0x47,
Key_H = 0x48,
Key_I = 0x49,
Key_J = 0x4a,
Key_K = 0x4b,
Key_L = 0x4c,
Key_M = 0x4d,
Key_N = 0x4e,
Key_O = 0x4f,
Key_P = 0x50,
Key_Q = 0x51,
Key_R = 0x52,
Key_S = 0x53,
Key_T = 0x54,
Key_U = 0x55,
Key_V = 0x56,
Key_W = 0x57,
Key_X = 0x58,
Key_Y = 0x59,
Key_Z = 0x5a,
Key_BracketLeft = 0x5b,
Key_Backslash = 0x5c,
Key_BracketRight = 0x5d,
Key_AsciiCircum = 0x5e,
Key_Underscore = 0x5f,
Key_QuoteLeft = 0x60,
Key_BraceLeft = 0x7b,
Key_Bar = 0x7c,
Key_BraceRight = 0x7d,
Key_AsciiTilde = 0x7e,
Key_nobreakspace = 0x0a0,
Key_exclamdown = 0x0a1,
Key_cent = 0x0a2,
Key_sterling = 0x0a3,
Key_currency = 0x0a4,
Key_yen = 0x0a5,
Key_brokenbar = 0x0a6,
Key_section = 0x0a7,
Key_diaeresis = 0x0a8,
Key_copyright = 0x0a9,
Key_ordfeminine = 0x0aa,
Key_guillemotleft = 0x0ab,
Key_notsign = 0x0ac,
Key_hyphen = 0x0ad,
Key_registered = 0x0ae,
Key_macron = 0x0af,
Key_degree = 0x0b0,
Key_plusminus = 0x0b1,
Key_twosuperior = 0x0b2,
Key_threesuperior = 0x0b3,
Key_acute = 0x0b4,
Key_mu = 0x0b5,
Key_paragraph = 0x0b6,
Key_periodcentered = 0x0b7,
Key_cedilla = 0x0b8,
Key_onesuperior = 0x0b9,
Key_masculine = 0x0ba,
Key_guillemotright = 0x0bb,
Key_onequarter = 0x0bc,
Key_onehalf = 0x0bd,
Key_threequarters = 0x0be,
Key_questiondown = 0x0bf,
Key_Agrave = 0x0c0,
Key_Aacute = 0x0c1,
Key_Acircumflex = 0x0c2,
Key_Atilde = 0x0c3,
Key_Adiaeresis = 0x0c4,
Key_Aring = 0x0c5,
Key_AE = 0x0c6,
Key_Ccedilla = 0x0c7,
Key_Egrave = 0x0c8,
Key_Eacute = 0x0c9,
Key_Ecircumflex = 0x0ca,
Key_Ediaeresis = 0x0cb,
Key_Igrave = 0x0cc,
Key_Iacute = 0x0cd,
Key_Icircumflex = 0x0ce,
Key_Idiaeresis = 0x0cf,
Key_ETH = 0x0d0,
Key_Ntilde = 0x0d1,
Key_Ograve = 0x0d2,
Key_Oacute = 0x0d3,
Key_Ocircumflex = 0x0d4,
Key_Otilde = 0x0d5,
Key_Odiaeresis = 0x0d6,
Key_multiply = 0x0d7,
Key_Ooblique = 0x0d8,
Key_Ugrave = 0x0d9,
Key_Uacute = 0x0da,
Key_Ucircumflex = 0x0db,
Key_Udiaeresis = 0x0dc,
Key_Yacute = 0x0dd,
Key_THORN = 0x0de,
Key_ssharp = 0x0df,
Key_agrave = 0x0e0,
Key_aacute = 0x0e1,
Key_acircumflex = 0x0e2,
Key_atilde = 0x0e3,
Key_adiaeresis = 0x0e4,
Key_aring = 0x0e5,
Key_ae = 0x0e6,
Key_ccedilla = 0x0e7,
Key_egrave = 0x0e8,
Key_eacute = 0x0e9,
Key_ecircumflex = 0x0ea,
Key_ediaeresis = 0x0eb,
Key_igrave = 0x0ec,
Key_iacute = 0x0ed,
Key_icircumflex = 0x0ee,
Key_idiaeresis = 0x0ef,
Key_eth = 0x0f0,
Key_ntilde = 0x0f1,
Key_ograve = 0x0f2,
Key_oacute = 0x0f3,
Key_ocircumflex = 0x0f4,
Key_otilde = 0x0f5,
Key_odiaeresis = 0x0f6,
Key_division = 0x0f7,
Key_oslash = 0x0f8,
Key_ugrave = 0x0f9,
Key_uacute = 0x0fa,
Key_ucircumflex = 0x0fb,
Key_udiaeresis = 0x0fc,
Key_yacute = 0x0fd,
Key_thorn = 0x0fe,
Key_ydiaeresis = 0x0ff,
Key_unknown = 0xffff
};
enum ArrowType {
UpArrow,
DownArrow,
LeftArrow,
RightArrow
};
enum RasterOp {
CopyROP,
OrROP,
XorROP,
NotAndROP, EraseROP=NotAndROP,
NotCopyROP,
NotOrROP,
NotXorROP,
AndROP, NotEraseROP=AndROP,
NotROP,
ClearROP,
SetROP,
NopROP,
AndNotROP,
OrNotROP,
NandROP,
NorROP, LastROP=NorROP
};
enum PenStyle {
NoPen,
SolidLine,
DashLine,
DotLine,
DashDotLine,
DashDotDotLine,
MPenStyle = 0x0f
};
enum PenCapStyle {
FlatCap = 0x00,
SquareCap = 0x10,
RoundCap = 0x20,
MPenCapStyle = 0x30
};
enum PenJoinStyle {
MiterJoin = 0x00,
BevelJoin = 0x40,
RoundJoin = 0x80,
MPenJoinStyle = 0xc0
};
enum BrushStyle {
NoBrush,
SolidPattern,
Dense1Pattern,
Dense2Pattern,
Dense3Pattern,
Dense4Pattern,
Dense5Pattern,
Dense6Pattern,
Dense7Pattern,
HorPattern,
VerPattern,
CrossPattern,
BDiagPattern,
FDiagPattern,
DiagCrossPattern,
CustomPattern=24
};
enum WindowsVersion {
WV_32s = 0x0001,
WV_95 = 0x0002,
WV_98 = 0x0003,
WV_Me = 0x0004,
WV_DOS_based = 0x000f,
WV_NT = 0x0010,
WV_2000 = 0x0020,
WV_XP = 0x0030,
WV_NT_based = 0x00f0
};
enum UIEffect {
UI_General,
UI_AnimateMenu,
UI_FadeMenu,
UI_AnimateCombo,
UI_AnimateTooltip,
UI_FadeTooltip
};
enum CursorShape {
ArrowCursor,
UpArrowCursor,
CrossCursor,
WaitCursor,
IbeamCursor,
SizeVerCursor,
SizeHorCursor,
SizeBDiagCursor,
SizeFDiagCursor,
SizeAllCursor,
BlankCursor,
SplitVCursor,
SplitHCursor,
PointingHandCursor,
ForbiddenCursor,
WhatsThisCursor,
LastCursor = WhatsThisCursor,
BitmapCursor = 24
};
static const QCursor & arrowCursor;
static const QCursor & upArrowCursor;
static const QCursor & crossCursor;
static const QCursor & waitCursor;
static const QCursor & ibeamCursor;
static const QCursor & sizeVerCursor;
static const QCursor & sizeHorCursor;
static const QCursor & sizeBDiagCursor;
static const QCursor & sizeFDiagCursor;
static const QCursor & sizeAllCursor;
static const QCursor & blankCursor;
static const QCursor & splitVCursor;
static const QCursor & splitHCursor;
static const QCursor & pointingHandCursor;
static const QCursor & forbiddenCursor;
static const QCursor & whatsThisCursor;
enum TextFormat {
PlainText,
RichText,
AutoText
};
enum Dock {
DockUnmanaged,
DockTornOff,
DockTop,
DockBottom,
DockRight,
DockLeft,
DockMinimized
,
Unmanaged = DockUnmanaged,
TornOff = DockTornOff,
Top = DockTop,
Bottom = DockBottom,
Right = DockRight,
Left = DockLeft,
Minimized = DockMinimized
};
typedef Dock ToolBarDock;
enum DateFormat {
TextDate,
ISODate,
LocalDate
};
enum BackgroundMode {
FixedColor,
FixedPixmap,
NoBackground,
PaletteForeground,
PaletteButton,
PaletteLight,
PaletteMidlight,
PaletteDark,
PaletteMid,
PaletteText,
PaletteBrightText,
PaletteBase,
PaletteBackground,
PaletteShadow,
PaletteHighlight,
PaletteHighlightedText,
PaletteButtonText,
PaletteLink,
PaletteLinkVisited,
X11ParentRelative
};
typedef uint ComparisonFlags;
enum StringComparisonMode {
CaseSensitive = 0x00001,
BeginsWith = 0x00002,
EndsWith = 0x00004,
Contains = 0x00008,
ExactMatch = 0x00010
};
typedef void *HANDLE;
};
class QInternal {
public:
enum PaintDeviceFlags {
UndefinedDevice = 0x00,
Widget = 0x01,
Pixmap = 0x02,
Printer = 0x03,
Picture = 0x04,
System = 0x05,
DeviceTypeMask = 0x0f,
ExternalDevice = 0x10,
CompatibilityMode = 0x20
};
};
# 45 "/usr/lib/qt3/include/qwindowdefs.h" 2
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 1 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/syslimits.h" 1 3
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 1 3
# 114 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 3
# 1 "/usr/include/limits.h" 1 3
# 117 "/usr/include/limits.h" 3
# 117 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 2 3
# 7 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/syslimits.h" 2 3
# 11 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 2 3
# 110 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 3
# 48 "/usr/lib/qt3/include/qwindowdefs.h" 2
class QPaintDevice;
class QPaintDeviceMetrics;
class QWidget;
class QWidgetMapper;
class QDialog;
class QColor;
class QColorGroup;
class QPalette;
class QCursor;
class QPoint;
class QSize;
class QRect;
class QPointArray;
class QPainter;
class QRegion;
class QFont;
class QFontMetrics;
class QFontInfo;
class QPen;
class QBrush;
class QWMatrix;
class QPixmap;
class QBitmap;
class QMovie;
class QImage;
class QImageIO;
class QPicture;
class QPrinter;
class QAccel;
class QTimer;
class QTime;
class QClipboard;
class QWidgetList;
class QWidgetListIt;
# 126 "/usr/lib/qt3/include/qwindowdefs.h"
# 1 "/usr/lib/qt3/include/qwindowdefs_win.h" 1
# 129 "/usr/lib/qt3/include/qwindowdefs.h" 2
# 147 "/usr/lib/qt3/include/qwindowdefs.h"
class QApplication;
typedef Q_INT32 QCOORD;
const QCOORD QCOORD_MAX = 2147483647;
const QCOORD QCOORD_MIN = -QCOORD_MAX - 1;
typedef unsigned int QRgb;
const char *qAppName();
typedef void (*QtCleanUpFunction)();
void qAddPostRoutine( QtCleanUpFunction );
void qRemovePostRoutine( QtCleanUpFunction );
typedef QtCleanUpFunction Q_CleanUpFunction;
void *qt_find_obj_child( QObject *, const char *, const char * );
# 44 "/usr/lib/qt3/include/qthread.h" 2
# 1 "/usr/lib/qt3/include/qmutex.h" 1
class QMutexPrivate;
const int Q_MUTEX_NORMAL = 0;
const int Q_MUTEX_RECURSIVE = 1;
class QMutex
{
friend class QWaitCondition;
friend class QWaitConditionPrivate;
public:
QMutex(bool recursive = 0 );
virtual ~QMutex();
void lock();
void unlock();
bool locked();
bool tryLock();
private:
QMutexPrivate * d;
QMutex( const QMutex & );
QMutex &operator=( const QMutex & );
};
# 46 "/usr/lib/qt3/include/qthread.h" 2
# 1 "/usr/lib/qt3/include/qsemaphore.h" 1
class QSemaphorePrivate;
class QSemaphore
{
public:
QSemaphore( int );
virtual ~QSemaphore();
int available() const;
int total() const;
int operator++(int);
int operator--(int);
int operator+=(int);
int operator-=(int);
bool tryAccess(int);
private:
QSemaphorePrivate *d;
QSemaphore(const QSemaphore &);
QSemaphore &operator=(const QSemaphore &);
};
# 47 "/usr/lib/qt3/include/qthread.h" 2
# 1 "/usr/lib/qt3/include/qwaitcondition.h" 1
# 1 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 1 3
# 114 "/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/include/limits.h" 3
# 47 "/usr/lib/qt3/include/qwaitcondition.h" 2
class QWaitConditionPrivate;
class QMutex;
class QWaitCondition
{
public:
QWaitCondition();
virtual ~QWaitCondition();
bool wait( unsigned long time = (2147483647L * 2UL + 1) );
bool wait( QMutex *mutex, unsigned long time = (2147483647L * 2UL + 1) );
void wakeOne();
void wakeAll();
private:
QWaitConditionPrivate * d;
QWaitCondition( const QWaitCondition & );
QWaitCondition &operator=( const QWaitCondition & );
};
# 48 "/usr/lib/qt3/include/qthread.h" 2
class QThreadPrivate;
class QThread : public Qt
{
friend class QThreadPrivate;
public:
static Qt::HANDLE currentThread();
static void postEvent( QObject *,QEvent * );
static void initialize();
static void cleanup();
static void exit();
QThread();
virtual ~QThread();
bool wait( unsigned long time = (2147483647L * 2UL + 1) );
void start();
bool finished() const;
bool running() const;
protected:
virtual void run() = 0;
static void sleep( unsigned long );
static void msleep( unsigned long );
static void usleep( unsigned long );
private:
QThreadPrivate * d;
QThread( const QThread & );
QThread &operator=( const QThread & );
};
# 10 "../src/muscle/system/Mutex.h" 2
# 19 "../src/muscle/system/Mutex.h"
namespace muscle {
class Mutex
{
public:
Mutex()
: _locker(1 )
{
}
~Mutex()
{
}
status_t Lock() const
{
# 91 "../src/muscle/system/Mutex.h"
_locker.lock();
return 0 ;
}
status_t Unlock() const
{
_locker.unlock();
return 0 ;
}
private:
mutable QMutex _locker;
};
};
# 11 "../src/muscle/util/ObjectPool.h" 2
namespace muscle {
class AbstractObjectGenerator
{
public:
virtual void * ObtainObjectGeneric() = 0;
};
class AbstractObjectRecycler
{
public:
virtual void RecycleObject(void * obj) = 0;
};
class AbstractObjectManager : public AbstractObjectGenerator, public AbstractObjectRecycler
{
};
template <class Object> class ObjectPool : public AbstractObjectManager
{
public:
typedef void (*ObjectCallback)(Object * obj, void * userData);
ObjectPool(uint32 maxPoolSize=100,
ObjectCallback recycleCallback = __null , void * recycleData = __null ,
ObjectCallback initCallback = __null , void * initData = __null ) :
_initObjectFunc(initCallback), _initObjectUserData(initData),
_recycleObjectFunc(recycleCallback), _recycleObjectUserData(recycleData),
_maxPoolSize(maxPoolSize)
{
}
virtual ~ObjectPool()
{
Drain();
}
Object * ObtainObject()
{
Object * ret = __null ;
if (_mutex.Lock() == 0 )
{
(void) _pool.RemoveTail(ret);
_mutex.Unlock();
}
if (ret == __null ) ret = new (nothrow) Object;
if (ret)
{
if (_initObjectFunc) _initObjectFunc(ret, _initObjectUserData);
}
else muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/ObjectPool.h",123) ;
return ret;
}
void ReleaseObject(Object * obj)
{
if (obj)
{
if (_recycleObjectFunc) _recycleObjectFunc(obj, _recycleObjectUserData);
bool deleteObject = 1 ;
if (_mutex.Lock() == 0 )
{
if ((_pool.GetNumItems() < _maxPoolSize)&&(_pool.AddTail(obj) == 0 )) deleteObject = 0 ;
_mutex.Unlock();
}
if (deleteObject) delete obj;
}
}
virtual void * ObtainObjectGeneric() {return ObtainObject();}
virtual void RecycleObject(void * obj) {ReleaseObject((Object *)obj);}
status_t SetInitObjectCallback(ObjectCallback cb, void * userData)
{
if (_mutex.Lock() == 0 )
{
_initObjectFunc = cb;
_initObjectUserData = userData;
(void) _mutex.Unlock();
return 0 ;
}
else return -1 ;
}
void SetRecycleObjectCallback(ObjectCallback cb, void * userData)
{
if (_mutex.Lock() == 0 )
{
_recycleObjectFunc = cb;
_recycleObjectUserData = userData;
(void) _mutex.Unlock();
return 0 ;
}
else return -1 ;
}
status_t Drain()
{
if (_mutex.Lock() == 0 )
{
for (int i=_pool.GetNumItems()-1; i>=0; i--) delete _pool[i];
_pool.Clear();
(void) _mutex.Unlock();
return 0 ;
}
else return -1 ;
}
private:
Mutex _mutex;
ObjectCallback _initObjectFunc;
void * _initObjectUserData;
ObjectCallback _recycleObjectFunc;
void * _recycleObjectUserData;
Queue<Object *> _pool;
uint32 _maxPoolSize;
};
};
# 10 "../src/muscle/util/RefCount.h" 2
# 1 "../src/muscle/system/AtomicCounter.h" 1
# 26 "../src/muscle/system/AtomicCounter.h"
namespace muscle {
extern int32 DoMutexAtomicIncrement(int32 * count, int32 delta);
};
namespace muscle {
class AtomicCounter
{
public:
AtomicCounter()
: _count(0)
{
}
~AtomicCounter()
{
}
inline void AtomicIncrement()
{
# 94 "../src/muscle/system/AtomicCounter.h"
(void) DoMutexAtomicIncrement(&_count, 1);
}
inline bool AtomicDecrement()
{
# 130 "../src/muscle/system/AtomicCounter.h"
return (DoMutexAtomicIncrement(&_count, -1) == 0);
}
private:
# 156 "../src/muscle/system/AtomicCounter.h"
int32 _count;
};
};
# 11 "../src/muscle/util/RefCount.h" 2
namespace muscle {
class RefCountable;
class RefCountable
{
public:
RefCountable() { }
RefCountable(const RefCountable &) { }
virtual ~RefCountable() { }
inline RefCountable &operator=(const RefCountable &) {return *this;}
inline void IncrementRefCount() const {_refCount.AtomicIncrement();}
inline bool DecrementRefCount() const {return _refCount.AtomicDecrement();}
private:
mutable AtomicCounter _refCount;
};
template <class Item> class Ref;
typedef Ref<RefCountable> GenericRef;
template <class Item> class Ref
{
public:
typedef ObjectPool<Item> ItemPool;
Ref() : _item(__null ), _recycler(__null ), _doRefCount(1 ) { }
Ref(Item * item, AbstractObjectRecycler * recycler, bool doRefCount = 1 ) : _item(item), _recycler(recycler), _doRefCount(doRefCount) {RefItem();}
Ref(const Ref & copyMe) : _item(__null ), _recycler(__null ), _doRefCount(1 ) {*this = copyMe;}
Ref(const GenericRef & ref, bool) : _item(__null ), _recycler(__null ), _doRefCount(1 ) {(void) SetFromGeneric(ref);}
~Ref() {UnrefItem();}
void SetRef(Item * item, AbstractObjectRecycler * recycler, bool doRefCount = 1 )
{
if (item == _item)
{
if (doRefCount != _doRefCount)
{
if (doRefCount)
{
_doRefCount = 1 ;
RefItem();
}
else
{
UnrefItem();
_doRefCount = 0 ;
}
}
_recycler = recycler;
}
else
{
UnrefItem();
_item = item;
_recycler = recycler;
_doRefCount = doRefCount;
RefItem();
}
}
inline Ref &operator=(const Ref &r) {if (this != &r) SetRef(r._item, r._recycler, r._doRefCount); return *this;}
int operator ==(const Ref &rhs) const {return _item == rhs._item;}
int operator !=(const Ref &rhs) const {return _item != rhs._item;}
Item * GetItemPointer() const {return _item;}
Item * operator()() const {return _item;}
void Reset() {UnrefItem();}
void Neutralize() {if ((_doRefCount)&&(_item)) (void) _item->DecrementRefCount(); _item = __null ;}
AbstractObjectRecycler * GetItemRecycler() const {return _recycler;}
bool IsRefCounting() const {return _doRefCount;}
GenericRef GetGeneric() const {return GenericRef(_item, _recycler, _doRefCount);}
status_t SetFromGeneric(const GenericRef & genericRef)
{
RefCountable * genericItem = genericRef();
if (genericItem)
{
Item * typedItem = dynamic_cast<Item *>(genericItem);
if (typedItem == __null ) return -1 ;
SetRef(typedItem, genericRef.GetItemRecycler(), genericRef.IsRefCounting());
}
return 0 ;
}
private:
void RefItem() {if ((_doRefCount)&&(_item)) _item->IncrementRefCount();}
void UnrefItem()
{
if (_item)
{
if ((_doRefCount)&&(_item->DecrementRefCount()))
{
if (_recycler) _recycler->RecycleObject(_item);
else delete _item;
}
_item = __null ;
}
}
Item * _item;
AbstractObjectRecycler * _recycler;
bool _doRefCount;
};
template <class T> class HashFunctor;
template <class Item>
class HashFunctor<Ref<Item> >
{
public:
uint32 operator () (const Ref<Item> & ref) const {return (uint32) ref();}
};
};
# 10 "../src/muscle/dataio/DataIO.h" 2
namespace muscle {
class DataIO : public RefCountable
{
public:
enum {
IO_SEEK_SET = 0,
IO_SEEK_CUR,
IO_SEEK_END,
NUM_IO_SEEKS
};
DataIO() { }
virtual ~DataIO() { }
virtual int32 Read(void * buffer, uint32 size) = 0;
virtual int32 Write(const void * buffer, uint32 size) = 0;
virtual status_t Seek(int64 offset, int whence) = 0;
virtual uint64 GetOutputStallLimit() const {return ((uint64)-1) ;}
virtual void FlushOutput() = 0;
virtual void Shutdown() = 0;
virtual int GetSelectSocket() const = 0;
virtual status_t GetReadByteTimeStamp(int32 , uint64 & ) const {return -1 ;}
};
typedef Ref<DataIO> DataIORef;
};
# 10 "../src/muscle/iogateway/AbstractMessageIOGateway.h" 2
# 1 "../src/muscle/message/Message.h" 1
# 1 "../src/muscle/support/Point.h" 1
# 1 "../src/muscle/support/Tuple.h" 1
# 1 "/usr/include/math.h" 1 3
# 1 "/usr/include/machine/ieeefp.h" 1 3
# 206 "/usr/include/machine/ieeefp.h" 3
# 7 "/usr/include/math.h" 2 3
extern "C" {
union __dmath
{
__ULong i[2];
double d;
};
extern __attribute__(( dllimport )) const union __dmath __infinity[];
extern double atan (double) ;
extern double cos (double) ;
extern double sin (double) ;
extern double tan (double) ;
extern double tanh (double) ;
extern double frexp (double, int *) ;
extern double modf (double, double *) ;
extern double ceil (double) ;
extern double fabs (double) ;
extern double floor (double) ;
extern double acos (double) ;
extern double asin (double) ;
extern double atan2 (double, double) ;
extern double cosh (double) ;
extern double sinh (double) ;
extern double exp (double) ;
extern double ldexp (double, int) ;
extern double log (double) ;
extern double log10 (double) ;
extern double pow (double, double) ;
extern double sqrt (double) ;
extern double fmod (double, double) ;
typedef float float_t;
typedef double double_t;
extern int __fpclassifyf (float x);
extern int __fpclassifyd (double x);
extern double infinity (void) ;
extern double nan (void) ;
extern int isnan (double) ;
extern int isinf (double) ;
extern int finite (double) ;
extern double copysign (double, double) ;
extern int ilogb (double) ;
extern double asinh (double) ;
extern double cbrt (double) ;
extern double nextafter (double, double) ;
extern double rint (double) ;
extern double scalbn (double, int) ;
extern double exp2 (double) ;
extern double scalbln (double, long int) ;
extern double tgamma (double) ;
extern double nearbyint (double) ;
extern long int lrint (double) ;
extern double round (double) ;
extern long int lround (double) ;
extern double trunc (double) ;
extern double remquo (double, double, int *) ;
extern double copysign (double, double) ;
extern double fdim (double, double) ;
extern double fmax (double, double) ;
extern double fmin (double, double) ;
extern double fma (double, double, double) ;
extern double log1p (double) ;
extern double expm1 (double) ;
extern double acosh (double) ;
extern double atanh (double) ;
extern double remainder (double, double) ;
extern double gamma (double) ;
extern double gamma_r (double, int *) ;
extern double lgamma (double) ;
extern double lgamma_r (double, int *) ;
extern double erf (double) ;
extern double erfc (double) ;
extern double y0 (double) ;
extern double y1 (double) ;
extern double yn (int, double) ;
extern double j0 (double) ;
extern double j1 (double) ;
extern double jn (int, double) ;
extern double hypot (double, double) ;
extern double cabs();
extern double drem (double, double) ;
extern float atanf (float) ;
extern float cosf (float) ;
extern float sinf (float) ;
extern float tanf (float) ;
extern float tanhf (float) ;
extern float frexpf (float, int *) ;
extern float modff (float, float *) ;
extern float ceilf (float) ;
extern float fabsf (float) ;
extern float floorf (float) ;
extern float acosf (float) ;
extern float asinf (float) ;
extern float atan2f (float, float) ;
extern float coshf (float) ;
extern float sinhf (float) ;
extern float expf (float) ;
extern float ldexpf (float, int) ;
extern float logf (float) ;
extern float log10f (float) ;
extern float powf (float, float) ;
extern float sqrtf (float) ;
extern float fmodf (float, float) ;
extern float exp2f (float) ;
extern float scalblnf (float, long int) ;
extern float tgammaf (float) ;
extern float nearbyintf (float) ;
extern long int lrintf (float) ;
extern float roundf (float) ;
extern long int lroundf (float) ;
extern float truncf (float) ;
extern float remquof (float, float, int *) ;
extern float copysignf (float, float) ;
extern float fdimf (float, float) ;
extern float fmaxf (float, float) ;
extern float fminf (float, float) ;
extern float fmaf (float, float, float) ;
extern float infinityf (void) ;
extern float nanf (void) ;
extern int isnanf (float) ;
extern int isinff (float) ;
extern int finitef (float) ;
extern float copysignf (float, float) ;
extern int ilogbf (float) ;
extern float asinhf (float) ;
extern float cbrtf (float) ;
extern float nextafterf (float, float) ;
extern float rintf (float) ;
extern float scalbnf (float, int) ;
extern float log1pf (float) ;
extern float expm1f (float) ;
extern float acoshf (float) ;
extern float atanhf (float) ;
extern float remainderf (float, float) ;
extern float gammaf (float) ;
extern float gammaf_r (float, int *) ;
extern float lgammaf (float) ;
extern float lgammaf_r (float, int *) ;
extern float erff (float) ;
extern float erfcf (float) ;
extern float y0f (float) ;
extern float y1f (float) ;
extern float ynf (int, float) ;
extern float j0f (float) ;
extern float j1f (float) ;
extern float jnf (int, float) ;
extern float hypotf (float, float) ;
extern float cabsf();
extern float dremf (float, float) ;
extern int *__signgam (void) ;
struct __exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
int err;
};
extern int matherr (struct __exception *e) ;
enum __fdlibm_version
{
__fdlibm_ieee = -1,
__fdlibm_svid,
__fdlibm_xopen,
__fdlibm_posix
};
extern __attribute__(( dllimport )) const enum __fdlibm_version __fdlib_version ;
}
# 6 "../src/muscle/support/Tuple.h" 2
namespace muscle {
template <int NumItems, class ItemType> class Tuple
{
public:
Tuple() {Reset();}
Tuple(const ItemType & value) {*this = value;}
Tuple(const Tuple & copyMe) {*this = copyMe;}
~Tuple() { }
const Tuple & operator =(const Tuple & rhs) {for (int i=0; i<NumItems; i++) _items[i] = rhs._items[i]; return *this;}
const Tuple & operator =(const ItemType values[NumItems]) {for (int i=0; i<NumItems; i++) (*this)[i] = values[i]; return *this;}
const Tuple & operator =(const ItemType & value) {for (int i=0; i<NumItems; i++) (*this)[i] = value; return *this;}
const Tuple & operator +=(const Tuple & rhs) {for (int i=0; i<NumItems; i++) _items[i] += rhs._items[i]; return *this;}
const Tuple & operator -=(const Tuple & rhs) {for (int i=0; i<NumItems; i++) _items[i] -= rhs._items[i]; return *this;}
const Tuple & operator *=(const Tuple & rhs) {for (int i=0; i<NumItems; i++) _items[i] *= rhs._items[i]; return *this;}
const Tuple & operator /=(const Tuple & rhs) {for (int i=0; i<NumItems; i++) _items[i] /= rhs._items[i]; return *this;}
const Tuple & operator +=(const ItemType & value) {for (int i=0; i<NumItems; i++) _items[i] += value; return *this;}
const Tuple & operator -=(const ItemType & value) {for (int i=0; i<NumItems; i++) _items[i] -= value; return *this;}
const Tuple & operator *=(const ItemType & value) {for (int i=0; i<NumItems; i++) _items[i] *= value; return *this;}
const Tuple & operator /=(const ItemType & value) {for (int i=0; i<NumItems; i++) _items[i] /= value; return *this;}
const Tuple & operator <<=(int numPlaces) {ShiftValuesLeft(numPlaces); return *this;}
const Tuple & operator >>=(int numPlaces) {ShiftValuesRight(numPlaces); return *this;}
bool operator ==(const Tuple & rhs) const {for (int i=0; i<NumItems; i++) if (_items[i] != rhs._items[i]) return 0 ; return 1 ;}
bool operator !=(const Tuple & rhs) const {return !(*this == rhs);}
int operator < (const Tuple &rhs) const {for (int i=0; i<NumItems; i++) {if (_items[i] < rhs._items[i]) return 1 ; if (_items[i] > rhs._items[i]) return 0 ;} return 0 ;}
int operator > (const Tuple &rhs) const {for (int i=0; i<NumItems; i++) {if (_items[i] > rhs._items[i]) return 1 ; if (_items[i] < rhs._items[i]) return 0 ;} return 0 ;}
int operator <=(const Tuple &rhs) const {return !(*this > rhs);}
int operator >=(const Tuple &rhs) const {return !(*this < rhs);}
ItemType & operator [](uint32 i) {return _items[i];}
const ItemType & operator [](uint32 i) const {return _items[i];}
ItemType DotProduct(const Tuple & rhs) const {ItemType dp = ItemType(); for (int i=0; i<NumItems; i++) dp += (_items[i]*rhs._items[i]); return dp;}
int IndexOf(const ItemType & value) const {for (int i=0; i<NumItems; i++) if (_items[i] == value) return i; return -1;}
int LastIndexOf(const ItemType & value) const {for (int i=NumItems-1; i>=0; i--) if (_items[i] == value) return i; return -1;}
int Compare(const Tuple & rhs) const {for (int i=0; i<NumItems; i++) {if (_items[i] < rhs[i]) return -1; if (_items[i] > rhs[i]) return 1;} return 0;}
ItemType GetMaximumValue() const {ItemType maxv = _items[0]; for (int i=1; i<NumItems; i++) if (_items[i] > maxv) maxv = _items[i]; return maxv;}
ItemType GetMinimumValue() const {ItemType minv = _items[0]; for (int i=1; i<NumItems; i++) if (_items[i] < minv) minv = _items[i]; return minv;}
ItemType GetLengthSquared() const {ItemType sum = ItemType(); for (int i=0; i<NumItems; i++) sum += (_items[i]*_items[i]); return sum;}
uint32 GetNumInstancesOf(const ItemType & value) const {uint32 count = 0; for (int i=0; i<NumItems; i++) if (_items[i] == value) count++; return count;}
bool MatchSubrange(const Tuple & rhs, uint32 startItem = 0, uint32 endItem = ((uint32)-1)) const
{
if (endItem > NumItems) endItem = NumItems;
for (uint32 i=startItem; i<endItem; i++) if (_items[i] != rhs._items[i]) return 0 ;
return 1 ;
}
void FillSubrange(ItemType value, uint32 startItem = 0, uint32 endItem = ((uint32)-1))
{
if (endItem > NumItems) endItem = NumItems;
for (uint32 i=startItem; i<endItem; i++) _items[i] = value;
}
void CopySubrange(const Tuple & rhs, uint32 startItem = 0, uint32 endItem = ((uint32)-1))
{
if (endItem > NumItems) endItem = NumItems;
for (uint32 i=startItem; i<endItem; i++) _items[i] = rhs[i];
}
void Reset() {ItemType def = ItemType(); for (int i=0; i<NumItems; i++) _items[i] = def;}
const uint32 GetNumItemsInTuple() const {return NumItems;}
typedef ItemType TupleItemType;
private:
void ShiftValuesLeft(int numPlaces)
{
if (numPlaces > 0)
{
ItemType def = ItemType();
for (int i=0; i<NumItems; i++) _items[i] = (i < NumItems-numPlaces) ? _items[i+numPlaces] : def;
}
else if (numPlaces < 0) ShiftValuesRight(-numPlaces);
}
void ShiftValuesRight(int numPlaces)
{
if (numPlaces > 0)
{
ItemType def = ItemType();
for (int i=NumItems-1; i>=0; i--) _items[i] = (i >= numPlaces) ? _items[i-numPlaces] : def;
}
else if (numPlaces < 0) ShiftValuesLeft(-numPlaces);
}
private:
ItemType _items[NumItems];
};
template <int N,class T> inline const Tuple<N,T> operator - (const Tuple<N,T> & lhs) {Tuple<N,T> ret(lhs); ret -= lhs+lhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator + (const Tuple<N,T> & lhs, const T & rhs) {Tuple<N,T> ret(lhs); ret += rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator - (const Tuple<N,T> & lhs, const T & rhs) {Tuple<N,T> ret(lhs); ret -= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator + (const T & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret += rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator - (const T & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret -= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator + (const Tuple<N,T> & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret += rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator - (const Tuple<N,T> & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret -= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator * (const Tuple<N,T> & lhs, const T & rhs) {Tuple<N,T> ret(lhs); ret *= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator / (const Tuple<N,T> & lhs, const T & rhs) {Tuple<N,T> ret(lhs); ret /= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator * (const T & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret *= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator / (const T & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret /= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator * (const Tuple<N,T> & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret *= rhs; return ret;}
template <int N,class T> inline const Tuple<N,T> operator / (const Tuple<N,T> & lhs, const Tuple<N,T> & rhs) {Tuple<N,T> ret(lhs); ret /= rhs; return ret;}
};
# 19 "../src/muscle/support/Point.h" 2
namespace muscle {
class Point : public Flattenable, public Tuple<2,float>
{
public:
Point() { }
Point(float ax, float ay) {Set(ax, ay);}
Point(const Point & rhs) : Flattenable(), Tuple<2,float>(rhs) { }
virtual ~Point() { }
inline float & x() {return (*this)[0];}
inline float x() const {return (*this)[0];}
inline float & y() {return (*this)[1];}
inline float y() const {return (*this)[1];}
void Set(float ax, float ay) {x() = ax; y() = ay;}
void ConstrainTo(Point topLeft, Point bottomRight)
{
if (x() < topLeft.x()) x() = topLeft.x();
if (y() < topLeft.y()) y() = topLeft.y();
if (x() > bottomRight.x()) x() = bottomRight.x();
if (y() > bottomRight.y()) y() = bottomRight.y();
}
void PrintToStream() const
{
printf("Point: %f %f\n", x(), y());
}
virtual bool IsFixedSize() const {return 1 ;}
virtual type_code TypeCode() const {return B_POINT_TYPE;}
virtual uint32 FlattenedSize() const {return 2*sizeof(float);}
virtual void Flatten(uint8 * buffer) const
{
float * buf = (float *) buffer;
float ox = (float)( x() ) ; muscleCopyOut(&buf[0], ox);
float oy = (float)( y() ) ; muscleCopyOut(&buf[1], oy);
}
virtual status_t Unflatten(const uint8 * buffer, uint32 size)
{
if (size >= FlattenedSize())
{
float * buf = (float *) buffer;
muscleCopyIn(x(), &buf[0]); x() = (float)( x() ) ;
muscleCopyIn(y(), &buf[1]); y() = (float)( y() ) ;
return 0 ;
}
else return -1 ;
}
};
inline const Point operator + (const Point & lhs, const float & rhs) { Point ret(lhs); ret += rhs; return ret;} inline const Point operator + (const float & lhs, const Point & rhs) { Point ret; ret.FillSubrange(lhs); ret += rhs; return ret;} inline const Point operator + (const Point & lhs, const Point & rhs) { Point ret(lhs); ret += rhs; return ret;} inline const Point operator - (const Point & lhs) { Point ret(lhs); ret -= lhs+lhs; return ret;} inline const Point operator - (const Point & lhs, const float & rhs) { Point ret(lhs); ret -= rhs; return ret;} inline const Point operator - (const float & lhs, const Point & rhs) { Point ret; ret.FillSubrange(lhs); ret -= rhs; return ret;} inline const Point operator - (const Point & lhs, const Point & rhs) { Point ret(lhs); ret -= rhs; return ret;} inline const Point operator * (const Point & lhs, const float & rhs) { Point ret(lhs); ret *= rhs; return ret;} inline const Point operator * (const float & lhs, const Point & rhs) { Point ret; ret.FillSubrange(lhs); ret *= rhs; return ret;} inline const Point operator * (const Point & lhs, const Point & rhs) { Point ret(lhs); ret *= rhs; return ret;} inline const Point operator / (const Point & lhs, const float & rhs) { Point ret(lhs); ret /= rhs; return ret;} inline const Point operator / (const float & lhs, const Point & rhs) { Point ret; ret.FillSubrange(lhs); ret /= rhs; return ret;} inline const Point operator / (const Point & lhs, const Point & rhs) { Point ret(lhs); ret /= rhs; return ret;} inline const Point operator >> (const Point & lhs, int rhs) { Point ret(lhs); ret >>= rhs; return ret;} inline const Point operator << (const Point & lhs, int rhs) { Point ret(lhs); ret <<= rhs; return ret;} ;
};
# 20 "../src/muscle/message/Message.h" 2
# 1 "../src/muscle/support/Rect.h" 1
namespace muscle {
class Rect : public Flattenable, public Tuple<4,float>
{
public:
Rect() {Set(0.0f,0.0f,-1.0f,-1.0f);}
Rect(float l, float t, float r, float b) {Set(l,t,r,b);}
Rect(const Rect & rhs) : Flattenable(), Tuple<4,float>(rhs) { }
Rect(Point leftTop, Point rightBottom) {Set(leftTop.x(), leftTop.y(), rightBottom.x(), rightBottom.y());}
virtual ~Rect() { }
inline float left() const {return (*this)[0];}
inline float & left() {return (*this)[0];}
inline float top() const {return (*this)[1];}
inline float & top() {return (*this)[1];}
inline float right() const {return (*this)[2];}
inline float & right() {return (*this)[2];}
inline float bottom() const {return (*this)[3];}
inline float & bottom() {return (*this)[3];}
inline void Set(float l, float t, float r, float b)
{
left() = l;
top() = t;
right() = r;
bottom() = b;
}
void PrintToStream() const {printf("Rect: leftTop=(%f,%f) rightBottom=(%f,%f)\n", left(), top(), right(), bottom());}
inline Point LeftTop() const {return Point(left(), top());}
inline Point RightBottom() const {return Point(right(), bottom());}
inline Point LeftBottom() const {return Point(left(), bottom());}
inline Point RightTop() const {return Point(right(), top());}
inline void SetLeftTop(const Point p) {left() = p.x(); top() = p.y();}
inline void SetRightBottom(const Point p) {right() = p.x(); bottom() = p.y();}
inline void SetLeftBottom(const Point p) {left() = p.x(); bottom() = p.y();}
inline void SetRightTop(const Point p) {right() = p.x(); top() = p.y();}
inline void InsetBy(Point p) {InsetBy(p.x(), p.y());}
inline void InsetBy(float dx, float dy) {left() += dx; top() += dy; right() -= dx; bottom() -= dy;}
inline void OffsetBy(Point p) {OffsetBy(p.x(), p.y());}
inline void OffsetBy(float dx, float dy) {left() += dx; top() += dy; right() += dx; bottom() += dy;}
inline void OffsetTo(Point p) {OffsetTo(p.x(), p.y());}
inline void OffsetTo(float x, float y) {right() = x + Width(); bottom() = y + Height(); left() = x; top() = y;}
void Rationalize()
{
if (left() > right()) {float t = left(); left() = right(); right() = t;}
if (top() > bottom()) {float t = top(); top() = bottom(); bottom() = t;}
}
inline Rect operator&(Rect r) const
{
Rect ret(*this);
if (ret.left() < r.left()) ret.left() = r.left();
if (ret.right() > r.right()) ret.right() = r.right();
if (ret.top() < r.top()) ret.top() = r.top();
if (ret.bottom() > r.bottom()) ret.bottom() = r.bottom();
return ret;
}
inline Rect operator|(Rect r) const
{
Rect ret(*this);
if (r.left() < ret.left()) ret.left() = r.left();
if (r.right() > ret.right()) ret.right() = r.right();
if (r.top() < ret.top()) ret.top() = r.top();
if (r.bottom() > ret.bottom()) ret.bottom() = r.bottom();
return ret;
}
inline Rect & operator |= (const Rect & rhs) {(*this) = (*this) | rhs; return *this;}
inline Rect & operator &= (const Rect & rhs) {(*this) = (*this) & rhs; return *this;}
inline bool Intersects(Rect r) const {return (r&(*this)).IsValid();}
inline bool IsValid() const {return ((Width() >= 0.0f)&&(Height() >= 0.0f));}
inline float Width() const {return right() - left();}
inline int32 IntegerWidth() const {return (int32)ceil(Width());}
inline float Height() const {return bottom()-top();}
inline int32 IntegerHeight() const {return (int32)ceil(Height());}
inline bool Contains(Point p) const {return ((p.x() >= left())&&(p.x() <= right())&&(p.y() >= top())&&(p.y() <= bottom()));}
inline bool Contains(Rect p) const {return ((Contains(p.LeftTop()))&&(Contains(p.RightTop()))&&(Contains(p.LeftBottom()))&&(Contains(p.RightBottom())));}
virtual bool IsFixedSize() const {return 1 ;}
virtual type_code TypeCode() const {return B_RECT_TYPE;}
virtual uint32 FlattenedSize() const {return 4*sizeof(float);}
virtual void Flatten(uint8 * buffer) const
{
float * buf = (float *) buffer;
float oL = (float)( left() ) ; muscleCopyOut(&buf[0], oL);
float oT = (float)( top() ) ; muscleCopyOut(&buf[1], oT);
float oR = (float)( right() ) ; muscleCopyOut(&buf[2], oR);
float oB = (float)( bottom() ) ; muscleCopyOut(&buf[3], oB);
}
virtual status_t Unflatten(const uint8 * buffer, uint32 size)
{
if (size >= FlattenedSize())
{
float * buf = (float *) buffer;
muscleCopyIn(left(), &buf[0]); left() = (float)( left() ) ;
muscleCopyIn(top(), &buf[1]); top() = (float)( top() ) ;
muscleCopyIn(right(), &buf[2]); right() = (float)( right() ) ;
muscleCopyIn(bottom(), &buf[3]); bottom() = (float)( bottom() ) ;
return 0 ;
}
else return -1 ;
}
};
inline const Rect operator + (const Rect & lhs, const float & rhs) { Rect ret(lhs); ret += rhs; return ret;} inline const Rect operator + (const float & lhs, const Rect & rhs) { Rect ret; ret.FillSubrange(lhs); ret += rhs; return ret;} inline const Rect operator + (const Rect & lhs, const Rect & rhs) { Rect ret(lhs); ret += rhs; return ret;} inline const Rect operator - (const Rect & lhs) { Rect ret(lhs); ret -= lhs+lhs; return ret;} inline const Rect operator - (const Rect & lhs, const float & rhs) { Rect ret(lhs); ret -= rhs; return ret;} inline const Rect operator - (const float & lhs, const Rect & rhs) { Rect ret; ret.FillSubrange(lhs); ret -= rhs; return ret;} inline const Rect operator - (const Rect & lhs, const Rect & rhs) { Rect ret(lhs); ret -= rhs; return ret;} inline const Rect operator * (const Rect & lhs, const float & rhs) { Rect ret(lhs); ret *= rhs; return ret;} inline const Rect operator * (const float & lhs, const Rect & rhs) { Rect ret; ret.FillSubrange(lhs); ret *= rhs; return ret;} inline const Rect operator * (const Rect & lhs, const Rect & rhs) { Rect ret(lhs); ret *= rhs; return ret;} inline const Rect operator / (const Rect & lhs, const float & rhs) { Rect ret(lhs); ret /= rhs; return ret;} inline const Rect operator / (const float & lhs, const Rect & rhs) { Rect ret; ret.FillSubrange(lhs); ret /= rhs; return ret;} inline const Rect operator / (const Rect & lhs, const Rect & rhs) { Rect ret(lhs); ret /= rhs; return ret;} inline const Rect operator >> (const Rect & lhs, int rhs) { Rect ret(lhs); ret >>= rhs; return ret;} inline const Rect operator << (const Rect & lhs, int rhs) { Rect ret(lhs); ret <<= rhs; return ret;} ;
};
# 21 "../src/muscle/message/Message.h" 2
# 1 "../src/muscle/util/Hashtable.h" 1
namespace muscle {
template <class T> class HashFunctor
{
public:
uint32 operator () (const T x) const {return (uint32) x;}
};
template <class KeyType, class ValueType, class HashFunctorType> class Hashtable;
template <class KeyType, class ValueType, class HashFunctorType = HashFunctor<KeyType> > class HashtableIterator
{
public:
HashtableIterator();
HashtableIterator(const HashtableIterator<KeyType, ValueType, HashFunctorType> & rhs);
~HashtableIterator();
HashtableIterator<KeyType,ValueType, HashFunctorType> & operator=(const HashtableIterator<KeyType,ValueType,HashFunctorType> & rhs);
bool HasMoreKeys() const;
status_t GetNextKey(KeyType & setNextKey);
const KeyType * GetNextKey();
status_t PeekNextKey(KeyType & setKey) const;
const KeyType * PeekNextKey() const;
bool HasMoreValues() const;
status_t GetNextValue(ValueType & setNextValue);
ValueType * GetNextValue();
status_t PeekNextValue(ValueType & setValue) const;
ValueType * PeekNextValue() const;
private:
friend class Hashtable<KeyType, ValueType, HashFunctorType>;
HashtableIterator(const Hashtable<KeyType, ValueType, HashFunctorType> & owner, void * startCookie, bool backwards);
void * _scratchSpace[2];
void * _nextKeyCookie;
void * _nextValueCookie;
bool _backwards;
HashtableIterator<KeyType, ValueType, HashFunctorType> * _prevIter;
HashtableIterator<KeyType, ValueType, HashFunctorType> * _nextIter;
const Hashtable<KeyType, ValueType, HashFunctorType> * _owner;
};
template <class KeyType, class ValueType, class HashFunctorType = HashFunctor<KeyType> > class Hashtable
{
public:
typedef int (*KeyCompareFunc)(const KeyType& key1, const KeyType& key2, void * cookie);
typedef int (*ValueCompareFunc)(const ValueType& key1, const ValueType& key2, void * cookie);
enum {
AUTOSORT_DISABLED = 0,
AUTOSORT_BY_KEY,
AUTOSORT_BY_VALUE
};
Hashtable(uint32 initialCapacity = 11, float loadFactor = 0.75f);
Hashtable(const Hashtable<KeyType,ValueType,HashFunctorType> & rhs);
Hashtable<KeyType,ValueType,HashFunctorType> & operator=(const Hashtable<KeyType,ValueType,HashFunctorType> & rhs);
~Hashtable();
uint32 GetNumItems() const {return _count;}
bool IsEmpty() const {return _count == 0;}
bool ContainsKey(const KeyType& key) const;
bool ContainsValue(const ValueType& value) const;
int32 IndexOfKey(const KeyType& key) const;
status_t Get(const KeyType& key, ValueType& setValue) const;
ValueType * Get(const KeyType & key) const;
HashtableIterator<KeyType,ValueType,HashFunctorType> GetIterator(bool backwards = 0 ) const {return HashtableIterator<KeyType,ValueType,HashFunctorType>(*this, backwards ? _iterTail : _iterHead, backwards);}
HashtableIterator<KeyType,ValueType,HashFunctorType> GetIteratorAt(const KeyType & startAt, bool backwards = 0 ) const {return HashtableIterator<KeyType,ValueType,HashFunctorType>(*this, GetEntry(startAt, __null ), backwards);}
const KeyType * GetKeyAt(uint32 index) const;
status_t GetKeyAt(uint32 index, KeyType & retKey) const;
status_t Put(const KeyType& key, const ValueType& value, ValueType & setPreviousValue, bool * optSetReplaced = __null );
status_t Put(const KeyType& key, const ValueType& value);
status_t Remove(const KeyType& key);
status_t Remove(const KeyType& key, ValueType & setRemovedValue);
void Clear();
void SetAutoSortMode(int mode, bool sortNow = 1 ) {_autoSortMode = mode; if (sortNow) (void) Sort();}
int GetAutoSortMode() const {return _autoSortMode;}
void SetCompareCookie(void * cookie) {_compareCookie = cookie;}
void * GetCompareCookie() const {return _compareCookie;}
void SetKeyCompareFunction(KeyCompareFunc func) {_userKeyCompareFunc = func;}
KeyCompareFunc GetKeyCompareFunction() const {return _userKeyCompareFunc;}
void SetValueCompareFunction(ValueCompareFunc func) {_userValueCompareFunc = func;}
ValueCompareFunc GetValueCompareFunction() const {return _userValueCompareFunc;}
void SwapContents(Hashtable<KeyType,ValueType,HashFunctorType> & swapMe);
status_t MoveToFront(const KeyType & moveMe);
status_t MoveToBack(const KeyType & moveMe);
status_t MoveToBefore(const KeyType & moveMe, const KeyType & toBeforeMe);
status_t MoveToBehind(const KeyType & moveMe, const KeyType & toBehindMe);
status_t Sort() {return SortByAux((_autoSortMode != AUTOSORT_BY_VALUE) ? _userKeyCompareFunc : __null , (_autoSortMode != AUTOSORT_BY_KEY) ? _userValueCompareFunc : __null , _compareCookie);}
void SortByKey(KeyCompareFunc func, void * optCompareCookie = __null ) {(void) SortByAux(func, __null , optCompareCookie);}
void SortByValue(ValueCompareFunc func, void * optCompareCookie = __null ) {(void) SortByAux(__null , func, optCompareCookie);}
private:
friend class HashtableIterator<KeyType, ValueType, HashFunctorType>;
class HashtableEntry
{
public:
HashtableEntry() : _next(__null ), _iterPrev(__null ), _iterNext(__null ), _valid(0 )
{
}
HashtableEntry(const HashtableEntry & rhs) : _iterPrev(__null ), _iterNext(__null )
{
*this = rhs;
}
~HashtableEntry()
{
}
HashtableEntry & operator=(const HashtableEntry & rhs)
{
_hash = rhs._hash;
_key = rhs._key;
_value = rhs._value;
_next = rhs._next;
_valid = rhs._valid;
return * this;
}
void Invalidate(const KeyType & defaultKey, const ValueType & defaultValue)
{
_key = defaultKey;
_value = defaultValue;
_valid = 0 ;
_next = _iterPrev = _iterNext = __null ;
}
uint32 _hash;
KeyType _key;
ValueType _value;
HashtableEntry* _next;
HashtableEntry* _iterPrev;
HashtableEntry* _iterNext;
bool _valid;
};
HashtableEntry * PutAux(const KeyType& key, const ValueType& value, ValueType * optSetPreviousValue, bool * optReplacedFlag);
status_t RemoveAux(const KeyType& key, ValueType * setRemovedValue);
status_t SortByAux(KeyCompareFunc optKeyFunc, ValueCompareFunc optValueFunc, void * cookie);
void InsertSortedIterationEntry(HashtableEntry * e, KeyCompareFunc optKeyFunc, ValueCompareFunc optValueCompareFunc, void * cookie);
void InsertIterationEntry(HashtableEntry * e, HashtableEntry * optBehindThisOne);
void RemoveIterationEntry(HashtableEntry * e);
HashtableEntry * GetEntry(const KeyType& key, HashtableEntry ** optRetPrev) const;
HashtableEntry * GetEntryAt(uint32 idx) const;
int CompareEntries(const HashtableEntry & left, const HashtableEntry & right, KeyCompareFunc optKeyFunc, ValueCompareFunc optValueFunc, void * cookie) const;
void RegisterIterator(HashtableIterator<KeyType,ValueType,HashFunctorType> * iter) const
{
iter->_prevIter = __null ;
iter->_nextIter = _iterList;
if (_iterList) _iterList->_prevIter = iter;
_iterList = iter;
}
void UnregisterIterator(HashtableIterator<KeyType,ValueType,HashFunctorType> * iter) const
{
if (iter->_prevIter) iter->_prevIter->_nextIter = iter->_nextIter;
if (iter->_nextIter) iter->_nextIter->_prevIter = iter->_prevIter;
if (iter == _iterList) _iterList = iter->_nextIter;
iter->_prevIter = iter->_nextIter = __null ;
}
KeyType * GetKeyFromCookie(void * c) const {return c ? &(((HashtableEntry *)c)->_key) : __null ;}
ValueType * GetValueFromCookie(void * c) const {return c ? &(((HashtableEntry *)c)->_value) : __null ;}
void IterateCookie(void ** c, bool backwards) const
{
HashtableEntry * entry = *((HashtableEntry **)c);
*c = entry ? (backwards ? entry->_iterPrev : entry->_iterNext) : __null ;
}
uint32 NextPrime(uint32 start) const;
status_t GrowTable();
uint32 _count;
uint32 _tableSize;
uint32 _threshold;
float _loadFactor;
HashtableEntry * _table;
HashtableEntry * _iterHead;
HashtableEntry * _iterTail;
KeyCompareFunc _userKeyCompareFunc;
ValueCompareFunc _userValueCompareFunc;
int _autoSortMode;
void * _compareCookie;
HashFunctorType _functor;
mutable HashtableIterator<KeyType, ValueType, HashFunctorType> * _iterList;
};
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::Hashtable(uint32 initialCapacity, float loadFactor)
: _count(0), _tableSize(initialCapacity), _threshold((uint32)(initialCapacity*loadFactor)), _loadFactor(loadFactor), _table(__null ), _iterHead(__null ), _iterTail(__null ), _userKeyCompareFunc(__null ), _userValueCompareFunc(__null ), _autoSortMode(AUTOSORT_DISABLED), _compareCookie(__null ), _iterList(__null )
{
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::
Hashtable(const Hashtable<KeyType,ValueType,HashFunctorType> & rhs)
: _count(0), _tableSize(rhs._tableSize), _threshold(rhs._threshold), _loadFactor(rhs._loadFactor), _table(__null ), _iterHead(__null ), _iterTail(__null ), _userKeyCompareFunc(rhs._userKeyCompareFunc), _userValueCompareFunc(rhs._userValueCompareFunc), _autoSortMode(rhs._autoSortMode), _compareCookie(rhs._compareCookie), _iterList(__null )
{
*this = rhs;
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType, ValueType, HashFunctorType> &
Hashtable<KeyType, ValueType, HashFunctorType> ::
operator=(const Hashtable<KeyType, ValueType, HashFunctorType> & rhs)
{
if (this != &rhs)
{
Clear();
HashtableIterator<KeyType, ValueType, HashFunctorType> iter = rhs.GetIterator();
const KeyType * nextKey;
while((nextKey = iter.GetNextKey()) != __null ) (void) Put(*nextKey, *iter.GetNextValue());
}
return *this;
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::~Hashtable()
{
Clear();
delete [] _table;
}
template <class KeyType, class ValueType, class HashFunctorType>
bool
Hashtable<KeyType,ValueType,HashFunctorType>::ContainsValue(const ValueType& value) const
{
HashtableIterator<KeyType, ValueType, HashFunctorType> iter = GetIterator();
ValueType * v;
while((v = iter.GetNextValue()) != __null ) if (*v == value) return 1 ;
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
bool
Hashtable<KeyType,ValueType,HashFunctorType>::ContainsKey(const KeyType& key) const
{
return (GetEntry(key, __null ) != __null );
}
template <class KeyType, class ValueType, class HashFunctorType>
int32
Hashtable<KeyType,ValueType,HashFunctorType>::IndexOfKey(const KeyType& key) const
{
const HashtableEntry * entry = GetEntry(key, __null );
int32 count = -1;
if (entry)
{
if (entry == _iterTail) count = GetNumItems()-1;
else
{
while(entry)
{
entry = entry->_iterPrev;
count++;
}
}
}
return count;
}
template <class KeyType, class ValueType, class HashFunctorType>
const KeyType *
Hashtable<KeyType,ValueType,HashFunctorType>::GetKeyAt(uint32 index) const
{
HashtableEntry * e = GetEntryAt(index);
return e ? &e->_key : __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::GetKeyAt(uint32 index, KeyType & retKey) const
{
HashtableEntry * e = GetEntryAt(index);
if (e)
{
retKey = e->_key;
return 0 ;
}
return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::Get(const KeyType& key, ValueType & setValue) const
{
ValueType * ptr = Get(key);
if (ptr)
{
setValue = *ptr;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
ValueType *
Hashtable<KeyType,ValueType,HashFunctorType>::Get(const KeyType& key) const
{
HashtableEntry * e = GetEntry(key, __null );
return e ? &e->_value : __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::HashtableEntry *
Hashtable<KeyType,ValueType,HashFunctorType>::GetEntry(const KeyType& key, HashtableEntry ** optRetPrev) const
{
if (_table)
{
uint32 hash = _functor(key);
HashtableEntry * e = &_table[hash % _tableSize];
if (e->_valid)
{
HashtableEntry * prev = __null ;
while(e)
{
if ((e->_hash == hash)&&((_userKeyCompareFunc) ? (_userKeyCompareFunc(e->_key, key, _compareCookie) == 0) : (e->_key == key)))
{
if (optRetPrev) *optRetPrev = prev;
return e;
}
prev = e;
e = e->_next;
}
}
}
return __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::HashtableEntry *
Hashtable<KeyType,ValueType,HashFunctorType>::GetEntryAt(uint32 idx) const
{
HashtableEntry * e = _iterHead;
while((e)&&(idx--)) e = e->_iterNext;
return e;
}
template <class KeyType, class ValueType, class HashFunctorType>
int
Hashtable<KeyType,ValueType,HashFunctorType>::CompareEntries(const HashtableEntry & left, const HashtableEntry & right, KeyCompareFunc optKeyFunc, ValueCompareFunc optValueFunc, void * cookie) const
{
return optValueFunc ? optValueFunc(left._value, right._value, cookie) : (optKeyFunc ? optKeyFunc(left._key, right._key, cookie) : 0);
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::SortByAux(KeyCompareFunc optKeyFunc, ValueCompareFunc optValueFunc, void * cookie)
{
if ((optKeyFunc)||(optValueFunc))
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * saveIterList = _iterList;
_iterList = __null ;
HashtableEntry * privList = __null ;
while(_iterHead)
{
HashtableEntry * temp = _iterHead;
RemoveIterationEntry(_iterHead);
temp->_iterNext = privList;
privList = temp;
}
while(privList)
{
HashtableEntry * next = privList->_iterNext;
InsertSortedIterationEntry(privList, optKeyFunc, optValueFunc, cookie);
privList = next;
}
_iterList = saveIterList;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::GrowTable()
{
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * nextIter = _iterList;
while(nextIter)
{
nextIter->_scratchSpace[0] = nextIter->_scratchSpace[1] = __null ;
nextIter = nextIter->_nextIter;
}
}
Hashtable<KeyType,ValueType,HashFunctorType> biggerTable(NextPrime(2*_tableSize), _loadFactor);
biggerTable.SetKeyCompareFunction(_userKeyCompareFunc);
biggerTable.SetValueCompareFunction(_userValueCompareFunc);
biggerTable.SetCompareCookie(_compareCookie);
biggerTable.SetAutoSortMode(_autoSortMode);
{
HashtableEntry * next = _iterHead;
while(next)
{
HashtableEntry * hisClone = biggerTable.PutAux(next->_key, next->_value, __null , __null );
if (hisClone)
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * nextIter = _iterList;
while(nextIter)
{
if (nextIter->_nextKeyCookie == next) nextIter->_scratchSpace[0] = hisClone;
if (nextIter->_nextValueCookie == next) nextIter->_scratchSpace[1] = hisClone;
nextIter = nextIter->_nextIter;
}
}
else return -1 ;
next = next->_iterNext;
}
}
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * temp = _iterList;
_iterList = __null ;
SwapContents(biggerTable);
_iterList = temp;
}
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * nextIter = _iterList;
while(nextIter)
{
nextIter->_nextKeyCookie = nextIter->_scratchSpace[0];
nextIter->_nextValueCookie = nextIter->_scratchSpace[1];
nextIter = nextIter->_nextIter;
}
}
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
void
Hashtable<KeyType,ValueType,HashFunctorType>::SwapContents(Hashtable<KeyType,ValueType,HashFunctorType> & swapMe)
{
muscleSwap(_count, swapMe._count);
muscleSwap(_tableSize, swapMe._tableSize);
muscleSwap(_threshold, swapMe._threshold);
muscleSwap(_loadFactor, swapMe._loadFactor);
muscleSwap(_table, swapMe._table);
muscleSwap(_iterHead, swapMe._iterHead);
muscleSwap(_iterTail, swapMe._iterTail);
muscleSwap(_userKeyCompareFunc, swapMe._userKeyCompareFunc);
muscleSwap(_userValueCompareFunc, swapMe._userValueCompareFunc);
muscleSwap(_autoSortMode, swapMe._autoSortMode);
muscleSwap(_compareCookie, swapMe._compareCookie);
muscleSwap(_iterList, swapMe._iterList);
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * next = _iterList;
while(next)
{
next->_owner = &swapMe;
next = next->_nextIter;
}
}
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * next = swapMe._iterList;
while(next)
{
next->_owner = this;
next = next->_nextIter;
}
}
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::MoveToFront(const KeyType & moveMe)
{
HashtableEntry * e = GetEntry(moveMe, __null );
if (e == __null ) return -1 ;
if (e->_iterPrev)
{
RemoveIterationEntry(e);
InsertIterationEntry(e, __null );
}
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::MoveToBack(const KeyType & moveMe)
{
HashtableEntry * e = GetEntry(moveMe, __null );
if (e == __null ) return -1 ;
if (e->_iterNext)
{
RemoveIterationEntry(e);
InsertIterationEntry(e, _iterTail);
}
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::MoveToBefore(const KeyType & moveMe, const KeyType & toBeforeMe)
{
HashtableEntry * e = GetEntry(moveMe, __null );
HashtableEntry * f = GetEntry(toBeforeMe, __null );
if ((e == __null )||(f == __null )||(e == f)) return -1 ;
if (e->_iterNext != f)
{
RemoveIterationEntry(e);
InsertIterationEntry(e, f->_iterPrev);
}
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::MoveToBehind(const KeyType & moveMe, const KeyType & toBehindMe)
{
HashtableEntry * d = GetEntry(toBehindMe, __null );
HashtableEntry * e = GetEntry(moveMe, __null );
if ((d == __null )||(e == __null )||(d == e)) return -1 ;
if (e->_iterPrev != d)
{
RemoveIterationEntry(e);
InsertIterationEntry(e, d);
}
return 0 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
void
Hashtable<KeyType,ValueType,HashFunctorType>::InsertSortedIterationEntry(HashtableEntry * e, KeyCompareFunc optKeyFunc, ValueCompareFunc optValueFunc, void * cookie)
{
HashtableEntry * insertAfter = _iterTail;
if ((_iterHead)&&((optKeyFunc)||(optValueFunc)))
{
if (CompareEntries(*e, *_iterHead, optKeyFunc, optValueFunc, cookie) < 0) insertAfter = __null ;
else if (CompareEntries(*e, *_iterTail, optKeyFunc, optValueFunc, cookie) < 0)
{
HashtableEntry * prev = _iterHead;
HashtableEntry * next = _iterHead->_iterNext;
while(next)
{
if (CompareEntries(*e, *next, optKeyFunc, optValueFunc, cookie) < 0)
{
insertAfter = prev;
break;
}
else
{
prev = next;
next = next->_iterNext;
}
}
}
}
InsertIterationEntry(e, insertAfter);
}
template <class KeyType, class ValueType, class HashFunctorType>
void
Hashtable<KeyType,ValueType,HashFunctorType>::InsertIterationEntry(HashtableEntry * e, HashtableEntry * optBehindThis)
{
e->_iterPrev = optBehindThis;
e->_iterNext = optBehindThis ? optBehindThis->_iterNext : _iterHead;
if (e->_iterPrev) e->_iterPrev->_iterNext = e;
else _iterHead = e;
if (e->_iterNext) e->_iterNext->_iterPrev = e;
else _iterTail = e;
}
template <class KeyType, class ValueType, class HashFunctorType>
void
Hashtable<KeyType,ValueType,HashFunctorType>::RemoveIterationEntry(HashtableEntry * e)
{
HashtableIterator<KeyType, ValueType, HashFunctorType> * next = _iterList;
while(next)
{
if (next->_nextKeyCookie == e) (void) next->GetNextKey();
if (next->_nextValueCookie == e) (void) next->GetNextValue();
next = next->_nextIter;
}
if (_iterHead == e) _iterHead = e->_iterNext;
if (_iterTail == e) _iterTail = e->_iterPrev;
if (e->_iterPrev) e->_iterPrev->_iterNext = e->_iterNext;
if (e->_iterNext) e->_iterNext->_iterPrev = e->_iterPrev;
e->_iterPrev = e->_iterNext = __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::Put(const KeyType& key, const ValueType& value)
{
return (PutAux(key, value, __null , __null ) != __null ) ? 0 : -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::Put(const KeyType& key, const ValueType& value, ValueType & setPreviousValue, bool * optReplacedFlag)
{
return (PutAux(key, value, &setPreviousValue, optReplacedFlag) != __null ) ? 0 : -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
Hashtable<KeyType,ValueType,HashFunctorType>::HashtableEntry *
Hashtable<KeyType,ValueType,HashFunctorType>::PutAux(const KeyType& key, const ValueType& value, ValueType * optSetPreviousValue, bool * optReplacedFlag)
{
if (optReplacedFlag) *optReplacedFlag = 0 ;
if (_table == __null )
{
_table = new (nothrow) HashtableEntry[_tableSize];
if (_table == __null ) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/Hashtable.h",1037) ; return __null ;}
}
uint32 hash = _functor(key);
uint32 index = hash % _tableSize;
HashtableEntry * e = GetEntry(key, __null );
if (e)
{
if (optSetPreviousValue) *optSetPreviousValue = e->_value;
if (optReplacedFlag) *optReplacedFlag = 1 ;
e->_value = value;
if ((_autoSortMode == AUTOSORT_BY_VALUE)&&(_userValueCompareFunc))
{
if ((e->_iterPrev)&&(_userValueCompareFunc(e->_value, e->_iterPrev->_value, _compareCookie) < 0))
{
const HashtableEntry * moveToBefore = e->_iterPrev;
while((moveToBefore->_iterPrev)&&(_userValueCompareFunc(e->_value, moveToBefore->_iterPrev->_value, _compareCookie) < 0)) moveToBefore = moveToBefore->_iterPrev;
(void) MoveToBefore(e->_key, moveToBefore->_key);
}
else if ((e->_iterNext)&&(_userValueCompareFunc(e->_value, e->_iterNext->_value, _compareCookie) > 0))
{
const HashtableEntry * moveToBehind = e->_iterNext;
while((moveToBehind->_iterNext)&&(_userValueCompareFunc(e->_value, moveToBehind->_iterNext->_value, _compareCookie) > 0)) moveToBehind = moveToBehind->_iterNext;
(void) MoveToBehind(e->_key, moveToBehind->_key);
}
}
return e;
}
if (_count >= _threshold) return (GrowTable() == 0 ) ? PutAux(key, value, optSetPreviousValue, optReplacedFlag) : __null ;
HashtableEntry * slot = &_table[index];
if (slot->_valid)
{
HashtableEntry * newEntry = new (nothrow) HashtableEntry();
if (newEntry == __null ) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/Hashtable.h",1077) ; return __null ;}
newEntry->_hash = hash;
newEntry->_key = key;
newEntry->_value = value;
newEntry->_valid = 1 ;
newEntry->_next = slot->_next;
slot->_next = newEntry;
InsertSortedIterationEntry(newEntry, (_autoSortMode == AUTOSORT_BY_KEY) ? _userKeyCompareFunc : __null , (_autoSortMode == AUTOSORT_BY_VALUE) ? _userValueCompareFunc : __null , _compareCookie);
e = newEntry;
}
else
{
slot->_hash = hash;
slot->_key = key;
slot->_value = value;
slot->_next = __null ;
slot->_valid = 1 ;
e = slot;
InsertSortedIterationEntry(slot, (_autoSortMode == AUTOSORT_BY_KEY) ? _userKeyCompareFunc : __null , (_autoSortMode == AUTOSORT_BY_VALUE) ? _userValueCompareFunc : __null , _compareCookie);
}
_count++;
return e;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::Remove(const KeyType& key)
{
return RemoveAux(key, __null );
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::Remove(const KeyType& key, ValueType & setValue)
{
return RemoveAux(key, &setValue);
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
Hashtable<KeyType,ValueType,HashFunctorType>::RemoveAux(const KeyType& key, ValueType * optSetValue)
{
HashtableEntry * prev;
HashtableEntry * e = GetEntry(key, &prev);
if (e)
{
if (optSetValue) *optSetValue = e->_value;
HashtableEntry * next = e->_next;
if (prev)
{
prev->_next = next;
RemoveIterationEntry(e);
delete e;
}
else
{
if (next)
{
RemoveIterationEntry(e);
{
e->_iterPrev = next->_iterPrev;
e->_iterNext = next->_iterNext;
if (e->_iterPrev) e->_iterPrev->_iterNext = e;
if (e->_iterNext) e->_iterNext->_iterPrev = e;
if (_iterHead == next) _iterHead = e;
if (_iterTail == next) _iterTail = e;
}
*e = *next;
e->_valid = 1 ;
HashtableIterator<KeyType, ValueType, HashFunctorType> * nextIter = _iterList;
while(nextIter)
{
if (nextIter->_nextKeyCookie == next) nextIter->_nextKeyCookie = e;
if (nextIter->_nextValueCookie == next) nextIter->_nextValueCookie = e;
nextIter = nextIter->_nextIter;
}
delete next;
}
else
{
RemoveIterationEntry(e);
KeyType blankKey = KeyType();
ValueType blankVal = ValueType();
e->Invalidate(blankKey, blankVal);
}
}
_count--;
return 0 ;
}
return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
void
Hashtable<KeyType,ValueType,HashFunctorType>::Clear()
{
if (_count > 0)
{
while(_iterList)
{
HashtableIterator<KeyType,ValueType,HashFunctorType> * next = _iterList->_nextIter;
*_iterList = HashtableIterator<KeyType,ValueType,HashFunctorType>();
_iterList = next;
}
KeyType blankKey = KeyType();
ValueType blankValue = ValueType();
while(_iterHead)
{
HashtableEntry * next = _iterHead->_iterNext;
if ((_iterHead >= _table)&&(_iterHead < _table+_tableSize)) _iterHead->Invalidate(blankKey, blankValue);
else delete _iterHead;
_iterHead = next;
}
_iterTail = __null ;
_count = 0;
}
}
template <class KeyType, class ValueType, class HashFunctorType>
uint32
Hashtable<KeyType,ValueType,HashFunctorType>::NextPrime(uint32 start) const
{
if (start % 2 == 0) start++;
uint32 i;
for(; ; start += 2)
{
for(i = 3; i * i <= start; i += 2) if (start % i == 0) break;
if (i * i > start) return start;
}
}
template <class KeyType, class ValueType, class HashFunctorType>
HashtableIterator<KeyType, ValueType, HashFunctorType>::HashtableIterator() : _nextKeyCookie(__null ), _nextValueCookie(__null ), _owner(__null )
{
}
template <class KeyType, class ValueType, class HashFunctorType>
HashtableIterator<KeyType, ValueType, HashFunctorType>::HashtableIterator(const HashtableIterator<KeyType, ValueType, HashFunctorType> & rhs) : _owner(__null )
{
*this = rhs;
}
template <class KeyType, class ValueType, class HashFunctorType>
HashtableIterator<KeyType, ValueType, HashFunctorType>::HashtableIterator(const Hashtable<KeyType, ValueType, HashFunctorType> & owner, void * startCookie, bool backwards) : _nextKeyCookie(startCookie), _nextValueCookie(startCookie), _backwards(backwards), _owner(&owner)
{
_owner->RegisterIterator(this);
}
template <class KeyType, class ValueType, class HashFunctorType>
HashtableIterator<KeyType, ValueType, HashFunctorType>::~HashtableIterator()
{
if (_owner) _owner->UnregisterIterator(this);
}
template <class KeyType, class ValueType, class HashFunctorType>
HashtableIterator<KeyType,ValueType,HashFunctorType> &
HashtableIterator<KeyType,ValueType,HashFunctorType>:: operator=(const HashtableIterator<KeyType,ValueType,HashFunctorType> & rhs)
{
if (_owner != rhs._owner)
{
if (_owner) _owner->UnregisterIterator(this);
_owner = rhs._owner;
if (_owner) _owner->RegisterIterator(this);
}
_backwards = rhs._backwards;
_nextKeyCookie = rhs._nextKeyCookie;
_nextValueCookie = rhs._nextValueCookie;
return *this;
}
template <class KeyType, class ValueType, class HashFunctorType>
bool
HashtableIterator<KeyType,ValueType,HashFunctorType>::HasMoreKeys() const
{
return (_nextKeyCookie != __null );
}
template <class KeyType, class ValueType, class HashFunctorType>
bool
HashtableIterator<KeyType,ValueType,HashFunctorType>::HasMoreValues() const
{
return (_nextValueCookie != __null );
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
HashtableIterator<KeyType,ValueType,HashFunctorType>::GetNextKey(KeyType& key)
{
const KeyType * ret = GetNextKey();
if (ret)
{
key = *ret;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
HashtableIterator<KeyType,ValueType,HashFunctorType>::GetNextValue(ValueType& val)
{
ValueType * ret = GetNextValue();
if (ret)
{
val = *ret;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
HashtableIterator<KeyType,ValueType,HashFunctorType>::PeekNextKey(KeyType& key) const
{
const KeyType * ret = PeekNextKey();
if (ret)
{
key = *ret;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
status_t
HashtableIterator<KeyType,ValueType,HashFunctorType>::PeekNextValue(ValueType& val) const
{
ValueType * ret = PeekNextValue();
if (ret)
{
val = *ret;
return 0 ;
}
else return -1 ;
}
template <class KeyType, class ValueType, class HashFunctorType>
ValueType *
HashtableIterator<KeyType,ValueType,HashFunctorType>::GetNextValue()
{
ValueType * val = PeekNextValue();
if (val)
{
_owner->IterateCookie(&_nextValueCookie, _backwards);
return val;
}
return __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
const KeyType *
HashtableIterator<KeyType,ValueType,HashFunctorType>::GetNextKey()
{
const KeyType * ret = PeekNextKey();
if (ret)
{
_owner->IterateCookie(&_nextKeyCookie, _backwards);
return ret;
}
return __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
ValueType *
HashtableIterator<KeyType,ValueType,HashFunctorType>::PeekNextValue() const
{
return (_owner) ? _owner->GetValueFromCookie(_nextValueCookie) : __null ;
}
template <class KeyType, class ValueType, class HashFunctorType>
const KeyType *
HashtableIterator<KeyType,ValueType,HashFunctorType>::PeekNextKey() const
{
return (_owner) ? _owner->GetKeyFromCookie(_nextKeyCookie) : __null ;
}
};
# 23 "../src/muscle/message/Message.h" 2
# 1 "../src/muscle/util/ByteBuffer.h" 1
# 1 "../src/muscle/util/FlatCountable.h" 1
namespace muscle {
class FlatCountable : public RefCountable, public Flattenable
{
public:
FlatCountable() { }
virtual ~FlatCountable() { }
};
typedef Ref<FlatCountable> FlatCountableRef;
};
# 7 "../src/muscle/util/ByteBuffer.h" 2
namespace muscle {
class ByteBuffer : public FlatCountable
{
public:
ByteBuffer(uint32 numBytes = 0, const void * buffer = __null , bool copyBuffer = 1 ) : _buffer(__null ), _numBytes(0) {(void) SetBuffer(numBytes, buffer, copyBuffer);}
ByteBuffer(const ByteBuffer & copyMe) : FlatCountable(), _buffer(__null ), _numBytes(0) {*this = copyMe;}
virtual ~ByteBuffer() {Clear();}
ByteBuffer &operator=(const ByteBuffer & rhs) {if (SetBuffer(rhs._numBytes, rhs._buffer) != 0 ) Clear(); return *this;}
void * GetBuffer() const {return _buffer;}
void * operator()() const {return _buffer;}
uint32 GetNumBytes() const {return _numBytes;}
int operator ==(const ByteBuffer &rhs) const {return (_numBytes == rhs._numBytes) ? (memcmp(_buffer, rhs._buffer, _numBytes) == 0) : 0 ;}
int operator !=(const ByteBuffer &rhs) const {return !(*this == rhs);}
status_t SetBuffer(uint32 numBytes = 0, const void * buffer = __null , bool copyBuffer = 1 )
{
Clear();
if (copyBuffer)
{
if (SetNumBytes(numBytes, 0 ) != 0 ) return -1 ;
if ((buffer)&&(_buffer)) memcpy(_buffer, buffer, numBytes);
}
else
{
_buffer = (void *)buffer;
_numBytes = numBytes;
}
return 0 ;
}
void Clear() {SetNumBytes(0, 0 );}
status_t SetNumBytes(uint32 newNumBytes, bool retainData)
{
if (newNumBytes != _numBytes)
{
uint8 * newBuf = __null ;
if (newNumBytes > 0)
{
newBuf = new (nothrow) uint8[newNumBytes];
if (newBuf == __null )
{
muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/util/ByteBuffer.h",95) ;
return -1 ;
}
}
if ((retainData)&&(newBuf)&&(_buffer)) memcpy(newBuf, _buffer, muscleMin(newNumBytes, _numBytes));
delete [] ((uint8*)_buffer);
_buffer = newBuf;
_numBytes = newNumBytes;
}
return 0 ;
}
void ReleaseBuffer() {_buffer = __null ; _numBytes = 0;}
virtual bool IsFixedSize() const {return 0 ;}
virtual type_code TypeCode() const {return B_RAW_TYPE;}
virtual uint32 FlattenedSize() const {return _numBytes;}
virtual void Flatten(uint8 *buffer) const {memcpy(buffer, _buffer, _numBytes);}
virtual bool AllowsTypeCode(type_code) const {return 1 ;}
virtual status_t Unflatten(const uint8 *buf, uint32 size) {return SetBuffer(size, buf);}
protected:
virtual status_t CopyToImplementation(Flattenable & copyTo) const {return copyTo.Unflatten((const uint8 *)_buffer, _numBytes);}
virtual status_t CopyFromImplementation(const Flattenable & copyFrom)
{
uint32 numBytes = copyFrom.FlattenedSize();
if (SetNumBytes(numBytes, 0 ) != 0 ) return -1 ;
copyFrom.Flatten((uint8*)_buffer);
return 0 ;
}
private:
void * _buffer;
uint32 _numBytes;
};
typedef Ref<ByteBuffer> ByteBufferRef;
};
# 24 "../src/muscle/message/Message.h" 2
namespace muscle {
class Message;
typedef Ref<Message> MessageRef;
const Message & GetEmptyMessage();
MessageRef::ItemPool * GetMessagePool();
MessageRef GetMessageFromPool(uint32 what = 0L);
MessageRef GetMessageFromPool(const Message & copyMe);
ByteBufferRef::ItemPool * GetByteBufferPool();
ByteBufferRef GetByteBufferFromPool(uint32 numBytes = 0, const void * buffer = __null , bool copyBuffer = 1 );
ByteBufferRef GetByteBufferFromPool(const ByteBuffer & copyMe);
class AbstractDataArray;
typedef Ref<AbstractDataArray> AbstractDataArrayRef;
class MessageFieldNameIterator : private HashtableIterator<String, AbstractDataArrayRef>
{
public:
MessageFieldNameIterator();
~MessageFieldNameIterator();
bool HasMoreFieldNames() const;
status_t GetNextFieldName(String & name);
const char * GetNextFieldName() {const String * r = GetNextFieldNameString(); return r ? r->Cstr() : __null ;}
const String * GetNextFieldNameString();
status_t PeekNextFieldName(String & name) const;
const char * PeekNextFieldName() const {const String * r = PeekNextFieldNameString(); return r ? r->Cstr() : __null ;}
const String * PeekNextFieldNameString() const;
private:
friend class Message;
MessageFieldNameIterator(const HashtableIterator<String, AbstractDataArrayRef> & iter, type_code tc);
type_code _typeCode;
};
class Message : public FlatCountable
{
public:
uint32 what;
Message();
Message(uint32 what);
Message(const Message & copyMe);
virtual ~Message();
Message &operator=(const Message &msg);
bool operator ==(const Message & rhs) const;
bool operator !=(const Message & rhs) const {return !(*this == rhs);}
status_t GetInfo(const String & name, type_code *type, uint32 *c = __null , bool *fixed_size = __null ) const;
uint32 CountNames(type_code type = B_ANY_TYPE) const;
bool IsEmpty() const;
void PrintToStream(bool recursive = 0 , int indentLevel = 0) const;
status_t Rename(const String & old_entry, const String & new_entry);
virtual bool IsFixedSize() const {return 0 ;}
virtual type_code TypeCode() const {return B_MESSAGE_TYPE;}
virtual uint32 FlattenedSize() const;
virtual void Flatten(uint8 *buffer) const;
virtual status_t Unflatten(const uint8 *buf, uint32 size);
status_t AddString(const String & name, const String & val);
status_t AddInt8(const String & name, int8 val);
status_t AddInt16(const String & name, int16 val);
status_t AddInt32(const String & name, int32 val);
status_t AddInt64(const String & name, int64 val);
status_t AddBool(const String & name, bool val);
status_t AddFloat(const String & name, float val);
status_t AddDouble(const String & name, double val);
status_t AddMessage(const String & name, const Message & msg) {return AddMessage(name, GetMessageFromPool(msg));}
status_t AddMessage(const String & name, MessageRef msgRef);
status_t AddPointer(const String & name, const void * ptr);
status_t AddPoint(const String & name, const Point & point);
status_t AddRect(const String & name, const Rect & rect);
status_t AddFlat(const String & name, const Flattenable &obj);
status_t AddFlat(const String & name, FlatCountableRef ref);
status_t AddTag(const String & name, GenericRef tagRef);
status_t AddData(const String & name, type_code type, const void *data, uint32 numBytes) {return AddDataAux(name, data, numBytes, type, 0 );}
status_t PrependString(const String & name, const String & val);
status_t PrependInt8(const String & name, int8 val);
status_t PrependInt16(const String & name, int16 val);
status_t PrependInt32(const String & name, int32 val);
status_t PrependInt64(const String & name, int64 val);
status_t PrependBool(const String & name, bool val);
status_t PrependFloat(const String & name, float val);
status_t PrependDouble(const String & name, double val);
status_t PrependMessage(const String & name, const Message & msg) {return PrependMessage(name, GetMessageFromPool(msg));}
status_t PrependMessage(const String & name, MessageRef msgRef);
status_t PrependPointer(const String & name, const void * ptr);
status_t PrependPoint(const String & name, const Point & point);
status_t PrependRect(const String & name, const Rect & rect);
status_t PrependFlat(const String & name, const Flattenable &obj);
status_t PrependFlat(const String & name, FlatCountableRef ref);
status_t PrependTag(const String & name, GenericRef tagRef);
status_t PrependData(const String & name, type_code type, const void *data, uint32 numBytes) {return AddDataAux(name, data, numBytes, type, 1 );}
status_t RemoveData(const String & name, uint32 index = 0);
status_t RemoveName(const String & name);
void Clear();
status_t FindString(const String & name, uint32 index, const char ** setMe) const;
status_t FindString(const String & name, const char ** setMe) const {return FindString(name, 0, setMe);}
status_t FindString(const String & name, uint32 index, String & setMe) const;
status_t FindString(const String & name, String & setMe) const {return FindString(name, 0, setMe);}
status_t FindInt8(const String & name, uint32 index, int8 *val) const {return FindDataItemAux(name, index, B_INT8_TYPE, val, sizeof(int8));}
status_t FindInt8(const String & name, int8 *value) const {return FindInt8(name, 0, value);}
status_t FindInt16(const String & name, uint32 index, int16 *val) const {return FindDataItemAux(name, index, B_INT16_TYPE, val, sizeof(int16));}
status_t FindInt16(const String & name, int16 *value) const {return FindInt16(name, 0, value);}
status_t FindInt32(const String & name, uint32 index, int32 *val) const {return FindDataItemAux(name, index, B_INT32_TYPE, val, sizeof(int32));}
status_t FindInt32(const String & name, int32 *value) const {return FindInt32(name, 0, value);}
status_t FindInt64(const String & name, uint32 index, int64 *val) const {return FindDataItemAux(name, index, B_INT64_TYPE, val, sizeof(int64));}
status_t FindInt64(const String & name, int64 *value) const {return FindInt64(name, 0, value);}
status_t FindBool(const String & name, uint32 index, bool *val) const {return FindDataItemAux(name, index, B_BOOL_TYPE, val, sizeof(bool));}
status_t FindBool(const String & name, bool *value) const {return FindBool(name, 0, value);}
status_t FindFloat(const String & name, uint32 index, float *val) const {return FindDataItemAux(name, index, B_FLOAT_TYPE, val, sizeof(float));}
status_t FindFloat(const String & name, float *f) const {return FindFloat(name, 0, f);}
status_t FindDouble(const String & name, uint32 index, double * val) const {return FindDataItemAux(name, index, B_DOUBLE_TYPE, val, sizeof(double));}
status_t FindDouble(const String & name, double *d) const {return FindDouble(name, 0, d);}
status_t FindMessage(const String & name, uint32 index, Message &msg) const;
status_t FindMessage(const String & name, Message &msg) const {return FindMessage(name, 0, msg);}
status_t FindMessage(const String & name, uint32 index, MessageRef &msgRef) const;
status_t FindMessage(const String & name, MessageRef &msgRef) const {return FindMessage(name, 0, msgRef);}
status_t FindPointer(const String & name, uint32 index, void ** val) const {return FindDataItemAux(name, index, B_POINTER_TYPE, val, sizeof(void *));}
status_t FindPointer(const String & name, void ** ptr) const {return FindPointer(name, 0, ptr);}
status_t FindPoint(const String & name, uint32 index, Point & point) const;
status_t FindPoint(const String & name, Point & point) const {return FindPoint(name, 0, point);}
status_t FindRect(const String & name, uint32 index, Rect & rect) const;
status_t FindRect(const String & name, Rect & rect) const {return FindRect(name, 0, rect);}
status_t FindFlat(const String & name, uint32 index, Flattenable &obj) const;
status_t FindFlat(const String & name, Flattenable &obj) const {return FindFlat(name, 0, obj);}
status_t FindFlat(const String & name, uint32 index, FlatCountableRef & ref) const;
status_t FindFlat(const String & name, FlatCountableRef &ref) const {return FindFlat(name, 0, ref);}
status_t FindTag(const String & name, uint32 index, GenericRef & tagRef) const;
status_t FindTag(const String & name, GenericRef &tagRef) const {return FindTag(name, 0, tagRef);}
status_t FindData(const String & name, type_code type, uint32 index, const void **data, uint32 *numBytes) const;
status_t FindData(const String & name, type_code type, const void **data, uint32 *numBytes) const {return FindData(name, type, 0, data, numBytes);}
status_t FindDataPointer(const String & name, type_code type, uint32 index, void **data, uint32 *numBytes) const;
status_t FindDataPointer(const String & name, type_code type, void **data, uint32 *numBytes) const {return FindDataPointer(name, type, 0, data, numBytes);}
status_t ReplaceString(bool okayToAdd, const String & name, uint32 index, const String & newString);
status_t ReplaceString(bool okayToAdd, const String & name, const String & newString) {return ReplaceString(okayToAdd, name, 0, newString);}
status_t ReplaceInt8(bool okayToAdd, const String & name, uint32 index, int8 val);
status_t ReplaceInt8(bool okayToAdd, const String & name, int8 val) {return ReplaceInt8(okayToAdd, name, 0, val);}
status_t ReplaceInt16(bool okayToAdd, const String & name, uint32 index, int16 val);
status_t ReplaceInt16(bool okayToAdd, const String & name, int16 val) {return ReplaceInt16(okayToAdd, name, 0, val);}
status_t ReplaceInt32(bool okayToAdd, const String & name, uint32 index, int32 val);
status_t ReplaceInt32(bool okayToAdd, const String & name, int32 val) {return ReplaceInt32(okayToAdd, name, 0, val);}
status_t ReplaceInt64(bool okayToAdd, const String & name, uint32 index, int64 val);
status_t ReplaceInt64(bool okayToAdd, const String & name, int64 val) {return ReplaceInt64(okayToAdd, name, 0, val);}
status_t ReplaceBool(bool okayToAdd, const String & name, uint32 index, bool val);
status_t ReplaceBool(bool okayToAdd, const String & name, bool val) {return ReplaceBool(okayToAdd, name, 0, val);}
status_t ReplaceFloat(bool okayToAdd, const String & name, uint32 index, float val);
status_t ReplaceFloat(bool okayToAdd, const String & name, float val) {return ReplaceFloat(okayToAdd, name, 0, val);}
status_t ReplaceDouble(bool okayToAdd, const String & name, uint32 index, double val);
status_t ReplaceDouble(bool okayToAdd, const String & name, double val) {return ReplaceDouble(okayToAdd, name, 0, val);}
status_t ReplacePointer(bool okayToAdd, const String & name, uint32 index, const void * ptr);
status_t ReplacePointer(bool okayToAdd, const String & name, const void * ptr) {return ReplacePointer(okayToAdd, name, 0, ptr);}
status_t ReplacePoint(bool okayToAdd, const String & name, uint32 index, const Point & point);
status_t ReplacePoint(bool okayToAdd, const String & name, const Point & point) {return ReplacePoint(okayToAdd, name, 0, point);}
status_t ReplaceRect(bool okayToAdd, const String & name, uint32 index, const Rect & rect);
status_t ReplaceRect(bool okayToAdd, const String & name, const Rect & rect) {return ReplaceRect(okayToAdd, name, 0, rect);}
status_t ReplaceMessage(bool okayToAdd, const String & name, uint32 index, const Message &msg) {return ReplaceMessage(okayToAdd, name, index, GetMessageFromPool(msg));}
status_t ReplaceMessage(bool okayToAdd, const String & name, const Message &msg) {return ReplaceMessage(okayToAdd, name, 0, msg);}
status_t ReplaceMessage(bool okayToAdd, const String & name, uint32 index, MessageRef msgRef);
status_t ReplaceMessage(bool okayToAdd, const String & name, MessageRef msgRef) {return ReplaceMessage(okayToAdd, name, 0, msgRef);}
status_t ReplaceFlat(bool okayToAdd, const String & name, uint32 index, const Flattenable &obj);
status_t ReplaceFlat(bool okayToAdd, const String & name, const Flattenable &obj) {return ReplaceFlat(okayToAdd, name, 0, obj);}
status_t ReplaceFlat(bool okayToAdd, const String & name, uint32 index, FlatCountableRef ref);
status_t ReplaceFlat(bool okayToAdd, const String & name, FlatCountableRef &ref) {return ReplaceFlat(okayToAdd, name, 0, ref);}
status_t ReplaceTag(bool okayToAdd, const String & name, uint32 index, GenericRef tag);
status_t ReplaceTag(bool okayToAdd, const String & name, GenericRef tag) {return ReplaceTag(okayToAdd, name, 0, tag);}
status_t ReplaceData(bool okayToAdd, const String & name, type_code type, uint32 index, const void *data, uint32 numBytes);
status_t ReplaceData(bool okayToAdd, const String & name, type_code type, const void *data, uint32 numBytes) {return ReplaceData(okayToAdd, name, type, 0, data, numBytes);}
bool HasName(const String & fieldName, type_code type = B_ANY_TYPE) const {return (GetArray(fieldName, type) != __null );}
uint32 GetNumValuesInName(const String & fieldName, type_code type = B_ANY_TYPE) const;
status_t MoveName(const String & name, Message &moveTo);
status_t CopyName(const String & name, Message ©To) const;
MessageFieldNameIterator GetFieldNameIterator(type_code type = B_ANY_TYPE) const {return MessageFieldNameIterator(_entries.GetIterator(), type);}
protected:
virtual status_t CopyToImplementation(Flattenable & copyTo) const;
virtual status_t CopyFromImplementation(const Flattenable & copyFrom);
private:
status_t AddDataAux(const String &name, type_code type, const void *data, uint32 numBytes, bool prepend);
uint32 GetElementSize(type_code type) const;
AbstractDataArray * GetArray(const String & arrayName, type_code etc) const;
AbstractDataArrayRef GetArrayRef(const String & arrayName, type_code etc) const;
AbstractDataArray * GetOrCreateArray(const String & arrayName, type_code tc);
status_t AddFlatBuffer(const String & name, const Flattenable & flat, type_code etc, bool prepend);
status_t AddFlatRef(const String & name, FlatCountableRef flat, type_code etc, bool prepend);
status_t AddDataAux(const String & name, const void * data, uint32 size, type_code etc, bool prepend);
status_t FindFlatAux(const String & name, uint32 index, Flattenable & flat) const;
status_t FindDataItemAux(const String & name, uint32 index, type_code tc, void * setValue, uint32 valueSize) const;
status_t ReplaceFlatItemBuffer(bool okayToAdd, const String & name, uint32 index, const Flattenable & flat, type_code tc);
status_t ReplaceDataAux(bool okayToAdd, const String & name, uint32 index, void * dataBuf, uint32 bufSize, type_code tc);
bool FieldsAreSubsetOf(const Message & rhs, bool compareData) const;
friend class MessageFieldNameIterator;
Hashtable<String, AbstractDataArrayRef> _entries;
};
};
# 11 "../src/muscle/iogateway/AbstractMessageIOGateway.h" 2
# 1 "../src/muscle/util/NetworkUtilityFunctions.h" 1
namespace muscle {
const uint32 localhostIP = ((((uint32)127)<<24)|((uint32)1));
uint32 GetHostByName(const char * name);
int Connect(const char * hostName, uint16 port, const char * debugTitle = __null , bool debugOutputOnErrorsOnly = 1 );
int Connect(uint32 hostIP, uint16 port, const char * debugHostName = __null , const char * debugTitle = __null , bool debugOutputOnErrorsOnly = 1 );
int Accept(int socket);
int ConnectAsync(uint32 hostIP, uint16 port, bool & retIsReady);
status_t FinalizeAsyncConnect(int socket);
void CloseSocket(int socket);
int CreateAcceptingSocket(uint16 port, int maxbacklog = 20, uint16 * optRetPort = __null , uint32 optFrom = 0);
String Inet_NtoA(uint32 address);
uint32 Inet_AtoN(const char * buf);
uint32 GetPeerIPAddress(int socket);
status_t BecomeDaemonProcess(const char * optNewDir = __null , const char * optOutputTo = "/dev/null", bool createOutputFileIfNecessary = 0 );
status_t SpawnDaemonProcess(bool & returningAsParent, const char * optNewDir = __null , const char * optOutputTo = "/dev/null", bool createOutputFileIfNecessary = 0 );
status_t CreateConnectedSocketPair(int & retSocket1, int & retSocket2, bool blocking = 0 );
status_t SetSocketBlockingEnabled(int socket, bool enabled);
status_t Snooze64(uint64 microseconds);
void SetLocalHostIPOverride(uint32 ip);
uint32 GetLocalHostIPOverride();
};
# 14 "../src/muscle/iogateway/AbstractMessageIOGateway.h" 2
# 1 "../src/muscle/util/PulseNode.h" 1
namespace muscle {
class PulseNode;
class PulseNodeManager;
class PulseNode
{
public:
PulseNode();
virtual ~PulseNode();
virtual uint64 GetPulseTime(uint64 now, uint64 prevResult);
virtual void Pulse(uint64 now, uint64 scheduledTime);
virtual void Tick(uint64 now);
status_t PutPulseChild(PulseNode * child);
status_t RemovePulseChild(PulseNode * child);
void ClearPulseChildren();
bool ContainsPulseChild(PulseNode * child) const {return _children.ContainsKey(child);}
HashtableIterator<PulseNode *, bool> GetPulseChildrenIterator() const {return _children.GetIterator();}
protected:
void InvalidatePulseTime(bool clearPrevResult = 1 );
private:
void GetPulseTimeAux(uint64 now, uint64 & managerPulseTime);
void PulseAux(uint64 now);
void InvalidateGroupPulseTime();
PulseNode * _parent;
bool _nextPulseAtValid;
uint64 _nextPulseAt;
bool _localPulseAtValid;
uint64 _localPulseAt;
Hashtable<PulseNode *, bool> _children;
friend class PulseNodeManager;
};
class PulseNodeManager
{
public:
PulseNodeManager() { }
~PulseNodeManager() { }
protected:
inline void CallGetPulseTimeAux(PulseNode & p, uint64 now, uint64 & spt) {p.GetPulseTimeAux(now, spt);}
inline void CallPulseAux(PulseNode & p, uint64 now) {p.PulseAux(now);}
};
};
# 15 "../src/muscle/iogateway/AbstractMessageIOGateway.h" 2
namespace muscle {
class AbstractMessageIOGateway : public RefCountable, public PulseNode
{
public:
AbstractMessageIOGateway();
virtual ~AbstractMessageIOGateway();
status_t AddOutgoingMessage(const MessageRef & messageRef);
status_t GetNextIncomingMessage(MessageRef & setRef);
virtual int32 DoOutput(uint32 maxBytes = ((uint32)-1) ) = 0;
virtual int32 DoInput(uint32 maxBytes = ((uint32)-1) ) = 0;
virtual bool IsReadyForInput() const;
virtual bool HasBytesToOutput() const = 0;
virtual uint64 GetOutputStallLimit() const;
virtual void Shutdown();
bool HasIncomingMessagesReady() const;
void SetFlushOnEmpty(bool flush);
bool GetFlushOnEmpty() const {return _flushOnEmpty;}
Queue<MessageRef> & GetOutgoingMessageQueue() {return _outgoingMessages;}
Queue<MessageRef> & GetIncomingMessageQueue() {return _incomingMessages;}
const Queue<MessageRef> & GetOutgoingMessageQueue() const {return _outgoingMessages;}
const Queue<MessageRef> & GetIncomingMessageQueue() const {return _incomingMessages;}
void SetDataIO(DataIORef ref) {_ioRef = ref;}
protected:
status_t EnsureBufferSize(uint8 ** bufPtr, uint32 * bufSize, uint32 desiredSize, uint32 copySize);
DataIO * GetDataIO() const {return _ioRef();}
DataIORef GetDataIORef() const {return _ioRef;}
bool IsHosed() const {return _hosed;}
void SetHosed() {_hosed = 1 ;}
private:
Queue<MessageRef> _outgoingMessages;
Queue<MessageRef> _incomingMessages;
DataIORef _ioRef;
bool _hosed;
bool _flushOnEmpty;
friend class ReflectServer;
};
typedef Ref<AbstractMessageIOGateway> AbstractMessageIOGatewayRef;
};
# 7 "../src/muscle/iogateway/AbstractMessageIOGateway.cpp" 2
namespace muscle {
AbstractMessageIOGateway :: AbstractMessageIOGateway() : _hosed(0 ), _flushOnEmpty(1 )
{
}
AbstractMessageIOGateway :: ~AbstractMessageIOGateway()
{
}
status_t
AbstractMessageIOGateway ::
AddOutgoingMessage(const MessageRef & messageRef)
{
return _hosed ? -1 : _outgoingMessages.AddTail(messageRef);
}
status_t
AbstractMessageIOGateway ::
GetNextIncomingMessage(MessageRef & setRef)
{
return _incomingMessages.RemoveHead(setRef);
}
bool
AbstractMessageIOGateway ::
HasIncomingMessagesReady() const
{
return (_incomingMessages.GetNumItems() > 0);
}
status_t
AbstractMessageIOGateway ::
EnsureBufferSize(uint8 ** bufPtr, uint32 * bufSize, uint32 desiredSize, uint32 copySize)
{
uint8 * oldBuffer = *bufPtr;
uint32 oldBufSize = *bufSize;
if ((oldBuffer == __null )||(oldBufSize < desiredSize))
{
uint8 * newBuffer = new (nothrow) uint8[desiredSize];
if (newBuffer == __null ) {muscle::LogTime(muscle::MUSCLE_LOG_CRITICALERROR, "ERROR--OUT OF MEMORY! (%s:%i)\n","../src/muscle/iogateway/AbstractMessageIOGateway.cpp",60) ; return -1 ;}
*bufPtr = newBuffer;
*bufSize = desiredSize;
if (copySize > 0) memcpy(newBuffer, oldBuffer, copySize);
delete [] oldBuffer;
}
return 0 ;
}
void
AbstractMessageIOGateway ::
SetFlushOnEmpty(bool f)
{
_flushOnEmpty = f;
}
bool
AbstractMessageIOGateway ::
IsReadyForInput() const
{
return 1 ;
}
uint64
AbstractMessageIOGateway ::
GetOutputStallLimit() const
{
return _ioRef() ? _ioRef()->GetOutputStallLimit() : ((uint64)-1) ;
}
void
AbstractMessageIOGateway ::
Shutdown()
{
if (_ioRef()) _ioRef()->Shutdown();
}
};
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-09-17 4:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-16 21:36 c++/7943: Compilation gives many strange errors postmaster
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).