%%advapi32.dll

%long

ACCESS_MASK
ALG_ID
BOOL
BYTE
DWORD
HANDLE
HCRYPTHASH
HCRYPTKEY
HCRYPTPROV
HKEY
LONG
NTSTATUS
POLICY_INFORMATION_CLASS
REGSAM
SC_HANDLE
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SERVICE_STATUS_HANDLE
TOKEN_INFORMATION_CLASS
ULONG
WORD

%long --extension

LSA_HANDLE

%ptr

BYTE *
DWORD *
FILETIME *
HANDLE *
HCRYPTHASH *
HCRYPTKEY *
HCRYPTPROV *
LPBOOL
LPBYTE
LPCSTR *
LPCWSTR *
LPDWORD
LPENUM_SERVICE_STATUSA
LPENUM_SERVICE_STATUSW
LPHANDLER_FUNCTION
LPHW_PROFILE_INFOA
LPLONG
LPSECURITY_ATTRIBUTES
LPSERVICE_STATUS
LPSERVICE_TABLE_ENTRYA
LPSERVICE_TABLE_ENTRYW
LPVOID
LPVOID *
PACL
PACL *
PBOOL
PDWORD
PGENERIC_MAPPING
PHANDLE
PHKEY
PLSA_HANDLE
PLSA_OBJECT_ATTRIBUTES
PLSA_REFERENCED_DOMAIN_LIST *
PLSA_TRANSLATED_NAME *
PLSA_UNICODE_STRING
PLUID
PPRIVILEGE_SET
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR_CONTROL
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSID_NAME_USE
PUCHAR
PVOID
PVOID *
PVALENTA
PVALENTW
SECURITY_ATTRIBUTES *
SECURITY_DESCRIPTOR *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%avicap32.dll

%long

BOOL
DWORD
HWND
INT
WORD

%str

LPSTR
LPCSTR

%wstr

LPCWSTR
LPWSTR

%%avifil32.dll

%long

BOOL
DWORD
HRESULT
HWND
INT
LONG
UINT
ULONG

%ptr

CLSID *
LPAVICOMPRESSOPTIONS *
LPAVICOMPRESSOPTIONS
LPAVIFILEINFOA
LPAVIFILEINFOW
LPAVISTREAMINFOA
LPAVISTREAMINFOW
LPBITMAPINFOHEADER
LPCLSID
LPLONG
LPVOID *
LPVOID
PAVIFILE
PAVIFILE *
PAVISTREAM
PAVISTREAM *
PGETFRAME
REFIID

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%comcat.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%comctl32.dll

%long

BOOL
CHAR
COLORREF
DWORD
DWORD_PTR
HANDLE
HBITMAP
HDC
HDPA
HDSA
HICON
HIMAGELIST
HINSTANCE
HMENU
HPROPSHEETPAGE
HRESULT
HWND
INT
LANGID
LPARAM
LRESULT
UINT
UINT_PTR
WORD
WPARAM
int

%longlong

POINT

%ptr

DLLVERSIONINFO *
DPAENUMPROC
DPALOADPROC
DSAENUMPROC
DWORD_PTR *
HDPA *
IMAGEINFO *
IMAGELISTDRAWPARAMS *
INT *
IStream *
LPCOLDTBBUTTON
LPCOLORMAP
LPCPROPSHEETHEADERA
LPCPROPSHEETHEADERW
LPCPROPSHEETPAGEA
LPCPROPSHEETPAGEW
LPCREATEMRULISTA
LPCREATEMRULISTW
LPCTBBUTTON
LPCVOID
LPINITCOMMONCONTROLSEX
LPINT
LPNMHDR
LPRECT
LPSCROLLINFO
LPSTR *
LPSTREAM
LPVOID
LPWSTR *
PFNDPACOMPARE
PFNDPAMERGE
POINT *
RECT *
SMOOTHSCROLLSTRUCT *
SUBCLASSPROC
TRACKMOUSEEVENT *
UINT *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%comdlg32.dll

%long

BOOL
DWORD
HRESULT
HWND
UINT
short

%ptr

LPCHOOSECOLORA
LPCHOOSECOLORW
LPCHOOSEFONTA
LPCHOOSEFONTW
LPFINDREPLACEA
LPFINDREPLACEW
LPOPENFILENAMEA
LPOPENFILENAMEW
LPPAGESETUPDLGA
LPPAGESETUPDLGW
LPPRINTDLGA
LPPRINTDLGW
LPVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%crtdll.dll

%long

int
size_t
unsigned int

%ptr

char *
char ***
int *
struct crtdll_stat *

%void

void

%%crypt32.dll

%long

BOOL
DWORD
HANDLE

%ptr

BYTE *
DWORD *
GUID *
SIP_ADD_NEWPROVIDER *
SIP_DISPATCH_INFO *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR

%%d3d8.dll

%long

HRESULT
UINT

%ptr

IDirect3D8 *

%%dciman32.dll

%long

HDC

%void

void

%%ddraw.dll

%long

DWORD
HRESULT

%ptr

LPDDENUMCALLBACKA
LPDDENUMCALLBACKEXA
LPDDENUMCALLBACKEXW
LPDDENUMCALLBACKW
LPDIRECTDRAW *
LPDIRECTDRAWCLIPPER *
LPGUID
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFIID

%%dinput.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPDIRECTINPUTA *
LPUNKNOWN
LPVOID *
REFCLSID
REFIID

%%dinput8.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPUNKNOWN
LPVOID *
REFCLSID
REFIID

%%dplayx.dll

%long

DWORD
HRESULT

%ptr

IUnknown *
LPDIRECTPLAY2 *
LPDIRECTPLAYLOBBY *
LPDIRECTPLAYLOBBYA *
LPDPENUMDPCALLBACKA
LPDPENUMDPCALLBACKW
LPGUID
LPVOID
LPVOID *
REFCLSID
REFIID

%%dsound.dll

%long

DWORD
HRESULT

%ptr

IUnknown *
LPCGUID
LPDIRECTSOUND8 *
LPDIRECTSOUNDCAPTURE *
LPDSENUMCALLBACKA
LPDSENUMCALLBACKW
LPUNKNOWN
LPVOID
LPVOID *
REFCLSID
REFGUID
REFIID

%%gdi32.dll

%long

