Lines Matching refs:handle
77 int ns_msg_getflag(ns_msg handle, int flag) { in ns_msg_getflag() argument
78 return((u_int32_t)((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift); in ns_msg_getflag()
107 ns_initparse(const u_char *msg, int msglen, ns_msg *handle) { in ns_initparse() argument
111 handle->_msg = msg; in ns_initparse()
112 handle->_eom = eom; in ns_initparse()
115 NS_GET16(handle->_id, msg); in ns_initparse()
118 NS_GET16(handle->_flags, msg); in ns_initparse()
122 NS_GET16(handle->_counts[i], msg); in ns_initparse()
125 if (handle->_counts[i] == 0) in ns_initparse()
126 handle->_sections[i] = NULL; in ns_initparse()
129 handle->_counts[i]); in ns_initparse()
133 handle->_sections[i] = msg; in ns_initparse()
138 setsection(handle, ns_s_max); in ns_initparse()
143 ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { in ns_parserr() argument
151 if (section != handle->_sect) in ns_parserr()
152 setsection(handle, section); in ns_parserr()
156 rrnum = handle->_rrnum; in ns_parserr()
157 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr()
159 if (rrnum < handle->_rrnum) in ns_parserr()
160 setsection(handle, section); in ns_parserr()
161 if (rrnum > handle->_rrnum) { in ns_parserr()
162 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr()
163 rrnum - handle->_rrnum); in ns_parserr()
167 handle->_msg_ptr += b; in ns_parserr()
168 handle->_rrnum = rrnum; in ns_parserr()
172 b = dn_expand(handle->_msg, handle->_eom, in ns_parserr()
173 handle->_msg_ptr, rr->name, NS_MAXDNAME); in ns_parserr()
176 handle->_msg_ptr += b; in ns_parserr()
177 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
179 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr()
180 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr()
186 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
188 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr()
189 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr()
190 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr()
192 rr->rdata = handle->_msg_ptr; in ns_parserr()
193 handle->_msg_ptr += rr->rdlength; in ns_parserr()
195 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr()
196 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr()
206 ns_parserr2(ns_msg *handle, ns_sect section, int rrnum, ns_rr2 *rr) { in ns_parserr2() argument
214 if (section != handle->_sect) in ns_parserr2()
215 setsection(handle, section); in ns_parserr2()
219 rrnum = handle->_rrnum; in ns_parserr2()
220 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr2()
222 if (rrnum < handle->_rrnum) in ns_parserr2()
223 setsection(handle, section); in ns_parserr2()
224 if (rrnum > handle->_rrnum) { in ns_parserr2()
225 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr2()
226 rrnum - handle->_rrnum); in ns_parserr2()
230 handle->_msg_ptr += b; in ns_parserr2()
231 handle->_rrnum = rrnum; in ns_parserr2()
235 b = ns_name_unpack2(handle->_msg, handle->_eom, handle->_msg_ptr, in ns_parserr2()
239 handle->_msg_ptr += b; in ns_parserr2()
240 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
242 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr2()
243 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr2()
249 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
251 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr2()
252 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr2()
253 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr2()
255 rr->rdata = handle->_msg_ptr; in ns_parserr2()
256 handle->_msg_ptr += rr->rdlength; in ns_parserr2()
258 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr2()
259 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr2()