1 /* File generated automatically from tools/winapi/tests.dat; do not edit! */ 2 /* This file can be copied, modified and distributed without restriction. */ 3 4 /* 5 * Unit tests for data structure packing 6 */ 7 8 #ifndef __REACTOS__ 9 #define WINVER 0x0501 10 #define _WIN32_IE 0x0501 11 #define _WIN32_WINNT 0x0501 12 #endif 13 14 #define WINE_NOWINSOCK 15 16 #include <stdarg.h> 17 #include "windef.h" 18 #include "winbase.h" 19 #include "urlmon.h" 20 21 #include "wine/test.h" 22 23 /*********************************************************************** 24 * Compatibility macros 25 */ 26 27 #define DWORD_PTR UINT_PTR 28 #define LONG_PTR INT_PTR 29 #define ULONG_PTR UINT_PTR 30 31 /*********************************************************************** 32 * Windows API extension 33 */ 34 35 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus) 36 # define _TYPE_ALIGNMENT(type) __alignof(type) 37 #elif defined(__GNUC__) 38 # define _TYPE_ALIGNMENT(type) __alignof__(type) 39 #else 40 /* 41 * FIXME: May not be possible without a compiler extension 42 * (if type is not just a name that is, otherwise the normal 43 * TYPE_ALIGNMENT can be used) 44 */ 45 #endif 46 47 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus) 48 #pragma warning(disable:4116) 49 #endif 50 51 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT) 52 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT 53 #endif 54 55 /*********************************************************************** 56 * Test helper macros 57 */ 58 59 #define TEST_TYPE_SIZE(type, size) C_ASSERT(sizeof(type) == size); 60 61 #ifdef TYPE_ALIGNMENT 62 # define TEST_TYPE_ALIGN(type, align) C_ASSERT(TYPE_ALIGNMENT(type) == align); 63 #else 64 # define TEST_TYPE_ALIGN(type, align) 65 #endif 66 67 #ifdef _TYPE_ALIGNMENT 68 # define TEST_TARGET_ALIGN(type, align) C_ASSERT(_TYPE_ALIGNMENT(*(type)0) == align); 69 # define TEST_FIELD_ALIGN(type, field, align) C_ASSERT(_TYPE_ALIGNMENT(((type*)0)->field) == align); 70 #else 71 # define TEST_TARGET_ALIGN(type, align) 72 # define TEST_FIELD_ALIGN(type, field, align) 73 #endif 74 75 #define TEST_FIELD_OFFSET(type, field, offset) C_ASSERT(FIELD_OFFSET(type, field) == offset); 76 77 #define TEST_TARGET_SIZE(type, size) TEST_TYPE_SIZE(*(type)0, size) 78 #define TEST_FIELD_SIZE(type, field, size) TEST_TYPE_SIZE((((type*)0)->field), size) 79 #define TEST_TYPE_SIGNED(type) C_ASSERT((type) -1 < 0); 80 #define TEST_TYPE_UNSIGNED(type) C_ASSERT((type) -1 > 0); 81 82 83 #ifdef _WIN64 84 85 static void test_pack_BINDINFO(void) 86 { 87 /* BINDINFO */ 88 TEST_FIELD_SIZE (BINDINFO, cbSize, 4) 89 TEST_FIELD_ALIGN (BINDINFO, cbSize, 4) 90 TEST_FIELD_OFFSET(BINDINFO, cbSize, 0) 91 TEST_FIELD_SIZE (BINDINFO, szExtraInfo, 8) 92 TEST_FIELD_ALIGN (BINDINFO, szExtraInfo, 8) 93 TEST_FIELD_OFFSET(BINDINFO, szExtraInfo, 8) 94 } 95 96 static void test_pack_IBindHost(void) 97 { 98 /* IBindHost */ 99 } 100 101 static void test_pack_IBindHostVtbl(void) 102 { 103 /* IBindHostVtbl */ 104 } 105 106 static void test_pack_IBindStatusCallback(void) 107 { 108 /* IBindStatusCallback */ 109 } 110 111 static void test_pack_IBindStatusCallbackVtbl(void) 112 { 113 /* IBindStatusCallbackVtbl */ 114 } 115 116 static void test_pack_IBinding(void) 117 { 118 /* IBinding */ 119 } 120 121 static void test_pack_IBindingVtbl(void) 122 { 123 /* IBindingVtbl */ 124 } 125 126 static void test_pack_IInternetProtocolInfo(void) 127 { 128 /* IInternetProtocolInfo */ 129 } 130 131 static void test_pack_IInternetProtocolInfoVtbl(void) 132 { 133 /* IInternetProtocolInfoVtbl */ 134 } 135 136 static void test_pack_IInternetSession(void) 137 { 138 /* IInternetSession */ 139 } 140 141 static void test_pack_IInternetSessionVtbl(void) 142 { 143 /* IInternetSessionVtbl */ 144 } 145 146 static void test_pack_IPersistMoniker(void) 147 { 148 /* IPersistMoniker */ 149 } 150 151 static void test_pack_IPersistMonikerVtbl(void) 152 { 153 /* IPersistMonikerVtbl */ 154 } 155 156 static void test_pack_IWinInetHttpInfo(void) 157 { 158 /* IWinInetHttpInfo */ 159 } 160 161 static void test_pack_IWinInetHttpInfoVtbl(void) 162 { 163 /* IWinInetHttpInfoVtbl */ 164 } 165 166 static void test_pack_IWinInetInfo(void) 167 { 168 /* IWinInetInfo */ 169 } 170 171 static void test_pack_IWinInetInfoVtbl(void) 172 { 173 /* IWinInetInfoVtbl */ 174 } 175 176 static void test_pack_LPBINDHOST(void) 177 { 178 /* LPBINDHOST */ 179 TEST_TYPE_SIZE (LPBINDHOST, 8) 180 TEST_TYPE_ALIGN (LPBINDHOST, 8) 181 } 182 183 static void test_pack_LPBINDING(void) 184 { 185 /* LPBINDING */ 186 TEST_TYPE_SIZE (LPBINDING, 8) 187 TEST_TYPE_ALIGN (LPBINDING, 8) 188 } 189 190 static void test_pack_LPBINDSTATUSCALLBACK(void) 191 { 192 /* LPBINDSTATUSCALLBACK */ 193 TEST_TYPE_SIZE (LPBINDSTATUSCALLBACK, 8) 194 TEST_TYPE_ALIGN (LPBINDSTATUSCALLBACK, 8) 195 } 196 197 static void test_pack_LPIINTERNETPROTOCOLINFO(void) 198 { 199 /* LPIINTERNETPROTOCOLINFO */ 200 TEST_TYPE_SIZE (LPIINTERNETPROTOCOLINFO, 8) 201 TEST_TYPE_ALIGN (LPIINTERNETPROTOCOLINFO, 8) 202 } 203 204 static void test_pack_LPIINTERNETSESSION(void) 205 { 206 /* LPIINTERNETSESSION */ 207 TEST_TYPE_SIZE (LPIINTERNETSESSION, 8) 208 TEST_TYPE_ALIGN (LPIINTERNETSESSION, 8) 209 } 210 211 static void test_pack_LPPERSISTMONIKER(void) 212 { 213 /* LPPERSISTMONIKER */ 214 TEST_TYPE_SIZE (LPPERSISTMONIKER, 8) 215 TEST_TYPE_ALIGN (LPPERSISTMONIKER, 8) 216 } 217 218 static void test_pack_LPREMFORMATETC(void) 219 { 220 /* LPREMFORMATETC */ 221 TEST_TYPE_SIZE (LPREMFORMATETC, 8) 222 TEST_TYPE_ALIGN (LPREMFORMATETC, 8) 223 } 224 225 static void test_pack_LPREMSECURITY_ATTRIBUTES(void) 226 { 227 /* LPREMSECURITY_ATTRIBUTES */ 228 TEST_TYPE_SIZE (LPREMSECURITY_ATTRIBUTES, 8) 229 TEST_TYPE_ALIGN (LPREMSECURITY_ATTRIBUTES, 8) 230 } 231 232 static void test_pack_LPWININETHTTPINFO(void) 233 { 234 /* LPWININETHTTPINFO */ 235 TEST_TYPE_SIZE (LPWININETHTTPINFO, 8) 236 TEST_TYPE_ALIGN (LPWININETHTTPINFO, 8) 237 } 238 239 static void test_pack_LPWININETINFO(void) 240 { 241 /* LPWININETINFO */ 242 TEST_TYPE_SIZE (LPWININETINFO, 8) 243 TEST_TYPE_ALIGN (LPWININETINFO, 8) 244 } 245 246 static void test_pack_PREMSECURITY_ATTRIBUTES(void) 247 { 248 /* PREMSECURITY_ATTRIBUTES */ 249 TEST_TYPE_SIZE (PREMSECURITY_ATTRIBUTES, 8) 250 TEST_TYPE_ALIGN (PREMSECURITY_ATTRIBUTES, 8) 251 } 252 253 static void test_pack_REMSECURITY_ATTRIBUTES(void) 254 { 255 /* REMSECURITY_ATTRIBUTES */ 256 TEST_TYPE_SIZE (REMSECURITY_ATTRIBUTES, 12) 257 TEST_TYPE_ALIGN (REMSECURITY_ATTRIBUTES, 4) 258 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, nLength, 4) 259 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, nLength, 4) 260 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, nLength, 0) 261 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 262 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 263 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 264 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 265 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 266 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, bInheritHandle, 8) 267 } 268 269 static void test_pack_RemBINDINFO(void) 270 { 271 /* RemBINDINFO */ 272 TEST_TYPE_SIZE (RemBINDINFO, 96) 273 TEST_TYPE_ALIGN (RemBINDINFO, 8) 274 TEST_FIELD_SIZE (RemBINDINFO, cbSize, 4) 275 TEST_FIELD_ALIGN (RemBINDINFO, cbSize, 4) 276 TEST_FIELD_OFFSET(RemBINDINFO, cbSize, 0) 277 TEST_FIELD_SIZE (RemBINDINFO, szExtraInfo, 8) 278 TEST_FIELD_ALIGN (RemBINDINFO, szExtraInfo, 8) 279 TEST_FIELD_OFFSET(RemBINDINFO, szExtraInfo, 8) 280 TEST_FIELD_SIZE (RemBINDINFO, grfBindInfoF, 4) 281 TEST_FIELD_ALIGN (RemBINDINFO, grfBindInfoF, 4) 282 TEST_FIELD_OFFSET(RemBINDINFO, grfBindInfoF, 16) 283 TEST_FIELD_SIZE (RemBINDINFO, dwBindVerb, 4) 284 TEST_FIELD_ALIGN (RemBINDINFO, dwBindVerb, 4) 285 TEST_FIELD_OFFSET(RemBINDINFO, dwBindVerb, 20) 286 TEST_FIELD_SIZE (RemBINDINFO, szCustomVerb, 8) 287 TEST_FIELD_ALIGN (RemBINDINFO, szCustomVerb, 8) 288 TEST_FIELD_OFFSET(RemBINDINFO, szCustomVerb, 24) 289 TEST_FIELD_SIZE (RemBINDINFO, cbstgmedData, 4) 290 TEST_FIELD_ALIGN (RemBINDINFO, cbstgmedData, 4) 291 TEST_FIELD_OFFSET(RemBINDINFO, cbstgmedData, 32) 292 TEST_FIELD_SIZE (RemBINDINFO, dwOptions, 4) 293 TEST_FIELD_ALIGN (RemBINDINFO, dwOptions, 4) 294 TEST_FIELD_OFFSET(RemBINDINFO, dwOptions, 36) 295 TEST_FIELD_SIZE (RemBINDINFO, dwOptionsFlags, 4) 296 TEST_FIELD_ALIGN (RemBINDINFO, dwOptionsFlags, 4) 297 TEST_FIELD_OFFSET(RemBINDINFO, dwOptionsFlags, 40) 298 TEST_FIELD_SIZE (RemBINDINFO, dwCodePage, 4) 299 TEST_FIELD_ALIGN (RemBINDINFO, dwCodePage, 4) 300 TEST_FIELD_OFFSET(RemBINDINFO, dwCodePage, 44) 301 TEST_FIELD_SIZE (RemBINDINFO, securityAttributes, 12) 302 TEST_FIELD_ALIGN (RemBINDINFO, securityAttributes, 4) 303 TEST_FIELD_OFFSET(RemBINDINFO, securityAttributes, 48) 304 TEST_FIELD_SIZE (RemBINDINFO, iid, 16) 305 TEST_FIELD_ALIGN (RemBINDINFO, iid, 4) 306 TEST_FIELD_OFFSET(RemBINDINFO, iid, 60) 307 TEST_FIELD_SIZE (RemBINDINFO, pUnk, 8) 308 TEST_FIELD_ALIGN (RemBINDINFO, pUnk, 8) 309 TEST_FIELD_OFFSET(RemBINDINFO, pUnk, 80) 310 TEST_FIELD_SIZE (RemBINDINFO, dwReserved, 4) 311 TEST_FIELD_ALIGN (RemBINDINFO, dwReserved, 4) 312 TEST_FIELD_OFFSET(RemBINDINFO, dwReserved, 88) 313 } 314 315 static void test_pack_RemFORMATETC(void) 316 { 317 /* RemFORMATETC */ 318 TEST_TYPE_SIZE (RemFORMATETC, 20) 319 TEST_TYPE_ALIGN (RemFORMATETC, 4) 320 TEST_FIELD_SIZE (RemFORMATETC, cfFormat, 4) 321 TEST_FIELD_ALIGN (RemFORMATETC, cfFormat, 4) 322 TEST_FIELD_OFFSET(RemFORMATETC, cfFormat, 0) 323 TEST_FIELD_SIZE (RemFORMATETC, ptd, 4) 324 TEST_FIELD_ALIGN (RemFORMATETC, ptd, 4) 325 TEST_FIELD_OFFSET(RemFORMATETC, ptd, 4) 326 TEST_FIELD_SIZE (RemFORMATETC, dwAspect, 4) 327 TEST_FIELD_ALIGN (RemFORMATETC, dwAspect, 4) 328 TEST_FIELD_OFFSET(RemFORMATETC, dwAspect, 8) 329 TEST_FIELD_SIZE (RemFORMATETC, lindex, 4) 330 TEST_FIELD_ALIGN (RemFORMATETC, lindex, 4) 331 TEST_FIELD_OFFSET(RemFORMATETC, lindex, 12) 332 TEST_FIELD_SIZE (RemFORMATETC, tymed, 4) 333 TEST_FIELD_ALIGN (RemFORMATETC, tymed, 4) 334 TEST_FIELD_OFFSET(RemFORMATETC, tymed, 16) 335 } 336 337 #else /* _WIN64 */ 338 339 static void test_pack_BINDINFO(void) 340 { 341 /* BINDINFO */ 342 TEST_FIELD_SIZE (BINDINFO, cbSize, 4) 343 TEST_FIELD_ALIGN (BINDINFO, cbSize, 4) 344 TEST_FIELD_OFFSET(BINDINFO, cbSize, 0) 345 TEST_FIELD_SIZE (BINDINFO, szExtraInfo, 4) 346 TEST_FIELD_ALIGN (BINDINFO, szExtraInfo, 4) 347 TEST_FIELD_OFFSET(BINDINFO, szExtraInfo, 4) 348 } 349 350 static void test_pack_IBindHost(void) 351 { 352 /* IBindHost */ 353 } 354 355 static void test_pack_IBindHostVtbl(void) 356 { 357 /* IBindHostVtbl */ 358 } 359 360 static void test_pack_IBindStatusCallback(void) 361 { 362 /* IBindStatusCallback */ 363 } 364 365 static void test_pack_IBindStatusCallbackVtbl(void) 366 { 367 /* IBindStatusCallbackVtbl */ 368 } 369 370 static void test_pack_IBinding(void) 371 { 372 /* IBinding */ 373 } 374 375 static void test_pack_IBindingVtbl(void) 376 { 377 /* IBindingVtbl */ 378 } 379 380 static void test_pack_IInternetProtocolInfo(void) 381 { 382 /* IInternetProtocolInfo */ 383 } 384 385 static void test_pack_IInternetProtocolInfoVtbl(void) 386 { 387 /* IInternetProtocolInfoVtbl */ 388 } 389 390 static void test_pack_IInternetSession(void) 391 { 392 /* IInternetSession */ 393 } 394 395 static void test_pack_IInternetSessionVtbl(void) 396 { 397 /* IInternetSessionVtbl */ 398 } 399 400 static void test_pack_IPersistMoniker(void) 401 { 402 /* IPersistMoniker */ 403 } 404 405 static void test_pack_IPersistMonikerVtbl(void) 406 { 407 /* IPersistMonikerVtbl */ 408 } 409 410 static void test_pack_IWinInetHttpInfo(void) 411 { 412 /* IWinInetHttpInfo */ 413 } 414 415 static void test_pack_IWinInetHttpInfoVtbl(void) 416 { 417 /* IWinInetHttpInfoVtbl */ 418 } 419 420 static void test_pack_IWinInetInfo(void) 421 { 422 /* IWinInetInfo */ 423 } 424 425 static void test_pack_IWinInetInfoVtbl(void) 426 { 427 /* IWinInetInfoVtbl */ 428 } 429 430 static void test_pack_LPBINDHOST(void) 431 { 432 /* LPBINDHOST */ 433 TEST_TYPE_SIZE (LPBINDHOST, 4) 434 TEST_TYPE_ALIGN (LPBINDHOST, 4) 435 } 436 437 static void test_pack_LPBINDING(void) 438 { 439 /* LPBINDING */ 440 TEST_TYPE_SIZE (LPBINDING, 4) 441 TEST_TYPE_ALIGN (LPBINDING, 4) 442 } 443 444 static void test_pack_LPBINDSTATUSCALLBACK(void) 445 { 446 /* LPBINDSTATUSCALLBACK */ 447 TEST_TYPE_SIZE (LPBINDSTATUSCALLBACK, 4) 448 TEST_TYPE_ALIGN (LPBINDSTATUSCALLBACK, 4) 449 } 450 451 static void test_pack_LPIINTERNETPROTOCOLINFO(void) 452 { 453 /* LPIINTERNETPROTOCOLINFO */ 454 TEST_TYPE_SIZE (LPIINTERNETPROTOCOLINFO, 4) 455 TEST_TYPE_ALIGN (LPIINTERNETPROTOCOLINFO, 4) 456 } 457 458 static void test_pack_LPIINTERNETSESSION(void) 459 { 460 /* LPIINTERNETSESSION */ 461 TEST_TYPE_SIZE (LPIINTERNETSESSION, 4) 462 TEST_TYPE_ALIGN (LPIINTERNETSESSION, 4) 463 } 464 465 static void test_pack_LPPERSISTMONIKER(void) 466 { 467 /* LPPERSISTMONIKER */ 468 TEST_TYPE_SIZE (LPPERSISTMONIKER, 4) 469 TEST_TYPE_ALIGN (LPPERSISTMONIKER, 4) 470 } 471 472 static void test_pack_LPREMFORMATETC(void) 473 { 474 /* LPREMFORMATETC */ 475 TEST_TYPE_SIZE (LPREMFORMATETC, 4) 476 TEST_TYPE_ALIGN (LPREMFORMATETC, 4) 477 } 478 479 static void test_pack_LPREMSECURITY_ATTRIBUTES(void) 480 { 481 /* LPREMSECURITY_ATTRIBUTES */ 482 TEST_TYPE_SIZE (LPREMSECURITY_ATTRIBUTES, 4) 483 TEST_TYPE_ALIGN (LPREMSECURITY_ATTRIBUTES, 4) 484 } 485 486 static void test_pack_LPWININETHTTPINFO(void) 487 { 488 /* LPWININETHTTPINFO */ 489 TEST_TYPE_SIZE (LPWININETHTTPINFO, 4) 490 TEST_TYPE_ALIGN (LPWININETHTTPINFO, 4) 491 } 492 493 static void test_pack_LPWININETINFO(void) 494 { 495 /* LPWININETINFO */ 496 TEST_TYPE_SIZE (LPWININETINFO, 4) 497 TEST_TYPE_ALIGN (LPWININETINFO, 4) 498 } 499 500 static void test_pack_PREMSECURITY_ATTRIBUTES(void) 501 { 502 /* PREMSECURITY_ATTRIBUTES */ 503 TEST_TYPE_SIZE (PREMSECURITY_ATTRIBUTES, 4) 504 TEST_TYPE_ALIGN (PREMSECURITY_ATTRIBUTES, 4) 505 } 506 507 static void test_pack_REMSECURITY_ATTRIBUTES(void) 508 { 509 /* REMSECURITY_ATTRIBUTES */ 510 TEST_TYPE_SIZE (REMSECURITY_ATTRIBUTES, 12) 511 TEST_TYPE_ALIGN (REMSECURITY_ATTRIBUTES, 4) 512 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, nLength, 4) 513 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, nLength, 4) 514 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, nLength, 0) 515 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 516 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 517 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, lpSecurityDescriptor, 4) 518 TEST_FIELD_SIZE (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 519 TEST_FIELD_ALIGN (REMSECURITY_ATTRIBUTES, bInheritHandle, 4) 520 TEST_FIELD_OFFSET(REMSECURITY_ATTRIBUTES, bInheritHandle, 8) 521 } 522 523 static void test_pack_RemBINDINFO(void) 524 { 525 /* RemBINDINFO */ 526 TEST_TYPE_SIZE (RemBINDINFO, 72) 527 TEST_TYPE_ALIGN (RemBINDINFO, 4) 528 TEST_FIELD_SIZE (RemBINDINFO, cbSize, 4) 529 TEST_FIELD_ALIGN (RemBINDINFO, cbSize, 4) 530 TEST_FIELD_OFFSET(RemBINDINFO, cbSize, 0) 531 TEST_FIELD_SIZE (RemBINDINFO, szExtraInfo, 4) 532 TEST_FIELD_ALIGN (RemBINDINFO, szExtraInfo, 4) 533 TEST_FIELD_OFFSET(RemBINDINFO, szExtraInfo, 4) 534 TEST_FIELD_SIZE (RemBINDINFO, grfBindInfoF, 4) 535 TEST_FIELD_ALIGN (RemBINDINFO, grfBindInfoF, 4) 536 TEST_FIELD_OFFSET(RemBINDINFO, grfBindInfoF, 8) 537 TEST_FIELD_SIZE (RemBINDINFO, dwBindVerb, 4) 538 TEST_FIELD_ALIGN (RemBINDINFO, dwBindVerb, 4) 539 TEST_FIELD_OFFSET(RemBINDINFO, dwBindVerb, 12) 540 TEST_FIELD_SIZE (RemBINDINFO, szCustomVerb, 4) 541 TEST_FIELD_ALIGN (RemBINDINFO, szCustomVerb, 4) 542 TEST_FIELD_OFFSET(RemBINDINFO, szCustomVerb, 16) 543 TEST_FIELD_SIZE (RemBINDINFO, cbstgmedData, 4) 544 TEST_FIELD_ALIGN (RemBINDINFO, cbstgmedData, 4) 545 TEST_FIELD_OFFSET(RemBINDINFO, cbstgmedData, 20) 546 TEST_FIELD_SIZE (RemBINDINFO, dwOptions, 4) 547 TEST_FIELD_ALIGN (RemBINDINFO, dwOptions, 4) 548 TEST_FIELD_OFFSET(RemBINDINFO, dwOptions, 24) 549 TEST_FIELD_SIZE (RemBINDINFO, dwOptionsFlags, 4) 550 TEST_FIELD_ALIGN (RemBINDINFO, dwOptionsFlags, 4) 551 TEST_FIELD_OFFSET(RemBINDINFO, dwOptionsFlags, 28) 552 TEST_FIELD_SIZE (RemBINDINFO, dwCodePage, 4) 553 TEST_FIELD_ALIGN (RemBINDINFO, dwCodePage, 4) 554 TEST_FIELD_OFFSET(RemBINDINFO, dwCodePage, 32) 555 TEST_FIELD_SIZE (RemBINDINFO, securityAttributes, 12) 556 TEST_FIELD_ALIGN (RemBINDINFO, securityAttributes, 4) 557 TEST_FIELD_OFFSET(RemBINDINFO, securityAttributes, 36) 558 TEST_FIELD_SIZE (RemBINDINFO, iid, 16) 559 TEST_FIELD_ALIGN (RemBINDINFO, iid, 4) 560 TEST_FIELD_OFFSET(RemBINDINFO, iid, 48) 561 TEST_FIELD_SIZE (RemBINDINFO, pUnk, 4) 562 TEST_FIELD_ALIGN (RemBINDINFO, pUnk, 4) 563 TEST_FIELD_OFFSET(RemBINDINFO, pUnk, 64) 564 TEST_FIELD_SIZE (RemBINDINFO, dwReserved, 4) 565 TEST_FIELD_ALIGN (RemBINDINFO, dwReserved, 4) 566 TEST_FIELD_OFFSET(RemBINDINFO, dwReserved, 68) 567 } 568 569 static void test_pack_RemFORMATETC(void) 570 { 571 /* RemFORMATETC */ 572 TEST_TYPE_SIZE (RemFORMATETC, 20) 573 TEST_TYPE_ALIGN (RemFORMATETC, 4) 574 TEST_FIELD_SIZE (RemFORMATETC, cfFormat, 4) 575 TEST_FIELD_ALIGN (RemFORMATETC, cfFormat, 4) 576 TEST_FIELD_OFFSET(RemFORMATETC, cfFormat, 0) 577 TEST_FIELD_SIZE (RemFORMATETC, ptd, 4) 578 TEST_FIELD_ALIGN (RemFORMATETC, ptd, 4) 579 TEST_FIELD_OFFSET(RemFORMATETC, ptd, 4) 580 TEST_FIELD_SIZE (RemFORMATETC, dwAspect, 4) 581 TEST_FIELD_ALIGN (RemFORMATETC, dwAspect, 4) 582 TEST_FIELD_OFFSET(RemFORMATETC, dwAspect, 8) 583 TEST_FIELD_SIZE (RemFORMATETC, lindex, 4) 584 TEST_FIELD_ALIGN (RemFORMATETC, lindex, 4) 585 TEST_FIELD_OFFSET(RemFORMATETC, lindex, 12) 586 TEST_FIELD_SIZE (RemFORMATETC, tymed, 4) 587 TEST_FIELD_ALIGN (RemFORMATETC, tymed, 4) 588 TEST_FIELD_OFFSET(RemFORMATETC, tymed, 16) 589 } 590 591 #endif /* _WIN64 */ 592 593 static void test_pack(void) 594 { 595 test_pack_BINDINFO(); 596 test_pack_IBindHost(); 597 test_pack_IBindHostVtbl(); 598 test_pack_IBindStatusCallback(); 599 test_pack_IBindStatusCallbackVtbl(); 600 test_pack_IBinding(); 601 test_pack_IBindingVtbl(); 602 test_pack_IInternetProtocolInfo(); 603 test_pack_IInternetProtocolInfoVtbl(); 604 test_pack_IInternetSession(); 605 test_pack_IInternetSessionVtbl(); 606 test_pack_IPersistMoniker(); 607 test_pack_IPersistMonikerVtbl(); 608 test_pack_IWinInetHttpInfo(); 609 test_pack_IWinInetHttpInfoVtbl(); 610 test_pack_IWinInetInfo(); 611 test_pack_IWinInetInfoVtbl(); 612 test_pack_LPBINDHOST(); 613 test_pack_LPBINDING(); 614 test_pack_LPBINDSTATUSCALLBACK(); 615 test_pack_LPIINTERNETPROTOCOLINFO(); 616 test_pack_LPIINTERNETSESSION(); 617 test_pack_LPPERSISTMONIKER(); 618 test_pack_LPREMFORMATETC(); 619 test_pack_LPREMSECURITY_ATTRIBUTES(); 620 test_pack_LPWININETHTTPINFO(); 621 test_pack_LPWININETINFO(); 622 test_pack_PREMSECURITY_ATTRIBUTES(); 623 test_pack_REMSECURITY_ATTRIBUTES(); 624 test_pack_RemBINDINFO(); 625 test_pack_RemFORMATETC(); 626 } 627 628 START_TEST(generated) 629 { 630 test_pack(); 631 } 632