BOOL
COLORREF
DWORD
FLOAT
HANDLE
HBITMAP
HBRUSH
HCOLORSPACE
HDC
HENHMETAFILE
HFONT
HGDIOBJ
HGLOBAL
HMETAFILE
HPALETTE
HPEN
HRGN
HWND
INT
LONG
LPARAM
UINT
WORD

%long --extension

BOOL16
HDC16
HMETAFILE16
HPJOB16
HRGN16
INT16
int

%ptr

ABORTPROC
BITMAP *
BITMAPINFO *
BITMAPINFOHEADER *
BYTE *
COLORADJUSTMENT *
DCHOOKPROC
DEVMODEA *
DEVMODEW *
DOCINFOA *
DOCINFOW *
DWORD *
ENHMETARECORD *
ENHMFENUMPROC
FONTENUMPROCA
FONTENUMPROCEXA
FONTENUMPROCEXW
FONTENUMPROCW
GCP_RESULTSA *
GCP_RESULTSW *
GOBJENUMPROC
HANDLETABLE *
INT *
LINEDDAPROC
LOGBRUSH *
LOGFONTA *
LOGFONTW *
LOGPALETTE *
LOGPEN *
LPABC
LPABCFLOAT
LPBYTE
LPCHARSETINFO
LPCOLORADJUSTMENT
LPCVOID
LPDEVMODEA
LPDWORD
LPENHMETAHEADER
LPFONTSIGNATURE
LPGLYPHMETRICS
LPHANDLETABLE
LPINT
LPKERNINGPAIR
LPLOGCOLORSPACEA
LPLOGCOLORSPACEW
LPLOGFONTA
LPLOGFONTW
LPOUTLINETEXTMETRICA
LPOUTLINETEXTMETRICW
LPPALETTEENTRY
LPPIXELFORMATDESCRIPTOR
LPPOINT
LPRASTERIZER_STATUS
LPRECT
LPRGNDATA
LPSIZE
LPVOID
LPVOID *
LPWORD
LPXFORM
MAT2 *
METAFILEPICT *
METARECORD *
MFENUMPROC
PALETTEENTRY *
PFLOAT
PIXELFORMATDESCRIPTOR *
POINT *
PPOLYTEXTA
PPOLYTEXTW
PVOID
RECT *
RGBQUAD *
RGNDATA *
TEXTMETRICA *
TEXTMETRICW *
WORD *
XFORM *
void *

%ptr --extension

DC *
FARPROC16

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%glu32.dll

%double

double

%long

int

%ptr

char *
void *

%%icmp.dll

%long

BOOL
DWORD
HANDLE
IPAddr
WORD

%ptr

LPVOID
PIP_OPTION_INFORMATION

%%imaadp32.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%imagehlp.dll

%long

BOOL
BOOLEAN
DWORD
HANDLE
HMODULE
ULONG
USHORT
WORD

%ptr

DIGEST_FUNCTION
DIGEST_HANDLE
LPDWORD
LPSYSTEMTIME
LPVOID
PAPI_VERSION
PCHAR
PCHAR *
PDWORD
PENUMLOADED_MODULES_CALLBACK
PFUNCTION_TABLE_ACCESS_ROUTINE
PGET_MODULE_BASE_ROUTINE
PIMAGEHLP_MODULE
PIMAGEHLP_STATUS_ROUTINE
PIMAGEHLP_SYMBOL
PIMAGE_DEBUG_INFORMATION
PIMAGE_LOAD_CONFIG_DIRECTORY
PIMAGE_NT_HEADERS
PIMAGE_SECTION_HEADER
PIMAGE_SECTION_HEADER *
PLOADED_IMAGE
PREAD_PROCESS_MEMORY_ROUTINE
PSTACKFRAME
PSYMBOL_REGISTERED_CALLBACK
PSYM_ENUMMODULES_CALLBACK
PSYM_ENUMSYMBOLS_CALLBACK
PTRANSLATE_ADDRESS_ROUTINE
PULONG
PVOID
PWIN_CERTIFICATE
ULONG *

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPWSTR

%%imm32.dll

%long

BOOL
DWORD
HIMC
HKL
HWND
LONG
LPARAM
LRESULT
UINT
WPARAM

%ptr

LPCANDIDATEFORM
LPCANDIDATELIST
LPCOMPOSITIONFORM
LPCVOID
LPDWORD
LPLOGFONTA
LPLOGFONTW
LPPOINT
LPSTYLEBUFA
LPSTYLEBUFW
LPVOID
REGISTERWORDENUMPROCA
REGISTERWORDENUMPROCW

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%joystick.drv

%long

DWORD
HDRVR
LONG

%%kernel32.dll

%long

ATOM
BOOL
BYTE
CALID
CALTYPE
CHAR
COORD
DWORD
EXECUTION_STATE
HANDLE
HFILE
HGLOBAL
HINSTANCE
HLOCAL
HMODULE
HRSRC
INT
LANGID
LCID
LCTYPE
LONG
SIZE_T
UINT
ULONG
WCHAR
WORD
WOW_HANDLE_TYPE
int
unsigned char

%long --extension

BOOL16
HANDLE16
HGLOBAL16
HINSTANCE16
HLOCAL16
HMODULE16
HQUEUE16
HRSRC16
HTASK16
INT16
UINT16

%long --pointer

ULONG_PTR

%longlong

DWORDLONG

%ptr

