/* File generated automatically from tools/winapi/tests.dat; do not edit! */
/* This file can be copied, modified and distributed without restriction. */

/*
 * Unit tests for data structure packing
 */

#define WINVER 0x0501
#define _WIN32_IE 0x0501
#define _WIN32_WINNT 0x0501

#define WINE_NOWINSOCK

#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wininet.h"
#include "wininet_test.h"

#include "wine/test.h"

/***********************************************************************
 * Compatibility macros
 */

#define DWORD_PTR UINT_PTR
#define LONG_PTR INT_PTR
#define ULONG_PTR UINT_PTR

/***********************************************************************
 * Windows API extension
 */

#if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
# define _TYPE_ALIGNMENT(type) __alignof(type)
#elif defined(__GNUC__)
# define _TYPE_ALIGNMENT(type) __alignof__(type)
#else
/*
 * FIXME: May not be possible without a compiler extension
 *        (if type is not just a name that is, otherwise the normal
 *         TYPE_ALIGNMENT can be used)
 */
#endif

#if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
#pragma warning(disable:4116)
#endif

#if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
# define TYPE_ALIGNMENT _TYPE_ALIGNMENT
#endif

/***********************************************************************
 * Test helper macros
 */

#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)

#else

# 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);

#endif

#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_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
    TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 4)
    TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 4)
    TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, ShortAbstract, 0)
    TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
    TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
    TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEA, AbstractFile, 4)
}

static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
    TEST_TYPE_ALIGN  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 4)
    TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 4)
    TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, ShortAbstract, 0)
    TEST_FIELD_SIZE  (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
    TEST_FIELD_ALIGN (GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
    TEST_FIELD_OFFSET(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, AbstractFile, 4)
}

static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_ADMIN_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
    TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 4)
    TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 4)
    TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, Comment, 0)
    TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
    TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
    TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEA, EmailAddress, 4)
}

static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ADMIN_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
    TEST_TYPE_ALIGN  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 4)
    TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 4)
    TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, Comment, 0)
    TEST_FIELD_SIZE  (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
    TEST_FIELD_ALIGN (GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
    TEST_FIELD_OFFSET(GOPHER_ADMIN_ATTRIBUTE_TYPEW, EmailAddress, 4)
}

static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_ASK_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEA, 8)
    TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 4)
    TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 4)
    TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionType, 0)
    TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
    TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
    TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEA, QuestionText, 4)
}

static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ASK_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ASK_ATTRIBUTE_TYPEW, 8)
    TEST_TYPE_ALIGN  (GOPHER_ASK_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 4)
    TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 4)
    TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionType, 0)
    TEST_FIELD_SIZE  (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
    TEST_FIELD_ALIGN (GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
    TEST_FIELD_OFFSET(GOPHER_ASK_ATTRIBUTE_TYPEW, QuestionText, 4)
}

static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORA(void)
{
    /* GOPHER_ATTRIBUTE_ENUMERATORA */
    TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORA, 4)
    TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORA, 4)
}

static void test_pack_GOPHER_ATTRIBUTE_ENUMERATORW(void)
{
    /* GOPHER_ATTRIBUTE_ENUMERATORW */
    TEST_TYPE_SIZE   (GOPHER_ATTRIBUTE_ENUMERATORW, 4)
    TEST_TYPE_ALIGN  (GOPHER_ATTRIBUTE_ENUMERATORW, 4)
}

static void test_pack_GOPHER_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_ATTRIBUTE_TYPEA (pack 4) */
    TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
    TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, CategoryId, 4)
    TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, CategoryId, 0)
    TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
    TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
    TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEA, AttributeId, 4)
}

