1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
; RUN: llc < %s -mtriple=i386-apple-darwin10
; rdar://6837009
%0 = type { %struct.pf_state*, %struct.pf_state*, %struct.pf_state*, i32 }
%1 = type { %2 }
%2 = type { %struct.pf_addr, %struct.pf_addr }
%3 = type { %struct.in6_addr }
%4 = type { [4 x i32] }
%5 = type { %struct.pfi_dynaddr*, [4 x i8] }
%6 = type { %struct.pfi_dynaddr*, %struct.pfi_dynaddr** }
%7 = type { %struct.pfr_ktable*, %struct.pfr_ktable*, %struct.pfr_ktable*, i32 }
%8 = type { %struct.pfr_ktable* }
%9 = type { i8* }
%10 = type { %11 }
%11 = type { i8*, i8*, %struct.radix_node* }
%12 = type { [2 x %struct.pf_rulequeue], %13, %13 }
%13 = type { %struct.pf_rulequeue*, %struct.pf_rule**, i32, i32, i32 }
%14 = type { %struct.pf_anchor*, %struct.pf_anchor*, %struct.pf_anchor*, i32 }
%15 = type { %struct.pfi_kif*, %struct.pfi_kif*, %struct.pfi_kif*, i32 }
%16 = type { %struct.ifnet*, %struct.ifnet** }
%17 = type { %18 }
%18 = type { %struct.pkthdr, %19 }
%19 = type { %struct.m_ext, [176 x i8] }
%20 = type { %struct.ifmultiaddr*, %struct.ifmultiaddr** }
%21 = type { i32, %22 }
%22 = type { i8*, [4 x i8] }
%23 = type { %struct.tcphdr* }
%24 = type { %struct.pf_ike_state }
%25 = type { %struct.pf_state_key*, %struct.pf_state_key*, %struct.pf_state_key*, i32 }
%26 = type { %struct.pf_src_node*, %struct.pf_src_node*, %struct.pf_src_node*, i32 }
%struct.anon = type { %struct.pf_state*, %struct.pf_state** }
%struct.au_mask_t = type { i32, i32 }
%struct.bpf_if = type opaque
%struct.dlil_threading_info = type opaque
%struct.ether_header = type { [6 x i8], [6 x i8], i16 }
%struct.ext_refsq = type { %struct.ext_refsq*, %struct.ext_refsq* }
%struct.hook_desc = type { %struct.hook_desc_head, void (i8*)*, i8* }
%struct.hook_desc_head = type { %struct.hook_desc*, %struct.hook_desc** }
%struct.if_data_internal = type { i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i32, %struct.au_mask_t, i32, i32, i32 }
%struct.ifaddr = type { %struct.sockaddr*, %struct.sockaddr*, %struct.sockaddr*, %struct.ifnet*, %struct.ifaddrhead, void (i32, %struct.rtentry*, %struct.sockaddr*)*, i32, i32, i32, void (%struct.ifaddr*)*, void (%struct.ifaddr*, i32)*, i32 }
%struct.ifaddrhead = type { %struct.ifaddr*, %struct.ifaddr** }
%struct.ifmultiaddr = type { %20, %struct.sockaddr*, %struct.ifmultiaddr*, %struct.ifnet*, i32, i8*, i32, void (i8*)* }
%struct.ifmultihead = type { %struct.ifmultiaddr* }
%struct.ifnet = type { i8*, i8*, %16, %struct.ifaddrhead, i32, i32 (%struct.ifnet*, %struct.sockaddr*)*, i32, %struct.bpf_if*, i16, i16, i16, i16, i32, i8*, i32, %struct.if_data_internal, i32, i32 (%struct.ifnet*, %struct.mbuf*)*, i32 (%struct.ifnet*, i32, i8*)*, i32 (%struct.ifnet*, i32, i32 (%struct.ifnet*, %struct.mbuf*)*)*, void (%struct.ifnet*)*, i32 (%struct.ifnet*, %struct.mbuf*, i8*, i32*)*, void (%struct.ifnet*, %struct.kev_msg*)*, i32 (%struct.ifnet*, %struct.mbuf**, %struct.sockaddr*, i8*, i8*)*, i32, %struct.ifnet_filter_head, i32, i8*, i32, %struct.ifmultihead, i32, i32 (%struct.ifnet*, i32, %struct.ifnet_demux_desc*, i32)*, i32 (%struct.ifnet*, i32)*, %struct.proto_hash_entry*, i8*, %struct.dlil_threading_info*, i8*, %struct.ifqueue, [1 x i32], i32, %struct.ifprefixhead, %struct.lck_rw_t*, %21, i32, %struct.thread*, %struct.pfi_kif*, %struct.lck_mtx_t*, %struct.route }
%struct.ifnet_demux_desc = type { i32, i8*, i32 }
%struct.ifnet_filter = type opaque
%struct.ifnet_filter_head = type { %struct.ifnet_filter*, %struct.ifnet_filter** }
%struct.ifprefix = type { %struct.sockaddr*, %struct.ifnet*, %struct.ifprefixhead, i8, i8 }
%struct.ifprefixhead = type { %struct.ifprefix*, %struct.ifprefix** }
%struct.ifqueue = type { i8*, i8*, i32, i32, i32 }
%struct.in6_addr = type { %4 }
%struct.in_addr = type { i32 }
%struct.kev_d_vectors = type { i32, i8* }
%struct.kev_msg = type { i32, i32, i32, i32, [5 x %struct.kev_d_vectors] }
%struct.lck_mtx_t = type { [3 x i32] }
%struct.lck_rw_t = type <{ [3 x i32] }>
%struct.m_ext = type { i8*, void (i8*, i32, i8*)*, i32, i8*, %struct.ext_refsq, %struct.au_mask_t* }
%struct.m_hdr = type { %struct.mbuf*, %struct.mbuf*, i32, i8*, i16, i16 }
%struct.m_tag = type { %struct.packet_tags, i16, i16, i32 }
%struct.mbuf = type { %struct.m_hdr, %17 }
%struct.packet_tags = type { %struct.m_tag* }
%struct.pf_addr = type { %3 }
%struct.pf_addr_wrap = type <{ %1, %5, i8, i8, [6 x i8] }>
%struct.pf_anchor = type { %14, %14, %struct.pf_anchor*, %struct.pf_anchor_node, [64 x i8], [1024 x i8], %struct.pf_ruleset, i32, i32 }
%struct.pf_anchor_node = type { %struct.pf_anchor* }
%struct.pf_app_state = type { void (%struct.pf_state*, i32, i32, %struct.pf_pdesc*, %struct.pfi_kif*)*, i32 (%struct.pf_app_state*, %struct.pf_app_state*)*, i32 (%struct.pf_app_state*, %struct.pf_app_state*)*, %24 }
%struct.pf_ike_state = type { i64 }
%struct.pf_mtag = type { i8*, i32, i32, i16, i8, i8 }
%struct.pf_palist = type { %struct.pf_pooladdr*, %struct.pf_pooladdr** }
%struct.pf_pdesc = type { %struct.pf_threshold, i64, %23, %struct.pf_addr, %struct.pf_addr, %struct.pf_rule*, %struct.pf_addr*, %struct.pf_addr*, %struct.ether_header*, %struct.mbuf*, i32, %struct.pf_mtag*, i16*, i32, i16, i8, i8, i8, i8 }
%struct.pf_pool = type { %struct.pf_palist, [2 x i32], %struct.pf_pooladdr*, [4 x i8], %struct.in6_addr, %struct.pf_addr, i32, [2 x i16], i8, i8, [1 x i32] }
%struct.pf_pooladdr = type <{ %struct.pf_addr_wrap, %struct.pf_palist, [2 x i32], [16 x i8], %struct.pfi_kif*, [1 x i32] }>
%struct.pf_rule = type <{ %struct.pf_rule_addr, %struct.pf_rule_addr, [8 x %struct.pf_rule_ptr], [64 x i8],
|