BOOL *
BY_HANDLE_FILE_INFORMATION *
CALINFO_ENUMPROCA
CHAR_INFO *
CODEPAGE_ENUMPROCA
CODEPAGE_ENUMPROCW
COMPUTER_NAME_FORMAT
CONTEXT *
CONTEXT86 *
CRITICAL_SECTION *
CURRENCYFMTA *
CURRENCYFMTW *
DATEFMT_ENUMPROCA
DATEFMT_ENUMPROCW
DOS_DEVICE *
DWORD *
ENUMRESLANGPROCA
ENUMRESLANGPROCW
ENUMRESNAMEPROCA
ENUMRESNAMEPROCW
ENUMRESTYPEPROCA
ENUMRESTYPEPROCW
FARPROC
FARPROC *
FILETIME *
FINDEX_INFO_LEVELS
FINDEX_SEARCH_OPS
GET_FILEEX_INFO_LEVELS
HANDLE *
INPUT_RECORD *
LARGE_INTEGER *
LOCALE_ENUMPROCA
LOCALE_ENUMPROCW
LONG *
LPBOOL
LPBYTE
LPCHAR_INFO
LPCOMMCONFIG
LPCOMMPROP
LPCOMMTIMEOUTS
LPCOMSTAT
LPCONSOLE_CURSOR_INFO
LPCONSOLE_SCREEN_BUFFER_INFO
LPCPINFO
LPCVOID
LPDCB
LPDEBUG_EVENT
LPDWORD
LPFILETIME
LPINPUT_RECORD
LPLDT_ENTRY
LPMEMORYSTATUS
LPMODULEENTRY32
LPOSVERSIONINFOEXA
LPOSVERSIONINFOEXW
LPOVERLAPPED
LPOVERLAPPED *
LPOVERLAPPED_COMPLETION_ROUTINE
LPPROCESSENTRY32
LPPROCESS_HEAP_ENTRY
LPPROCESS_INFORMATION
LPPROGRESS_ROUTINE
LPSECURITY_ATTRIBUTES
LPSMALL_RECT
LPSTARTUPINFOA
LPSTARTUPINFOW
LPSTR *
LPSYSTEMTIME
LPSYSTEM_INFO
LPSYSTEM_POWER_STATUS
LPTHREADENTRY32
LPTHREAD_START_ROUTINE
LPTIME_ZONE_INFORMATION
LPTOP_LEVEL_EXCEPTION_FILTER
LPVOID
LPVOID *
LPWORD
LPWSTR *
NUMBERFMTA *
NUMBERFMTW *
OFSTRUCT *
OSVERSIONINFOA *
OSVERSIONINFOW *
PAPCFUNC
PBOOL
PDWORD
PEXCEPTION_POINTERS
PHANDLE
PHANDLER_ROUTINE
PLARGE_INTEGER
PLONG
PMEMORY_BASIC_INFORMATION
PSIZE_T
PVOID
PTIMERAPCROUTINE
PULARGE_INTEGER
SECURITY_ATTRIBUTES *
SIZE_T *
SYSLEVEL *
SYSLEVEL **
SYSTEMTIME *
TIMEFMT_ENUMPROCA
TIMEFMT_ENUMPROCW
WAITORTIMERCALLBACK
WIN32_FIND_DATAA *
WIN32_FIND_DATAW *
WORD *
struct ThunkDataCommon *
va_list
va_list *
void *

%ptr --extension

BUILTIN16_DESCRIPTOR *
FARPROC16
UINT16 *
SEGPTR
struct DPMI_segments *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%lz32.dll

%long

HFILE
INT
LONG
UINT

%ptr

LPOFSTRUCT
LPVOID

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%mapi32.dll

%long

FLAGS
HRESULT
ULONG

%ptr

LPLHANDLE
LPVOID
LPVOID *
VOID *

%str

LPSTR

%void

VOID

%%mcianim.drv

%long

DWORD
HDRVR
LONG

%%mciavi.drv

%long

DWORD
HDRVR
LONG

%%mcicda.drv

%long

DWORD
HDRVR
LONG

%%mciseq.drv

%long

DWORD
HDRVR
LONG

%%mciwave.drv

%long

DWORD
HDRVR
LONG

%%midimap.drv

%long

DWORD
HDRVR
LONG
UINT

%%mpr.dll

%long

BOOL
BYTE
DWORD
HANDLE
HPROVIDER
HWND
INT
UINT
WORD
enum NOTIFYTYPE

%ptr

BOOL *
ENUMPASSWORDPROC
LPAUTHDLGSTRUCTA
LPBYTE
LPCONNECTDLGSTRUCTA
LPCONNECTDLGSTRUCTW
LPCSTR *
LPDISCDLGSTRUCTA
LPDISCDLGSTRUCTW
LPDWORD
LPHANDLE
LPNETCONNECTINFOSTRUCT
LPNETINFOSTRUCT
LPNETRESOURCEA
LPNETRESOURCEW
LPSTR *
LPVOID
LPWORD
LPWSTR *
NOTIFYCALLBACK
PHPROVIDER

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR
LPWSTR

%%msacm.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%msacm32.dll

%long

DWORD
HACMDRIVER
HACMDRIVERID
HACMOBJ
HACMSTREAM
HDRVR
HINSTANCE
LPARAM
LRESULT
MMRESULT
UINT

%ptr

ACMDRIVERENUMCB
ACMFILTERENUMCBA
ACMFILTERENUMCBW
ACMFILTERTAGENUMCBA
ACMFILTERTAGENUMCBW
ACMFORMATENUMCBA
ACMFORMATENUMCBW
ACMFORMATTAGENUMCBA
ACMFORMATTAGENUMCBW
LPDWORD
LPVOID
PACMDRIVERDETAILSA
PACMDRIVERDETAILSW
PACMFILTERCHOOSEA
PACMFILTERCHOOSEW
PACMFILTERDETAILSA
PACMFILTERDETAILSW
PACMFILTERTAGDETAILSA
PACMFILTERTAGDETAILSW
PACMFORMATCHOOSEA
PACMFORMATCHOOSEW
PACMFORMATDETAILSA
PACMFORMATDETAILSW
PACMFORMATTAGDETAILSA
PACMFORMATTAGDETAILSW
PACMSTREAMHEADER
PHACMDRIVER
PHACMDRIVERID
PHACMSTREAM
PWAVEFILTER
PWAVEFORMATEX

%%msacmmap.dll

%long

DWORD
HDRVR
LONG
UINT
WORD

%%msg711.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%msimg32.dll

%long

BOOL
HDC
UINT
ULONG
int

%ptr

BLENDFUNCTION
TRIVERTEX *
void *

%void

void

%%msisys.ocx

%long

HRESULT

%ptr

CLSID *
IID *
void **

%%msrle32.dll

%long

DWORD
HDRVR
LRESULT
LPARAM
UINT

%%msvcrt.dll

%double

double

%long

INT
LONG
MSVCRT_clock_t
MSVCRT_complex
MSVCRT_size_t
MSVCRT_time_t
WCHAR
int
long
unsigned int
unsigned long

%longlong

LONGLONG
ULONGLONG

%ptr