static void test_pack_GOPHER_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ATTRIBUTE_TYPEW (pack 4) */
    TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
    TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, CategoryId, 4)
    TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, CategoryId, 0)
    TEST_FIELD_SIZE  (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
    TEST_FIELD_ALIGN (GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
    TEST_FIELD_OFFSET(GOPHER_ATTRIBUTE_TYPEW, AttributeId, 4)
}

static void test_pack_GOPHER_FIND_DATAA(void)
{
    /* GOPHER_FIND_DATAA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_FIND_DATAA, 808)
    TEST_TYPE_ALIGN  (GOPHER_FIND_DATAA, 4)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, DisplayString, 129)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, DisplayString, 1)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, DisplayString, 0)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, GopherType, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, GopherType, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, GopherType, 132)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeLow, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeLow, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeLow, 136)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, SizeHigh, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, SizeHigh, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, SizeHigh, 140)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, LastModificationTime, 8)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, LastModificationTime, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, LastModificationTime, 144)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAA, Locator, 654)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAA, Locator, 1)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAA, Locator, 152)
}

static void test_pack_GOPHER_FIND_DATAW(void)
{
    /* GOPHER_FIND_DATAW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_FIND_DATAW, 1588)
    TEST_TYPE_ALIGN  (GOPHER_FIND_DATAW, 4)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, DisplayString, 258)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, DisplayString, 2)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, DisplayString, 0)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, GopherType, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, GopherType, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, GopherType, 260)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeLow, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeLow, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeLow, 264)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, SizeHigh, 4)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, SizeHigh, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, SizeHigh, 268)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, LastModificationTime, 8)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, LastModificationTime, 4)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, LastModificationTime, 272)
    TEST_FIELD_SIZE  (GOPHER_FIND_DATAW, Locator, 1308)
    TEST_FIELD_ALIGN (GOPHER_FIND_DATAW, Locator, 2)
    TEST_FIELD_OFFSET(GOPHER_FIND_DATAW, Locator, 280)
}

static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
    TEST_TYPE_ALIGN  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesNorth, 0)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesNorth, 4)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsNorth, 8)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, DegreesEast, 12)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, MinutesEast, 16)
    TEST_FIELD_SIZE  (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
    TEST_FIELD_ALIGN (GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 4)
    TEST_FIELD_OFFSET(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, SecondsEast, 20)
}

static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_LOCATION_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 4)
    TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 4)
    TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEA, Location, 0)
}

static void test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_LOCATION_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 4)
    TEST_FIELD_ALIGN (GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 4)
    TEST_FIELD_OFFSET(GOPHER_LOCATION_ATTRIBUTE_TYPEW, Location, 0)
}

static void test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_MOD_DATE_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
    TEST_TYPE_ALIGN  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 8)
    TEST_FIELD_ALIGN (GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 4)
    TEST_FIELD_OFFSET(GOPHER_MOD_DATE_ATTRIBUTE_TYPE, DateAndTime, 0)
}

static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 4)
    TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 4)
    TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, Organization, 0)
}

static void test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 4)
    TEST_FIELD_ALIGN (GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 4)
    TEST_FIELD_OFFSET(GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, Organization, 0)
}

static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_PROVIDER_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 4)
    TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 4)
    TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEA, Provider, 0)
}

static void test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_PROVIDER_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 4)
    TEST_FIELD_ALIGN (GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 4)
    TEST_FIELD_OFFSET(GOPHER_PROVIDER_ATTRIBUTE_TYPEW, Provider, 0)
}

static void test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_SCORE_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (GOPHER_SCORE_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
    TEST_FIELD_ALIGN (GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 4)
    TEST_FIELD_OFFSET(GOPHER_SCORE_ATTRIBUTE_TYPE, Score, 0)
}

static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
    TEST_TYPE_ALIGN  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
    TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 4)
    TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, LowerBound, 0)
    TEST_FIELD_SIZE  (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
    TEST_FIELD_ALIGN (GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
    TEST_FIELD_OFFSET(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, UpperBound, 4)
}

static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_SITE_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 4)
    TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 4)
    TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEA, Site, 0)
}

static void test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_SITE_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_SITE_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_SITE_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 4)
    TEST_FIELD_ALIGN (GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 4)
    TEST_FIELD_OFFSET(GOPHER_SITE_ATTRIBUTE_TYPEW, Site, 0)
}

static void test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_TIMEZONE_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
    TEST_FIELD_ALIGN (GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 4)
    TEST_FIELD_OFFSET(GOPHER_TIMEZONE_ATTRIBUTE_TYPE, Zone, 0)
}

static void test_pack_GOPHER_TTL_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_TTL_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (GOPHER_TTL_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
    TEST_FIELD_ALIGN (GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 4)
    TEST_FIELD_OFFSET(GOPHER_TTL_ATTRIBUTE_TYPE, Ttl, 0)
}

static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 4)
    TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 4)
    TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEA, Text, 0)
}

static void test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_UNKNOWN_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 4)
    TEST_FIELD_ALIGN (GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 4)
    TEST_FIELD_OFFSET(GOPHER_UNKNOWN_ATTRIBUTE_TYPEW, Text, 0)
}

static void test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_VERONICA_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (GOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
    TEST_FIELD_SIZE  (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
    TEST_FIELD_ALIGN (GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 4)
    TEST_FIELD_OFFSET(GOPHER_VERONICA_ATTRIBUTE_TYPE, TreeWalk, 0)
}

static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_VERSION_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 4)
    TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 4)
    TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEA, Version, 0)
}

static void test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_VERSION_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (GOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 4)
    TEST_FIELD_ALIGN (GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 4)
    TEST_FIELD_OFFSET(GOPHER_VERSION_ATTRIBUTE_TYPEW, Version, 0)
}

static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA(void)
{
    /* GOPHER_VIEW_ATTRIBUTE_TYPEA (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEA, 12)
    TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, ContentType, 0)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Language, 4)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEA, Size, 8)
}

static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_VIEW_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE_SIZE   (GOPHER_VIEW_ATTRIBUTE_TYPEW, 12)
    TEST_TYPE_ALIGN  (GOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, ContentType, 0)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Language, 4)
    TEST_FIELD_SIZE  (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
    TEST_FIELD_ALIGN (GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 4)
    TEST_FIELD_OFFSET(GOPHER_VIEW_ATTRIBUTE_TYPEW, Size, 8)
}

static void test_pack_GROUPID(void)
{
    /* GROUPID */
    TEST_TYPE_SIZE   (GROUPID, 8)
    TEST_TYPE_ALIGN  (GROUPID, 8)
    TEST_TYPE_SIGNED(GROUPID)
}

static void test_pack_HINTERNET(void)
{
    /* HINTERNET */
    TEST_TYPE_SIZE   (HINTERNET, 4)
    TEST_TYPE_ALIGN  (HINTERNET, 4)
}

static void test_pack_HTTP_VERSION_INFO(void)
{
    /* HTTP_VERSION_INFO (pack 4) */
    TEST_TYPE_SIZE   (HTTP_VERSION_INFO, 8)
    TEST_TYPE_ALIGN  (HTTP_VERSION_INFO, 4)
    TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMajorVersion, 4)
    TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMajorVersion, 4)
    TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMajorVersion, 0)
    TEST_FIELD_SIZE  (HTTP_VERSION_INFO, dwMinorVersion, 4)
    TEST_FIELD_ALIGN (HTTP_VERSION_INFO, dwMinorVersion, 4)
    TEST_FIELD_OFFSET(HTTP_VERSION_INFO, dwMinorVersion, 4)
}

