%%%dlls/gdi/tests

%%pack

%description

Unit tests for data structure packing

%include

basetsd.h
winnt.h
windef.h
wingdi.h

%struct

ABC                                                    
ABCFLOAT
BITMAP
BITMAPCOREHEADER
BITMAPCOREINFO
BITMAPFILEHEADER
BITMAPINFO
BITMAPINFOHEADER
BITMAPV4HEADER
BITMAPV5HEADER
BLENDFUNCTION
CHARSETINFO
CIEXYZ
CIEXYZTRIPLE
COLORADJUSTMENT
# DEVMODEA
# DEVMODEW
DIBSECTION
DISPLAY_DEVICEA
DISPLAY_DEVICEW
DOCINFOA
DOCINFOW
EMR
EMRABORTPATH
EMRANGLEARC
EMRARC
EMRBITBLT
EMRCREATEBRUSHINDIRECT
EMRCREATECOLORSPACE
EMRCREATECOLORSPACEW
EMRCREATEDIBPATTERNBRUSHPT
EMRCREATEMONOBRUSH
# EMRCREATEPALETTE
EMRCREATEPEN
EMRDELETECOLORSPACE
EMRDELETEOBJECT
EMRELLIPSE
EMREOF
EMREXCLUDECLIPRECT
EMREXTCREATEFONTINDIRECTW
EMREXTCREATEPEN
EMREXTFLOODFILL
EMREXTSELECTCLIPRGN
EMREXTTEXTOUTA
EMRFILLPATH
EMRFILLRGN
EMRFORMAT
EMRFRAMERGN
EMRGDICOMMENT
EMRGLSBOUNDEDRECORD
EMRGLSRECORD
EMRINVERTRGN
EMRLINETO
EMRMASKBLT
EMRMODIFYWORLDTRANSFORM
EMROFFSETCLIPRGN
EMRPIXELFORMAT
EMRPLGBLT
EMRPOLYDRAW
EMRPOLYLINE
EMRPOLYPOLYLINE
EMRPOLYTEXTOUTA
EMRRESIZEPALETTE
EMRRESTOREDC
EMRROUNDRECT
EMRSCALEVIEWPORTEXTEX
EMRSELECTCLIPPATH
EMRSELECTPALETTE
EMRSETARCDIRECTION
EMRSETBKCOLOR
EMRSETBRUSHORGEX
EMRSETCOLORADJUSTMENT
EMRSETDIBITSTODEIVCE
EMRSETMAPPERFLAGS
EMRSETMITERLIMIT
# EMRSETPALETTEENTRIES
EMRSETPIXELV
EMRSETTEXTJUSTIFICATION
EMRSETVIEWPORTEXTEX
EMRSETWORLDTRANSFORM
EMRSTRETCHBLT
EMRSTRETCHDIBITS
EMRTEXT
ENHMETAHEADER
ENHMETARECORD
ENUMLOGFONTA
ENUMLOGFONTEXA
ENUMLOGFONTEXW
ENUMLOGFONTW
EXTLOGFONTA
EXTLOGFONTW
EXTLOGPEN
FIXED
FONTSIGNATURE
GCP_RESULTSA
GCP_RESULTSW
GLYPHMETRICS
GRADIENT_RECT
GRADIENT_TRIANGLE
HANDLETABLE
KERNINGPAIR
LOCALESIGNATURE
LOGBRUSH
LOGCOLORSPACEA
LOGCOLORSPACEW
LOGFONTA
LOGFONTW
# LOGPALETTE
LOGPEN
MAT2
METAFILEPICT
METAHEADER
METARECORD
NEWTEXTMETRICA
NEWTEXTMETRICEXA
NEWTEXTMETRICEXW
NEWTEXTMETRICW
OUTLINETEXTMETRICA
OUTLINETEXTMETRICW
# PALETTEENTRY
PANOSE
PELARRAY
PIXELFORMATDESCRIPTOR
POINTFX
POLYTEXTA
POLYTEXTW
RASTERIZER_STATUS
RGBQUAD
RGBTRIPLE
RGNDATA
RGNDATAHEADER
TEXTMETRICA
TEXTMETRICW
TRIVERTEX
TTPOLYCURVE
TTPOLYGONHEADER
XFORM

%%%dlls/kernel/tests

%%pack

%description

Unit tests for data structure packing

%include

basetsd.h
winnt.h
windef.h
winbase.h

%struct

BY_HANDLE_FILE_INFORMATION
COMMCONFIG
COMMPROP
COMMTIMEOUTS
COMSTAT
CREATE_PROCESS_DEBUG_INFO
CREATE_THREAD_DEBUG_INFO
DCB
DEBUG_EVENT
EXCEPTION_DEBUG_INFO
EXIT_PROCESS_DEBUG_INFO
EXIT_THREAD_DEBUG_INFO
# FILETIME
HW_PROFILE_INFOA
LDT_ENTRY
LOAD_DLL_DEBUG_INFO
MEMORYSTATUS
OFSTRUCT
OSVERSIONINFOA
OSVERSIONINFOEXA
OSVERSIONINFOEXW
OSVERSIONINFOW
OUTPUT_DEBUG_STRING_INFO
OVERLAPPED
PROCESS_HEAP_ENTRY
PROCESS_INFORMATION
RIP_INFO
SECURITY_ATTRIBUTES
STARTUPINFOA
STARTUPINFOW
SYSLEVEL
SYSTEMTIME
# SYSTEM_INFO
SYSTEM_POWER_STATUS
TIME_ZONE_INFORMATION
UNLOAD_DLL_DEBUG_INFO
WIN32_FILE_ATTRIBUTE_DATA
WIN32_FIND_DATAA
WIN32_FIND_DATAW
WIN32_STREAM_ID