EXCEPTION_FRAME *
EXCEPTION_FRAME **
MSVCRT_EXCEPTION_FRAME *
MSVCRT_FILE *
MSVCRT_compar_fn_t
MSVCRT_exception *
MSVCRT_fpos_t *
MSVCRT_free_func
MSVCRT_malloc_func
MSVCRT_matherr_func
MSVCRT_new_handler_func
MSVCRT_sig_handler_func
MSVCRT_time_t *
MSVCRT_wint_t
PCONTEXT
PEXCEPTION_FRAME
PEXCEPTION_FRAME *
PEXCEPTION_POINTERS
PEXCEPTION_RECORD
WCHAR *
WCHAR **
WCHAR ***
WORD **
_HEAPINFO *
_INITTERMFUN *
_JUMP_BUFFER *
__non_rtti_object *
_onexit_t
_onexit_t **
_se_translator_function
bad_cast *
bad_typeid *
char *
char **
char ***
cxx_exception_type *
exception *
int *
struct MSVCRT_tm *
struct _diskfree_t *
struct _finddata_t *
struct _stat *
struct _timeb *
struct _utimbuf *
struct _wfinddata_t *
terminate_function
type_info *
unexpected_function
unsigned char *
unsigned int *
unsigned long *
va_list
void *

%ptr --extension

_beginthread_start_routine_t
_beginthreadex_start_routine_t

%unknown

MSVCRT_div_t
MSVCRT_ldiv_t

%void

VOID
void

%%msvcrt20.dll

%long

int

%ptr

WCHAR **
char **
int *

%void

void

%%msvfw32.dll

%long

BOOL
DWORD
HANDLE
HDC
HDRAWDIB
HIC
HINSTANCE
HPALETTE
HWND
INT
LONG
LRESULT
UINT
WORD

%ptr

FARPROC
ICINFO *
LONG *
LPBITMAPINFO
LPBITMAPINFOHEADER
LPDWORD
LPVOID

%str

LPCSTR

%wstr

LPCWSTR

%%netapi32.dll

%long

BOOL
DWORD
NET_API_STATUS

%ptr

LPBYTE *
LPDWORD
LPVOID
LPVOID *
LPWSTR *
PBROWSER_EMULATED_DOMAIN *
PBYTE *
PNCB
PVOID *

%wstr

LPCWSTR
LPWSTR

%%ntdll.dll

%double

double

%long

ACCESS_MASK
BOOL
BOOLEAN
BYTE
CCHAR
DWORD
FILE_INFORMATION_CLASS
FS_INFORMATION_CLASS
HANDLE
HKEY
HMODULE
INT
KEY_INFORMATION_CLASS
KEY_VALUE_INFORMATION_CLASS
LONG
MEMORY_INFORMATION_CLASS
NTSTATUS
OBJECT_INFORMATION_CLASS
PROCESSINFOCLASS
SECTION_INHERIT
SECURITY_IMPERSONATION_LEVEL
SECURITY_INFORMATION
SIZE_T
SYSTEM_INFORMATION_CLASS
THREADINFOCLASS
TIMER_TYPE
TOKEN_TYPE
UINT
ULONG
WCHAR
WORD
int
long
unsigned int
unsigned long

%long --extension

obj_handle_t

%longlong

LONGLONG
ULONGLONG

%ptr

CONTEXT *
CONTEXT86 *
DWORD *
EXCEPTION_FRAME *
EXCEPTION_RECORD *
HANDLE *
IMAGE_NT_HEADERS *
IMAGE_SECTION_HEADER **
INT *
LARGE_INTEGER *
LPBYTE
LPCVOID
LPCVOID *
LPDWORD
LPDWORD *
LPRTL_RWLOCK
LPVOID
LPVOID *
LPWSTR *
OBJECT_ATTRIBUTES *
PACE_HEADER
PACE_HEADER *
PACL
PACL *
PANSI_STRING
PBOOLEAN
PCANSI_STRING
PCRTL_BITMAP
PDWORD
PEXCEPTION_FRAME
PEXCEPTION_RECORD
PGENERIC_MAPPING
PHANDLE
PHKEY
PIMAGE_NT_HEADERS
PIMAGE_SECTION_HEADER
PIO_APC_ROUTINE
PIO_STATUS_BLOCK
PLARGE_INTEGER
PLUID
POBJDIR_INFORMATION
POBJECT_ATTRIBUTES
PPRIVILEGE_SET
PRTL_BITMAP
PRTL_BITMAP_RUN
PRTL_HEAP_DEFINITION
PSECURITY_DESCRIPTOR
PSECURITY_DESCRIPTOR_CONTROL
PSID
PSID *
PSID_IDENTIFIER_AUTHORITY
PSTRING
PTIMERAPCROUTINE
PTIME_FIELDS
PTOKEN_PRIVILEGES
PULONG
PUNICODE_STRING
PVOID
PVOID *
RTL_CRITICAL_SECTION *
STRING *
UINT *
ULONG *
ULONGLONG *
UNICODE_STRING *
VOID *
struct _TEB *
union cptable *
void *
wine_signal_handler

%ptr --extension

WCHAR *
char *
enum fd_type *
int *
obj_handle_t *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%odbc32.dll

%long

SQLHANDLE
SQLHDBC
SQLHDESC
SQLHENV
SQLHSTMT
SQLHWND
SQLINTEGER
SQLRETURN
SQLSMALLINT
SQLUINTEGER
SQLUSMALLINT

%ptr

SQLCHAR *
SQLHANDLE *
SQLHDBC *
SQLHENV *
SQLHSTMT *
SQLINTEGER *
SQLPOINTER
SQLPOINTER *
SQLSMALLINT *
SQLUINTEGER *
SQLUSMALLINT *

%%ole32.dll

%long

BOOL
CLIPFORMAT
DWORD
HACCEL
HANDLE
HGLOBAL
HINSTANCE
HMENU
HOLEMENU
HRESULT
HWND
INT
LONG
UINT
ULONG
int

%ptr