static void test_pack_INTERNET_ASYNC_RESULT(void)
{
    /* INTERNET_ASYNC_RESULT (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_ASYNC_RESULT, 8)
    TEST_TYPE_ALIGN  (INTERNET_ASYNC_RESULT, 4)
    TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwResult, 4)
    TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwResult, 4)
    TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwResult, 0)
    TEST_FIELD_SIZE  (INTERNET_ASYNC_RESULT, dwError, 4)
    TEST_FIELD_ALIGN (INTERNET_ASYNC_RESULT, dwError, 4)
    TEST_FIELD_OFFSET(INTERNET_ASYNC_RESULT, dwError, 4)
}

static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
{
    /* INTERNET_AUTH_NOTIFY_DATA (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_AUTH_NOTIFY_DATA, 16)
    TEST_TYPE_ALIGN  (INTERNET_AUTH_NOTIFY_DATA, 4)
    TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
    TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, cbStruct, 4)
    TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, cbStruct, 0)
    TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
    TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
    TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwOptions, 4)
    TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 4)
    TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 4)
    TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, pfnNotify, 8)
    TEST_FIELD_SIZE  (INTERNET_AUTH_NOTIFY_DATA, dwContext, 4)
    TEST_FIELD_ALIGN (INTERNET_AUTH_NOTIFY_DATA, dwContext, 4)
    TEST_FIELD_OFFSET(INTERNET_AUTH_NOTIFY_DATA, dwContext, 12)
}

static void test_pack_INTERNET_BUFFERSA(void)
{
    /* INTERNET_BUFFERSA (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_BUFFERSA, 40)
    TEST_TYPE_ALIGN  (INTERNET_BUFFERSA, 4)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwStructSize, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwStructSize, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwStructSize, 0)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, Next, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, Next, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, Next, 4)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpcszHeader, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpcszHeader, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpcszHeader, 8)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersLength, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersLength, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersLength, 12)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwHeadersTotal, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwHeadersTotal, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwHeadersTotal, 16)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, lpvBuffer, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, lpvBuffer, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, lpvBuffer, 20)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferLength, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferLength, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferLength, 24)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwBufferTotal, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwBufferTotal, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwBufferTotal, 28)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetLow, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetLow, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetLow, 32)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSA, dwOffsetHigh, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSA, dwOffsetHigh, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSA, dwOffsetHigh, 36)
}

static void test_pack_INTERNET_BUFFERSW(void)
{
    /* INTERNET_BUFFERSW (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_BUFFERSW, 40)
    TEST_TYPE_ALIGN  (INTERNET_BUFFERSW, 4)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwStructSize, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwStructSize, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwStructSize, 0)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, Next, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, Next, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, Next, 4)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpcszHeader, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpcszHeader, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpcszHeader, 8)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersLength, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersLength, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersLength, 12)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwHeadersTotal, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwHeadersTotal, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwHeadersTotal, 16)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, lpvBuffer, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, lpvBuffer, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, lpvBuffer, 20)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferLength, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferLength, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferLength, 24)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwBufferTotal, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwBufferTotal, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwBufferTotal, 28)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetLow, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetLow, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetLow, 32)
    TEST_FIELD_SIZE  (INTERNET_BUFFERSW, dwOffsetHigh, 4)
    TEST_FIELD_ALIGN (INTERNET_BUFFERSW, dwOffsetHigh, 4)
    TEST_FIELD_OFFSET(INTERNET_BUFFERSW, dwOffsetHigh, 36)
}

static void test_pack_INTERNET_CACHE_ENTRY_INFOA(void)
{
    /* INTERNET_CACHE_ENTRY_INFOA (pack 4) */
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwStructSize, 0)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszSourceUrlName, 4)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszLocalFileName, 8)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, CacheEntryType, 12)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwUseCount, 16)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHitRate, 20)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeLow, 24)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwSizeHigh, 28)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastModifiedTime, 32)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, ExpireTime, 40)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastAccessTime, 48)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, LastSyncTime, 56)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpHeaderInfo, 64)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, dwHeaderInfoSize, 68)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOA, lpszFileExtension, 72)
}

