From: Aleksey Bragin Date: Thu, 22 Apr 2010 08:47:47 +0000 (+0000) Subject: [KERNEL32] X-Git-Tag: backups/header-work@57446~33^2~81 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=2ea442a9df32289bd812714e08392290d4c876ce [KERNEL32] - Update kernel32_winetests to Wine-1.1.43. svn path=/trunk/; revision=46990 --- diff --git a/rostests/winetests/kernel32/comm.c b/rostests/winetests/kernel32/comm.c index 8cb010c3da5..8ce6cccfcc2 100755 --- a/rostests/winetests/kernel32/comm.c +++ b/rostests/winetests/kernel32/comm.c @@ -56,336 +56,336 @@ static TEST test[] = { "baud=9600 parity=e data=5 stop=1 xon=on odsr=off octs=off dtr=on rts=on idsr=on", TRUE, FALSE, - { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x02, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x02, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "baud=0 parity=M data=6 stop=1.5 xon=off odsr=on octs=ON dtr=off rts=off idsr=OFF", TRUE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x03, 0x01, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00000000, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x03, 0x01, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00000000, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x03, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "BAUD=4000000000 parity=n data=7 stop=2 to=off", TRUE, FALSE, - { 0x00000000, 0xee6b2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x00, 0x02, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xee6b2800, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x00, 0x02, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0xee6b2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xee6b2800, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 } }, { "Baud=115200 Parity=O Data=8 To=On", TRUE, FALSE, - { 0x00000000, 0x0001c200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x01, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x0001c200, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x01, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x0001c200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x0001c200, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000EA60 }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000EA60 } }, { "PaRiTy=s Data=7 DTR=on", TRUE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x04, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x04, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x04, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "data=4", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "data=9", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "parity=no", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "stop=0", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "stop=1.501", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "stop=3", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "to=foobar", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { " baud=9600", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "baud= 9600", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "baud=9600,data=8", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "11,n,8,1", TRUE, TRUE, - { 0x00000000, 0x0000006e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x0000006e, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x0000006e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x0000006e, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "30 ,E, 5,1.5", TRUE, TRUE, - { 0x00000000, 0x0000012c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x02, 0x01, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x0000012c, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x02, 0x01, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x0000012c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x0000012c, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x02, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "60, m, 6, 2 ", TRUE, TRUE, - { 0x00000000, 0x00000258, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x03, 0x02, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00000258, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x03, 0x02, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000258, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00000258, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x03, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "12 , o , 7 , 1", TRUE, TRUE, - { 0x00000000, 0x000004b0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x01, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x000004b0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x01, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x000004b0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x000004b0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "24,s,8,1.5", TRUE, TRUE, - { 0x00000000, 0x00000960, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x04, 0x01, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00000960, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x04, 0x01, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000960, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00000960, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x04, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "48,n,8,1,p", TRUE, TRUE, - { 0x00000000, 0x000012c0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x000012c0, 1, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 2, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x000012c0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x000012c0, 1, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 2, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,8,1 , x ", TRUE, TRUE, - { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "19, e, 7, 1, x", TRUE, TRUE, - { 0x00000000, 0x00004b00, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x02, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00004b00, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x02, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00004b00, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00004b00, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "0,M,7,1,P", TRUE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x03, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00000000, 1, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 2, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x03, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00000000, 1, 1, 1, 1, 2, 1, 1, 0, 0, 1, 1, 2, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "4000000000,O,7,1.5,X", TRUE, TRUE, - { 0x00000000, 0xee6b2800, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x01, 0x01, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xee6b2800, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x01, 0x01, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0xee6b2800, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xee6b2800, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,8,1 to=on", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,NO,8,1", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,4,1", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,9,1", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,8,0", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,8,3", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "96,N,8,1,K", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COM0:baud=115200", FALSE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx:baud=38400 data=8", TRUE, FALSE, - { 0x00000000, 0x00009600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00009600, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0xff, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00009600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00009600, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx :to=on stop=1.5", TRUE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x01, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0x01, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000EA60 }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000EA60 } }, { "COMx: baud=12345 data=7", TRUE, FALSE, - { 0x00000000, 0x00003039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00003039, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0xff, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00003039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00003039, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx : xon=on odsr=off", TRUE, FALSE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 0, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 0, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COM0:9600,N,8,1", FALSE, TRUE, - { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0xffffffff, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx:9600,N,8,1", TRUE, TRUE, - { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00002580, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00002580, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx: 11,E,7,2", TRUE, TRUE, - { 0x00000000, 0x0000006e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x02, 0x02, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x0000006e, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x02, 0x02, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x0000006e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x07, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x0000006e, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x07, 0x02, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx :19,M,5,1", TRUE, TRUE, - { 0x00000000, 0x00004b00, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x03, 0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x00004b00, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x03, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x00004b00, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x00004b00, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x05, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, { "COMx : 57600,S,6,2,x", TRUE, TRUE, - { 0x00000000, 0x0000e100, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x04, 0x02, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, 0x0000 }, - { 0xffffffff, 0x0000e100, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x04, 0x02, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0xffff }, + { 0x00000000, 0x0000e100, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0x00000, 0x0000, 0x0000, 0x0000, 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000 }, + { 0xffffffff, 0x0000e100, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0x1ffff, 0xffff, 0xffff, 0xffff, 0x06, 0x04, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xffff }, { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff } }, @@ -397,7 +397,7 @@ static TEST test[] = output the contents of a DCB structure. */ /*static print_dcb(DCB *pdcb) { - printf("0x%08x, 0x%08x, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, 0x%05x, 0x%04x, 0x%04x, 0x%04x, 0x%02x, 0x%02x, 0x%02x, (char)0x%02x, (char)0x%02x, (char)0x%02x, (char)0x%02x, (char)0x%02x, 0x%04x\n", + printf("0x%08x, 0x%08x, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, 0x%05x, 0x%04x, 0x%04x, 0x%04x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%04x\n", pdcb->DCBlength, pdcb->BaudRate, pdcb->fBinary, diff --git a/rostests/winetests/kernel32/console.c b/rostests/winetests/kernel32/console.c index ace4744067d..3d8ae9387d8 100755 --- a/rostests/winetests/kernel32/console.c +++ b/rostests/winetests/kernel32/console.c @@ -25,6 +25,7 @@ static BOOL (WINAPI *pGetConsoleInputExeNameA)(DWORD, LPSTR); static DWORD (WINAPI *pGetConsoleProcessList)(LPDWORD, DWORD); +static HANDLE (WINAPI *pOpenConsoleW)(LPCWSTR,DWORD,BOOL,DWORD); static BOOL (WINAPI *pSetConsoleInputExeNameA)(LPCSTR); /* DEFAULT_ATTRIB is used for all initial filling of the console. @@ -65,6 +66,7 @@ static void init_function_pointers(void) hKernel32 = GetModuleHandleA("kernel32.dll"); KERNEL32_GET_PROC(GetConsoleInputExeNameA); KERNEL32_GET_PROC(GetConsoleProcessList); + KERNEL32_GET_PROC(OpenConsoleW); KERNEL32_GET_PROC(SetConsoleInputExeNameA); #undef KERNEL32_GET_PROC @@ -988,6 +990,99 @@ static void test_GetConsoleProcessList(void) HeapFree(GetProcessHeap(), 0, list); } +static void test_OpenConsoleW(void) +{ + static const WCHAR coninW[] = {'C','O','N','I','N','$',0}; + static const WCHAR conoutW[] = {'C','O','N','O','U','T','$',0}; + static const WCHAR emptyW[] = {0}; + static const WCHAR invalidW[] = {'I','N','V','A','L','I','D',0}; + + static const struct + { + LPCWSTR name; + DWORD access; + BOOL inherit; + DWORD creation; + DWORD gle; + } invalid_table[] = { + {NULL, 0, FALSE, 0, ERROR_INVALID_PARAMETER}, + {NULL, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, ERROR_INVALID_PARAMETER}, + {NULL, 0, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {NULL, GENERIC_READ | GENERIC_WRITE, FALSE, 0, ERROR_INVALID_PARAMETER}, + {NULL, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {NULL, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING, ERROR_INVALID_PARAMETER}, + {emptyW, 0, FALSE, 0, ERROR_INVALID_PARAMETER}, + {emptyW, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, ERROR_INVALID_PARAMETER}, + {emptyW, 0, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {emptyW, GENERIC_READ | GENERIC_WRITE, FALSE, 0, ERROR_INVALID_PARAMETER}, + {emptyW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {emptyW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING, ERROR_INVALID_PARAMETER}, + {invalidW, 0, FALSE, 0, ERROR_INVALID_PARAMETER}, + {invalidW, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, ERROR_INVALID_PARAMETER}, + {invalidW, 0, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {invalidW, GENERIC_READ | GENERIC_WRITE, FALSE, 0, ERROR_INVALID_PARAMETER}, + {invalidW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {invalidW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING, ERROR_INVALID_PARAMETER}, + {coninW, 0, FALSE, 0, ERROR_SHARING_VIOLATION}, + {coninW, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, ERROR_INVALID_PARAMETER}, + {coninW, 0, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {coninW, GENERIC_READ | GENERIC_WRITE, FALSE, 0, ERROR_SHARING_VIOLATION}, + {coninW, GENERIC_READ | GENERIC_WRITE, FALSE, CREATE_NEW, ERROR_SHARING_VIOLATION}, + {coninW, GENERIC_READ | GENERIC_WRITE, FALSE, CREATE_ALWAYS, ERROR_SHARING_VIOLATION}, + {coninW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {coninW, GENERIC_READ | GENERIC_WRITE, FALSE, TRUNCATE_EXISTING, ERROR_INVALID_PARAMETER}, + {conoutW, 0, FALSE, 0, ERROR_SHARING_VIOLATION}, + {conoutW, 0xdeadbeef, 0xdeadbeef, 0xdeadbeef, ERROR_INVALID_PARAMETER}, + {conoutW, 0, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, 0, ERROR_SHARING_VIOLATION}, + {conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, CREATE_NEW, ERROR_SHARING_VIOLATION}, + {conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, CREATE_ALWAYS, ERROR_SHARING_VIOLATION}, + {conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_ALWAYS, ERROR_INVALID_PARAMETER}, + {conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, TRUNCATE_EXISTING, ERROR_INVALID_PARAMETER}, + }; + + int index; + HANDLE ret; + + if (!pOpenConsoleW) + { + win_skip("OpenConsoleW is not available\n"); + return; + } + + for (index = 0; index < sizeof(invalid_table)/sizeof(invalid_table[0]); index++) + { + SetLastError(0xdeadbeef); + ret = pOpenConsoleW(invalid_table[index].name, invalid_table[index].access, + invalid_table[index].inherit, invalid_table[index].creation); + ok(ret == INVALID_HANDLE_VALUE, + "Expected OpenConsoleW to return INVALID_HANDLE_VALUE for index %d, got %p\n", + index, ret); + ok(GetLastError() == invalid_table[index].gle, + "Expected GetLastError() to return %u for index %d, got %u\n", + invalid_table[index].gle, index, GetLastError()); + } + + /* OpenConsoleW should not touch the last error on success. */ + SetLastError(0xdeadbeef); + ret = pOpenConsoleW(coninW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING); + ok(ret != INVALID_HANDLE_VALUE, + "Expected OpenConsoleW to return a valid handle\n"); + ok(GetLastError() == 0xdeadbeef, + "Expected the last error to be untouched, got %u\n", GetLastError()); + if (ret != INVALID_HANDLE_VALUE) + CloseHandle(ret); + + SetLastError(0xdeadbeef); + ret = pOpenConsoleW(conoutW, GENERIC_READ | GENERIC_WRITE, FALSE, OPEN_EXISTING); + ok(ret != INVALID_HANDLE_VALUE, + "Expected OpenConsoleW to return a valid handle\n"); + ok(GetLastError() == 0xdeadbeef, + "Expected the last error to be untouched, got %u\n", GetLastError()); + if (ret != INVALID_HANDLE_VALUE) + CloseHandle(ret); +} + START_TEST(console) { HANDLE hConIn, hConOut; @@ -1038,4 +1133,5 @@ START_TEST(console) test_GetSetConsoleInputExeName(); test_GetConsoleProcessList(); + test_OpenConsoleW(); } diff --git a/rostests/winetests/kernel32/debugger.c b/rostests/winetests/kernel32/debugger.c index 98d0e123848..ff091e939ef 100644 --- a/rostests/winetests/kernel32/debugger.c +++ b/rostests/winetests/kernel32/debugger.c @@ -45,6 +45,8 @@ static char** myARGV; static BOOL (WINAPI *pCheckRemoteDebuggerPresent)(HANDLE,PBOOL); static BOOL (WINAPI *pDebugActiveProcessStop)(DWORD); static BOOL (WINAPI *pDebugSetProcessKillOnExit)(BOOL); +static BOOL (WINAPI *pIsDebuggerPresent)(void); +static struct _TEB * (WINAPI *pNtCurrentTeb)(void); static LONG child_failures; @@ -499,6 +501,7 @@ static void doChild(int argc, char **argv) const char *blackbox_file; HANDLE parent; DWORD ppid; + BOOL debug; BOOL ret; blackbox_file = argv[4]; @@ -507,15 +510,46 @@ static void doChild(int argc, char **argv) parent = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, ppid); child_ok(!!parent, "OpenProcess failed, last error %#x.\n", GetLastError()); + ret = pCheckRemoteDebuggerPresent(parent, &debug); + child_ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + child_ok(!debug, "Expected debug == 0, got %#x.\n", debug); + ret = DebugActiveProcess(ppid); child_ok(ret, "DebugActiveProcess failed, last error %#x.\n", GetLastError()); + ret = pCheckRemoteDebuggerPresent(parent, &debug); + child_ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + child_ok(debug, "Expected debug != 0, got %#x.\n", debug); + ret = pDebugActiveProcessStop(ppid); child_ok(ret, "DebugActiveProcessStop failed, last error %#x.\n", GetLastError()); + ret = pCheckRemoteDebuggerPresent(parent, &debug); + child_ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + child_ok(!debug, "Expected debug == 0, got %#x.\n", debug); + ret = CloseHandle(parent); child_ok(ret, "CloseHandle failed, last error %#x.\n", GetLastError()); + ret = pIsDebuggerPresent(); + child_ok(ret, "Expected ret != 0, got %#x.\n", ret); + ret = pCheckRemoteDebuggerPresent(GetCurrentProcess(), &debug); + child_ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + child_ok(debug, "Expected debug != 0, got %#x.\n", debug); + + if (pNtCurrentTeb) + { + pNtCurrentTeb()->ProcessEnvironmentBlock->BeingDebugged = FALSE; + + ret = pIsDebuggerPresent(); + child_ok(!ret, "Expected ret != 0, got %#x.\n", ret); + ret = pCheckRemoteDebuggerPresent(GetCurrentProcess(), &debug); + child_ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + child_ok(debug, "Expected debug != 0, got %#x.\n", debug); + + pNtCurrentTeb()->ProcessEnvironmentBlock->BeingDebugged = TRUE; + } + blackbox.failures = child_failures; save_blackbox(blackbox_file, &blackbox, sizeof(blackbox)); } @@ -527,17 +561,21 @@ static void test_debug_loop(int argc, char **argv) char blackbox_file[MAX_PATH]; PROCESS_INFORMATION pi; STARTUPINFOA si; + BOOL debug; DWORD pid; char *cmd; BOOL ret; - if (!pDebugActiveProcessStop) + if (!pDebugActiveProcessStop || !pCheckRemoteDebuggerPresent) { - win_skip("DebugActiveProcessStop not available, skipping test.\n"); + win_skip("DebugActiveProcessStop or CheckRemoteDebuggerPresent not available, skipping test.\n"); return; } pid = GetCurrentProcessId(); + ret = DebugActiveProcess(pid); + ok(!ret, "DebugActiveProcess() succeeded on own process.\n"); + get_file_name(blackbox_file); cmd = HeapAlloc(GetProcessHeap(), 0, strlen(argv[0]) + strlen(arguments) + strlen(blackbox_file) + 10); sprintf(cmd, "%s%s%08x %s", argv[0], arguments, pid, blackbox_file); @@ -549,6 +587,10 @@ static void test_debug_loop(int argc, char **argv) HeapFree(GetProcessHeap(), 0, cmd); + ret = pCheckRemoteDebuggerPresent(pi.hProcess, &debug); + ok(ret, "CheckRemoteDebuggerPresent failed, last error %#x.\n", GetLastError()); + ok(debug, "Expected debug != 0, got %#x.\n", debug); + for (;;) { DEBUG_EVENT ev; @@ -584,6 +626,9 @@ START_TEST(debugger) pCheckRemoteDebuggerPresent=(void*)GetProcAddress(hdll, "CheckRemoteDebuggerPresent"); pDebugActiveProcessStop=(void*)GetProcAddress(hdll, "DebugActiveProcessStop"); pDebugSetProcessKillOnExit=(void*)GetProcAddress(hdll, "DebugSetProcessKillOnExit"); + pIsDebuggerPresent=(void*)GetProcAddress(hdll, "IsDebuggerPresent"); + hdll=GetModuleHandle("ntdll.dll"); + if (hdll) pNtCurrentTeb = (void*)GetProcAddress(hdll, "NtCurrentTeb"); myARGC=winetest_get_mainargs(&myARGV); if (myARGC >= 3 && strcmp(myARGV[2], "crash") == 0) diff --git a/rostests/winetests/kernel32/generated.c b/rostests/winetests/kernel32/generated.c index be68a085936..36053b84916 100644 --- a/rostests/winetests/kernel32/generated.c +++ b/rostests/winetests/kernel32/generated.c @@ -51,41 +51,1888 @@ * Test helper macros */ +#define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); + +#ifdef TYPE_ALIGNMENT +# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); +#else +# define TEST_TYPE_ALIGN(type, align) +#endif + +#ifdef _TYPE_ALIGNMENT +# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); +# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); +#else +# define TEST_TARGET_ALIGN(type, align) +# define TEST_FIELD_ALIGN(type, field, align) +#endif + +#define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); + +#define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size) +#define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size) +#define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0); +#define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0); + + #ifdef _WIN64 -# define TEST_TYPE_SIZE(type, size) -# define TEST_TYPE_ALIGN(type, align) -# define TEST_TARGET_ALIGN(type, align) -# define TEST_FIELD_ALIGN(type, field, align) -# define TEST_FIELD_OFFSET(type, field, offset) +static void test_pack_LPOSVERSIONINFOA(void) +{ + /* LPOSVERSIONINFOA */ + TEST_TYPE_SIZE (LPOSVERSIONINFOA, 8) + TEST_TYPE_ALIGN (LPOSVERSIONINFOA, 8) + TEST_TARGET_SIZE (LPOSVERSIONINFOA, 148) + TEST_TARGET_ALIGN(LPOSVERSIONINFOA, 4) +} + +static void test_pack_LPOSVERSIONINFOEXA(void) +{ + /* LPOSVERSIONINFOEXA */ + TEST_TYPE_SIZE (LPOSVERSIONINFOEXA, 8) + TEST_TYPE_ALIGN (LPOSVERSIONINFOEXA, 8) + TEST_TARGET_SIZE (LPOSVERSIONINFOEXA, 156) + TEST_TARGET_ALIGN(LPOSVERSIONINFOEXA, 4) +} + +static void test_pack_LPOSVERSIONINFOEXW(void) +{ + /* LPOSVERSIONINFOEXW */ + TEST_TYPE_SIZE (LPOSVERSIONINFOEXW, 8) + TEST_TYPE_ALIGN (LPOSVERSIONINFOEXW, 8) + TEST_TARGET_SIZE (LPOSVERSIONINFOEXW, 284) + TEST_TARGET_ALIGN(LPOSVERSIONINFOEXW, 4) +} + +static void test_pack_LPOSVERSIONINFOW(void) +{ + /* LPOSVERSIONINFOW */ + TEST_TYPE_SIZE (LPOSVERSIONINFOW, 8) + TEST_TYPE_ALIGN (LPOSVERSIONINFOW, 8) + TEST_TARGET_SIZE (LPOSVERSIONINFOW, 276) + TEST_TARGET_ALIGN(LPOSVERSIONINFOW, 4) +} + +static void test_pack_OSVERSIONINFOA(void) +{ + /* OSVERSIONINFOA */ + TEST_TYPE_SIZE (OSVERSIONINFOA, 148) + TEST_TYPE_ALIGN (OSVERSIONINFOA, 4) + TEST_FIELD_SIZE (OSVERSIONINFOA, dwOSVersionInfoSize, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOA, dwOSVersionInfoSize, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOA, dwOSVersionInfoSize, 0) + TEST_FIELD_SIZE (OSVERSIONINFOA, dwMajorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOA, dwMajorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOA, dwMajorVersion, 4) + TEST_FIELD_SIZE (OSVERSIONINFOA, dwMinorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOA, dwMinorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOA, dwMinorVersion, 8) + TEST_FIELD_SIZE (OSVERSIONINFOA, dwBuildNumber, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOA, dwBuildNumber, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOA, dwBuildNumber, 12) + TEST_FIELD_SIZE (OSVERSIONINFOA, dwPlatformId, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOA, dwPlatformId, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOA, dwPlatformId, 16) + TEST_FIELD_SIZE (OSVERSIONINFOA, szCSDVersion, 128) + TEST_FIELD_ALIGN (OSVERSIONINFOA, szCSDVersion, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOA, szCSDVersion, 20) +} + +static void test_pack_OSVERSIONINFOEXA(void) +{ + /* OSVERSIONINFOEXA */ + TEST_TYPE_SIZE (OSVERSIONINFOEXA, 156) + TEST_TYPE_ALIGN (OSVERSIONINFOEXA, 4) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwOSVersionInfoSize, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, dwOSVersionInfoSize, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, dwOSVersionInfoSize, 0) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwMajorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, dwMajorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, dwMajorVersion, 4) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwMinorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, dwMinorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, dwMinorVersion, 8) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwBuildNumber, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, dwBuildNumber, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, dwBuildNumber, 12) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwPlatformId, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, dwPlatformId, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, dwPlatformId, 16) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, szCSDVersion, 128) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, szCSDVersion, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, szCSDVersion, 20) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, wServicePackMajor, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, wServicePackMajor, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, wServicePackMajor, 148) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, wServicePackMinor, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, wServicePackMinor, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, wServicePackMinor, 150) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, wSuiteMask, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, wSuiteMask, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, wSuiteMask, 152) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, wProductType, 1) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, wProductType, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, wProductType, 154) + TEST_FIELD_SIZE (OSVERSIONINFOEXA, wReserved, 1) + TEST_FIELD_ALIGN (OSVERSIONINFOEXA, wReserved, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOEXA, wReserved, 155) +} + +static void test_pack_OSVERSIONINFOEXW(void) +{ + /* OSVERSIONINFOEXW */ + TEST_TYPE_SIZE (OSVERSIONINFOEXW, 284) + TEST_TYPE_ALIGN (OSVERSIONINFOEXW, 4) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwOSVersionInfoSize, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, dwOSVersionInfoSize, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, dwOSVersionInfoSize, 0) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwMajorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, dwMajorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, dwMajorVersion, 4) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwMinorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, dwMinorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, dwMinorVersion, 8) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwBuildNumber, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, dwBuildNumber, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, dwBuildNumber, 12) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwPlatformId, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, dwPlatformId, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, dwPlatformId, 16) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, szCSDVersion, 256) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, szCSDVersion, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, szCSDVersion, 20) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, wServicePackMajor, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, wServicePackMajor, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, wServicePackMajor, 276) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, wServicePackMinor, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, wServicePackMinor, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, wServicePackMinor, 278) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, wSuiteMask, 2) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, wSuiteMask, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, wSuiteMask, 280) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, wProductType, 1) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, wProductType, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, wProductType, 282) + TEST_FIELD_SIZE (OSVERSIONINFOEXW, wReserved, 1) + TEST_FIELD_ALIGN (OSVERSIONINFOEXW, wReserved, 1) + TEST_FIELD_OFFSET(OSVERSIONINFOEXW, wReserved, 283) +} + +static void test_pack_OSVERSIONINFOW(void) +{ + /* OSVERSIONINFOW */ + TEST_TYPE_SIZE (OSVERSIONINFOW, 276) + TEST_TYPE_ALIGN (OSVERSIONINFOW, 4) + TEST_FIELD_SIZE (OSVERSIONINFOW, dwOSVersionInfoSize, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOW, dwOSVersionInfoSize, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOW, dwOSVersionInfoSize, 0) + TEST_FIELD_SIZE (OSVERSIONINFOW, dwMajorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOW, dwMajorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOW, dwMajorVersion, 4) + TEST_FIELD_SIZE (OSVERSIONINFOW, dwMinorVersion, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOW, dwMinorVersion, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOW, dwMinorVersion, 8) + TEST_FIELD_SIZE (OSVERSIONINFOW, dwBuildNumber, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOW, dwBuildNumber, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOW, dwBuildNumber, 12) + TEST_FIELD_SIZE (OSVERSIONINFOW, dwPlatformId, 4) + TEST_FIELD_ALIGN (OSVERSIONINFOW, dwPlatformId, 4) + TEST_FIELD_OFFSET(OSVERSIONINFOW, dwPlatformId, 16) + TEST_FIELD_SIZE (OSVERSIONINFOW, szCSDVersion, 256) + TEST_FIELD_ALIGN (OSVERSIONINFOW, szCSDVersion, 2) + TEST_FIELD_OFFSET(OSVERSIONINFOW, szCSDVersion, 20) +} + +static void test_pack_POSVERSIONINFOA(void) +{ + /* POSVERSIONINFOA */ + TEST_TYPE_SIZE (POSVERSIONINFOA, 8) + TEST_TYPE_ALIGN (POSVERSIONINFOA, 8) + TEST_TARGET_SIZE (POSVERSIONINFOA, 148) + TEST_TARGET_ALIGN(POSVERSIONINFOA, 4) +} + +static void test_pack_POSVERSIONINFOEXA(void) +{ + /* POSVERSIONINFOEXA */ + TEST_TYPE_SIZE (POSVERSIONINFOEXA, 8) + TEST_TYPE_ALIGN (POSVERSIONINFOEXA, 8) + TEST_TARGET_SIZE (POSVERSIONINFOEXA, 156) + TEST_TARGET_ALIGN(POSVERSIONINFOEXA, 4) +} + +static void test_pack_POSVERSIONINFOEXW(void) +{ + /* POSVERSIONINFOEXW */ + TEST_TYPE_SIZE (POSVERSIONINFOEXW, 8) + TEST_TYPE_ALIGN (POSVERSIONINFOEXW, 8) + TEST_TARGET_SIZE (POSVERSIONINFOEXW, 284) + TEST_TARGET_ALIGN(POSVERSIONINFOEXW, 4) +} + +static void test_pack_POSVERSIONINFOW(void) +{ + /* POSVERSIONINFOW */ + TEST_TYPE_SIZE (POSVERSIONINFOW, 8) + TEST_TYPE_ALIGN (POSVERSIONINFOW, 8) + TEST_TARGET_SIZE (POSVERSIONINFOW, 276) + TEST_TARGET_ALIGN(POSVERSIONINFOW, 4) +} + +static void test_pack_LPLONG(void) +{ + /* LPLONG */ + TEST_TYPE_SIZE (LPLONG, 8) + TEST_TYPE_ALIGN (LPLONG, 8) +} + +static void test_pack_LPVOID(void) +{ + /* LPVOID */ + TEST_TYPE_SIZE (LPVOID, 8) + TEST_TYPE_ALIGN (LPVOID, 8) +} + +static void test_pack_PHKEY(void) +{ + /* PHKEY */ + TEST_TYPE_SIZE (PHKEY, 8) + TEST_TYPE_ALIGN (PHKEY, 8) +} + +static void test_pack_ACTCTXA(void) +{ + /* ACTCTXA */ + TEST_TYPE_SIZE (ACTCTXA, 56) + TEST_TYPE_ALIGN (ACTCTXA, 8) + TEST_FIELD_SIZE (ACTCTXA, cbSize, 4) + TEST_FIELD_ALIGN (ACTCTXA, cbSize, 4) + TEST_FIELD_OFFSET(ACTCTXA, cbSize, 0) + TEST_FIELD_SIZE (ACTCTXA, dwFlags, 4) + TEST_FIELD_ALIGN (ACTCTXA, dwFlags, 4) + TEST_FIELD_OFFSET(ACTCTXA, dwFlags, 4) + TEST_FIELD_SIZE (ACTCTXA, lpSource, 8) + TEST_FIELD_ALIGN (ACTCTXA, lpSource, 8) + TEST_FIELD_OFFSET(ACTCTXA, lpSource, 8) + TEST_FIELD_SIZE (ACTCTXA, wProcessorArchitecture, 2) + TEST_FIELD_ALIGN (ACTCTXA, wProcessorArchitecture, 2) + TEST_FIELD_OFFSET(ACTCTXA, wProcessorArchitecture, 16) + TEST_FIELD_SIZE (ACTCTXA, wLangId, 2) + TEST_FIELD_ALIGN (ACTCTXA, wLangId, 2) + TEST_FIELD_OFFSET(ACTCTXA, wLangId, 18) + TEST_FIELD_SIZE (ACTCTXA, lpAssemblyDirectory, 8) + TEST_FIELD_ALIGN (ACTCTXA, lpAssemblyDirectory, 8) + TEST_FIELD_OFFSET(ACTCTXA, lpAssemblyDirectory, 24) + TEST_FIELD_SIZE (ACTCTXA, lpResourceName, 8) + TEST_FIELD_ALIGN (ACTCTXA, lpResourceName, 8) + TEST_FIELD_OFFSET(ACTCTXA, lpResourceName, 32) + TEST_FIELD_SIZE (ACTCTXA, lpApplicationName, 8) + TEST_FIELD_ALIGN (ACTCTXA, lpApplicationName, 8) + TEST_FIELD_OFFSET(ACTCTXA, lpApplicationName, 40) + TEST_FIELD_SIZE (ACTCTXA, hModule, 8) + TEST_FIELD_ALIGN (ACTCTXA, hModule, 8) + TEST_FIELD_OFFSET(ACTCTXA, hModule, 48) +} + +static void test_pack_ACTCTXW(void) +{ + /* ACTCTXW */ + TEST_TYPE_SIZE (ACTCTXW, 56) + TEST_TYPE_ALIGN (ACTCTXW, 8) + TEST_FIELD_SIZE (ACTCTXW, cbSize, 4) + TEST_FIELD_ALIGN (ACTCTXW, cbSize, 4) + TEST_FIELD_OFFSET(ACTCTXW, cbSize, 0) + TEST_FIELD_SIZE (ACTCTXW, dwFlags, 4) + TEST_FIELD_ALIGN (ACTCTXW, dwFlags, 4) + TEST_FIELD_OFFSET(ACTCTXW, dwFlags, 4) + TEST_FIELD_SIZE (ACTCTXW, lpSource, 8) + TEST_FIELD_ALIGN (ACTCTXW, lpSource, 8) + TEST_FIELD_OFFSET(ACTCTXW, lpSource, 8) + TEST_FIELD_SIZE (ACTCTXW, wProcessorArchitecture, 2) + TEST_FIELD_ALIGN (ACTCTXW, wProcessorArchitecture, 2) + TEST_FIELD_OFFSET(ACTCTXW, wProcessorArchitecture, 16) + TEST_FIELD_SIZE (ACTCTXW, wLangId, 2) + TEST_FIELD_ALIGN (ACTCTXW, wLangId, 2) + TEST_FIELD_OFFSET(ACTCTXW, wLangId, 18) + TEST_FIELD_SIZE (ACTCTXW, lpAssemblyDirectory, 8) + TEST_FIELD_ALIGN (ACTCTXW, lpAssemblyDirectory, 8) + TEST_FIELD_OFFSET(ACTCTXW, lpAssemblyDirectory, 24) + TEST_FIELD_SIZE (ACTCTXW, lpResourceName, 8) + TEST_FIELD_ALIGN (ACTCTXW, lpResourceName, 8) + TEST_FIELD_OFFSET(ACTCTXW, lpResourceName, 32) + TEST_FIELD_SIZE (ACTCTXW, lpApplicationName, 8) + TEST_FIELD_ALIGN (ACTCTXW, lpApplicationName, 8) + TEST_FIELD_OFFSET(ACTCTXW, lpApplicationName, 40) + TEST_FIELD_SIZE (ACTCTXW, hModule, 8) + TEST_FIELD_ALIGN (ACTCTXW, hModule, 8) + TEST_FIELD_OFFSET(ACTCTXW, hModule, 48) +} + +static void test_pack_ACTCTX_SECTION_KEYED_DATA(void) +{ + /* ACTCTX_SECTION_KEYED_DATA */ + TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA, 112) + TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, cbSize, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, cbSize, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, cbSize, 0) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulDataFormatVersion, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulDataFormatVersion, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulDataFormatVersion, 4) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, lpData, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, lpData, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, lpData, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulLength, 16) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, lpSectionGlobalData, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, lpSectionGlobalData, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, lpSectionGlobalData, 24) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulSectionGlobalDataLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulSectionGlobalDataLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulSectionGlobalDataLength, 32) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, lpSectionBase, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, lpSectionBase, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, lpSectionBase, 40) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulSectionTotalLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulSectionTotalLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulSectionTotalLength, 48) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, hActCtx, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, hActCtx, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, hActCtx, 56) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex, 64) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, ulFlags, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, ulFlags, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulFlags, 68) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, AssemblyMetadata, 40) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA, AssemblyMetadata, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, AssemblyMetadata, 72) +} + +static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void) +{ + /* ACTCTX_SECTION_KEYED_DATA_2600 */ + TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, 72) + TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, cbSize, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, cbSize, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, cbSize, 0) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, ulDataFormatVersion, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, ulDataFormatVersion, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, ulDataFormatVersion, 4) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, lpData, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, lpData, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, lpData, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, ulLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, ulLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, ulLength, 16) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, lpSectionGlobalData, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, lpSectionGlobalData, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, lpSectionGlobalData, 24) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, ulSectionGlobalDataLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, ulSectionGlobalDataLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, ulSectionGlobalDataLength, 32) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, lpSectionBase, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, lpSectionBase, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, lpSectionBase, 40) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, ulSectionTotalLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, ulSectionTotalLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, ulSectionTotalLength, 48) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, hActCtx, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, hActCtx, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, hActCtx, 56) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, ulAssemblyRosterIndex, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, ulAssemblyRosterIndex, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_2600, ulAssemblyRosterIndex, 64) +} + +static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void) +{ + /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */ + TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 40) + TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpInformation, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpInformation, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpInformation, 0) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionBase, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionBase, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionBase, 8) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionLength, 16) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionGlobalDataBase, 8) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionGlobalDataBase, 8) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpSectionGlobalDataBase, 24) + TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionGlobalDataLength, 4) + TEST_FIELD_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionGlobalDataLength, 4) + TEST_FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, ulSectionGlobalDataLength, 32) +} + +static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void) +{ + /* ACTIVATION_CONTEXT_BASIC_INFORMATION */ + TEST_TYPE_SIZE (ACTIVATION_CONTEXT_BASIC_INFORMATION, 16) + TEST_TYPE_ALIGN (ACTIVATION_CONTEXT_BASIC_INFORMATION, 8) + TEST_FIELD_SIZE (ACTIVATION_CONTEXT_BASIC_INFORMATION, hActCtx, 8) + TEST_FIELD_ALIGN (ACTIVATION_CONTEXT_BASIC_INFORMATION, hActCtx, 8) + TEST_FIELD_OFFSET(ACTIVATION_CONTEXT_BASIC_INFORMATION, hActCtx, 0) + TEST_FIELD_SIZE (ACTIVATION_CONTEXT_BASIC_INFORMATION, dwFlags, 4) + TEST_FIELD_ALIGN (ACTIVATION_CONTEXT_BASIC_INFORMATION, dwFlags, 4) + TEST_FIELD_OFFSET(ACTIVATION_CONTEXT_BASIC_INFORMATION, dwFlags, 8) +} + +static void test_pack_BY_HANDLE_FILE_INFORMATION(void) +{ + /* BY_HANDLE_FILE_INFORMATION */ + TEST_TYPE_SIZE (BY_HANDLE_FILE_INFORMATION, 52) + TEST_TYPE_ALIGN (BY_HANDLE_FILE_INFORMATION, 4) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, dwFileAttributes, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, dwFileAttributes, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, dwFileAttributes, 0) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, ftCreationTime, 8) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, ftCreationTime, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, ftCreationTime, 4) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, ftLastAccessTime, 8) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, ftLastAccessTime, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, ftLastAccessTime, 12) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, ftLastWriteTime, 8) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, ftLastWriteTime, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, ftLastWriteTime, 20) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, dwVolumeSerialNumber, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, dwVolumeSerialNumber, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, dwVolumeSerialNumber, 28) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, nFileSizeHigh, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, nFileSizeHigh, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, nFileSizeHigh, 32) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, nFileSizeLow, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, nFileSizeLow, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, nFileSizeLow, 36) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, nNumberOfLinks, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, nNumberOfLinks, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, nNumberOfLinks, 40) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, nFileIndexHigh, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, nFileIndexHigh, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, nFileIndexHigh, 44) + TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, nFileIndexLow, 4) + TEST_FIELD_ALIGN (BY_HANDLE_FILE_INFORMATION, nFileIndexLow, 4) + TEST_FIELD_OFFSET(BY_HANDLE_FILE_INFORMATION, nFileIndexLow, 48) +} + +static void test_pack_COMMCONFIG(void) +{ + /* COMMCONFIG */ + TEST_TYPE_SIZE (COMMCONFIG, 52) + TEST_TYPE_ALIGN (COMMCONFIG, 4) + TEST_FIELD_SIZE (COMMCONFIG, dwSize, 4) + TEST_FIELD_ALIGN (COMMCONFIG, dwSize, 4) + TEST_FIELD_OFFSET(COMMCONFIG, dwSize, 0) + TEST_FIELD_SIZE (COMMCONFIG, wVersion, 2) + TEST_FIELD_ALIGN (COMMCONFIG, wVersion, 2) + TEST_FIELD_OFFSET(COMMCONFIG, wVersion, 4) + TEST_FIELD_SIZE (COMMCONFIG, wReserved, 2) + TEST_FIELD_ALIGN (COMMCONFIG, wReserved, 2) + TEST_FIELD_OFFSET(COMMCONFIG, wReserved, 6) + TEST_FIELD_SIZE (COMMCONFIG, dcb, 28) + TEST_FIELD_ALIGN (COMMCONFIG, dcb, 4) + TEST_FIELD_OFFSET(COMMCONFIG, dcb, 8) + TEST_FIELD_SIZE (COMMCONFIG, dwProviderSubType, 4) + TEST_FIELD_ALIGN (COMMCONFIG, dwProviderSubType, 4) + TEST_FIELD_OFFSET(COMMCONFIG, dwProviderSubType, 36) + TEST_FIELD_SIZE (COMMCONFIG, dwProviderOffset, 4) + TEST_FIELD_ALIGN (COMMCONFIG, dwProviderOffset, 4) + TEST_FIELD_OFFSET(COMMCONFIG, dwProviderOffset, 40) + TEST_FIELD_SIZE (COMMCONFIG, dwProviderSize, 4) + TEST_FIELD_ALIGN (COMMCONFIG, dwProviderSize, 4) + TEST_FIELD_OFFSET(COMMCONFIG, dwProviderSize, 44) + TEST_FIELD_SIZE (COMMCONFIG, wcProviderData, 4) + TEST_FIELD_ALIGN (COMMCONFIG, wcProviderData, 4) + TEST_FIELD_OFFSET(COMMCONFIG, wcProviderData, 48) +} + +static void test_pack_COMMPROP(void) +{ + /* COMMPROP */ + TEST_TYPE_SIZE (COMMPROP, 64) + TEST_TYPE_ALIGN (COMMPROP, 4) + TEST_FIELD_SIZE (COMMPROP, wPacketLength, 2) + TEST_FIELD_ALIGN (COMMPROP, wPacketLength, 2) + TEST_FIELD_OFFSET(COMMPROP, wPacketLength, 0) + TEST_FIELD_SIZE (COMMPROP, wPacketVersion, 2) + TEST_FIELD_ALIGN (COMMPROP, wPacketVersion, 2) + TEST_FIELD_OFFSET(COMMPROP, wPacketVersion, 2) + TEST_FIELD_SIZE (COMMPROP, dwServiceMask, 4) + TEST_FIELD_ALIGN (COMMPROP, dwServiceMask, 4) + TEST_FIELD_OFFSET(COMMPROP, dwServiceMask, 4) + TEST_FIELD_SIZE (COMMPROP, dwReserved1, 4) + TEST_FIELD_ALIGN (COMMPROP, dwReserved1, 4) + TEST_FIELD_OFFSET(COMMPROP, dwReserved1, 8) + TEST_FIELD_SIZE (COMMPROP, dwMaxTxQueue, 4) + TEST_FIELD_ALIGN (COMMPROP, dwMaxTxQueue, 4) + TEST_FIELD_OFFSET(COMMPROP, dwMaxTxQueue, 12) + TEST_FIELD_SIZE (COMMPROP, dwMaxRxQueue, 4) + TEST_FIELD_ALIGN (COMMPROP, dwMaxRxQueue, 4) + TEST_FIELD_OFFSET(COMMPROP, dwMaxRxQueue, 16) + TEST_FIELD_SIZE (COMMPROP, dwMaxBaud, 4) + TEST_FIELD_ALIGN (COMMPROP, dwMaxBaud, 4) + TEST_FIELD_OFFSET(COMMPROP, dwMaxBaud, 20) + TEST_FIELD_SIZE (COMMPROP, dwProvSubType, 4) + TEST_FIELD_ALIGN (COMMPROP, dwProvSubType, 4) + TEST_FIELD_OFFSET(COMMPROP, dwProvSubType, 24) + TEST_FIELD_SIZE (COMMPROP, dwProvCapabilities, 4) + TEST_FIELD_ALIGN (COMMPROP, dwProvCapabilities, 4) + TEST_FIELD_OFFSET(COMMPROP, dwProvCapabilities, 28) + TEST_FIELD_SIZE (COMMPROP, dwSettableParams, 4) + TEST_FIELD_ALIGN (COMMPROP, dwSettableParams, 4) + TEST_FIELD_OFFSET(COMMPROP, dwSettableParams, 32) + TEST_FIELD_SIZE (COMMPROP, dwSettableBaud, 4) + TEST_FIELD_ALIGN (COMMPROP, dwSettableBaud, 4) + TEST_FIELD_OFFSET(COMMPROP, dwSettableBaud, 36) + TEST_FIELD_SIZE (COMMPROP, wSettableData, 2) + TEST_FIELD_ALIGN (COMMPROP, wSettableData, 2) + TEST_FIELD_OFFSET(COMMPROP, wSettableData, 40) + TEST_FIELD_SIZE (COMMPROP, wSettableStopParity, 2) + TEST_FIELD_ALIGN (COMMPROP, wSettableStopParity, 2) + TEST_FIELD_OFFSET(COMMPROP, wSettableStopParity, 42) + TEST_FIELD_SIZE (COMMPROP, dwCurrentTxQueue, 4) + TEST_FIELD_ALIGN (COMMPROP, dwCurrentTxQueue, 4) + TEST_FIELD_OFFSET(COMMPROP, dwCurrentTxQueue, 44) + TEST_FIELD_SIZE (COMMPROP, dwCurrentRxQueue, 4) + TEST_FIELD_ALIGN (COMMPROP, dwCurrentRxQueue, 4) + TEST_FIELD_OFFSET(COMMPROP, dwCurrentRxQueue, 48) + TEST_FIELD_SIZE (COMMPROP, dwProvSpec1, 4) + TEST_FIELD_ALIGN (COMMPROP, dwProvSpec1, 4) + TEST_FIELD_OFFSET(COMMPROP, dwProvSpec1, 52) + TEST_FIELD_SIZE (COMMPROP, dwProvSpec2, 4) + TEST_FIELD_ALIGN (COMMPROP, dwProvSpec2, 4) + TEST_FIELD_OFFSET(COMMPROP, dwProvSpec2, 56) + TEST_FIELD_SIZE (COMMPROP, wcProvChar, 2) + TEST_FIELD_ALIGN (COMMPROP, wcProvChar, 2) + TEST_FIELD_OFFSET(COMMPROP, wcProvChar, 60) +} + +static void test_pack_COMMTIMEOUTS(void) +{ + /* COMMTIMEOUTS */ + TEST_TYPE_SIZE (COMMTIMEOUTS, 20) + TEST_TYPE_ALIGN (COMMTIMEOUTS, 4) + TEST_FIELD_SIZE (COMMTIMEOUTS, ReadIntervalTimeout, 4) + TEST_FIELD_ALIGN (COMMTIMEOUTS, ReadIntervalTimeout, 4) + TEST_FIELD_OFFSET(COMMTIMEOUTS, ReadIntervalTimeout, 0) + TEST_FIELD_SIZE (COMMTIMEOUTS, ReadTotalTimeoutMultiplier, 4) + TEST_FIELD_ALIGN (COMMTIMEOUTS, ReadTotalTimeoutMultiplier, 4) + TEST_FIELD_OFFSET(COMMTIMEOUTS, ReadTotalTimeoutMultiplier, 4) + TEST_FIELD_SIZE (COMMTIMEOUTS, ReadTotalTimeoutConstant, 4) + TEST_FIELD_ALIGN (COMMTIMEOUTS, ReadTotalTimeoutConstant, 4) + TEST_FIELD_OFFSET(COMMTIMEOUTS, ReadTotalTimeoutConstant, 8) + TEST_FIELD_SIZE (COMMTIMEOUTS, WriteTotalTimeoutMultiplier, 4) + TEST_FIELD_ALIGN (COMMTIMEOUTS, WriteTotalTimeoutMultiplier, 4) + TEST_FIELD_OFFSET(COMMTIMEOUTS, WriteTotalTimeoutMultiplier, 12) + TEST_FIELD_SIZE (COMMTIMEOUTS, WriteTotalTimeoutConstant, 4) + TEST_FIELD_ALIGN (COMMTIMEOUTS, WriteTotalTimeoutConstant, 4) + TEST_FIELD_OFFSET(COMMTIMEOUTS, WriteTotalTimeoutConstant, 16) +} + +static void test_pack_COMSTAT(void) +{ + /* COMSTAT */ + TEST_TYPE_SIZE (COMSTAT, 12) + TEST_TYPE_ALIGN (COMSTAT, 4) + TEST_FIELD_SIZE (COMSTAT, cbInQue, 4) + TEST_FIELD_ALIGN (COMSTAT, cbInQue, 4) + TEST_FIELD_OFFSET(COMSTAT, cbInQue, 4) + TEST_FIELD_SIZE (COMSTAT, cbOutQue, 4) + TEST_FIELD_ALIGN (COMSTAT, cbOutQue, 4) + TEST_FIELD_OFFSET(COMSTAT, cbOutQue, 8) +} + +static void test_pack_CREATE_PROCESS_DEBUG_INFO(void) +{ + /* CREATE_PROCESS_DEBUG_INFO */ + TEST_TYPE_SIZE (CREATE_PROCESS_DEBUG_INFO, 72) + TEST_TYPE_ALIGN (CREATE_PROCESS_DEBUG_INFO, 8) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, hFile, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, hFile, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, hFile, 0) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, hProcess, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, hProcess, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, hProcess, 8) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, hThread, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, hThread, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, hThread, 16) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, lpBaseOfImage, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, lpBaseOfImage, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, lpBaseOfImage, 24) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, dwDebugInfoFileOffset, 4) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, dwDebugInfoFileOffset, 4) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, dwDebugInfoFileOffset, 32) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, nDebugInfoSize, 4) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, nDebugInfoSize, 4) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, nDebugInfoSize, 36) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, lpThreadLocalBase, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, lpThreadLocalBase, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, lpThreadLocalBase, 40) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, lpStartAddress, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, lpStartAddress, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, lpStartAddress, 48) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, lpImageName, 8) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, lpImageName, 8) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, lpImageName, 56) + TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, fUnicode, 2) + TEST_FIELD_ALIGN (CREATE_PROCESS_DEBUG_INFO, fUnicode, 2) + TEST_FIELD_OFFSET(CREATE_PROCESS_DEBUG_INFO, fUnicode, 64) +} + +static void test_pack_CREATE_THREAD_DEBUG_INFO(void) +{ + /* CREATE_THREAD_DEBUG_INFO */ + TEST_TYPE_SIZE (CREATE_THREAD_DEBUG_INFO, 24) + TEST_TYPE_ALIGN (CREATE_THREAD_DEBUG_INFO, 8) + TEST_FIELD_SIZE (CREATE_THREAD_DEBUG_INFO, hThread, 8) + TEST_FIELD_ALIGN (CREATE_THREAD_DEBUG_INFO, hThread, 8) + TEST_FIELD_OFFSET(CREATE_THREAD_DEBUG_INFO, hThread, 0) + TEST_FIELD_SIZE (CREATE_THREAD_DEBUG_INFO, lpThreadLocalBase, 8) + TEST_FIELD_ALIGN (CREATE_THREAD_DEBUG_INFO, lpThreadLocalBase, 8) + TEST_FIELD_OFFSET(CREATE_THREAD_DEBUG_INFO, lpThreadLocalBase, 8) + TEST_FIELD_SIZE (CREATE_THREAD_DEBUG_INFO, lpStartAddress, 8) + TEST_FIELD_ALIGN (CREATE_THREAD_DEBUG_INFO, lpStartAddress, 8) + TEST_FIELD_OFFSET(CREATE_THREAD_DEBUG_INFO, lpStartAddress, 16) +} + +static void test_pack_CRITICAL_SECTION(void) +{ + /* CRITICAL_SECTION */ + TEST_TYPE_SIZE (CRITICAL_SECTION, 40) + TEST_TYPE_ALIGN (CRITICAL_SECTION, 8) +} + +static void test_pack_CRITICAL_SECTION_DEBUG(void) +{ + /* CRITICAL_SECTION_DEBUG */ +} + +static void test_pack_DCB(void) +{ + /* DCB */ + TEST_TYPE_SIZE (DCB, 28) + TEST_TYPE_ALIGN (DCB, 4) + TEST_FIELD_SIZE (DCB, DCBlength, 4) + TEST_FIELD_ALIGN (DCB, DCBlength, 4) + TEST_FIELD_OFFSET(DCB, DCBlength, 0) + TEST_FIELD_SIZE (DCB, BaudRate, 4) + TEST_FIELD_ALIGN (DCB, BaudRate, 4) + TEST_FIELD_OFFSET(DCB, BaudRate, 4) + TEST_FIELD_SIZE (DCB, wReserved, 2) + TEST_FIELD_ALIGN (DCB, wReserved, 2) + TEST_FIELD_OFFSET(DCB, wReserved, 12) + TEST_FIELD_SIZE (DCB, XonLim, 2) + TEST_FIELD_ALIGN (DCB, XonLim, 2) + TEST_FIELD_OFFSET(DCB, XonLim, 14) + TEST_FIELD_SIZE (DCB, XoffLim, 2) + TEST_FIELD_ALIGN (DCB, XoffLim, 2) + TEST_FIELD_OFFSET(DCB, XoffLim, 16) + TEST_FIELD_SIZE (DCB, ByteSize, 1) + TEST_FIELD_ALIGN (DCB, ByteSize, 1) + TEST_FIELD_OFFSET(DCB, ByteSize, 18) + TEST_FIELD_SIZE (DCB, Parity, 1) + TEST_FIELD_ALIGN (DCB, Parity, 1) + TEST_FIELD_OFFSET(DCB, Parity, 19) + TEST_FIELD_SIZE (DCB, StopBits, 1) + TEST_FIELD_ALIGN (DCB, StopBits, 1) + TEST_FIELD_OFFSET(DCB, StopBits, 20) + TEST_FIELD_SIZE (DCB, XonChar, 1) + TEST_FIELD_ALIGN (DCB, XonChar, 1) + TEST_FIELD_OFFSET(DCB, XonChar, 21) + TEST_FIELD_SIZE (DCB, XoffChar, 1) + TEST_FIELD_ALIGN (DCB, XoffChar, 1) + TEST_FIELD_OFFSET(DCB, XoffChar, 22) + TEST_FIELD_SIZE (DCB, ErrorChar, 1) + TEST_FIELD_ALIGN (DCB, ErrorChar, 1) + TEST_FIELD_OFFSET(DCB, ErrorChar, 23) + TEST_FIELD_SIZE (DCB, EofChar, 1) + TEST_FIELD_ALIGN (DCB, EofChar, 1) + TEST_FIELD_OFFSET(DCB, EofChar, 24) + TEST_FIELD_SIZE (DCB, EvtChar, 1) + TEST_FIELD_ALIGN (DCB, EvtChar, 1) + TEST_FIELD_OFFSET(DCB, EvtChar, 25) + TEST_FIELD_SIZE (DCB, wReserved1, 2) + TEST_FIELD_ALIGN (DCB, wReserved1, 2) + TEST_FIELD_OFFSET(DCB, wReserved1, 26) +} + +static void test_pack_DEBUG_EVENT(void) +{ + /* DEBUG_EVENT */ + TEST_FIELD_SIZE (DEBUG_EVENT, dwDebugEventCode, 4) + TEST_FIELD_ALIGN (DEBUG_EVENT, dwDebugEventCode, 4) + TEST_FIELD_OFFSET(DEBUG_EVENT, dwDebugEventCode, 0) + TEST_FIELD_SIZE (DEBUG_EVENT, dwProcessId, 4) + TEST_FIELD_ALIGN (DEBUG_EVENT, dwProcessId, 4) + TEST_FIELD_OFFSET(DEBUG_EVENT, dwProcessId, 4) + TEST_FIELD_SIZE (DEBUG_EVENT, dwThreadId, 4) + TEST_FIELD_ALIGN (DEBUG_EVENT, dwThreadId, 4) + TEST_FIELD_OFFSET(DEBUG_EVENT, dwThreadId, 8) +} + +static void test_pack_ENUMRESLANGPROCA(void) +{ + /* ENUMRESLANGPROCA */ + TEST_TYPE_SIZE (ENUMRESLANGPROCA, 8) + TEST_TYPE_ALIGN (ENUMRESLANGPROCA, 8) +} + +static void test_pack_ENUMRESLANGPROCW(void) +{ + /* ENUMRESLANGPROCW */ + TEST_TYPE_SIZE (ENUMRESLANGPROCW, 8) + TEST_TYPE_ALIGN (ENUMRESLANGPROCW, 8) +} + +static void test_pack_ENUMRESNAMEPROCA(void) +{ + /* ENUMRESNAMEPROCA */ + TEST_TYPE_SIZE (ENUMRESNAMEPROCA, 8) + TEST_TYPE_ALIGN (ENUMRESNAMEPROCA, 8) +} + +static void test_pack_ENUMRESNAMEPROCW(void) +{ + /* ENUMRESNAMEPROCW */ + TEST_TYPE_SIZE (ENUMRESNAMEPROCW, 8) + TEST_TYPE_ALIGN (ENUMRESNAMEPROCW, 8) +} + +static void test_pack_ENUMRESTYPEPROCA(void) +{ + /* ENUMRESTYPEPROCA */ + TEST_TYPE_SIZE (ENUMRESTYPEPROCA, 8) + TEST_TYPE_ALIGN (ENUMRESTYPEPROCA, 8) +} + +static void test_pack_ENUMRESTYPEPROCW(void) +{ + /* ENUMRESTYPEPROCW */ + TEST_TYPE_SIZE (ENUMRESTYPEPROCW, 8) + TEST_TYPE_ALIGN (ENUMRESTYPEPROCW, 8) +} + +static void test_pack_EXCEPTION_DEBUG_INFO(void) +{ + /* EXCEPTION_DEBUG_INFO */ + TEST_TYPE_SIZE (EXCEPTION_DEBUG_INFO, 160) + TEST_TYPE_ALIGN (EXCEPTION_DEBUG_INFO, 8) + TEST_FIELD_SIZE (EXCEPTION_DEBUG_INFO, ExceptionRecord, 152) + TEST_FIELD_ALIGN (EXCEPTION_DEBUG_INFO, ExceptionRecord, 8) + TEST_FIELD_OFFSET(EXCEPTION_DEBUG_INFO, ExceptionRecord, 0) + TEST_FIELD_SIZE (EXCEPTION_DEBUG_INFO, dwFirstChance, 4) + TEST_FIELD_ALIGN (EXCEPTION_DEBUG_INFO, dwFirstChance, 4) + TEST_FIELD_OFFSET(EXCEPTION_DEBUG_INFO, dwFirstChance, 152) +} + +static void test_pack_EXIT_PROCESS_DEBUG_INFO(void) +{ + /* EXIT_PROCESS_DEBUG_INFO */ + TEST_TYPE_SIZE (EXIT_PROCESS_DEBUG_INFO, 4) + TEST_TYPE_ALIGN (EXIT_PROCESS_DEBUG_INFO, 4) + TEST_FIELD_SIZE (EXIT_PROCESS_DEBUG_INFO, dwExitCode, 4) + TEST_FIELD_ALIGN (EXIT_PROCESS_DEBUG_INFO, dwExitCode, 4) + TEST_FIELD_OFFSET(EXIT_PROCESS_DEBUG_INFO, dwExitCode, 0) +} + +static void test_pack_EXIT_THREAD_DEBUG_INFO(void) +{ + /* EXIT_THREAD_DEBUG_INFO */ + TEST_TYPE_SIZE (EXIT_THREAD_DEBUG_INFO, 4) + TEST_TYPE_ALIGN (EXIT_THREAD_DEBUG_INFO, 4) + TEST_FIELD_SIZE (EXIT_THREAD_DEBUG_INFO, dwExitCode, 4) + TEST_FIELD_ALIGN (EXIT_THREAD_DEBUG_INFO, dwExitCode, 4) + TEST_FIELD_OFFSET(EXIT_THREAD_DEBUG_INFO, dwExitCode, 0) +} + +static void test_pack_HW_PROFILE_INFOA(void) +{ + /* HW_PROFILE_INFOA */ + TEST_TYPE_SIZE (HW_PROFILE_INFOA, 124) + TEST_TYPE_ALIGN (HW_PROFILE_INFOA, 4) + TEST_FIELD_SIZE (HW_PROFILE_INFOA, dwDockInfo, 4) + TEST_FIELD_ALIGN (HW_PROFILE_INFOA, dwDockInfo, 4) + TEST_FIELD_OFFSET(HW_PROFILE_INFOA, dwDockInfo, 0) + TEST_FIELD_SIZE (HW_PROFILE_INFOA, szHwProfileGuid, 39) + TEST_FIELD_ALIGN (HW_PROFILE_INFOA, szHwProfileGuid, 1) + TEST_FIELD_OFFSET(HW_PROFILE_INFOA, szHwProfileGuid, 4) + TEST_FIELD_SIZE (HW_PROFILE_INFOA, szHwProfileName, 80) + TEST_FIELD_ALIGN (HW_PROFILE_INFOA, szHwProfileName, 1) + TEST_FIELD_OFFSET(HW_PROFILE_INFOA, szHwProfileName, 43) +} + +static void test_pack_HW_PROFILE_INFOW(void) +{ + /* HW_PROFILE_INFOW */ + TEST_TYPE_SIZE (HW_PROFILE_INFOW, 244) + TEST_TYPE_ALIGN (HW_PROFILE_INFOW, 4) + TEST_FIELD_SIZE (HW_PROFILE_INFOW, dwDockInfo, 4) + TEST_FIELD_ALIGN (HW_PROFILE_INFOW, dwDockInfo, 4) + TEST_FIELD_OFFSET(HW_PROFILE_INFOW, dwDockInfo, 0) + TEST_FIELD_SIZE (HW_PROFILE_INFOW, szHwProfileGuid, 78) + TEST_FIELD_ALIGN (HW_PROFILE_INFOW, szHwProfileGuid, 2) + TEST_FIELD_OFFSET(HW_PROFILE_INFOW, szHwProfileGuid, 4) + TEST_FIELD_SIZE (HW_PROFILE_INFOW, szHwProfileName, 160) + TEST_FIELD_ALIGN (HW_PROFILE_INFOW, szHwProfileName, 2) + TEST_FIELD_OFFSET(HW_PROFILE_INFOW, szHwProfileName, 82) +} + +static void test_pack_LOAD_DLL_DEBUG_INFO(void) +{ + /* LOAD_DLL_DEBUG_INFO */ + TEST_TYPE_SIZE (LOAD_DLL_DEBUG_INFO, 40) + TEST_TYPE_ALIGN (LOAD_DLL_DEBUG_INFO, 8) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, hFile, 8) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, hFile, 8) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, hFile, 0) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, lpBaseOfDll, 8) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, lpBaseOfDll, 8) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, lpBaseOfDll, 8) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, dwDebugInfoFileOffset, 4) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, dwDebugInfoFileOffset, 4) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, dwDebugInfoFileOffset, 16) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, nDebugInfoSize, 4) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, nDebugInfoSize, 4) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, nDebugInfoSize, 20) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, lpImageName, 8) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, lpImageName, 8) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, lpImageName, 24) + TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, fUnicode, 2) + TEST_FIELD_ALIGN (LOAD_DLL_DEBUG_INFO, fUnicode, 2) + TEST_FIELD_OFFSET(LOAD_DLL_DEBUG_INFO, fUnicode, 32) +} + +static void test_pack_LPBY_HANDLE_FILE_INFORMATION(void) +{ + /* LPBY_HANDLE_FILE_INFORMATION */ + TEST_TYPE_SIZE (LPBY_HANDLE_FILE_INFORMATION, 8) + TEST_TYPE_ALIGN (LPBY_HANDLE_FILE_INFORMATION, 8) + TEST_TARGET_SIZE (LPBY_HANDLE_FILE_INFORMATION, 52) + TEST_TARGET_ALIGN(LPBY_HANDLE_FILE_INFORMATION, 4) +} + +static void test_pack_LPCOMMCONFIG(void) +{ + /* LPCOMMCONFIG */ + TEST_TYPE_SIZE (LPCOMMCONFIG, 8) + TEST_TYPE_ALIGN (LPCOMMCONFIG, 8) + TEST_TARGET_SIZE (LPCOMMCONFIG, 52) + TEST_TARGET_ALIGN(LPCOMMCONFIG, 4) +} + +static void test_pack_LPCOMMPROP(void) +{ + /* LPCOMMPROP */ + TEST_TYPE_SIZE (LPCOMMPROP, 8) + TEST_TYPE_ALIGN (LPCOMMPROP, 8) + TEST_TARGET_SIZE (LPCOMMPROP, 64) + TEST_TARGET_ALIGN(LPCOMMPROP, 4) +} + +static void test_pack_LPCOMMTIMEOUTS(void) +{ + /* LPCOMMTIMEOUTS */ + TEST_TYPE_SIZE (LPCOMMTIMEOUTS, 8) + TEST_TYPE_ALIGN (LPCOMMTIMEOUTS, 8) + TEST_TARGET_SIZE (LPCOMMTIMEOUTS, 20) + TEST_TARGET_ALIGN(LPCOMMTIMEOUTS, 4) +} + +static void test_pack_LPCOMSTAT(void) +{ + /* LPCOMSTAT */ + TEST_TYPE_SIZE (LPCOMSTAT, 8) + TEST_TYPE_ALIGN (LPCOMSTAT, 8) + TEST_TARGET_SIZE (LPCOMSTAT, 12) + TEST_TARGET_ALIGN(LPCOMSTAT, 4) +} + +static void test_pack_LPCRITICAL_SECTION(void) +{ + /* LPCRITICAL_SECTION */ + TEST_TYPE_SIZE (LPCRITICAL_SECTION, 8) + TEST_TYPE_ALIGN (LPCRITICAL_SECTION, 8) +} + +static void test_pack_LPCRITICAL_SECTION_DEBUG(void) +{ + /* LPCRITICAL_SECTION_DEBUG */ + TEST_TYPE_SIZE (LPCRITICAL_SECTION_DEBUG, 8) + TEST_TYPE_ALIGN (LPCRITICAL_SECTION_DEBUG, 8) +} + +static void test_pack_LPDCB(void) +{ + /* LPDCB */ + TEST_TYPE_SIZE (LPDCB, 8) + TEST_TYPE_ALIGN (LPDCB, 8) + TEST_TARGET_SIZE (LPDCB, 28) + TEST_TARGET_ALIGN(LPDCB, 4) +} + +static void test_pack_LPDEBUG_EVENT(void) +{ + /* LPDEBUG_EVENT */ + TEST_TYPE_SIZE (LPDEBUG_EVENT, 8) + TEST_TYPE_ALIGN (LPDEBUG_EVENT, 8) +} + +static void test_pack_LPEXCEPTION_POINTERS(void) +{ + /* LPEXCEPTION_POINTERS */ + TEST_TYPE_SIZE (LPEXCEPTION_POINTERS, 8) + TEST_TYPE_ALIGN (LPEXCEPTION_POINTERS, 8) +} + +static void test_pack_LPEXCEPTION_RECORD(void) +{ + /* LPEXCEPTION_RECORD */ + TEST_TYPE_SIZE (LPEXCEPTION_RECORD, 8) + TEST_TYPE_ALIGN (LPEXCEPTION_RECORD, 8) +} + +static void test_pack_LPFIBER_START_ROUTINE(void) +{ + /* LPFIBER_START_ROUTINE */ + TEST_TYPE_SIZE (LPFIBER_START_ROUTINE, 8) + TEST_TYPE_ALIGN (LPFIBER_START_ROUTINE, 8) +} + +static void test_pack_LPHW_PROFILE_INFOA(void) +{ + /* LPHW_PROFILE_INFOA */ + TEST_TYPE_SIZE (LPHW_PROFILE_INFOA, 8) + TEST_TYPE_ALIGN (LPHW_PROFILE_INFOA, 8) + TEST_TARGET_SIZE (LPHW_PROFILE_INFOA, 124) + TEST_TARGET_ALIGN(LPHW_PROFILE_INFOA, 4) +} + +static void test_pack_LPHW_PROFILE_INFOW(void) +{ + /* LPHW_PROFILE_INFOW */ + TEST_TYPE_SIZE (LPHW_PROFILE_INFOW, 8) + TEST_TYPE_ALIGN (LPHW_PROFILE_INFOW, 8) + TEST_TARGET_SIZE (LPHW_PROFILE_INFOW, 244) + TEST_TARGET_ALIGN(LPHW_PROFILE_INFOW, 4) +} + +static void test_pack_LPMEMORYSTATUS(void) +{ + /* LPMEMORYSTATUS */ + TEST_TYPE_SIZE (LPMEMORYSTATUS, 8) + TEST_TYPE_ALIGN (LPMEMORYSTATUS, 8) + TEST_TARGET_SIZE (LPMEMORYSTATUS, 56) + TEST_TARGET_ALIGN(LPMEMORYSTATUS, 8) +} + +static void test_pack_LPMEMORYSTATUSEX(void) +{ + /* LPMEMORYSTATUSEX */ + TEST_TYPE_SIZE (LPMEMORYSTATUSEX, 8) + TEST_TYPE_ALIGN (LPMEMORYSTATUSEX, 8) + TEST_TARGET_SIZE (LPMEMORYSTATUSEX, 64) + TEST_TARGET_ALIGN(LPMEMORYSTATUSEX, 8) +} + +static void test_pack_LPOFSTRUCT(void) +{ + /* LPOFSTRUCT */ + TEST_TYPE_SIZE (LPOFSTRUCT, 8) + TEST_TYPE_ALIGN (LPOFSTRUCT, 8) + TEST_TARGET_SIZE (LPOFSTRUCT, 136) + TEST_TARGET_ALIGN(LPOFSTRUCT, 2) +} + +static void test_pack_LPOVERLAPPED(void) +{ + /* LPOVERLAPPED */ + TEST_TYPE_SIZE (LPOVERLAPPED, 8) + TEST_TYPE_ALIGN (LPOVERLAPPED, 8) +} + +static void test_pack_LPOVERLAPPED_COMPLETION_ROUTINE(void) +{ + /* LPOVERLAPPED_COMPLETION_ROUTINE */ + TEST_TYPE_SIZE (LPOVERLAPPED_COMPLETION_ROUTINE, 8) + TEST_TYPE_ALIGN (LPOVERLAPPED_COMPLETION_ROUTINE, 8) +} + +static void test_pack_LPPROCESS_HEAP_ENTRY(void) +{ + /* LPPROCESS_HEAP_ENTRY */ + TEST_TYPE_SIZE (LPPROCESS_HEAP_ENTRY, 8) + TEST_TYPE_ALIGN (LPPROCESS_HEAP_ENTRY, 8) +} + +static void test_pack_LPPROCESS_INFORMATION(void) +{ + /* LPPROCESS_INFORMATION */ + TEST_TYPE_SIZE (LPPROCESS_INFORMATION, 8) + TEST_TYPE_ALIGN (LPPROCESS_INFORMATION, 8) + TEST_TARGET_SIZE (LPPROCESS_INFORMATION, 24) + TEST_TARGET_ALIGN(LPPROCESS_INFORMATION, 8) +} + +static void test_pack_LPPROGRESS_ROUTINE(void) +{ + /* LPPROGRESS_ROUTINE */ + TEST_TYPE_SIZE (LPPROGRESS_ROUTINE, 8) + TEST_TYPE_ALIGN (LPPROGRESS_ROUTINE, 8) +} + +static void test_pack_LPSECURITY_ATTRIBUTES(void) +{ + /* LPSECURITY_ATTRIBUTES */ + TEST_TYPE_SIZE (LPSECURITY_ATTRIBUTES, 8) + TEST_TYPE_ALIGN (LPSECURITY_ATTRIBUTES, 8) + TEST_TARGET_SIZE (LPSECURITY_ATTRIBUTES, 24) + TEST_TARGET_ALIGN(LPSECURITY_ATTRIBUTES, 8) +} + +static void test_pack_LPSTARTUPINFOA(void) +{ + /* LPSTARTUPINFOA */ + TEST_TYPE_SIZE (LPSTARTUPINFOA, 8) + TEST_TYPE_ALIGN (LPSTARTUPINFOA, 8) + TEST_TARGET_SIZE (LPSTARTUPINFOA, 104) + TEST_TARGET_ALIGN(LPSTARTUPINFOA, 8) +} + +static void test_pack_LPSTARTUPINFOW(void) +{ + /* LPSTARTUPINFOW */ + TEST_TYPE_SIZE (LPSTARTUPINFOW, 8) + TEST_TYPE_ALIGN (LPSTARTUPINFOW, 8) + TEST_TARGET_SIZE (LPSTARTUPINFOW, 104) + TEST_TARGET_ALIGN(LPSTARTUPINFOW, 8) +} + +static void test_pack_LPSYSTEMTIME(void) +{ + /* LPSYSTEMTIME */ + TEST_TYPE_SIZE (LPSYSTEMTIME, 8) + TEST_TYPE_ALIGN (LPSYSTEMTIME, 8) + TEST_TARGET_SIZE (LPSYSTEMTIME, 16) + TEST_TARGET_ALIGN(LPSYSTEMTIME, 2) +} + +static void test_pack_LPSYSTEM_INFO(void) +{ + /* LPSYSTEM_INFO */ + TEST_TYPE_SIZE (LPSYSTEM_INFO, 8) + TEST_TYPE_ALIGN (LPSYSTEM_INFO, 8) +} + +static void test_pack_LPSYSTEM_POWER_STATUS(void) +{ + /* LPSYSTEM_POWER_STATUS */ + TEST_TYPE_SIZE (LPSYSTEM_POWER_STATUS, 8) + TEST_TYPE_ALIGN (LPSYSTEM_POWER_STATUS, 8) + TEST_TARGET_SIZE (LPSYSTEM_POWER_STATUS, 12) + TEST_TARGET_ALIGN(LPSYSTEM_POWER_STATUS, 4) +} + +static void test_pack_LPTHREAD_START_ROUTINE(void) +{ + /* LPTHREAD_START_ROUTINE */ + TEST_TYPE_SIZE (LPTHREAD_START_ROUTINE, 8) + TEST_TYPE_ALIGN (LPTHREAD_START_ROUTINE, 8) +} + +static void test_pack_LPTIME_ZONE_INFORMATION(void) +{ + /* LPTIME_ZONE_INFORMATION */ + TEST_TYPE_SIZE (LPTIME_ZONE_INFORMATION, 8) + TEST_TYPE_ALIGN (LPTIME_ZONE_INFORMATION, 8) + TEST_TARGET_SIZE (LPTIME_ZONE_INFORMATION, 172) + TEST_TARGET_ALIGN(LPTIME_ZONE_INFORMATION, 4) +} + +static void test_pack_LPWIN32_FILE_ATTRIBUTE_DATA(void) +{ + /* LPWIN32_FILE_ATTRIBUTE_DATA */ + TEST_TYPE_SIZE (LPWIN32_FILE_ATTRIBUTE_DATA, 8) + TEST_TYPE_ALIGN (LPWIN32_FILE_ATTRIBUTE_DATA, 8) + TEST_TARGET_SIZE (LPWIN32_FILE_ATTRIBUTE_DATA, 36) + TEST_TARGET_ALIGN(LPWIN32_FILE_ATTRIBUTE_DATA, 4) +} + +static void test_pack_LPWIN32_FIND_DATAA(void) +{ + /* LPWIN32_FIND_DATAA */ + TEST_TYPE_SIZE (LPWIN32_FIND_DATAA, 8) + TEST_TYPE_ALIGN (LPWIN32_FIND_DATAA, 8) + TEST_TARGET_SIZE (LPWIN32_FIND_DATAA, 320) + TEST_TARGET_ALIGN(LPWIN32_FIND_DATAA, 4) +} + +static void test_pack_LPWIN32_FIND_DATAW(void) +{ + /* LPWIN32_FIND_DATAW */ + TEST_TYPE_SIZE (LPWIN32_FIND_DATAW, 8) + TEST_TYPE_ALIGN (LPWIN32_FIND_DATAW, 8) + TEST_TARGET_SIZE (LPWIN32_FIND_DATAW, 592) + TEST_TARGET_ALIGN(LPWIN32_FIND_DATAW, 4) +} + +static void test_pack_LPWIN32_STREAM_ID(void) +{ + /* LPWIN32_STREAM_ID */ + TEST_TYPE_SIZE (LPWIN32_STREAM_ID, 8) + TEST_TYPE_ALIGN (LPWIN32_STREAM_ID, 8) + TEST_TARGET_SIZE (LPWIN32_STREAM_ID, 24) + TEST_TARGET_ALIGN(LPWIN32_STREAM_ID, 8) +} + +static void test_pack_MEMORYSTATUS(void) +{ + /* MEMORYSTATUS */ + TEST_TYPE_SIZE (MEMORYSTATUS, 56) + TEST_TYPE_ALIGN (MEMORYSTATUS, 8) + TEST_FIELD_SIZE (MEMORYSTATUS, dwLength, 4) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwLength, 4) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwLength, 0) + TEST_FIELD_SIZE (MEMORYSTATUS, dwMemoryLoad, 4) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwMemoryLoad, 4) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwMemoryLoad, 4) + TEST_FIELD_SIZE (MEMORYSTATUS, dwTotalPhys, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwTotalPhys, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwTotalPhys, 8) + TEST_FIELD_SIZE (MEMORYSTATUS, dwAvailPhys, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwAvailPhys, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwAvailPhys, 16) + TEST_FIELD_SIZE (MEMORYSTATUS, dwTotalPageFile, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwTotalPageFile, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwTotalPageFile, 24) + TEST_FIELD_SIZE (MEMORYSTATUS, dwAvailPageFile, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwAvailPageFile, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwAvailPageFile, 32) + TEST_FIELD_SIZE (MEMORYSTATUS, dwTotalVirtual, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwTotalVirtual, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwTotalVirtual, 40) + TEST_FIELD_SIZE (MEMORYSTATUS, dwAvailVirtual, 8) + TEST_FIELD_ALIGN (MEMORYSTATUS, dwAvailVirtual, 8) + TEST_FIELD_OFFSET(MEMORYSTATUS, dwAvailVirtual, 48) +} + +static void test_pack_MEMORYSTATUSEX(void) +{ + /* MEMORYSTATUSEX (pack 8) */ + TEST_TYPE_SIZE (MEMORYSTATUSEX, 64) + TEST_TYPE_ALIGN (MEMORYSTATUSEX, 8) + TEST_FIELD_SIZE (MEMORYSTATUSEX, dwLength, 4) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, dwLength, 4) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, dwLength, 0) + TEST_FIELD_SIZE (MEMORYSTATUSEX, dwMemoryLoad, 4) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, dwMemoryLoad, 4) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, dwMemoryLoad, 4) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullTotalPhys, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullTotalPhys, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullTotalPhys, 8) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullAvailPhys, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullAvailPhys, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullAvailPhys, 16) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullTotalPageFile, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullTotalPageFile, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullTotalPageFile, 24) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullAvailPageFile, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullAvailPageFile, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullAvailPageFile, 32) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullTotalVirtual, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullTotalVirtual, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullTotalVirtual, 40) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullAvailVirtual, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullAvailVirtual, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullAvailVirtual, 48) + TEST_FIELD_SIZE (MEMORYSTATUSEX, ullAvailExtendedVirtual, 8) + TEST_FIELD_ALIGN (MEMORYSTATUSEX, ullAvailExtendedVirtual, 8) + TEST_FIELD_OFFSET(MEMORYSTATUSEX, ullAvailExtendedVirtual, 56) +} + +static void test_pack_OFSTRUCT(void) +{ + /* OFSTRUCT */ + TEST_TYPE_SIZE (OFSTRUCT, 136) + TEST_TYPE_ALIGN (OFSTRUCT, 2) + TEST_FIELD_SIZE (OFSTRUCT, cBytes, 1) + TEST_FIELD_ALIGN (OFSTRUCT, cBytes, 1) + TEST_FIELD_OFFSET(OFSTRUCT, cBytes, 0) + TEST_FIELD_SIZE (OFSTRUCT, fFixedDisk, 1) + TEST_FIELD_ALIGN (OFSTRUCT, fFixedDisk, 1) + TEST_FIELD_OFFSET(OFSTRUCT, fFixedDisk, 1) + TEST_FIELD_SIZE (OFSTRUCT, nErrCode, 2) + TEST_FIELD_ALIGN (OFSTRUCT, nErrCode, 2) + TEST_FIELD_OFFSET(OFSTRUCT, nErrCode, 2) + TEST_FIELD_SIZE (OFSTRUCT, Reserved1, 2) + TEST_FIELD_ALIGN (OFSTRUCT, Reserved1, 2) + TEST_FIELD_OFFSET(OFSTRUCT, Reserved1, 4) + TEST_FIELD_SIZE (OFSTRUCT, Reserved2, 2) + TEST_FIELD_ALIGN (OFSTRUCT, Reserved2, 2) + TEST_FIELD_OFFSET(OFSTRUCT, Reserved2, 6) + TEST_FIELD_SIZE (OFSTRUCT, szPathName, 128) + TEST_FIELD_ALIGN (OFSTRUCT, szPathName, 1) + TEST_FIELD_OFFSET(OFSTRUCT, szPathName, 8) +} + +static void test_pack_OUTPUT_DEBUG_STRING_INFO(void) +{ + /* OUTPUT_DEBUG_STRING_INFO */ + TEST_TYPE_SIZE (OUTPUT_DEBUG_STRING_INFO, 16) + TEST_TYPE_ALIGN (OUTPUT_DEBUG_STRING_INFO, 8) + TEST_FIELD_SIZE (OUTPUT_DEBUG_STRING_INFO, lpDebugStringData, 8) + TEST_FIELD_ALIGN (OUTPUT_DEBUG_STRING_INFO, lpDebugStringData, 8) + TEST_FIELD_OFFSET(OUTPUT_DEBUG_STRING_INFO, lpDebugStringData, 0) + TEST_FIELD_SIZE (OUTPUT_DEBUG_STRING_INFO, fUnicode, 2) + TEST_FIELD_ALIGN (OUTPUT_DEBUG_STRING_INFO, fUnicode, 2) + TEST_FIELD_OFFSET(OUTPUT_DEBUG_STRING_INFO, fUnicode, 8) + TEST_FIELD_SIZE (OUTPUT_DEBUG_STRING_INFO, nDebugStringLength, 2) + TEST_FIELD_ALIGN (OUTPUT_DEBUG_STRING_INFO, nDebugStringLength, 2) + TEST_FIELD_OFFSET(OUTPUT_DEBUG_STRING_INFO, nDebugStringLength, 10) +} + +static void test_pack_PACTCTXA(void) +{ + /* PACTCTXA */ + TEST_TYPE_SIZE (PACTCTXA, 8) + TEST_TYPE_ALIGN (PACTCTXA, 8) + TEST_TARGET_SIZE (PACTCTXA, 56) + TEST_TARGET_ALIGN(PACTCTXA, 8) +} + +static void test_pack_PACTCTXW(void) +{ + /* PACTCTXW */ + TEST_TYPE_SIZE (PACTCTXW, 8) + TEST_TYPE_ALIGN (PACTCTXW, 8) + TEST_TARGET_SIZE (PACTCTXW, 56) + TEST_TARGET_ALIGN(PACTCTXW, 8) +} + +static void test_pack_PACTCTX_SECTION_KEYED_DATA(void) +{ + /* PACTCTX_SECTION_KEYED_DATA */ + TEST_TYPE_SIZE (PACTCTX_SECTION_KEYED_DATA, 8) + TEST_TYPE_ALIGN (PACTCTX_SECTION_KEYED_DATA, 8) + TEST_TARGET_SIZE (PACTCTX_SECTION_KEYED_DATA, 112) + TEST_TARGET_ALIGN(PACTCTX_SECTION_KEYED_DATA, 8) +} + +static void test_pack_PACTCTX_SECTION_KEYED_DATA_2600(void) +{ + /* PACTCTX_SECTION_KEYED_DATA_2600 */ + TEST_TYPE_SIZE (PACTCTX_SECTION_KEYED_DATA_2600, 8) + TEST_TYPE_ALIGN (PACTCTX_SECTION_KEYED_DATA_2600, 8) + TEST_TARGET_SIZE (PACTCTX_SECTION_KEYED_DATA_2600, 72) + TEST_TARGET_ALIGN(PACTCTX_SECTION_KEYED_DATA_2600, 8) +} + +static void test_pack_PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void) +{ + /* PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */ + TEST_TYPE_SIZE (PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) + TEST_TYPE_ALIGN (PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) + TEST_TARGET_SIZE (PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 40) + TEST_TARGET_ALIGN(PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) +} + +static void test_pack_PACTIVATION_CONTEXT_BASIC_INFORMATION(void) +{ + /* PACTIVATION_CONTEXT_BASIC_INFORMATION */ + TEST_TYPE_SIZE (PACTIVATION_CONTEXT_BASIC_INFORMATION, 8) + TEST_TYPE_ALIGN (PACTIVATION_CONTEXT_BASIC_INFORMATION, 8) + TEST_TARGET_SIZE (PACTIVATION_CONTEXT_BASIC_INFORMATION, 16) + TEST_TARGET_ALIGN(PACTIVATION_CONTEXT_BASIC_INFORMATION, 8) +} + +static void test_pack_PAPCFUNC(void) +{ + /* PAPCFUNC */ + TEST_TYPE_SIZE (PAPCFUNC, 8) + TEST_TYPE_ALIGN (PAPCFUNC, 8) +} + +static void test_pack_PBY_HANDLE_FILE_INFORMATION(void) +{ + /* PBY_HANDLE_FILE_INFORMATION */ + TEST_TYPE_SIZE (PBY_HANDLE_FILE_INFORMATION, 8) + TEST_TYPE_ALIGN (PBY_HANDLE_FILE_INFORMATION, 8) + TEST_TARGET_SIZE (PBY_HANDLE_FILE_INFORMATION, 52) + TEST_TARGET_ALIGN(PBY_HANDLE_FILE_INFORMATION, 4) +} + +static void test_pack_PCACTCTXA(void) +{ + /* PCACTCTXA */ + TEST_TYPE_SIZE (PCACTCTXA, 8) + TEST_TYPE_ALIGN (PCACTCTXA, 8) + TEST_TARGET_SIZE (PCACTCTXA, 56) + TEST_TARGET_ALIGN(PCACTCTXA, 8) +} + +static void test_pack_PCACTCTXW(void) +{ + /* PCACTCTXW */ + TEST_TYPE_SIZE (PCACTCTXW, 8) + TEST_TYPE_ALIGN (PCACTCTXW, 8) + TEST_TARGET_SIZE (PCACTCTXW, 56) + TEST_TARGET_ALIGN(PCACTCTXW, 8) +} + +static void test_pack_PCACTCTX_SECTION_KEYED_DATA(void) +{ + /* PCACTCTX_SECTION_KEYED_DATA */ + TEST_TYPE_SIZE (PCACTCTX_SECTION_KEYED_DATA, 8) + TEST_TYPE_ALIGN (PCACTCTX_SECTION_KEYED_DATA, 8) + TEST_TARGET_SIZE (PCACTCTX_SECTION_KEYED_DATA, 112) + TEST_TARGET_ALIGN(PCACTCTX_SECTION_KEYED_DATA, 8) +} + +static void test_pack_PCACTCTX_SECTION_KEYED_DATA_2600(void) +{ + /* PCACTCTX_SECTION_KEYED_DATA_2600 */ + TEST_TYPE_SIZE (PCACTCTX_SECTION_KEYED_DATA_2600, 8) + TEST_TYPE_ALIGN (PCACTCTX_SECTION_KEYED_DATA_2600, 8) + TEST_TARGET_SIZE (PCACTCTX_SECTION_KEYED_DATA_2600, 72) + TEST_TARGET_ALIGN(PCACTCTX_SECTION_KEYED_DATA_2600, 8) +} + +static void test_pack_PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void) +{ + /* PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */ + TEST_TYPE_SIZE (PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) + TEST_TYPE_ALIGN (PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) + TEST_TARGET_SIZE (PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 40) + TEST_TARGET_ALIGN(PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 8) +} + +static void test_pack_PCRITICAL_SECTION(void) +{ + /* PCRITICAL_SECTION */ + TEST_TYPE_SIZE (PCRITICAL_SECTION, 8) + TEST_TYPE_ALIGN (PCRITICAL_SECTION, 8) +} + +static void test_pack_PCRITICAL_SECTION_DEBUG(void) +{ + /* PCRITICAL_SECTION_DEBUG */ + TEST_TYPE_SIZE (PCRITICAL_SECTION_DEBUG, 8) + TEST_TYPE_ALIGN (PCRITICAL_SECTION_DEBUG, 8) +} + +static void test_pack_PFIBER_START_ROUTINE(void) +{ + /* PFIBER_START_ROUTINE */ + TEST_TYPE_SIZE (PFIBER_START_ROUTINE, 8) + TEST_TYPE_ALIGN (PFIBER_START_ROUTINE, 8) +} + +static void test_pack_POFSTRUCT(void) +{ + /* POFSTRUCT */ + TEST_TYPE_SIZE (POFSTRUCT, 8) + TEST_TYPE_ALIGN (POFSTRUCT, 8) + TEST_TARGET_SIZE (POFSTRUCT, 136) + TEST_TARGET_ALIGN(POFSTRUCT, 2) +} + +static void test_pack_PPROCESS_HEAP_ENTRY(void) +{ + /* PPROCESS_HEAP_ENTRY */ + TEST_TYPE_SIZE (PPROCESS_HEAP_ENTRY, 8) + TEST_TYPE_ALIGN (PPROCESS_HEAP_ENTRY, 8) +} + +static void test_pack_PPROCESS_INFORMATION(void) +{ + /* PPROCESS_INFORMATION */ + TEST_TYPE_SIZE (PPROCESS_INFORMATION, 8) + TEST_TYPE_ALIGN (PPROCESS_INFORMATION, 8) + TEST_TARGET_SIZE (PPROCESS_INFORMATION, 24) + TEST_TARGET_ALIGN(PPROCESS_INFORMATION, 8) +} + +static void test_pack_PQUERYACTCTXW_FUNC(void) +{ + /* PQUERYACTCTXW_FUNC */ + TEST_TYPE_SIZE (PQUERYACTCTXW_FUNC, 8) + TEST_TYPE_ALIGN (PQUERYACTCTXW_FUNC, 8) +} + +static void test_pack_PROCESS_HEAP_ENTRY(void) +{ + /* PROCESS_HEAP_ENTRY */ + TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, lpData, 8) + TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, lpData, 8) + TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, lpData, 0) + TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, cbData, 4) + TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, cbData, 4) + TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, cbData, 8) + TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, cbOverhead, 1) + TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, cbOverhead, 1) + TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, cbOverhead, 12) + TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, iRegionIndex, 1) + TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, iRegionIndex, 1) + TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, iRegionIndex, 13) + TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, wFlags, 2) + TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, wFlags, 2) + TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, wFlags, 14) +} + +static void test_pack_PROCESS_INFORMATION(void) +{ + /* PROCESS_INFORMATION */ + TEST_TYPE_SIZE (PROCESS_INFORMATION, 24) + TEST_TYPE_ALIGN (PROCESS_INFORMATION, 8) + TEST_FIELD_SIZE (PROCESS_INFORMATION, hProcess, 8) + TEST_FIELD_ALIGN (PROCESS_INFORMATION, hProcess, 8) + TEST_FIELD_OFFSET(PROCESS_INFORMATION, hProcess, 0) + TEST_FIELD_SIZE (PROCESS_INFORMATION, hThread, 8) + TEST_FIELD_ALIGN (PROCESS_INFORMATION, hThread, 8) + TEST_FIELD_OFFSET(PROCESS_INFORMATION, hThread, 8) + TEST_FIELD_SIZE (PROCESS_INFORMATION, dwProcessId, 4) + TEST_FIELD_ALIGN (PROCESS_INFORMATION, dwProcessId, 4) + TEST_FIELD_OFFSET(PROCESS_INFORMATION, dwProcessId, 16) + TEST_FIELD_SIZE (PROCESS_INFORMATION, dwThreadId, 4) + TEST_FIELD_ALIGN (PROCESS_INFORMATION, dwThreadId, 4) + TEST_FIELD_OFFSET(PROCESS_INFORMATION, dwThreadId, 20) +} + +static void test_pack_PSECURITY_ATTRIBUTES(void) +{ + /* PSECURITY_ATTRIBUTES */ + TEST_TYPE_SIZE (PSECURITY_ATTRIBUTES, 8) + TEST_TYPE_ALIGN (PSECURITY_ATTRIBUTES, 8) + TEST_TARGET_SIZE (PSECURITY_ATTRIBUTES, 24) + TEST_TARGET_ALIGN(PSECURITY_ATTRIBUTES, 8) +} + +static void test_pack_PSYSTEMTIME(void) +{ + /* PSYSTEMTIME */ + TEST_TYPE_SIZE (PSYSTEMTIME, 8) + TEST_TYPE_ALIGN (PSYSTEMTIME, 8) + TEST_TARGET_SIZE (PSYSTEMTIME, 16) + TEST_TARGET_ALIGN(PSYSTEMTIME, 2) +} + +static void test_pack_PTIMERAPCROUTINE(void) +{ + /* PTIMERAPCROUTINE */ + TEST_TYPE_SIZE (PTIMERAPCROUTINE, 8) + TEST_TYPE_ALIGN (PTIMERAPCROUTINE, 8) +} + +static void test_pack_PTIME_ZONE_INFORMATION(void) +{ + /* PTIME_ZONE_INFORMATION */ + TEST_TYPE_SIZE (PTIME_ZONE_INFORMATION, 8) + TEST_TYPE_ALIGN (PTIME_ZONE_INFORMATION, 8) + TEST_TARGET_SIZE (PTIME_ZONE_INFORMATION, 172) + TEST_TARGET_ALIGN(PTIME_ZONE_INFORMATION, 4) +} + +static void test_pack_PWIN32_FIND_DATAA(void) +{ + /* PWIN32_FIND_DATAA */ + TEST_TYPE_SIZE (PWIN32_FIND_DATAA, 8) + TEST_TYPE_ALIGN (PWIN32_FIND_DATAA, 8) + TEST_TARGET_SIZE (PWIN32_FIND_DATAA, 320) + TEST_TARGET_ALIGN(PWIN32_FIND_DATAA, 4) +} + +static void test_pack_PWIN32_FIND_DATAW(void) +{ + /* PWIN32_FIND_DATAW */ + TEST_TYPE_SIZE (PWIN32_FIND_DATAW, 8) + TEST_TYPE_ALIGN (PWIN32_FIND_DATAW, 8) + TEST_TARGET_SIZE (PWIN32_FIND_DATAW, 592) + TEST_TARGET_ALIGN(PWIN32_FIND_DATAW, 4) +} + +static void test_pack_RIP_INFO(void) +{ + /* RIP_INFO */ + TEST_TYPE_SIZE (RIP_INFO, 8) + TEST_TYPE_ALIGN (RIP_INFO, 4) + TEST_FIELD_SIZE (RIP_INFO, dwError, 4) + TEST_FIELD_ALIGN (RIP_INFO, dwError, 4) + TEST_FIELD_OFFSET(RIP_INFO, dwError, 0) + TEST_FIELD_SIZE (RIP_INFO, dwType, 4) + TEST_FIELD_ALIGN (RIP_INFO, dwType, 4) + TEST_FIELD_OFFSET(RIP_INFO, dwType, 4) +} + +static void test_pack_SECURITY_ATTRIBUTES(void) +{ + /* SECURITY_ATTRIBUTES */ + TEST_TYPE_SIZE (SECURITY_ATTRIBUTES, 24) + TEST_TYPE_ALIGN (SECURITY_ATTRIBUTES, 8) + TEST_FIELD_SIZE (SECURITY_ATTRIBUTES, nLength, 4) + TEST_FIELD_ALIGN (SECURITY_ATTRIBUTES, nLength, 4) + TEST_FIELD_OFFSET(SECURITY_ATTRIBUTES, nLength, 0) + TEST_FIELD_SIZE (SECURITY_ATTRIBUTES, lpSecurityDescriptor, 8) + TEST_FIELD_ALIGN (SECURITY_ATTRIBUTES, lpSecurityDescriptor, 8) + TEST_FIELD_OFFSET(SECURITY_ATTRIBUTES, lpSecurityDescriptor, 8) + TEST_FIELD_SIZE (SECURITY_ATTRIBUTES, bInheritHandle, 4) + TEST_FIELD_ALIGN (SECURITY_ATTRIBUTES, bInheritHandle, 4) + TEST_FIELD_OFFSET(SECURITY_ATTRIBUTES, bInheritHandle, 16) +} + +static void test_pack_STARTUPINFOA(void) +{ + /* STARTUPINFOA */ + TEST_TYPE_SIZE (STARTUPINFOA, 104) + TEST_TYPE_ALIGN (STARTUPINFOA, 8) + TEST_FIELD_SIZE (STARTUPINFOA, cb, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, cb, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, cb, 0) + TEST_FIELD_SIZE (STARTUPINFOA, lpReserved, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, lpReserved, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, lpReserved, 8) + TEST_FIELD_SIZE (STARTUPINFOA, lpDesktop, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, lpDesktop, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, lpDesktop, 16) + TEST_FIELD_SIZE (STARTUPINFOA, lpTitle, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, lpTitle, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, lpTitle, 24) + TEST_FIELD_SIZE (STARTUPINFOA, dwX, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwX, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwX, 32) + TEST_FIELD_SIZE (STARTUPINFOA, dwY, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwY, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwY, 36) + TEST_FIELD_SIZE (STARTUPINFOA, dwXSize, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwXSize, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwXSize, 40) + TEST_FIELD_SIZE (STARTUPINFOA, dwYSize, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwYSize, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwYSize, 44) + TEST_FIELD_SIZE (STARTUPINFOA, dwXCountChars, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwXCountChars, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwXCountChars, 48) + TEST_FIELD_SIZE (STARTUPINFOA, dwYCountChars, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwYCountChars, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwYCountChars, 52) + TEST_FIELD_SIZE (STARTUPINFOA, dwFillAttribute, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwFillAttribute, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwFillAttribute, 56) + TEST_FIELD_SIZE (STARTUPINFOA, dwFlags, 4) + TEST_FIELD_ALIGN (STARTUPINFOA, dwFlags, 4) + TEST_FIELD_OFFSET(STARTUPINFOA, dwFlags, 60) + TEST_FIELD_SIZE (STARTUPINFOA, wShowWindow, 2) + TEST_FIELD_ALIGN (STARTUPINFOA, wShowWindow, 2) + TEST_FIELD_OFFSET(STARTUPINFOA, wShowWindow, 64) + TEST_FIELD_SIZE (STARTUPINFOA, cbReserved2, 2) + TEST_FIELD_ALIGN (STARTUPINFOA, cbReserved2, 2) + TEST_FIELD_OFFSET(STARTUPINFOA, cbReserved2, 66) + TEST_FIELD_SIZE (STARTUPINFOA, lpReserved2, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, lpReserved2, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, lpReserved2, 72) + TEST_FIELD_SIZE (STARTUPINFOA, hStdInput, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, hStdInput, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, hStdInput, 80) + TEST_FIELD_SIZE (STARTUPINFOA, hStdOutput, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, hStdOutput, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, hStdOutput, 88) + TEST_FIELD_SIZE (STARTUPINFOA, hStdError, 8) + TEST_FIELD_ALIGN (STARTUPINFOA, hStdError, 8) + TEST_FIELD_OFFSET(STARTUPINFOA, hStdError, 96) +} + +static void test_pack_STARTUPINFOW(void) +{ + /* STARTUPINFOW */ + TEST_TYPE_SIZE (STARTUPINFOW, 104) + TEST_TYPE_ALIGN (STARTUPINFOW, 8) + TEST_FIELD_SIZE (STARTUPINFOW, cb, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, cb, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, cb, 0) + TEST_FIELD_SIZE (STARTUPINFOW, lpReserved, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, lpReserved, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, lpReserved, 8) + TEST_FIELD_SIZE (STARTUPINFOW, lpDesktop, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, lpDesktop, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, lpDesktop, 16) + TEST_FIELD_SIZE (STARTUPINFOW, lpTitle, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, lpTitle, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, lpTitle, 24) + TEST_FIELD_SIZE (STARTUPINFOW, dwX, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwX, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwX, 32) + TEST_FIELD_SIZE (STARTUPINFOW, dwY, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwY, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwY, 36) + TEST_FIELD_SIZE (STARTUPINFOW, dwXSize, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwXSize, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwXSize, 40) + TEST_FIELD_SIZE (STARTUPINFOW, dwYSize, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwYSize, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwYSize, 44) + TEST_FIELD_SIZE (STARTUPINFOW, dwXCountChars, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwXCountChars, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwXCountChars, 48) + TEST_FIELD_SIZE (STARTUPINFOW, dwYCountChars, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwYCountChars, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwYCountChars, 52) + TEST_FIELD_SIZE (STARTUPINFOW, dwFillAttribute, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwFillAttribute, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwFillAttribute, 56) + TEST_FIELD_SIZE (STARTUPINFOW, dwFlags, 4) + TEST_FIELD_ALIGN (STARTUPINFOW, dwFlags, 4) + TEST_FIELD_OFFSET(STARTUPINFOW, dwFlags, 60) + TEST_FIELD_SIZE (STARTUPINFOW, wShowWindow, 2) + TEST_FIELD_ALIGN (STARTUPINFOW, wShowWindow, 2) + TEST_FIELD_OFFSET(STARTUPINFOW, wShowWindow, 64) + TEST_FIELD_SIZE (STARTUPINFOW, cbReserved2, 2) + TEST_FIELD_ALIGN (STARTUPINFOW, cbReserved2, 2) + TEST_FIELD_OFFSET(STARTUPINFOW, cbReserved2, 66) + TEST_FIELD_SIZE (STARTUPINFOW, lpReserved2, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, lpReserved2, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, lpReserved2, 72) + TEST_FIELD_SIZE (STARTUPINFOW, hStdInput, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, hStdInput, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, hStdInput, 80) + TEST_FIELD_SIZE (STARTUPINFOW, hStdOutput, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, hStdOutput, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, hStdOutput, 88) + TEST_FIELD_SIZE (STARTUPINFOW, hStdError, 8) + TEST_FIELD_ALIGN (STARTUPINFOW, hStdError, 8) + TEST_FIELD_OFFSET(STARTUPINFOW, hStdError, 96) +} -#else +static void test_pack_SYSTEMTIME(void) +{ + /* SYSTEMTIME */ + TEST_TYPE_SIZE (SYSTEMTIME, 16) + TEST_TYPE_ALIGN (SYSTEMTIME, 2) + TEST_FIELD_SIZE (SYSTEMTIME, wYear, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wYear, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wYear, 0) + TEST_FIELD_SIZE (SYSTEMTIME, wMonth, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wMonth, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wMonth, 2) + TEST_FIELD_SIZE (SYSTEMTIME, wDayOfWeek, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wDayOfWeek, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wDayOfWeek, 4) + TEST_FIELD_SIZE (SYSTEMTIME, wDay, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wDay, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wDay, 6) + TEST_FIELD_SIZE (SYSTEMTIME, wHour, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wHour, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wHour, 8) + TEST_FIELD_SIZE (SYSTEMTIME, wMinute, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wMinute, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wMinute, 10) + TEST_FIELD_SIZE (SYSTEMTIME, wSecond, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wSecond, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wSecond, 12) + TEST_FIELD_SIZE (SYSTEMTIME, wMilliseconds, 2) + TEST_FIELD_ALIGN (SYSTEMTIME, wMilliseconds, 2) + TEST_FIELD_OFFSET(SYSTEMTIME, wMilliseconds, 14) +} -# define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); +static void test_pack_SYSTEM_INFO(void) +{ + /* SYSTEM_INFO */ +} -# ifdef TYPE_ALIGNMENT -# define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); -# else -# define TEST_TYPE_ALIGN(type, align) -# endif +static void test_pack_SYSTEM_POWER_STATUS(void) +{ + /* SYSTEM_POWER_STATUS */ + TEST_TYPE_SIZE (SYSTEM_POWER_STATUS, 12) + TEST_TYPE_ALIGN (SYSTEM_POWER_STATUS, 4) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, ACLineStatus, 1) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, ACLineStatus, 1) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, ACLineStatus, 0) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, BatteryFlag, 1) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, BatteryFlag, 1) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, BatteryFlag, 1) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, BatteryLifePercent, 1) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, BatteryLifePercent, 1) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, BatteryLifePercent, 2) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, Reserved1, 1) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, Reserved1, 1) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, Reserved1, 3) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, BatteryLifeTime, 4) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, BatteryLifeTime, 4) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, BatteryLifeTime, 4) + TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, BatteryFullLifeTime, 4) + TEST_FIELD_ALIGN (SYSTEM_POWER_STATUS, BatteryFullLifeTime, 4) + TEST_FIELD_OFFSET(SYSTEM_POWER_STATUS, BatteryFullLifeTime, 8) +} -# ifdef _TYPE_ALIGNMENT -# define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); -# define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); -# else -# define TEST_TARGET_ALIGN(type, align) -# define TEST_FIELD_ALIGN(type, field, align) -# endif +static void test_pack_TIME_ZONE_INFORMATION(void) +{ + /* TIME_ZONE_INFORMATION */ + TEST_TYPE_SIZE (TIME_ZONE_INFORMATION, 172) + TEST_TYPE_ALIGN (TIME_ZONE_INFORMATION, 4) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, Bias, 4) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, Bias, 4) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, Bias, 0) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, StandardName, 64) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, StandardName, 2) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, StandardName, 4) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, StandardDate, 16) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, StandardDate, 2) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, StandardDate, 68) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, StandardBias, 4) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, StandardBias, 4) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, StandardBias, 84) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, DaylightName, 64) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, DaylightName, 2) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, DaylightName, 88) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, DaylightDate, 16) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, DaylightDate, 2) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, DaylightDate, 152) + TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, DaylightBias, 4) + TEST_FIELD_ALIGN (TIME_ZONE_INFORMATION, DaylightBias, 4) + TEST_FIELD_OFFSET(TIME_ZONE_INFORMATION, DaylightBias, 168) +} -# define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); +static void test_pack_UNLOAD_DLL_DEBUG_INFO(void) +{ + /* UNLOAD_DLL_DEBUG_INFO */ + TEST_TYPE_SIZE (UNLOAD_DLL_DEBUG_INFO, 8) + TEST_TYPE_ALIGN (UNLOAD_DLL_DEBUG_INFO, 8) + TEST_FIELD_SIZE (UNLOAD_DLL_DEBUG_INFO, lpBaseOfDll, 8) + TEST_FIELD_ALIGN (UNLOAD_DLL_DEBUG_INFO, lpBaseOfDll, 8) + TEST_FIELD_OFFSET(UNLOAD_DLL_DEBUG_INFO, lpBaseOfDll, 0) +} -#endif +static void test_pack_WAITORTIMERCALLBACK(void) +{ + /* WAITORTIMERCALLBACK */ + TEST_TYPE_SIZE (WAITORTIMERCALLBACK, 8) + TEST_TYPE_ALIGN (WAITORTIMERCALLBACK, 8) +} -#define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size) -#define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size) -#define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0); -#define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0); +static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void) +{ + /* WIN32_FILE_ATTRIBUTE_DATA */ + TEST_TYPE_SIZE (WIN32_FILE_ATTRIBUTE_DATA, 36) + TEST_TYPE_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, 4) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, dwFileAttributes, 4) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, dwFileAttributes, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, dwFileAttributes, 0) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, ftCreationTime, 8) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, ftCreationTime, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, ftCreationTime, 4) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, ftLastAccessTime, 8) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, ftLastAccessTime, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, ftLastAccessTime, 12) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, ftLastWriteTime, 8) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, ftLastWriteTime, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, ftLastWriteTime, 20) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, nFileSizeHigh, 4) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, nFileSizeHigh, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, nFileSizeHigh, 28) + TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, nFileSizeLow, 4) + TEST_FIELD_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, nFileSizeLow, 4) + TEST_FIELD_OFFSET(WIN32_FILE_ATTRIBUTE_DATA, nFileSizeLow, 32) +} + +static void test_pack_WIN32_FIND_DATAA(void) +{ + /* WIN32_FIND_DATAA */ + TEST_TYPE_SIZE (WIN32_FIND_DATAA, 320) + TEST_TYPE_ALIGN (WIN32_FIND_DATAA, 4) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, dwFileAttributes, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, dwFileAttributes, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, dwFileAttributes, 0) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, ftCreationTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, ftCreationTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, ftCreationTime, 4) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, ftLastAccessTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, ftLastAccessTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, ftLastAccessTime, 12) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, ftLastWriteTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, ftLastWriteTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, ftLastWriteTime, 20) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, nFileSizeHigh, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, nFileSizeHigh, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, nFileSizeHigh, 28) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, nFileSizeLow, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, nFileSizeLow, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, nFileSizeLow, 32) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, dwReserved0, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, dwReserved0, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, dwReserved0, 36) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, dwReserved1, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, dwReserved1, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, dwReserved1, 40) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, cFileName, 260) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, cFileName, 1) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, cFileName, 44) + TEST_FIELD_SIZE (WIN32_FIND_DATAA, cAlternateFileName, 14) + TEST_FIELD_ALIGN (WIN32_FIND_DATAA, cAlternateFileName, 1) + TEST_FIELD_OFFSET(WIN32_FIND_DATAA, cAlternateFileName, 304) +} + +static void test_pack_WIN32_FIND_DATAW(void) +{ + /* WIN32_FIND_DATAW */ + TEST_TYPE_SIZE (WIN32_FIND_DATAW, 592) + TEST_TYPE_ALIGN (WIN32_FIND_DATAW, 4) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, dwFileAttributes, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, dwFileAttributes, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, dwFileAttributes, 0) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, ftCreationTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, ftCreationTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, ftCreationTime, 4) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, ftLastAccessTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, ftLastAccessTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, ftLastAccessTime, 12) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, ftLastWriteTime, 8) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, ftLastWriteTime, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, ftLastWriteTime, 20) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, nFileSizeHigh, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, nFileSizeHigh, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, nFileSizeHigh, 28) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, nFileSizeLow, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, nFileSizeLow, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, nFileSizeLow, 32) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, dwReserved0, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, dwReserved0, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, dwReserved0, 36) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, dwReserved1, 4) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, dwReserved1, 4) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, dwReserved1, 40) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, cFileName, 520) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, cFileName, 2) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, cFileName, 44) + TEST_FIELD_SIZE (WIN32_FIND_DATAW, cAlternateFileName, 28) + TEST_FIELD_ALIGN (WIN32_FIND_DATAW, cAlternateFileName, 2) + TEST_FIELD_OFFSET(WIN32_FIND_DATAW, cAlternateFileName, 564) +} + +static void test_pack_WIN32_STREAM_ID(void) +{ + /* WIN32_STREAM_ID (pack 8) */ + TEST_TYPE_SIZE (WIN32_STREAM_ID, 24) + TEST_TYPE_ALIGN (WIN32_STREAM_ID, 8) + TEST_FIELD_SIZE (WIN32_STREAM_ID, dwStreamId, 4) + TEST_FIELD_ALIGN (WIN32_STREAM_ID, dwStreamId, 4) + TEST_FIELD_OFFSET(WIN32_STREAM_ID, dwStreamId, 0) + TEST_FIELD_SIZE (WIN32_STREAM_ID, dwStreamAttributes, 4) + TEST_FIELD_ALIGN (WIN32_STREAM_ID, dwStreamAttributes, 4) + TEST_FIELD_OFFSET(WIN32_STREAM_ID, dwStreamAttributes, 4) + TEST_FIELD_SIZE (WIN32_STREAM_ID, Size, 8) + TEST_FIELD_ALIGN (WIN32_STREAM_ID, Size, 8) + TEST_FIELD_OFFSET(WIN32_STREAM_ID, Size, 8) + TEST_FIELD_SIZE (WIN32_STREAM_ID, dwStreamNameSize, 4) + TEST_FIELD_ALIGN (WIN32_STREAM_ID, dwStreamNameSize, 4) + TEST_FIELD_OFFSET(WIN32_STREAM_ID, dwStreamNameSize, 16) + TEST_FIELD_SIZE (WIN32_STREAM_ID, cStreamName, 2) + TEST_FIELD_ALIGN (WIN32_STREAM_ID, cStreamName, 2) + TEST_FIELD_OFFSET(WIN32_STREAM_ID, cStreamName, 20) +} +#else /* _WIN64 */ static void test_pack_LPOSVERSIONINFOA(void) { @@ -125,7 +1972,7 @@ static void test_pack_LPOSVERSIONINFOW(void) static void test_pack_OSVERSIONINFOA(void) { - /* OSVERSIONINFOA (pack 4) */ + /* OSVERSIONINFOA */ TEST_TYPE_SIZE (OSVERSIONINFOA, 148) TEST_TYPE_ALIGN (OSVERSIONINFOA, 4) TEST_FIELD_SIZE (OSVERSIONINFOA, dwOSVersionInfoSize, 4) @@ -150,7 +1997,7 @@ static void test_pack_OSVERSIONINFOA(void) static void test_pack_OSVERSIONINFOEXA(void) { - /* OSVERSIONINFOEXA (pack 4) */ + /* OSVERSIONINFOEXA */ TEST_TYPE_SIZE (OSVERSIONINFOEXA, 156) TEST_TYPE_ALIGN (OSVERSIONINFOEXA, 4) TEST_FIELD_SIZE (OSVERSIONINFOEXA, dwOSVersionInfoSize, 4) @@ -190,7 +2037,7 @@ static void test_pack_OSVERSIONINFOEXA(void) static void test_pack_OSVERSIONINFOEXW(void) { - /* OSVERSIONINFOEXW (pack 4) */ + /* OSVERSIONINFOEXW */ TEST_TYPE_SIZE (OSVERSIONINFOEXW, 284) TEST_TYPE_ALIGN (OSVERSIONINFOEXW, 4) TEST_FIELD_SIZE (OSVERSIONINFOEXW, dwOSVersionInfoSize, 4) @@ -230,7 +2077,7 @@ static void test_pack_OSVERSIONINFOEXW(void) static void test_pack_OSVERSIONINFOW(void) { - /* OSVERSIONINFOW (pack 4) */ + /* OSVERSIONINFOW */ TEST_TYPE_SIZE (OSVERSIONINFOW, 276) TEST_TYPE_ALIGN (OSVERSIONINFOW, 4) TEST_FIELD_SIZE (OSVERSIONINFOW, dwOSVersionInfoSize, 4) @@ -312,7 +2159,7 @@ static void test_pack_PHKEY(void) static void test_pack_ACTCTXA(void) { - /* ACTCTXA (pack 4) */ + /* ACTCTXA */ TEST_TYPE_SIZE (ACTCTXA, 32) TEST_TYPE_ALIGN (ACTCTXA, 4) TEST_FIELD_SIZE (ACTCTXA, cbSize, 4) @@ -346,7 +2193,7 @@ static void test_pack_ACTCTXA(void) static void test_pack_ACTCTXW(void) { - /* ACTCTXW (pack 4) */ + /* ACTCTXW */ TEST_TYPE_SIZE (ACTCTXW, 32) TEST_TYPE_ALIGN (ACTCTXW, 4) TEST_FIELD_SIZE (ACTCTXW, cbSize, 4) @@ -380,7 +2227,7 @@ static void test_pack_ACTCTXW(void) static void test_pack_ACTCTX_SECTION_KEYED_DATA(void) { - /* ACTCTX_SECTION_KEYED_DATA (pack 4) */ + /* ACTCTX_SECTION_KEYED_DATA */ TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA, 64) TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA, 4) TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA, cbSize, 4) @@ -423,7 +2270,7 @@ static void test_pack_ACTCTX_SECTION_KEYED_DATA(void) static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void) { - /* ACTCTX_SECTION_KEYED_DATA_2600 (pack 4) */ + /* ACTCTX_SECTION_KEYED_DATA_2600 */ TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, 40) TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA_2600, 4) TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_2600, cbSize, 4) @@ -460,7 +2307,7 @@ static void test_pack_ACTCTX_SECTION_KEYED_DATA_2600(void) static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void) { - /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA (pack 4) */ + /* ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA */ TEST_TYPE_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 20) TEST_TYPE_ALIGN (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, 4) TEST_FIELD_SIZE (ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, lpInformation, 4) @@ -482,7 +2329,7 @@ static void test_pack_ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA(void) static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void) { - /* ACTIVATION_CONTEXT_BASIC_INFORMATION (pack 4) */ + /* ACTIVATION_CONTEXT_BASIC_INFORMATION */ TEST_TYPE_SIZE (ACTIVATION_CONTEXT_BASIC_INFORMATION, 8) TEST_TYPE_ALIGN (ACTIVATION_CONTEXT_BASIC_INFORMATION, 4) TEST_FIELD_SIZE (ACTIVATION_CONTEXT_BASIC_INFORMATION, hActCtx, 4) @@ -495,7 +2342,7 @@ static void test_pack_ACTIVATION_CONTEXT_BASIC_INFORMATION(void) static void test_pack_BY_HANDLE_FILE_INFORMATION(void) { - /* BY_HANDLE_FILE_INFORMATION (pack 4) */ + /* BY_HANDLE_FILE_INFORMATION */ TEST_TYPE_SIZE (BY_HANDLE_FILE_INFORMATION, 52) TEST_TYPE_ALIGN (BY_HANDLE_FILE_INFORMATION, 4) TEST_FIELD_SIZE (BY_HANDLE_FILE_INFORMATION, dwFileAttributes, 4) @@ -532,7 +2379,7 @@ static void test_pack_BY_HANDLE_FILE_INFORMATION(void) static void test_pack_COMMCONFIG(void) { - /* COMMCONFIG (pack 4) */ + /* COMMCONFIG */ TEST_TYPE_SIZE (COMMCONFIG, 52) TEST_TYPE_ALIGN (COMMCONFIG, 4) TEST_FIELD_SIZE (COMMCONFIG, dwSize, 4) @@ -563,7 +2410,7 @@ static void test_pack_COMMCONFIG(void) static void test_pack_COMMPROP(void) { - /* COMMPROP (pack 4) */ + /* COMMPROP */ TEST_TYPE_SIZE (COMMPROP, 64) TEST_TYPE_ALIGN (COMMPROP, 4) TEST_FIELD_SIZE (COMMPROP, wPacketLength, 2) @@ -624,7 +2471,7 @@ static void test_pack_COMMPROP(void) static void test_pack_COMMTIMEOUTS(void) { - /* COMMTIMEOUTS (pack 4) */ + /* COMMTIMEOUTS */ TEST_TYPE_SIZE (COMMTIMEOUTS, 20) TEST_TYPE_ALIGN (COMMTIMEOUTS, 4) TEST_FIELD_SIZE (COMMTIMEOUTS, ReadIntervalTimeout, 4) @@ -646,7 +2493,7 @@ static void test_pack_COMMTIMEOUTS(void) static void test_pack_COMSTAT(void) { - /* COMSTAT (pack 4) */ + /* COMSTAT */ TEST_TYPE_SIZE (COMSTAT, 12) TEST_TYPE_ALIGN (COMSTAT, 4) TEST_FIELD_SIZE (COMSTAT, cbInQue, 4) @@ -659,7 +2506,7 @@ static void test_pack_COMSTAT(void) static void test_pack_CREATE_PROCESS_DEBUG_INFO(void) { - /* CREATE_PROCESS_DEBUG_INFO (pack 4) */ + /* CREATE_PROCESS_DEBUG_INFO */ TEST_TYPE_SIZE (CREATE_PROCESS_DEBUG_INFO, 40) TEST_TYPE_ALIGN (CREATE_PROCESS_DEBUG_INFO, 4) TEST_FIELD_SIZE (CREATE_PROCESS_DEBUG_INFO, hFile, 4) @@ -696,7 +2543,7 @@ static void test_pack_CREATE_PROCESS_DEBUG_INFO(void) static void test_pack_CREATE_THREAD_DEBUG_INFO(void) { - /* CREATE_THREAD_DEBUG_INFO (pack 4) */ + /* CREATE_THREAD_DEBUG_INFO */ TEST_TYPE_SIZE (CREATE_THREAD_DEBUG_INFO, 12) TEST_TYPE_ALIGN (CREATE_THREAD_DEBUG_INFO, 4) TEST_FIELD_SIZE (CREATE_THREAD_DEBUG_INFO, hThread, 4) @@ -724,7 +2571,7 @@ static void test_pack_CRITICAL_SECTION_DEBUG(void) static void test_pack_DCB(void) { - /* DCB (pack 4) */ + /* DCB */ TEST_TYPE_SIZE (DCB, 28) TEST_TYPE_ALIGN (DCB, 4) TEST_FIELD_SIZE (DCB, DCBlength, 4) @@ -773,7 +2620,7 @@ static void test_pack_DCB(void) static void test_pack_DEBUG_EVENT(void) { - /* DEBUG_EVENT (pack 4) */ + /* DEBUG_EVENT */ TEST_FIELD_SIZE (DEBUG_EVENT, dwDebugEventCode, 4) TEST_FIELD_ALIGN (DEBUG_EVENT, dwDebugEventCode, 4) TEST_FIELD_OFFSET(DEBUG_EVENT, dwDebugEventCode, 0) @@ -829,7 +2676,7 @@ static void test_pack_ENUMRESTYPEPROCW(void) static void test_pack_EXCEPTION_DEBUG_INFO(void) { - /* EXCEPTION_DEBUG_INFO (pack 4) */ + /* EXCEPTION_DEBUG_INFO */ TEST_TYPE_SIZE (EXCEPTION_DEBUG_INFO, 84) TEST_TYPE_ALIGN (EXCEPTION_DEBUG_INFO, 4) TEST_FIELD_SIZE (EXCEPTION_DEBUG_INFO, ExceptionRecord, 80) @@ -842,7 +2689,7 @@ static void test_pack_EXCEPTION_DEBUG_INFO(void) static void test_pack_EXIT_PROCESS_DEBUG_INFO(void) { - /* EXIT_PROCESS_DEBUG_INFO (pack 4) */ + /* EXIT_PROCESS_DEBUG_INFO */ TEST_TYPE_SIZE (EXIT_PROCESS_DEBUG_INFO, 4) TEST_TYPE_ALIGN (EXIT_PROCESS_DEBUG_INFO, 4) TEST_FIELD_SIZE (EXIT_PROCESS_DEBUG_INFO, dwExitCode, 4) @@ -852,7 +2699,7 @@ static void test_pack_EXIT_PROCESS_DEBUG_INFO(void) static void test_pack_EXIT_THREAD_DEBUG_INFO(void) { - /* EXIT_THREAD_DEBUG_INFO (pack 4) */ + /* EXIT_THREAD_DEBUG_INFO */ TEST_TYPE_SIZE (EXIT_THREAD_DEBUG_INFO, 4) TEST_TYPE_ALIGN (EXIT_THREAD_DEBUG_INFO, 4) TEST_FIELD_SIZE (EXIT_THREAD_DEBUG_INFO, dwExitCode, 4) @@ -862,7 +2709,7 @@ static void test_pack_EXIT_THREAD_DEBUG_INFO(void) static void test_pack_HW_PROFILE_INFOA(void) { - /* HW_PROFILE_INFOA (pack 4) */ + /* HW_PROFILE_INFOA */ TEST_TYPE_SIZE (HW_PROFILE_INFOA, 124) TEST_TYPE_ALIGN (HW_PROFILE_INFOA, 4) TEST_FIELD_SIZE (HW_PROFILE_INFOA, dwDockInfo, 4) @@ -878,7 +2725,7 @@ static void test_pack_HW_PROFILE_INFOA(void) static void test_pack_HW_PROFILE_INFOW(void) { - /* HW_PROFILE_INFOW (pack 4) */ + /* HW_PROFILE_INFOW */ TEST_TYPE_SIZE (HW_PROFILE_INFOW, 244) TEST_TYPE_ALIGN (HW_PROFILE_INFOW, 4) TEST_FIELD_SIZE (HW_PROFILE_INFOW, dwDockInfo, 4) @@ -894,7 +2741,7 @@ static void test_pack_HW_PROFILE_INFOW(void) static void test_pack_LOAD_DLL_DEBUG_INFO(void) { - /* LOAD_DLL_DEBUG_INFO (pack 4) */ + /* LOAD_DLL_DEBUG_INFO */ TEST_TYPE_SIZE (LOAD_DLL_DEBUG_INFO, 24) TEST_TYPE_ALIGN (LOAD_DLL_DEBUG_INFO, 4) TEST_FIELD_SIZE (LOAD_DLL_DEBUG_INFO, hFile, 4) @@ -1201,7 +3048,7 @@ static void test_pack_LPWIN32_STREAM_ID(void) static void test_pack_MEMORYSTATUS(void) { - /* MEMORYSTATUS (pack 4) */ + /* MEMORYSTATUS */ TEST_TYPE_SIZE (MEMORYSTATUS, 32) TEST_TYPE_ALIGN (MEMORYSTATUS, 4) TEST_FIELD_SIZE (MEMORYSTATUS, dwLength, 4) @@ -1266,7 +3113,7 @@ static void test_pack_MEMORYSTATUSEX(void) static void test_pack_OFSTRUCT(void) { - /* OFSTRUCT (pack 4) */ + /* OFSTRUCT */ TEST_TYPE_SIZE (OFSTRUCT, 136) TEST_TYPE_ALIGN (OFSTRUCT, 2) TEST_FIELD_SIZE (OFSTRUCT, cBytes, 1) @@ -1291,7 +3138,7 @@ static void test_pack_OFSTRUCT(void) static void test_pack_OUTPUT_DEBUG_STRING_INFO(void) { - /* OUTPUT_DEBUG_STRING_INFO (pack 4) */ + /* OUTPUT_DEBUG_STRING_INFO */ TEST_TYPE_SIZE (OUTPUT_DEBUG_STRING_INFO, 8) TEST_TYPE_ALIGN (OUTPUT_DEBUG_STRING_INFO, 4) TEST_FIELD_SIZE (OUTPUT_DEBUG_STRING_INFO, lpDebugStringData, 4) @@ -1475,7 +3322,7 @@ static void test_pack_PQUERYACTCTXW_FUNC(void) static void test_pack_PROCESS_HEAP_ENTRY(void) { - /* PROCESS_HEAP_ENTRY (pack 4) */ + /* PROCESS_HEAP_ENTRY */ TEST_FIELD_SIZE (PROCESS_HEAP_ENTRY, lpData, 4) TEST_FIELD_ALIGN (PROCESS_HEAP_ENTRY, lpData, 4) TEST_FIELD_OFFSET(PROCESS_HEAP_ENTRY, lpData, 0) @@ -1495,7 +3342,7 @@ static void test_pack_PROCESS_HEAP_ENTRY(void) static void test_pack_PROCESS_INFORMATION(void) { - /* PROCESS_INFORMATION (pack 4) */ + /* PROCESS_INFORMATION */ TEST_TYPE_SIZE (PROCESS_INFORMATION, 16) TEST_TYPE_ALIGN (PROCESS_INFORMATION, 4) TEST_FIELD_SIZE (PROCESS_INFORMATION, hProcess, 4) @@ -1566,7 +3413,7 @@ static void test_pack_PWIN32_FIND_DATAW(void) static void test_pack_RIP_INFO(void) { - /* RIP_INFO (pack 4) */ + /* RIP_INFO */ TEST_TYPE_SIZE (RIP_INFO, 8) TEST_TYPE_ALIGN (RIP_INFO, 4) TEST_FIELD_SIZE (RIP_INFO, dwError, 4) @@ -1579,7 +3426,7 @@ static void test_pack_RIP_INFO(void) static void test_pack_SECURITY_ATTRIBUTES(void) { - /* SECURITY_ATTRIBUTES (pack 4) */ + /* SECURITY_ATTRIBUTES */ TEST_TYPE_SIZE (SECURITY_ATTRIBUTES, 12) TEST_TYPE_ALIGN (SECURITY_ATTRIBUTES, 4) TEST_FIELD_SIZE (SECURITY_ATTRIBUTES, nLength, 4) @@ -1595,7 +3442,7 @@ static void test_pack_SECURITY_ATTRIBUTES(void) static void test_pack_STARTUPINFOA(void) { - /* STARTUPINFOA (pack 4) */ + /* STARTUPINFOA */ TEST_TYPE_SIZE (STARTUPINFOA, 68) TEST_TYPE_ALIGN (STARTUPINFOA, 4) TEST_FIELD_SIZE (STARTUPINFOA, cb, 4) @@ -1656,7 +3503,7 @@ static void test_pack_STARTUPINFOA(void) static void test_pack_STARTUPINFOW(void) { - /* STARTUPINFOW (pack 4) */ + /* STARTUPINFOW */ TEST_TYPE_SIZE (STARTUPINFOW, 68) TEST_TYPE_ALIGN (STARTUPINFOW, 4) TEST_FIELD_SIZE (STARTUPINFOW, cb, 4) @@ -1717,7 +3564,7 @@ static void test_pack_STARTUPINFOW(void) static void test_pack_SYSTEMTIME(void) { - /* SYSTEMTIME (pack 4) */ + /* SYSTEMTIME */ TEST_TYPE_SIZE (SYSTEMTIME, 16) TEST_TYPE_ALIGN (SYSTEMTIME, 2) TEST_FIELD_SIZE (SYSTEMTIME, wYear, 2) @@ -1748,12 +3595,12 @@ static void test_pack_SYSTEMTIME(void) static void test_pack_SYSTEM_INFO(void) { - /* SYSTEM_INFO (pack 4) */ + /* SYSTEM_INFO */ } static void test_pack_SYSTEM_POWER_STATUS(void) { - /* SYSTEM_POWER_STATUS (pack 4) */ + /* SYSTEM_POWER_STATUS */ TEST_TYPE_SIZE (SYSTEM_POWER_STATUS, 12) TEST_TYPE_ALIGN (SYSTEM_POWER_STATUS, 4) TEST_FIELD_SIZE (SYSTEM_POWER_STATUS, ACLineStatus, 1) @@ -1778,7 +3625,7 @@ static void test_pack_SYSTEM_POWER_STATUS(void) static void test_pack_TIME_ZONE_INFORMATION(void) { - /* TIME_ZONE_INFORMATION (pack 4) */ + /* TIME_ZONE_INFORMATION */ TEST_TYPE_SIZE (TIME_ZONE_INFORMATION, 172) TEST_TYPE_ALIGN (TIME_ZONE_INFORMATION, 4) TEST_FIELD_SIZE (TIME_ZONE_INFORMATION, Bias, 4) @@ -1806,7 +3653,7 @@ static void test_pack_TIME_ZONE_INFORMATION(void) static void test_pack_UNLOAD_DLL_DEBUG_INFO(void) { - /* UNLOAD_DLL_DEBUG_INFO (pack 4) */ + /* UNLOAD_DLL_DEBUG_INFO */ TEST_TYPE_SIZE (UNLOAD_DLL_DEBUG_INFO, 4) TEST_TYPE_ALIGN (UNLOAD_DLL_DEBUG_INFO, 4) TEST_FIELD_SIZE (UNLOAD_DLL_DEBUG_INFO, lpBaseOfDll, 4) @@ -1823,7 +3670,7 @@ static void test_pack_WAITORTIMERCALLBACK(void) static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void) { - /* WIN32_FILE_ATTRIBUTE_DATA (pack 4) */ + /* WIN32_FILE_ATTRIBUTE_DATA */ TEST_TYPE_SIZE (WIN32_FILE_ATTRIBUTE_DATA, 36) TEST_TYPE_ALIGN (WIN32_FILE_ATTRIBUTE_DATA, 4) TEST_FIELD_SIZE (WIN32_FILE_ATTRIBUTE_DATA, dwFileAttributes, 4) @@ -1848,7 +3695,7 @@ static void test_pack_WIN32_FILE_ATTRIBUTE_DATA(void) static void test_pack_WIN32_FIND_DATAA(void) { - /* WIN32_FIND_DATAA (pack 4) */ + /* WIN32_FIND_DATAA */ TEST_TYPE_SIZE (WIN32_FIND_DATAA, 320) TEST_TYPE_ALIGN (WIN32_FIND_DATAA, 4) TEST_FIELD_SIZE (WIN32_FIND_DATAA, dwFileAttributes, 4) @@ -1885,7 +3732,7 @@ static void test_pack_WIN32_FIND_DATAA(void) static void test_pack_WIN32_FIND_DATAW(void) { - /* WIN32_FIND_DATAW (pack 4) */ + /* WIN32_FIND_DATAW */ TEST_TYPE_SIZE (WIN32_FIND_DATAW, 592) TEST_TYPE_ALIGN (WIN32_FIND_DATAW, 4) TEST_FIELD_SIZE (WIN32_FIND_DATAW, dwFileAttributes, 4) @@ -1942,6 +3789,8 @@ static void test_pack_WIN32_STREAM_ID(void) TEST_FIELD_OFFSET(WIN32_STREAM_ID, cStreamName, 20) } +#endif /* _WIN64 */ + static void test_pack(void) { test_pack_ACTCTXA(); @@ -2072,9 +3921,5 @@ static void test_pack(void) START_TEST(generated) { -#ifdef _WIN64 - ok(0, "The type size / alignment tests don't support Win64 yet\n"); -#else test_pack(); -#endif } diff --git a/rostests/winetests/kernel32/heap.c b/rostests/winetests/kernel32/heap.c index 7c755b9d509..1d49def44d8 100755 --- a/rostests/winetests/kernel32/heap.c +++ b/rostests/winetests/kernel32/heap.c @@ -30,7 +30,6 @@ #include "wine/test.h" - #define MAGIC_DEAD 0xdeadbeef /* some undocumented flags (names are made up) */ @@ -531,7 +530,7 @@ static void test_heap_checks( DWORD flags ) ok( p[15] == 0, "wrong padding %x\n", p[15] ); } } - else skip( "realloc in place failed\n "); + else skip( "realloc in place failed\n"); ret = HeapFree( GetProcessHeap(), 0, p ); ok( ret, "HeapFree failed\n" ); diff --git a/rostests/winetests/kernel32/path.c b/rostests/winetests/kernel32/path.c index be019483d57..8232fdfaaa7 100755 --- a/rostests/winetests/kernel32/path.c +++ b/rostests/winetests/kernel32/path.c @@ -1017,7 +1017,7 @@ static void test_GetLongPathNameA(void) /* Test a normal path with a small buffer size */ memset(temppath, 0, MAX_PATH); length = pGetLongPathNameA(tempfile, temppath, 4); - /* We have a failure so length should be the minumum plus the terminating '0' */ + /* We have a failure so length should be the minimum plus the terminating '0' */ ok(length >= lstrlen(tempfile) + 1, "Wrong length\n"); ok(temppath[0] == 0, "Buffer should not have been touched\n"); diff --git a/rostests/winetests/kernel32/thread.c b/rostests/winetests/kernel32/thread.c index afa67592a4a..4c4e764939d 100755 --- a/rostests/winetests/kernel32/thread.c +++ b/rostests/winetests/kernel32/thread.c @@ -814,9 +814,19 @@ static VOID test_thread_processor(void) ok(SetThreadAffinityMask(curthread,processMask+1)==0, "SetThreadAffinityMask passed for an illegal processor\n"); /* NOTE: Pre-Vista does not recognize the "all processors" flag (all bits set) */ - retMask = SetThreadAffinityMask(curthread,~0UL); + retMask = SetThreadAffinityMask(curthread,~0); ok(broken(retMask==0) || retMask==processMask, "SetThreadAffinityMask(thread,-1) failed to request all processors.\n"); + if (retMask == processMask && sizeof(ULONG_PTR) > sizeof(ULONG)) + { + /* only the low 32-bits matter */ + retMask = SetThreadAffinityMask(curthread,~(ULONG_PTR)0); + ok(retMask == processMask, "SetThreadAffinityMask failed\n"); + retMask = SetThreadAffinityMask(curthread,~(ULONG_PTR)0 >> 3); + ok(retMask == processMask, "SetThreadAffinityMask failed\n"); + retMask = SetThreadAffinityMask(curthread,~(ULONG_PTR)1); + ok(retMask == 0, "SetThreadAffinityMask succeeded\n"); + } /* NOTE: This only works on WinNT/2000/XP) */ if (pSetThreadIdealProcessor) { SetLastError(0xdeadbeef);