CLIPFORMAT *
CLSID *
COSERVERINFO *
DVTARGETDEVICE *
DWORD *
FILETIME *
GUID *
HGLOBAL *
ICreateErrorInfo **
IDataObject *
IDataObject **
IDropSource *
IErrorInfo *
IErrorInfo **
ILockBytes *
IMoniker *
IMoniker **
IPersistStream *
IStorage *
IStorage **
IStream *
IUnknown *
IUnknown **
LPBC
LPBC *
LPCLSID
LPDATAADVISEHOLDER *
LPDATAOBJECT
LPDROPTARGET
LPDWORD
LPENUMFORMATETC *
LPENUMOLEVERB *
LPFORMATETC
LPGUID
LPLOCKBYTES *
LPMALLOC *
LPMALLOCSPY
LPMARSHAL *
LPMESSAGEFILTER
LPMESSAGEFILTER *
LPMONIKER
LPMONIKER *
LPMSG
LPOLEADVISEHOLDER *
LPOLECLIENTSITE
LPOLEINPLACEACTIVEOBJECT
LPOLEINPLACEFRAME
LPOLEINPLACEFRAMEINFO
LPOLEMENUGROUPWIDTHS
LPOLEOBJECT
LPOLESTR *
LPOLESTREAM
LPPERSISTSTORAGE
LPRUNNINGOBJECTTABLE *
LPSTORAGE
LPSTREAM
LPSTREAM *
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
MULTI_QI *
OLECHAR *
PSECURITY_DESCRIPTOR
REFCLSID
REFGUID
REFIID
SNB
SOLE_AUTHENTICATION_SERVICE *
STGMEDIUM *
ULONG *
WORD *
void *
void **

%str

LPCOLESTR
LPOLESTR

%void

VOID
void

%%oleaut32.dll

%double

CY
DATE
double

%long

BOOL
BYTE
CALLCONV
CHAR
DISPID
DWORD
FLOAT
HCURSOR
HICON
HINSTANCE
HPALETTE
HRESULT
HWND
INT
LCID
LONG
OLE_COLOR
REGKIND
SYSKIND
UINT
ULONG
USHORT
VARIANT_BOOL
VARTYPE
WORD
int
short
signed char
unsigned int

%ptr

BSTR *
BYTE *
CHAR *
COLORREF *
CY *
DATE *
DISPID *
DISPPARAMS *
EXCEPINFO *
FLOAT *
ICreateTypeLib **
INTERFACEDATA *
ITypeInfo *
ITypeInfo **
ITypeLib *
ITypeLib **
IUnknown *
IUnknown **
LONG *
LPBSTR
LPBYTE
LPCLSID
LPDWORD
LPFONTDESC
LPOCPFIPARAMS
LPPICTDESC
LPSTREAM
LPSYSTEMTIME
LPUNKNOWN
LPUNKNOWN *
LPVARIANT
LPVOID
LPVOID *
NUMPARSE *
OLECHAR *
OLECHAR **
REFCLSID
REFGUID
REFIID
SAFEARRAY *
SAFEARRAY **
SAFEARRAYBOUND *
UDATE *
UINT *
ULONG *
USHORT *
VARIANT *
VARIANTARG *
VARIANTARG **
VARIANT_BOOL *
VARTYPE *
VOID *
double *
int *
short *
void *
void **

%str

LPCOLESTR
LPCSTR
LPOLESTR

%void

void

%wstr

BSTR

%%olecli32.dll

%long

BOOL
HDC
LHCLIENTDOC
LONG
OLECLIPFORMAT
OLEOPT_RENDER
OLESTATUS

%ptr

LHCLIENTDOC *
LONG *
LPOLECLIENT
LPOLEOBJECT
LPOLEOBJECT *

%str

LPCSTR

%%oledlg.dll

%long

BOOL
HMENU
HWND
INT
UINT
WORD

%ptr

HMENU *
LPOLEOBJECT
LPOLEUIBUSYA
LPOLEUIBUSYW
LPOLEUICHANGEICONA
LPOLEUICHANGEICONW
LPOLEUICHANGESOURCEA
LPOLEUICHANGESOURCEW
LPOLEUICONVERTA
LPOLEUICONVERTW
LPOLEUIEDITLINKSA
LPOLEUIEDITLINKSW
LPOLEUIINSERTOBJECTA
LPOLEUIINSERTOBJECTW
LPOLEUILINKCONTAINERA
LPOLEUILINKCONTAINERW
LPOLEUIOBJECTPROPSA
LPOLEUIOBJECTPROPSW
LPOLEUIPASTESPECIALA
LPOLEUIPASTESPECIALW
REFCLSID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%olepro32.dll

%long

HRESULT

%ptr

LPVOID *
REFCLSID
REFIID

%%olesvr32.dll

%long

HINSTANCE
LHSERVER
LHSERVERDOC
OLESTATUS
OLE_SERVER_USE

%ptr

BOOL *
LHSERVER *
LHSERVERDOC *
LPOLESERVER
LPOLESERVERDOC

%str

LPCSTR

%%opengl32.dll

%double

GLclampd
GLdouble

%long

BOOL
DWORD
FLOAT
GLbitfield
GLboolean
GLbyte
GLclampf
GLenum
GLfloat
GLint
GLshort
GLsizei
GLubyte
GLuint
GLushort
HDC
HGLRC
UINT
int

%ptr

COLORREF *
GLboolean *
GLbyte *
GLclampf *
GLdouble *
GLfloat *
GLint *
GLshort *
GLstring
GLubyte *
GLuint *
GLushort *
GLvoid *
GLvoid **
LPGLYPHMETRICSFLOAT
LPLAYERPLANEDESCRIPTOR
void *

%str

LPCSTR

%void

void

%%psapi.dll

%long

BOOL
DWORD
HANDLE
HMODULE

%ptr

DWORD *
HMODULE *
LPDWORD
LPMODULEINFO
LPVOID
LPVOID *
PPROCESS_MEMORY_COUNTERS
PPSAPI_WS_WATCH_INFORMATION

%str

LPSTR

%wstr

LPWSTR

%%rasapi32.dll

%long

BOOL
DWORD
HRASCONN

%ptr

LPBOOL
LPBYTE
LPCSTR *
LPCWSTR *
LPDWORD
LPRASAUTODIALENTRYA
LPRASAUTODIALENTRYW
LPRASCONNA
LPRASCONNW
LPRASDEVINFOA
LPRASDEVINFOW
LPRASDIALPARAMSA
LPRASENTRYA
LPRASENTRYW
LPRASENTRYNAMEA
LPVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR

%%riched32.dll

%long

HRESULT

%ptr

DLLVERSIONINFO *

%%rpcrt4.dll

%long

HMODULE
HRESULT
RPC_BINDING_HANDLE
RPC_IF_HANDLE
RPC_STATUS
UINT
ULONG
int
long
size_t
unsigned char
unsigned int
unsigned long
unsigned short