static void test_pack_INTERNET_CACHE_ENTRY_INFOW(void)
{
    /* INTERNET_CACHE_ENTRY_INFOW (pack 4) */
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwStructSize, 0)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszSourceUrlName, 4)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszLocalFileName, 8)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, CacheEntryType, 12)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwUseCount, 16)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHitRate, 20)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeLow, 24)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwSizeHigh, 28)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastModifiedTime, 32)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, ExpireTime, 40)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastAccessTime, 48)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 8)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, LastSyncTime, 56)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpHeaderInfo, 64)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, dwHeaderInfoSize, 68)
    TEST_FIELD_SIZE  (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 4)
    TEST_FIELD_ALIGN (INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 4)
    TEST_FIELD_OFFSET(INTERNET_CACHE_ENTRY_INFOW, lpszFileExtension, 72)
}

static void test_pack_INTERNET_CERTIFICATE_INFOA(void)
{
    /* INTERNET_CERTIFICATE_INFOA (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOA, 40)
    TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOA, 4)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftExpiry, 8)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftExpiry, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftExpiry, 0)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, ftStart, 8)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, ftStart, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, ftStart, 8)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSubjectInfo, 16)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszIssuerInfo, 20)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszProtocolName, 24)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszSignatureAlgName, 28)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, lpszEncryptionAlgName, 32)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOA, dwKeySize, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOA, dwKeySize, 36)
}

static void test_pack_INTERNET_CERTIFICATE_INFOW(void)
{
    /* INTERNET_CERTIFICATE_INFOW (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_CERTIFICATE_INFOW, 40)
    TEST_TYPE_ALIGN  (INTERNET_CERTIFICATE_INFOW, 4)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftExpiry, 8)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftExpiry, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftExpiry, 0)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, ftStart, 8)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, ftStart, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, ftStart, 8)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSubjectInfo, 16)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszIssuerInfo, 20)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszProtocolName, 24)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszSignatureAlgName, 28)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, lpszEncryptionAlgName, 32)
    TEST_FIELD_SIZE  (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
    TEST_FIELD_ALIGN (INTERNET_CERTIFICATE_INFOW, dwKeySize, 4)
    TEST_FIELD_OFFSET(INTERNET_CERTIFICATE_INFOW, dwKeySize, 36)
}

static void test_pack_INTERNET_CONNECTED_INFO(void)
{
    /* INTERNET_CONNECTED_INFO (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_CONNECTED_INFO, 8)
    TEST_TYPE_ALIGN  (INTERNET_CONNECTED_INFO, 4)
    TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
    TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwConnectedState, 4)
    TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwConnectedState, 0)
    TEST_FIELD_SIZE  (INTERNET_CONNECTED_INFO, dwFlags, 4)
    TEST_FIELD_ALIGN (INTERNET_CONNECTED_INFO, dwFlags, 4)
    TEST_FIELD_OFFSET(INTERNET_CONNECTED_INFO, dwFlags, 4)
}

static void test_pack_INTERNET_PORT(void)
{
    /* INTERNET_PORT */
    TEST_TYPE_SIZE   (INTERNET_PORT, 2)
    TEST_TYPE_ALIGN  (INTERNET_PORT, 2)
    TEST_TYPE_UNSIGNED(INTERNET_PORT)
}

