void redis_mod_verify(void *dlh) { dlresolve(redis_new); dlresolve(redis_restore); dlresolve(redis_update); dlresolve(redis_delete); dlresolve(redis_wipe); check_struct_size(call); check_struct_size(packet_stream); check_struct_size(call_media); check_struct_size(call_monologue); check_struct_size(crypto_suite); check_struct_size(crypto_context); check_struct_offset(call, callmaster); check_struct_offset(call, master_lock); check_struct_offset(call, monologues); check_struct_offset(call, tags); check_struct_offset(call, streams); check_struct_offset(call, stream_fds); check_struct_offset(call, dtls_cert); check_struct_offset(call, callid); check_struct_offset(call, last_signal); check_struct_offset(packet_stream, media); check_struct_offset(packet_stream, call); check_struct_offset(packet_stream, rtcp_sibling); check_struct_offset(packet_stream, handler); check_struct_offset(packet_stream, crypto); check_struct_offset(packet_stream, dtls_cert); check_struct_offset(packet_stream, ps_flags); check_struct_offset(call_media, monologue); check_struct_offset(call_media, call); check_struct_offset(call_media, protocol); check_struct_offset(call_media, fingerprint); check_struct_offset(call_media, streams); check_struct_offset(call_media, media_flags); check_struct_offset(call_monologue, call); check_struct_offset(call_monologue, tag); check_struct_offset(call_monologue, created); check_struct_offset(call_monologue, other_tags); check_struct_offset(call_monologue, active_dialogue); check_struct_offset(call_monologue, medias); check_struct_offset(stream_fd, fd); check_struct_offset(stream_fd, call); check_struct_offset(stream_fd, stream); check_struct_offset(stream_fd, dtls); }
int main(){ unsigned char filler[16]; struct one test_one; struct two test_two; struct three test_three; struct four test_four; struct five test_five; struct six test_six; struct seven test_seven; struct eight test_eight; union nine test_nine; struct ten test_ten; #if defined (_TEST_MS_LAYOUT) || defined (_MSC_VER) size_t exp_sizeof_one = 8; size_t exp_sizeof_two = 12; size_t exp_sizeof_three =6; size_t exp_sizeof_four = 8; size_t exp_sizeof_five = 3; size_t exp_sizeof_six = 8; size_t exp_sizeof_seven = 3; size_t exp_sizeof_eight = 2; size_t exp_sizeof_nine = 8; size_t exp_sizeof_ten = 8; unsigned char exp_one_c = 7; unsigned char exp_two_c = 9; unsigned char exp_three_c = 4; unsigned char exp_four_c = 4; char exp_five_c = 2; char exp_six_c = 5; char exp_seven_c = 2; char exp_eight_c = 1; char exp_nine_c = 0; char exp_ten_c = 1; #else /* testing -mno-ms-bitfields */ size_t exp_sizeof_one = 8; size_t exp_sizeof_two = 8; size_t exp_sizeof_three = 6; size_t exp_sizeof_four = 6; size_t exp_sizeof_five = 6; size_t exp_sizeof_six = 6; size_t exp_sizeof_seven = 6; size_t exp_sizeof_eight = 2; size_t exp_sizeof_nine = 8; size_t exp_sizeof_ten = 8; unsigned short exp_one_c = 6; unsigned int exp_two_c = 6; unsigned char exp_three_c = 64; unsigned char exp_four_c = 4; char exp_five_c = 5; char exp_six_c = 5; char exp_seven_c = 5; char exp_eight_c = 1; char exp_nine_c = 0; char exp_ten_c = 1; #endif unsigned char i; for ( i = 0; i < 16; i++ ) filler[i] = i; check_struct_off (one); check_struct_off (two); check_struct_off (three); check_struct_off (four); check_struct_off (five); check_struct_off (six); check_struct_off (seven); check_struct_off (eight); check_union_off (nine); check_struct_off (ten); check_struct_size (one); check_struct_size (two); check_struct_size (three); check_struct_size (four); check_struct_size (five); check_struct_size (six); check_struct_size (seven); check_struct_size (eight); check_union_size (nine); check_struct_size (ten); return 0; };