%%%dlls/ntdll/tests

%%pack

%description

Unit tests for data structure packing

%include

basetsd.h
winnt.h
windef.h

%struct

ACCESS_ALLOWED_ACE
ACCESS_DENIED_ACE
ACE_HEADER
ACL
CONTEXT86
# EXCEPTION_FRAME
EXCEPTION_POINTERS
EXCEPTION_RECORD
FLOATING_SAVE_AREA
FPO_DATA
GENERIC_MAPPING
IMAGE_ARCHIVE_MEMBER_HEADER
IMAGE_AUX_SYMBOL
IMAGE_BASE_RELOCATION
IMAGE_BOUND_FORWARDER_REF
IMAGE_BOUND_IMPORT_DESCRIPTOR
IMAGE_COFF_SYMBOLS_HEADER
IMAGE_DATA_DIRECTORY
IMAGE_DEBUG_DIRECTORY
IMAGE_DEBUG_MISC
IMAGE_DOS_HEADER
IMAGE_EXPORT_DIRECTORY
IMAGE_FILE_HEADER
IMAGE_FUNCTION_ENTRY
IMAGE_IMPORT_BY_NAME
# IMAGE_IMPORT_DESCRIPTOR
# IMAGE_LINENUMBER
IMAGE_LOAD_CONFIG_DIRECTORY
IMAGE_NT_HEADERS
IMAGE_OPTIONAL_HEADER
IMAGE_OS2_HEADER
# IMAGE_RELOCATION
IMAGE_RESOURCE_DATA_ENTRY
IMAGE_RESOURCE_DIRECTORY
IMAGE_RESOURCE_DIRECTORY_ENTRY
IMAGE_RESOURCE_DIRECTORY_STRING
IMAGE_RESOURCE_DIR_STRING_U
# IMAGE_SECTION_HEADER
IMAGE_SEPARATE_DEBUG_HEADER
# IMAGE_SYMBOL
IMAGE_THUNK_DATA
IMAGE_TLS_DIRECTORY
IMAGE_VXD_HEADER
# LARGE_INTEGER
LIST_ENTRY
LUID
LUID_AND_ATTRIBUTES
MEMORY_BASIC_INFORMATION
MESSAGE_RESOURCE_BLOCK
MESSAGE_RESOURCE_DATA
MESSAGE_RESOURCE_ENTRY
# NT_TIB
PRIVILEGE_SET
RTL_CRITICAL_SECTION
RTL_CRITICAL_SECTION_DEBUG
SECURITY_DESCRIPTOR
SECURITY_DESCRIPTOR_RELATIVE
# SECURITY_QUALITY_OF_SERVICE
SID
SID_AND_ATTRIBUTES
SID_IDENTIFIER_AUTHORITY
SINGLE_LIST_ENTRY
SYSTEM_ALARM_ACE
SYSTEM_AUDIT_ACE
TOKEN_DEFAULT_DACL
TOKEN_GROUPS
TOKEN_OWNER
TOKEN_PRIMARY_GROUP
TOKEN_PRIVILEGES
TOKEN_SOURCE
# TOKEN_STATISTICS
TOKEN_USER
# ULARGE_INTEGER

%%%dlls/user/tests

%%pack

%description

Unit tests for data structure packing

%include

basetsd.h
winnt.h
windef.h
winbase.h
wingdi.h
winuser.h

%struct

ACCEL                                                   
ACCESSTIMEOUT
ANIMATIONINFO
CBTACTIVATESTRUCT
CBT_CREATEWNDA
CBT_CREATEWNDW
CLIENTCREATESTRUCT
COMPAREITEMSTRUCT
COPYDATASTRUCT
CREATESTRUCTA
CREATESTRUCTW
CURSORINFO
CWPRETSTRUCT
CWPSTRUCT
DEBUGHOOKINFO
DELETEITEMSTRUCT
DLGITEMTEMPLATE
DLGTEMPLATE
# DRAWITEMSTRUCT
DRAWTEXTPARAMS
EVENTMSG
FILTERKEYS
HARDWAREHOOKSTRUCT
HARDWAREINPUT
HELPINFO
HELPWININFOA
HELPWININFOW
HIGHCONTRASTA
HIGHCONTRASTW
ICONINFO
ICONMETRICSA
ICONMETRICSW
INPUT
KBDLLHOOKSTRUCT
KEYBDINPUT
MDICREATESTRUCTA
MDICREATESTRUCTW
MDINEXTMENU
MEASUREITEMSTRUCT
MENUINFO
MENUITEMINFOA
MENUITEMINFOW
MENUITEMTEMPLATE
MENUITEMTEMPLATEHEADER
MINIMIZEDMETRICS
MINMAXINFO
MONITORINFO
MONITORINFOEXA
MONITORINFOEXW
MOUSEHOOKSTRUCT
MOUSEINPUT
MOUSEKEYS
MSG
MSGBOXPARAMSA
MSGBOXPARAMSW
MSLLHOOKSTRUCT
MULTIKEYHELPA
MULTIKEYHELPW
NCCALCSIZE_PARAMS
NMHDR
NONCLIENTMETRICSA
NONCLIENTMETRICSW
PAINTSTRUCT
SCROLLINFO
SERIALKEYSA
SERIALKEYSW
SOUNDSENTRYA
SOUNDSENTRYW
STICKYKEYS
STYLESTRUCT
TOGGLEKEYS
TPMPARAMS
TRACKMOUSEEVENT
WINDOWINFO
# WINDOWPLACEMENT
WINDOWPOS
WNDCLASSA
WNDCLASSEXA
WNDCLASSEXW
WNDCLASSW