static void test_pack_INTERNET_PROXY_INFOA(void)
{
    /* INTERNET_PROXY_INFOA (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_PROXY_INFOA, 12)
    TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOA, 4)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, dwAccessType, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, dwAccessType, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, dwAccessType, 0)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxy, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxy, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxy, 4)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOA, lpszProxyBypass, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOA, lpszProxyBypass, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOA, lpszProxyBypass, 8)
}

static void test_pack_INTERNET_PROXY_INFOW(void)
{
    /* INTERNET_PROXY_INFOW (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_PROXY_INFOW, 12)
    TEST_TYPE_ALIGN  (INTERNET_PROXY_INFOW, 4)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, dwAccessType, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, dwAccessType, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, dwAccessType, 0)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxy, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxy, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxy, 4)
    TEST_FIELD_SIZE  (INTERNET_PROXY_INFOW, lpszProxyBypass, 4)
    TEST_FIELD_ALIGN (INTERNET_PROXY_INFOW, lpszProxyBypass, 4)
    TEST_FIELD_OFFSET(INTERNET_PROXY_INFOW, lpszProxyBypass, 8)
}

static void test_pack_INTERNET_STATUS_CALLBACK(void)
{
    /* INTERNET_STATUS_CALLBACK */
    TEST_TYPE_SIZE   (INTERNET_STATUS_CALLBACK, 4)
    TEST_TYPE_ALIGN  (INTERNET_STATUS_CALLBACK, 4)
}

static void test_pack_INTERNET_VERSION_INFO(void)
{
    /* INTERNET_VERSION_INFO (pack 4) */
    TEST_TYPE_SIZE   (INTERNET_VERSION_INFO, 8)
    TEST_TYPE_ALIGN  (INTERNET_VERSION_INFO, 4)
    TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMajorVersion, 4)
    TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMajorVersion, 4)
    TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMajorVersion, 0)
    TEST_FIELD_SIZE  (INTERNET_VERSION_INFO, dwMinorVersion, 4)
    TEST_FIELD_ALIGN (INTERNET_VERSION_INFO, dwMinorVersion, 4)
    TEST_FIELD_OFFSET(INTERNET_VERSION_INFO, dwMinorVersion, 4)
}

static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ADMIN_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_ASK_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEA, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_ASK_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_ASK_ATTRIBUTE_TYPEW, 8)
    TEST_TARGET_ALIGN(LPGOPHER_ASK_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_FIND_DATAA(void)
{
    /* LPGOPHER_FIND_DATAA */
    TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAA, 4)
    TEST_TARGET_SIZE (LPGOPHER_FIND_DATAA, 808)
    TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAA, 4)
}

static void test_pack_LPGOPHER_FIND_DATAW(void)
{
    /* LPGOPHER_FIND_DATAW */
    TEST_TYPE_SIZE   (LPGOPHER_FIND_DATAW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_FIND_DATAW, 4)
    TEST_TARGET_SIZE (LPGOPHER_FIND_DATAW, 1588)
    TEST_TARGET_ALIGN(LPGOPHER_FIND_DATAW, 4)
}

