Lines Matching refs:handle

76 int ns_msg_getflag(ns_msg handle, int flag) {  in ns_msg_getflag()  argument
77 return(((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift); in ns_msg_getflag()
105 ns_initparse(const u_char *msg, int msglen, ns_msg *handle) { in ns_initparse() argument
109 handle->_msg = msg; in ns_initparse()
110 handle->_eom = eom; in ns_initparse()
113 NS_GET16(handle->_id, msg); in ns_initparse()
116 NS_GET16(handle->_flags, msg); in ns_initparse()
120 NS_GET16(handle->_counts[i], msg); in ns_initparse()
123 if (handle->_counts[i] == 0) in ns_initparse()
124 handle->_sections[i] = NULL; in ns_initparse()
127 handle->_counts[i]); in ns_initparse()
131 handle->_sections[i] = msg; in ns_initparse()
136 setsection(handle, ns_s_max); in ns_initparse()
141 ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { in ns_parserr() argument
149 if (section != handle->_sect) in ns_parserr()
150 setsection(handle, section); in ns_parserr()
154 rrnum = handle->_rrnum; in ns_parserr()
155 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr()
157 if (rrnum < handle->_rrnum) in ns_parserr()
158 setsection(handle, section); in ns_parserr()
159 if (rrnum > handle->_rrnum) { in ns_parserr()
160 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr()
161 rrnum - handle->_rrnum); in ns_parserr()
165 handle->_msg_ptr += b; in ns_parserr()
166 handle->_rrnum = rrnum; in ns_parserr()
170 b = dn_expand(handle->_msg, handle->_eom, in ns_parserr()
171 handle->_msg_ptr, rr->name, NS_MAXDNAME); in ns_parserr()
174 handle->_msg_ptr += b; in ns_parserr()
175 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
177 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr()
178 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr()
184 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
186 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr()
187 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr()
188 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr()
190 rr->rdata = handle->_msg_ptr; in ns_parserr()
191 handle->_msg_ptr += rr->rdlength; in ns_parserr()
193 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr()
194 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr()
204 ns_parserr2(ns_msg *handle, ns_sect section, int rrnum, ns_rr2 *rr) { in ns_parserr2() argument
211 if (section != handle->_sect) in ns_parserr2()
212 setsection(handle, section); in ns_parserr2()
216 rrnum = handle->_rrnum; in ns_parserr2()
217 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr2()
219 if (rrnum < handle->_rrnum) in ns_parserr2()
220 setsection(handle, section); in ns_parserr2()
221 if (rrnum > handle->_rrnum) { in ns_parserr2()
222 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr2()
223 rrnum - handle->_rrnum); in ns_parserr2()
227 handle->_msg_ptr += b; in ns_parserr2()
228 handle->_rrnum = rrnum; in ns_parserr2()
232 b = ns_name_unpack2(handle->_msg, handle->_eom, handle->_msg_ptr, in ns_parserr2()
236 handle->_msg_ptr += b; in ns_parserr2()
237 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
239 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr2()
240 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr2()
246 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
248 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr2()
249 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr2()
250 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr2()
252 rr->rdata = handle->_msg_ptr; in ns_parserr2()
253 handle->_msg_ptr += rr->rdlength; in ns_parserr2()
255 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr2()
256 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr2()