%long --pointer

LONG_PTR

%ptr

CLSID *
CStdPSFactoryBuffer *
LPPSFACTORYBUFFER
LPRPCCHANNELBUFFER
LPRPCSTUBBUFFER
LPSTR *
LPUNKNOWN
LPVOID
LPVOID *
LPWSTR *
MIDL_STUB_MESSAGE *
PFORMAT_STRING
PMIDL_STUB_DESC
PMIDL_STUB_MESSAGE
PRPC_MESSAGE
PRPC_POLICY
PRPCOLEMESSAGE
ProxyFileInfo **
REFCLSID
REFIID
RPC_AUTH_KEY_RETRIEVAL_FN
RPC_BINDING_HANDLE *
RPC_BINDING_VECTOR **
RPC_BLOCKING_FN
RPC_IF_CALLBACK_FN *
RPC_MGR_EPV *
RPC_STATUS *
UUID *
unsigned char *
unsigned char **
void *

%str

LPSTR

%wstr

LPWSTR

%void

void

%%serialui.dll

%long

BOOL
DWORD
HWND
LPARAM

%ptr

LPCOMMCONFIG
LPDEVICE_INFO
LPDWORD
LPFNADDPROPSHEETPAGE

%str

LPCSTR

%%setupapi.dll

%long

BOOL
DWORD
HDEVINFO
HINF
HKEY
HSPFILEQ
HWND
LONG
UINT

%long --ptr

UINT_PTR

%ptr

BYTE *
DWORD *
GUID *
INFCONTEXT *
INT *
LPGUID
PBYTE
PDWORD
PSP_DEVICE_INTERFACE_DATA
PSP_DEVICE_INTERFACE_DETAIL_DATAA
PSP_DEVICE_INTERFACE_DETAIL_DATAW
PSP_DEVINFO_DATA
PSP_FILE_CALLBACK_A
PSP_FILE_CALLBACK_W
PSP_FILE_COPY_PARAMS_A
PSP_FILE_COPY_PARAMS_W
PSTR
PUINT
PVOID
UINT *
void *

%str

LPCSTR
PCSTR
PCWSTR
PWSTR

%void

void

%wstr

LPCWSTR

%%shdocvw.dll

%long

BOOL
HRESULT

%ptr

DLLVERSIONINFO *
LPVOID *
REFCLSID
REFIID

%wstr

LPCWSTR

%%shell32.dll

%long

BOOL
COLORREF
DWORD
HANDLE
HBITMAP
HDROP
HGLOBAL
HICON
HIMAGELIST
HINSTANCE
HKEY
HMENU
HMODULE
HRESULT
HWND
INT
LONG
LRESULT
UINT
ULONG
WORD
WPARAM
int

%longlong

POINT

%ptr

CLSID *
DLLVERSIONINFO *
DWORD *
FARPROC
FORMATETC *
HICON *
HIMAGELIST *
HWND *
IShellFolder **
IStream *
ITEMIDLIST *
LPBROWSEINFOA
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCITEMIDLIST *
LPCNOTIFYREGISTER
LPCRECT
LPCSHELLFOLDERVIEWINFO
LPCVOID
LPCVOID *
LPDATAOBJECT
LPDATAOBJECT *
LPDRAWITEMSTRUCT
LPDROPSOURCE
LPDROPTARGET
LPDWORD
LPENUMFORMATETC *
LPFNCREATEINSTANCE
LPFNFMCALLBACK
LPITEMIDLIST
LPITEMIDLIST *
LPMALLOC *
LPMEASUREITEMSTRUCT
LPNOTIFYREGISTER
LPPOINT
LPSCROLLSAMPLES
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOA
LPSHELLEXECUTEINFOW
LPSHELLFLAGSTATE
LPSHELLFOLDER
LPSHELLVIEW *
LPSHFILEOPSTRUCTA
LPSHFILEOPSTRUCTW
LPSTRRET
LPTPMPARAMS
LPUNKNOWN
LPUNKNOWN *
LPVOID
LPVOID *
LPWORD
LPWSTR *
PAPPBARDATA
PHKEY
PNOTIFYICONDATAA
PNOTIFYICONDATAW
POINT *
REFCLSID
REFIID
SHFILEINFOA *
SHFILEINFOW *
UINT *
int *

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%shlwapi.dll

%long

ASSOCF
ASSOCKEY
ASSOCSTR
BOOL
COLORREF
DWORD
HANDLE
HDC
HDROP
HICON
HINSTANCE
HKEY
HMENU
HMODULE
HPALETTE
HRESULT
HSHARED
HUSKEY
HWND
INT
LANGID
LONG
LPARAM
LRESULT
REGSAM
SHREGENUM_FLAGS
UCHAR
UINT
ULONG
URLIS
WCHAR
WORD
WPARAM
int

%longlong

LONGLONG

%ptr

BOOL *
CLSID *
DLLVERSIONINFO *
DWORD *
HICON *
HKEY *
IBindCtx *
IConnectionPoint **
IFACE_INDEX_TBL *
IID *
INT *
IPropertyBag *
IStream *
IStream **
ITEMIDLIST *
IUnknown *
IUnknown **
LPBC
LPBROWSEINFOW
LPBYTE
LPCITEMIDLIST
LPCRECT
LPCSHLWAPI_CLIST
LPCSTR *
LPCVOID
LPCWSTR *
LPDWORD
LPDWORD *
LPINT
LPITEMIDLIST
LPOPENFILENAMEW
LPPAGESETUPDLGW
LPPRINTDLGW
LPSECURITY_ATTRIBUTES
LPSHELLEXECUTEINFOW
LPSHFILEOPSTRUCTW
LPSHLWAPI_CLIST
LPSHLWAPI_CLIST *
LPSTR *
LPSTRRET
LPTHREAD_START_ROUTINE
LPVOID
LPVOID *
LPWORD
LPWSTR *
OLECMD *
OLECMDTEXT *
PHUSKEY
PHWND
PLONG
PSECURITY_DESCRIPTOR
PVOID
RECT *
REFGUID
REFIID
SHFILEINFOW *
UINT *
ULARGE_INTEGER *
VARIANT *
VOID *
WNDCLASSA *
unsigned char *
va_list
void **

%ptr --extension

