10 if (/^typedef union req_data_u_tag/) {
13 if (/^struct info_dns_assoc/) {
17 if (/^(struct\s*\w*)\s*{\s*$/) {
19 print STDERR "type = '$type'\n" if $debug;
20 printf " printf(\"sizeof($type) = %%d\\n\", \n\t (int) sizeof($type));\n";
23 if (/^typedef (union\s*\w*)\s*{\s*$/) {
25 print STDERR "union = '$type'\n" if $debug;
26 printf " printf(\"sizeof($type) = %%d\\n\", \n\t (int) sizeof($type));\n";
29 if (/\s*\w+\s+(\w*)\s*(\[.*\])?\s*;\s*$/) {
31 print STDERR "\tfield = '$field'\n" if $debug;
32 printf " printf(\"offsetof($field) = %%d\\n\", \n\t (int) offsetof($type, $field));\n";
35 if (/^}\s*\w*\s*;\s*$/) {
36 printf " printf(\"\\n\");\n\n";
40 print STDERR "Unmatched line: $_";