static void test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24)
    TEST_TARGET_ALIGN(LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_LOCATION_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 8)
    TEST_TARGET_ALIGN(LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_SCORE_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_ALIGN(LPGOPHER_SCORE_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8)
    TEST_TARGET_ALIGN(LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_SITE_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_SITE_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_SITE_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_ALIGN(LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_TTL_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_ALIGN(LPGOPHER_TTL_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE(void)
{
    /* LPGOPHER_VERONICA_ATTRIBUTE_TYPE */
    TEST_TYPE_SIZE   (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_SIZE (LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
    TEST_TARGET_ALIGN(LPGOPHER_VERONICA_ATTRIBUTE_TYPE, 4)
}

static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_VERSION_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_VERSION_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_ALIGN(LPGOPHER_VERSION_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA(void)
{
    /* LPGOPHER_VIEW_ATTRIBUTE_TYPEA */
    TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
    TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 12)
    TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEA, 4)
}

static void test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW(void)
{
    /* LPGOPHER_VIEW_ATTRIBUTE_TYPEW */
    TEST_TYPE_SIZE   (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
    TEST_TYPE_ALIGN  (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
    TEST_TARGET_SIZE (LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 12)
    TEST_TARGET_ALIGN(LPGOPHER_VIEW_ATTRIBUTE_TYPEW, 4)
}

static void test_pack_LPHINTERNET(void)
{
    /* LPHINTERNET */
    TEST_TYPE_SIZE   (LPHINTERNET, 4)
    TEST_TYPE_ALIGN  (LPHINTERNET, 4)
    TEST_TARGET_SIZE (LPHINTERNET, 4)
    TEST_TARGET_ALIGN(LPHINTERNET, 4)
}

static void test_pack_LPHTTP_VERSION_INFO(void)
{
    /* LPHTTP_VERSION_INFO */
    TEST_TYPE_SIZE   (LPHTTP_VERSION_INFO, 4)
    TEST_TYPE_ALIGN  (LPHTTP_VERSION_INFO, 4)
    TEST_TARGET_SIZE (LPHTTP_VERSION_INFO, 8)
    TEST_TARGET_ALIGN(LPHTTP_VERSION_INFO, 4)
}

static void test_pack_LPINTERNET_ASYNC_RESULT(void)
{
    /* LPINTERNET_ASYNC_RESULT */
    TEST_TYPE_SIZE   (LPINTERNET_ASYNC_RESULT, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_ASYNC_RESULT, 4)
    TEST_TARGET_SIZE (LPINTERNET_ASYNC_RESULT, 8)
    TEST_TARGET_ALIGN(LPINTERNET_ASYNC_RESULT, 4)
}

static void test_pack_LPINTERNET_BUFFERSA(void)
{
    /* LPINTERNET_BUFFERSA */
    TEST_TYPE_SIZE   (LPINTERNET_BUFFERSA, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSA, 4)
    TEST_TARGET_SIZE (LPINTERNET_BUFFERSA, 40)
    TEST_TARGET_ALIGN(LPINTERNET_BUFFERSA, 4)
}

static void test_pack_LPINTERNET_BUFFERSW(void)
{
    /* LPINTERNET_BUFFERSW */
    TEST_TYPE_SIZE   (LPINTERNET_BUFFERSW, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_BUFFERSW, 4)
    TEST_TARGET_SIZE (LPINTERNET_BUFFERSW, 40)
    TEST_TARGET_ALIGN(LPINTERNET_BUFFERSW, 4)
}

static void test_pack_LPINTERNET_CACHE_ENTRY_INFOA(void)
{
    /* LPINTERNET_CACHE_ENTRY_INFOA */
    TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOA, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOA, 4)
}

static void test_pack_LPINTERNET_CACHE_ENTRY_INFOW(void)
{
    /* LPINTERNET_CACHE_ENTRY_INFOW */
    TEST_TYPE_SIZE   (LPINTERNET_CACHE_ENTRY_INFOW, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_CACHE_ENTRY_INFOW, 4)
}

static void test_pack_LPINTERNET_CERTIFICATE_INFOA(void)
{
    /* LPINTERNET_CERTIFICATE_INFOA */
    TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOA, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOA, 4)
    TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOA, 40)
    TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOA, 4)
}

static void test_pack_LPINTERNET_CERTIFICATE_INFOW(void)
{
    /* LPINTERNET_CERTIFICATE_INFOW */
    TEST_TYPE_SIZE   (LPINTERNET_CERTIFICATE_INFOW, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_CERTIFICATE_INFOW, 4)
    TEST_TARGET_SIZE (LPINTERNET_CERTIFICATE_INFOW, 40)
    TEST_TARGET_ALIGN(LPINTERNET_CERTIFICATE_INFOW, 4)
}

static void test_pack_LPINTERNET_CONNECTED_INFO(void)
{
    /* LPINTERNET_CONNECTED_INFO */
    TEST_TYPE_SIZE   (LPINTERNET_CONNECTED_INFO, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_CONNECTED_INFO, 4)
    TEST_TARGET_SIZE (LPINTERNET_CONNECTED_INFO, 8)
    TEST_TARGET_ALIGN(LPINTERNET_CONNECTED_INFO, 4)
}

static void test_pack_LPINTERNET_PORT(void)
{
    /* LPINTERNET_PORT */
    TEST_TYPE_SIZE   (LPINTERNET_PORT, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_PORT, 4)
    TEST_TARGET_SIZE (LPINTERNET_PORT, 2)
    TEST_TARGET_ALIGN(LPINTERNET_PORT, 2)
}

static void test_pack_LPINTERNET_PROXY_INFOA(void)
{
    /* LPINTERNET_PROXY_INFOA */
    TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOA, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOA, 4)
    TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOA, 12)
    TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOA, 4)
}