UNKNOWN_SHLWAPI_1 *
UNKNOWN_SHLWAPI_2 *
WNDCLASSW *

%str

LPCSTR
LPSTR

%struct16

CLSID

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%sti.dll

%long

DWORD
HINSTANCE
HRESULT

%ptr

LPVOID

%%tapi32.dll

%long

DWORD
HCALL
HINSTANCE
HLINE
HLINEAPP
HPHONE
HPHONEAPP
HWND

%ptr

HICON *
LINECALLBACK
LPDWORD
LPHCALL
LPHLINE
LPHLINEAPP
LPHPHONE
LPHPHONEAPP
LPLINEADDRESSCAPS
LPLINEADDRESSSTATUS
LPLINECALLINFO
LPLINECALLLIST
LPLINECALLPARAMS
LPLINECALLSTATUS
LPLINECOUNTRYLIST
LPLINEDEVCAPS
LPLINEDEVSTATUS
LPLINEDIALPARAMS
LPLINEEXTENSIONID
LPLINEFORWARDLIST
LPLINEGENERATETONE
LPLINEMEDIACONTROLCALLSTATE
LPLINEMEDIACONTROLDIGIT
LPLINEMEDIACONTROLMEDIA
LPLINEMEDIACONTROLTONE
LPLINEMONITORTONE
LPLINEPROVIDERLIST
LPLINETRANSLATECAPS
LPLINETRANSLATEOUTPUT
LPPHONEBUTTONINFO
LPPHONECAPS
LPPHONEEXTENSIONID
LPPHONESTATUS
LPVARSTRING
LPVOID
PHONECALLBACK

%str

LPCSTR
LPSTR

%%ttydrv.dll

%long

BOOL
CHAR
COLORREF
DWORD
HBITMAP
HDC
HFONT
HRGN
HWND
INT
INT16
LONG
UINT
UINT16
WORD
int

%ptr

BITMAPINFO *
CREATESTRUCTA *
DC *
DEVMODEA *
DWORD *
INT *
LPBYTE
LPCVOID
LPINT
LPPALETTEENTRY
LPPOINT
LPSIZE
LPTEXTMETRICW
POINT *
RECT *
TTYDRV_PDEVICE *
TTYDRV_PDEVICE **
WINDOWPOS *
struct tagCURSORICONINFO *
void *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR

%%twain_32.dll

%long

TW_UINT16
TW_UINT32

%ptr

TW_MEMREF
pTW_IDENTITY

%%urlmon.dll

%long

BOOL
DWORD
HRESULT
long

%ptr

BINDINFO *
DWORD *
IBindCtx *
IBindCtx **
IBindStatusCallback *
IBindStatusCallback **
IEnumFORMATETC *
IMoniker *
IMoniker **
LPBC
LPWSTR *
LPVOID
LPVOID *
REFCLSID
REFIID
void **

%str

LPCSTR

%void

void

%wstr

LPCWSTR

%%user32.dll

%long

ATOM
BOOL
BYTE
CHAR
COLORREF
GUITHREADINFO *
DWORD
HACCEL
HANDLE
HBITMAP
HBRUSH
HCONV
HCONVLIST
HCURSOR
HDC
HDDEDATA
HDESK
HDEVNOTIFY
HDWP
HFONT
HHOOK
HICON
HINSTANCE
HKL
HMENU
HMODULE
HMONITOR
HRESULT
HRGN
HSZ
HTASK
HWINEVENTHOOK
HWINSTA
HWND
INT
LONG
LPARAM
LRESULT
SHORT
UINT
WCHAR
WORD
WPARAM
int

%long --pointer

INT_PTR
UINT_PTR
ULONG_PTR

%long --extension

HANDLE16
HDRVR16
HGLOBAL16
HINSTANCE16
HMODULE16
HWND16
INT16
UINT16
WPARAM16

%longlong

POINT

%ptr

BOOL *
COLORREF *
DLGPROC
DRAWSTATEPROC
DWORD *
GRAYSTRINGPROC
HANDLE *
HBRUSH *
HICON *
HKL *
HOOKPROC
HWND *
INT *
LPACCEL
LPBYTE
LPCDLGTEMPLATEA
LPCDLGTEMPLATEW
LPCMENUINFO
LPCONVCONTEXT
LPCONVINFO
LPCVOID
LPDEVMODEA
LPDEVMODEW
LPDISPLAY_DEVICEA
LPDISPLAY_DEVICEW
LPDRAWTEXTPARAMS
LPDWORD
LPINPUT
LPINT
LPMENUINFO
LPMENUITEMINFOA
LPMENUITEMINFOW
LPMONITORINFO
LPMSG
LPMSGBOXPARAMSA
LPMSGBOXPARAMSW
LPPOINT
LPRECT
LPSCROLLINFO
LPSECURITY_ATTRIBUTES
LPTPMPARAMS
LPVOID
LPWINE_CLIPFORMAT
LPWORD
MENUITEMINFOA *
MENUITEMINFOW *
MONITORENUMPROC
MSG *
PAINTSTRUCT *
PCOMBOBOXINFO
PCURSORINFO
PDWORD_PTR
PFNCALLBACK
PICONINFO
POINT *
PROPENUMPROCA
PROPENUMPROCEXA
PROPENUMPROCEXW
PROPENUMPROCW
PSECURITY_DESCRIPTOR
PSECURITY_INFORMATION
PSECURITY_QUALITY_OF_SERVICE
PUINT
PVOID
PWINDOWINFO
RECT *
SCROLLINFO *
SECURITY_QUALITY_OF_SERVICE *
SENDASYNCPROC
TIMERPROC
TRACKMOUSEEVENT *
UINT *
WINDOWPLACEMENT *
WINEVENTPROC
WNDCLASSA *
WNDCLASSEXA *
WNDCLASSEXW *
WNDCLASSW *
WNDENUMPROC
WNDPROC
char *
va_list

%ptr --extension

DLGPROC16
WND *
WNDPROC16

%str

LPCSTR
LPSTR

%void

VOID
void

%wstr

LPCWSTR
LPWSTR

%%version.dll

%long

BOOL
DWORD
UINT

%ptr

LPDWORD
LPVOID
LPVOID *
UINT *

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%w32skrnl.dll

%long

HTASK16

%str

LPSTR

%%winealsa.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%winearts.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%wineaudioio.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%winedos.dll

