Пример #1
0
static int
do_test (void)
{
  int result = 0;

#define TEST_TYPE(name) \
  printf ("%s: ", #name);						      \
  if (sizeof (name) != sizeof (((name *) 0)->__size))			      \
    {									      \
      printf ("expected %zu, is %zu\n",					      \
	      sizeof (((name *) 0)->__size), sizeof (name));		      \
      result = 1;							      \
    }									      \
  else									      \
    puts ("OK")

  TEST_TYPE (pthread_mutex_t);
  TEST_TYPE (pthread_cond_t);
  TEST_TYPE (pthread_rwlock_t);

#define TEST_TYPE2(name, internal)					      \
  printf ("%s: ", #name);						      \
  if (sizeof (((name *) 0)->__size) < sizeof (internal))		      \
    {									      \
      printf ("expected %zu, is %zu\n",					      \
	      sizeof (((name *) 0)->__size), sizeof (internal));	      \
      result = 1;							      \
    }									      \
  else									      \
    puts ("OK")

  TEST_TYPE2 (pthread_attr_t, struct pthread_attr);
  TEST_TYPE2 (pthread_mutexattr_t, struct pthread_mutexattr);
  TEST_TYPE2 (pthread_condattr_t, struct pthread_condattr);
  TEST_TYPE2 (pthread_rwlockattr_t, struct pthread_rwlockattr);
  TEST_TYPE2 (pthread_barrier_t, struct pthread_barrier);
  TEST_TYPE2 (pthread_barrierattr_t, struct pthread_barrierattr);
  TEST_TYPE2 (sem_t, struct new_sem);
  TEST_TYPE2 (sem_t, struct old_sem);

  for (size_t i = 0; i < sizeof (types) / sizeof (types[0]); ++i)
    if (types[i].expected != types[i].is)
      {
	printf ("%s: expected %zu, is %zu\n",
		types[i].name, types[i].expected, types[i].is);
	result = 1;
      }

  return result;
}
Пример #2
0
static void test_pack_COMM_FAULT_OFFSETS(void)
{
    /* COMM_FAULT_OFFSETS (pack 4) */
    TEST_TYPE(COMM_FAULT_OFFSETS, 4, 2);
    TEST_FIELD(COMM_FAULT_OFFSETS, short, CommOffset, 0, 2, 2);
    TEST_FIELD(COMM_FAULT_OFFSETS, short, FaultOffset, 2, 2, 2);
}
Пример #3
0
static void test_pack_SCONTEXT_QUEUE(void)
{
    /* SCONTEXT_QUEUE (pack 4) */
    TEST_TYPE(SCONTEXT_QUEUE, 8, 4);
    TEST_FIELD(SCONTEXT_QUEUE, ULONG, NumberOfObjects, 0, 4, 4);
    TEST_FIELD(SCONTEXT_QUEUE, NDR_SCONTEXT *, ArrayOfObjects, 4, 4, 4);
}
Пример #4
0
static void test_pack_GOPHER_ASK_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ASK_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE(GOPHER_ASK_ATTRIBUTE_TYPEW, 8, 4);
    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionType, 0, 4, 4);
    TEST_FIELD(GOPHER_ASK_ATTRIBUTE_TYPEW, LPCWSTR, QuestionText, 4, 4, 4);
}
Пример #5
0
static void test_pack_GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, 8, 4);
    TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, LowerBound, 0, 4, 4);
    TEST_FIELD(GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE, INT, UpperBound, 4, 4, 4);
}
Пример #6
0
static void test_pack_INTERNET_ASYNC_RESULT(void)
{
    /* INTERNET_ASYNC_RESULT (pack 4) */
    TEST_TYPE(INTERNET_ASYNC_RESULT, 8, 4);
    TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD_PTR, dwResult, 0, 4, 4);
    TEST_FIELD(INTERNET_ASYNC_RESULT, DWORD, dwError, 4, 4, 4);
}
Пример #7
0
static void test_pack_RPC_PROTSEQ_ENDPOINT(void)
{
    /* RPC_PROTSEQ_ENDPOINT (pack 4) */
    TEST_TYPE(RPC_PROTSEQ_ENDPOINT, 8, 4);
    TEST_FIELD(RPC_PROTSEQ_ENDPOINT, unsigned char*, RpcProtocolSequence, 0, 4, 4);
    TEST_FIELD(RPC_PROTSEQ_ENDPOINT, unsigned char*, Endpoint, 4, 4, 4);
}
Пример #8
0
static void test_pack_GOPHER_ABSTRACT_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ABSTRACT_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, 8, 4);
    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, ShortAbstract, 0, 4, 4);
    TEST_FIELD(GOPHER_ABSTRACT_ATTRIBUTE_TYPEW, LPCWSTR, AbstractFile, 4, 4, 4);
}
Пример #9
0
static void test_pack_UUID_VECTOR(void)
{
    /* UUID_VECTOR (pack 4) */
    TEST_TYPE(UUID_VECTOR, 8, 4);
    TEST_FIELD(UUID_VECTOR, unsigned long, Count, 0, 4, 4);
    TEST_FIELD(UUID_VECTOR, UUID *[1], Uuid, 4, 4, 4);
}
Пример #10
0
static void test_pack_RPC_BINDING_VECTOR(void)
{
    /* RPC_BINDING_VECTOR (pack 4) */
    TEST_TYPE(RPC_BINDING_VECTOR, 8, 4);
    TEST_FIELD(RPC_BINDING_VECTOR, unsigned long, Count, 0, 4, 4);
    TEST_FIELD(RPC_BINDING_VECTOR, RPC_BINDING_HANDLE[1], BindingH, 4, 4, 4);
}
Пример #11
0
static void test_pack_GOPHER_ADMIN_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_ADMIN_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE(GOPHER_ADMIN_ATTRIBUTE_TYPEW, 8, 4);
    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, Comment, 0, 4, 4);
    TEST_FIELD(GOPHER_ADMIN_ATTRIBUTE_TYPEW, LPCWSTR, EmailAddress, 4, 4, 4);
}
Пример #12
0
static void test_pack_INTERNET_CONNECTED_INFO(void)
{
    /* INTERNET_CONNECTED_INFO (pack 4) */
    TEST_TYPE(INTERNET_CONNECTED_INFO, 8, 4);
    TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwConnectedState, 0, 4, 4);
    TEST_FIELD(INTERNET_CONNECTED_INFO, DWORD, dwFlags, 4, 4, 4);
}
Пример #13
0
static void test_pack_INTERNET_VERSION_INFO(void)
{
    /* INTERNET_VERSION_INFO (pack 4) */
    TEST_TYPE(INTERNET_VERSION_INFO, 8, 4);
    TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
    TEST_FIELD(INTERNET_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
}
Пример #14
0
static void test_pack_RPC_VERSION(void)
{
    /* RPC_VERSION (pack 4) */
    TEST_TYPE(RPC_VERSION, 4, 2);
    TEST_FIELD(RPC_VERSION, unsigned short, MajorVersion, 0, 2, 2);
    TEST_FIELD(RPC_VERSION, unsigned short, MinorVersion, 2, 2, 2);
}
Пример #15
0
static void test_pack_RPC_SYNTAX_IDENTIFIER(void)
{
    /* RPC_SYNTAX_IDENTIFIER (pack 4) */
    TEST_TYPE(RPC_SYNTAX_IDENTIFIER, 20, 4);
    TEST_FIELD(RPC_SYNTAX_IDENTIFIER, GUID, SyntaxGUID, 0, 16, 4);
    TEST_FIELD(RPC_SYNTAX_IDENTIFIER, RPC_VERSION, SyntaxVersion, 16, 4, 2);
}
Пример #16
0
static void test_pack_HTTP_VERSION_INFO(void)
{
    /* HTTP_VERSION_INFO (pack 4) */
    TEST_TYPE(HTTP_VERSION_INFO, 8, 4);
    TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMajorVersion, 0, 4, 4);
    TEST_FIELD(HTTP_VERSION_INFO, DWORD, dwMinorVersion, 4, 4, 4);
}
Пример #17
0
static void test_pack_RPC_DISPATCH_TABLE(void)
{
    /* RPC_DISPATCH_TABLE (pack 4) */
    TEST_TYPE(RPC_DISPATCH_TABLE, 12, 4);
    TEST_FIELD(RPC_DISPATCH_TABLE, unsigned int, DispatchTableCount, 0, 4, 4);
    TEST_FIELD(RPC_DISPATCH_TABLE, RPC_DISPATCH_FUNCTION*, DispatchTable, 4, 4, 4);
    TEST_FIELD(RPC_DISPATCH_TABLE, LONG_PTR, Reserved, 8, 4, 4);
}
Пример #18
0
static void test_pack_INTERNET_PROXY_INFOW(void)
{
    /* INTERNET_PROXY_INFOW (pack 4) */
    TEST_TYPE(INTERNET_PROXY_INFOW, 12, 4);
    TEST_FIELD(INTERNET_PROXY_INFOW, DWORD, dwAccessType, 0, 4, 4);
    TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxy, 4, 4, 4);
    TEST_FIELD(INTERNET_PROXY_INFOW, LPCWSTR, lpszProxyBypass, 8, 4, 4);
}
Пример #19
0
static void test_pack_GOPHER_VIEW_ATTRIBUTE_TYPEW(void)
{
    /* GOPHER_VIEW_ATTRIBUTE_TYPEW (pack 4) */
    TEST_TYPE(GOPHER_VIEW_ATTRIBUTE_TYPEW, 12, 4);
    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, ContentType, 0, 4, 4);
    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, LPCWSTR, Language, 4, 4, 4);
    TEST_FIELD(GOPHER_VIEW_ATTRIBUTE_TYPEW, DWORD, Size, 8, 4, 4);
}
Пример #20
0
static void test_pack_DLLVERSIONINFO2(void)
{
    /* DLLVERSIONINFO2 (pack 8) */
    TEST_TYPE(DLLVERSIONINFO2, 32, 8);
    TEST_FIELD(DLLVERSIONINFO2, DLLVERSIONINFO, info1, 0, 20, 4);
    TEST_FIELD(DLLVERSIONINFO2, DWORD, dwFlags, 20, 4, 4);
    TEST_FIELD(DLLVERSIONINFO2, ULONGLONG, ullVersion, 24, 8, 8);
}
Пример #21
0
static void test_pack_RPC_POLICY(void)
{
    /* RPC_POLICY (pack 4) */
    TEST_TYPE(RPC_POLICY, 12, 4);
    TEST_FIELD(RPC_POLICY, unsigned int, Length, 0, 4, 4);
    TEST_FIELD(RPC_POLICY, unsigned long, EndpointFlags, 4, 4, 4);
    TEST_FIELD(RPC_POLICY, unsigned long, NICFlags, 8, 4, 4);
}
Пример #22
0
static void test_pack_CS_STUB_INFO(void)
{
    /* CS_STUB_INFO (pack 4) */
    TEST_TYPE(CS_STUB_INFO, 12, 4);
    TEST_FIELD(CS_STUB_INFO, ULONG, WireCodeset, 0, 4, 4);
    TEST_FIELD(CS_STUB_INFO, ULONG, DesiredReceivingCodeset, 4, 4, 4);
    TEST_FIELD(CS_STUB_INFO, void *, CSArrayInfo, 8, 4, 4);
}
Пример #23
0
static void test_pack_FULL_PTR_TO_REFID_ELEMENT(void)
{
    /* FULL_PTR_TO_REFID_ELEMENT (pack 4) */
    TEST_TYPE(FULL_PTR_TO_REFID_ELEMENT, 16, 4);
    TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, struct _FULL_PTR_TO_REFID_ELEMENT *, Next, 0, 4, 4);
    TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, void *, Pointer, 4, 4, 4);
    TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, ULONG, RefId, 8, 4, 4);
    TEST_FIELD(FULL_PTR_TO_REFID_ELEMENT, unsigned char, State, 12, 1, 1);
}
Пример #24
0
static void test_pack_INTERNET_AUTH_NOTIFY_DATA(void)
{
    /* INTERNET_AUTH_NOTIFY_DATA (pack 4) */
    TEST_TYPE(INTERNET_AUTH_NOTIFY_DATA, 16, 4);
    TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, cbStruct, 0, 4, 4);
    TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD, dwOptions, 4, 4, 4);
    TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, PFN_AUTH_NOTIFY, pfnNotify, 8, 4, 4);
    TEST_FIELD(INTERNET_AUTH_NOTIFY_DATA, DWORD_PTR, dwContext, 12, 4, 4);
}
Пример #25
0
static void test_pack_DLLVERSIONINFO(void)
{
    /* DLLVERSIONINFO (pack 8) */
    TEST_TYPE(DLLVERSIONINFO, 20, 4);
    TEST_FIELD(DLLVERSIONINFO, DWORD, cbSize, 0, 4, 4);
    TEST_FIELD(DLLVERSIONINFO, DWORD, dwMajorVersion, 4, 4, 4);
    TEST_FIELD(DLLVERSIONINFO, DWORD, dwMinorVersion, 8, 4, 4);
    TEST_FIELD(DLLVERSIONINFO, DWORD, dwBuildNumber, 12, 4, 4);
    TEST_FIELD(DLLVERSIONINFO, DWORD, dwPlatformID, 16, 4, 4);
}
Пример #26
0
static void test_pack_GOPHER_FIND_DATAA(void)
{
    /* GOPHER_FIND_DATAA (pack 4) */
    TEST_TYPE(GOPHER_FIND_DATAA, 808, 4);
    TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 129, 1);
    TEST_FIELD(GOPHER_FIND_DATAA, DWORD, GopherType, 132, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeLow, 136, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAA, DWORD, SizeHigh, 140, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAA, FILETIME, LastModificationTime, 144, 8, 4);
    TEST_FIELD(GOPHER_FIND_DATAA, CHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 152, 654, 1);
}
Пример #27
0
static void test_pack_GOPHER_FIND_DATAW(void)
{
    /* GOPHER_FIND_DATAW (pack 4) */
    TEST_TYPE(GOPHER_FIND_DATAW, 1588, 4);
    TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_DISPLAY_TEXT + 1], DisplayString, 0, 258, 2);
    TEST_FIELD(GOPHER_FIND_DATAW, DWORD, GopherType, 260, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeLow, 264, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAW, DWORD, SizeHigh, 268, 4, 4);
    TEST_FIELD(GOPHER_FIND_DATAW, FILETIME, LastModificationTime, 272, 8, 4);
    TEST_FIELD(GOPHER_FIND_DATAW, WCHAR[MAX_GOPHER_LOCATOR_LENGTH + 1], Locator, 280, 1308, 2);
}
Пример #28
0
static void test_pack_MIDL_STUBLESS_PROXY_INFO(void)
{
    /* MIDL_STUBLESS_PROXY_INFO (pack 4) */
    TEST_TYPE(MIDL_STUBLESS_PROXY_INFO, 24, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PMIDL_STUB_DESC, pStubDesc, 0, 4, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PFORMAT_STRING, ProcFormatString, 4, 4, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, unsigned short *, FormatStringOffset, 8, 4, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PRPC_SYNTAX_IDENTIFIER, pTransferSyntax, 12, 4, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, ULONG_PTR, nCount, 16, 4, 4);
    TEST_FIELD(MIDL_STUBLESS_PROXY_INFO, PMIDL_SYNTAX_INFO, pSyntaxInfo, 20, 4, 4);
}
Пример #29
0
static void test_pack_GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE(void)
{
    /* GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE (pack 4) */
    TEST_TYPE(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, 24, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesNorth, 0, 4, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesNorth, 4, 4, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsNorth, 8, 4, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, DegreesEast, 12, 4, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, MinutesEast, 16, 4, 4);
    TEST_FIELD(GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE, INT, SecondsEast, 20, 4, 4);
}
Пример #30
0
static void test_pack_ARRAY_INFO(void)
{
    /* ARRAY_INFO (pack 4) */
    TEST_TYPE(ARRAY_INFO, 24, 4);
    TEST_FIELD(ARRAY_INFO, LONG, Dimension, 0, 4, 4);
    TEST_FIELD(ARRAY_INFO, ULONG *, BufferConformanceMark, 4, 4, 4);
    TEST_FIELD(ARRAY_INFO, ULONG *, BufferVarianceMark, 8, 4, 4);
    TEST_FIELD(ARRAY_INFO, ULONG *, MaxCountArray, 12, 4, 4);
    TEST_FIELD(ARRAY_INFO, ULONG *, OffsetArray, 16, 4, 4);
    TEST_FIELD(ARRAY_INFO, ULONG *, ActualCountArray, 20, 4, 4);
}