static void test_pack_LPINTERNET_PROXY_INFOW(void)
{
    /* LPINTERNET_PROXY_INFOW */
    TEST_TYPE_SIZE   (LPINTERNET_PROXY_INFOW, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_PROXY_INFOW, 4)
    TEST_TARGET_SIZE (LPINTERNET_PROXY_INFOW, 12)
    TEST_TARGET_ALIGN(LPINTERNET_PROXY_INFOW, 4)
}

static void test_pack_LPINTERNET_STATUS_CALLBACK(void)
{
    /* LPINTERNET_STATUS_CALLBACK */
    TEST_TYPE_SIZE   (LPINTERNET_STATUS_CALLBACK, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_STATUS_CALLBACK, 4)
    TEST_TARGET_SIZE (LPINTERNET_STATUS_CALLBACK, 4)
    TEST_TARGET_ALIGN(LPINTERNET_STATUS_CALLBACK, 4)
}

static void test_pack_LPINTERNET_VERSION_INFO(void)
{
    /* LPINTERNET_VERSION_INFO */
    TEST_TYPE_SIZE   (LPINTERNET_VERSION_INFO, 4)
    TEST_TYPE_ALIGN  (LPINTERNET_VERSION_INFO, 4)
    TEST_TARGET_SIZE (LPINTERNET_VERSION_INFO, 8)
    TEST_TARGET_ALIGN(LPINTERNET_VERSION_INFO, 4)
}

static void test_pack_LPURL_COMPONENTSA(void)
{
    /* LPURL_COMPONENTSA */
    TEST_TYPE_SIZE   (LPURL_COMPONENTSA, 4)
    TEST_TYPE_ALIGN  (LPURL_COMPONENTSA, 4)
}

static void test_pack_LPURL_COMPONENTSW(void)
{
    /* LPURL_COMPONENTSW */
    TEST_TYPE_SIZE   (LPURL_COMPONENTSW, 4)
    TEST_TYPE_ALIGN  (LPURL_COMPONENTSW, 4)
}

static void test_pack_PFN_AUTH_NOTIFY(void)
{
    /* PFN_AUTH_NOTIFY */
    TEST_TYPE_SIZE   (PFN_AUTH_NOTIFY, 4)
    TEST_TYPE_ALIGN  (PFN_AUTH_NOTIFY, 4)
}

static void test_pack_PFN_DIAL_HANDLER(void)
{
    /* PFN_DIAL_HANDLER */
    TEST_TYPE_SIZE   (PFN_DIAL_HANDLER, 4)
    TEST_TYPE_ALIGN  (PFN_DIAL_HANDLER, 4)
}

static void test_pack_URL_COMPONENTSA(void)
{
    /* URL_COMPONENTSA (pack 4) */
    TEST_FIELD_SIZE  (URL_COMPONENTSA, dwStructSize, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSA, dwStructSize, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSA, dwStructSize, 0)
    TEST_FIELD_SIZE  (URL_COMPONENTSA, lpszScheme, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSA, lpszScheme, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSA, lpszScheme, 4)
    TEST_FIELD_SIZE  (URL_COMPONENTSA, dwSchemeLength, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSA, dwSchemeLength, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSA, dwSchemeLength, 8)
}