%long

BOOL
BYTE
DWORD
HANDLE
UINT
int

%ptr

DWORD *

%str

LPCSTR

%void

void

%%winemp3.acm

%long

DWORD
HDRVR
LPARAM
LRESULT
UINT

%%winenas.drv

%long

DWORD
HDRVR
LONG
WORD
UINT

%%wineoss.drv

%long

DWORD
HDRVR
LONG
UINT
WORD

%%wineps.dll

%long

BOOL
COLORREF
DWORD
HBITMAP
HBRUSH
HDC
HFONT
HPEN
HRGN
HWND
INT
LPARAM
UINT
WORD

%ptr

BITMAPINFO *
DC *
DEVICEFONTENUMPROC
DEVMODEA *
DOCINFOA *
DWORD *
INT *
LPCVOID
LPDEVMODEA
LPINT
LPLOGFONTW
LPSIZE
LPVOID
POINT *
PSDRV_PDEVICE *
PSDRV_PDEVICE **
RECT *
TEXTMETRICW *
void *

%str

LPCSTR
LPSTR

%void

VOID

%wstr

LPCWSTR

%%wininet.dll

%long

BOOL
DWORD
FILETIME
GROUPID
HANDLE
HINTERNET
HRESULT
HWND
INTERNET_PORT

%ptr

HANDLE *
INTERNET_STATUS_CALLBACK
LPBYTE
LPCSTR *
LPCVOID
LPDWORD
LPINTERNET_BUFFERSA
LPINTERNET_BUFFERSW
LPINTERNET_CACHE_ENTRY_INFOA
LPINTERNET_CACHE_ENTRY_INFOW
LPURL_COMPONENTSA
LPVOID
LPWIN32_FIND_DATAA
LPWIN32_FIND_DATAW

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%winmm.dll

%long

BOOL
DWORD
FOURCC
HDRVR
HINSTANCE
HMIDIIN
HMIDIOUT
HMIDISTRM
HMIXER
HMIXEROBJ
HMMIO
HMODULE
HTASK
HWAVEIN
HWAVEOUT
HWND
INT
LONG
LPARAM
LRESULT
MMRESULT
UINT

%long --forbidden

HMMIO16
UINT16

%ptr

DWORD *
HMIDIIN *
HMIDIOUT *
HMIDISTRM *
HPCSTR
HPSTR
HWAVEIN *
HWAVEOUT *
LPAUXCAPSA
LPAUXCAPSW
LPBYTE
LPDWORD
LPHMIXER
LPJOYCAPSA
LPJOYCAPSW
LPJOYINFO
LPJOYINFOEX
LPMIDIHDR
LPMIDIINCAPSA
LPMIDIINCAPSW
LPMIDIOUTCAPSA
LPMIDIOUTCAPSW
LPMIXERCAPSA
LPMIXERCAPSW
LPMIXERCONTROLDETAILS
LPMIXERLINEA
LPMIXERLINECONTROLSA
LPMIXERLINECONTROLSW
LPMIXERLINEW
LPMMCKINFO
LPMMIOPROC
LPMMIOPROC16
LPMMTIME
LPTIMECALLBACK
LPTIMECAPS
LPUINT
LPWAVEFORMATEX
LPWAVEHDR
LPWAVEINCAPSA
LPWAVEINCAPSW
LPWAVEOUTCAPSA
LPWAVEOUTCAPSW
MIDIHDR *
MMCKINFO *
MMIOINFO *
UINT *
WAVEHDR *
WORD *
YIELDPROC

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%winspool.drv

%long

BOOL
DWORD
HANDLE
HWND
INT
LONG
WORD

%ptr

DEVMODEW *
HANDLE *
LPBYTE
LPDEVMODEA
LPDEVMODEW
LPDWORD
LPPRINTER_DEFAULTSA
LPPRINTER_DEFAULTSW
LPVOID

%str

LPCSTR
LPSTR

%wstr

LPCWSTR
LPWSTR

%%wintrust.dll

%long

HWND
LONG

%ptr

GUID *
LPVOID

%%wnaspi32.dll

%long

BOOL
DWORD

%ptr

LPDWORD
LPSRB
PASPI32BUFF

%%ws2_32.dll

%long

BOOL
DWORD
GROUP
HANDLE
HWND
INT
LONG
SOCKET
UINT
WORD
WSAEVENT
int
long
u_long
u_short

%ptr

FARPROC
INT *
LPCONDITIONPROC
LPDWORD
LPGUID
LPINT
LPQOS
LPVOID
LPWPUPOSTMESSAGE
LPWSABUF
LPWSADATA
LPWSANETWORKEVENTS
LPWSAOVERLAPPED
LPWSAOVERLAPPED_COMPLETION_ROUTINE
LPWSAPROTOCOL_INFOA
LPWSAPROTOCOL_INFOW
WS_fd_set *
char *
int *
struct WS_hostent *
struct WS_protoent *
struct WS_servent *
struct WS_sockaddr *
struct WS_timeval *
u_long *

%str

LPCSTR
LPSTR

%unknown

struct WS_in_addr

%void

void

%wstr

LPCWSTR

%%wsock32.dll

%long

DWORD
INT
SOCKET
UINT

%ptr

INT *
LPDWORD
LPINT
LPVOID
char *
struct netent *

%str

LPCSTR

%void

void

%%x11drv.dll

%long

BOOL
CHAR
COLORREF
DWORD
HANDLE
HBITMAP
HBRUSH
HDC
HFONT
HICON
HPALETTE
HPEN
HRGN
HWND
INT
LONG
LPARAM
UINT
WORD
WPARAM
int

%ptr

BITMAPINFO *
BYTE *
CREATESTRUCTA *
CURSORICONINFO *
DC *
DEVICEFONTENUMPROC
DEVMODEA *
DWORD *
HANDLE *
INT *
LPBYTE
LPCVOID
LPINT
LPLOGFONTW
LPPALETTEENTRY
LPPOINT
LPRECT
LPSIZE
LPVOID
LPVOID *
PIXELFORMATDESCRIPTOR *
POINT *
RECT *
RGBQUAD *
TEXTMETRICW *
WINDOWPOS *
X11DRV_PDEVICE *
X11DRV_PDEVICE **
void *

%str

LPCSTR
LPSTR

%void

void

%wstr

LPCWSTR
LPWSTR