static void test_pack_URL_COMPONENTSW(void)
{
    /* URL_COMPONENTSW (pack 4) */
    TEST_FIELD_SIZE  (URL_COMPONENTSW, dwStructSize, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSW, dwStructSize, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSW, dwStructSize, 0)
    TEST_FIELD_SIZE  (URL_COMPONENTSW, lpszScheme, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSW, lpszScheme, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSW, lpszScheme, 4)
    TEST_FIELD_SIZE  (URL_COMPONENTSW, dwSchemeLength, 4)
    TEST_FIELD_ALIGN (URL_COMPONENTSW, dwSchemeLength, 4)
    TEST_FIELD_OFFSET(URL_COMPONENTSW, dwSchemeLength, 8)
}

static void test_pack(void)
{
    test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_ASK_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_ATTRIBUTE_ENUMERATORA();
    test_pack_GOPHER_ATTRIBUTE_ENUMERATORW();
    test_pack_GOPHER_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_FIND_DATAA();
    test_pack_GOPHER_FIND_DATAW();
    test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
    test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_LOCATION_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_MOD_DATE_ATTRIBUTE_TYPE();
    test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_PROVIDER_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_SCORE_ATTRIBUTE_TYPE();
    test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
    test_pack_GOPHER_SITE_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_SITE_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_TIMEZONE_ATTRIBUTE_TYPE();
    test_pack_GOPHER_TTL_ATTRIBUTE_TYPE();
    test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_VERONICA_ATTRIBUTE_TYPE();
    test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_VERSION_ATTRIBUTE_TYPEW();
    test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEA();
    test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW();
    test_pack_GROUPID();
    test_pack_HINTERNET();
    test_pack_HTTP_VERSION_INFO();
    test_pack_INTERNET_ASYNC_RESULT();
    test_pack_INTERNET_AUTH_NOTIFY_DATA();
    test_pack_INTERNET_BUFFERSA();
    test_pack_INTERNET_BUFFERSW();
    test_pack_INTERNET_CACHE_ENTRY_INFOA();
    test_pack_INTERNET_CACHE_ENTRY_INFOW();
    test_pack_INTERNET_CERTIFICATE_INFOA();
    test_pack_INTERNET_CERTIFICATE_INFOW();
    test_pack_INTERNET_CONNECTED_INFO();
    test_pack_INTERNET_PORT();
    test_pack_INTERNET_PROXY_INFOA();
    test_pack_INTERNET_PROXY_INFOW();
    test_pack_INTERNET_STATUS_CALLBACK();
    test_pack_INTERNET_VERSION_INFO();
    test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_ADMIN_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_ASK_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_FIND_DATAA();
    test_pack_LPGOPHER_FIND_DATAW();
    test_pack_LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_LOCATION_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_SCORE_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_SITE_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_TTL_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_VERONICA_ATTRIBUTE_TYPE();
    test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_VERSION_ATTRIBUTE_TYPEW();
    test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEA();
    test_pack_LPGOPHER_VIEW_ATTRIBUTE_TYPEW();
    test_pack_LPHINTERNET();
    test_pack_LPHTTP_VERSION_INFO();
    test_pack_LPINTERNET_ASYNC_RESULT();
    test_pack_LPINTERNET_BUFFERSA();
    test_pack_LPINTERNET_BUFFERSW();
    test_pack_LPINTERNET_CACHE_ENTRY_INFOA();
    test_pack_LPINTERNET_CACHE_ENTRY_INFOW();
    test_pack_LPINTERNET_CERTIFICATE_INFOA();
    test_pack_LPINTERNET_CERTIFICATE_INFOW();
    test_pack_LPINTERNET_CONNECTED_INFO();
    test_pack_LPINTERNET_PORT();
    test_pack_LPINTERNET_PROXY_INFOA();
    test_pack_LPINTERNET_PROXY_INFOW();
    test_pack_LPINTERNET_STATUS_CALLBACK();
    test_pack_LPINTERNET_VERSION_INFO();
    test_pack_LPURL_COMPONENTSA();
    test_pack_LPURL_COMPONENTSW();
    test_pack_PFN_AUTH_NOTIFY();
    test_pack_PFN_DIAL_HANDLER();
    test_pack_URL_COMPONENTSA();
    test_pack_URL_COMPONENTSW();
}

START_TEST(generated)
{
#ifdef _WIN64
    ok(0, "The type size / alignment tests don't support Win64 yet\n");
#else
    test_pack();
#endif
}