Lines Matching refs:handle

69 int ns_msg_getflag(ns_msg handle, int flag) {  in ns_msg_getflag()  argument
70 return(((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift); in ns_msg_getflag()
98 ns_initparse(const u_char *msg, int msglen, ns_msg *handle) { in ns_initparse() argument
102 handle->_msg = msg; in ns_initparse()
103 handle->_eom = eom; in ns_initparse()
106 NS_GET16(handle->_id, msg); in ns_initparse()
109 NS_GET16(handle->_flags, msg); in ns_initparse()
113 NS_GET16(handle->_counts[i], msg); in ns_initparse()
116 if (handle->_counts[i] == 0) in ns_initparse()
117 handle->_sections[i] = NULL; in ns_initparse()
120 handle->_counts[i]); in ns_initparse()
124 handle->_sections[i] = msg; in ns_initparse()
129 setsection(handle, ns_s_max); in ns_initparse()
134 ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { in ns_parserr() argument
142 if (section != handle->_sect) in ns_parserr()
143 setsection(handle, section); in ns_parserr()
147 rrnum = handle->_rrnum; in ns_parserr()
148 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr()
150 if (rrnum < handle->_rrnum) in ns_parserr()
151 setsection(handle, section); in ns_parserr()
152 if (rrnum > handle->_rrnum) { in ns_parserr()
153 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr()
154 rrnum - handle->_rrnum); in ns_parserr()
158 handle->_msg_ptr += b; in ns_parserr()
159 handle->_rrnum = rrnum; in ns_parserr()
163 b = dn_expand(handle->_msg, handle->_eom, in ns_parserr()
164 handle->_msg_ptr, rr->name, NS_MAXDNAME); in ns_parserr()
167 handle->_msg_ptr += b; in ns_parserr()
168 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
170 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr()
171 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr()
177 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr()
179 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr()
180 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr()
181 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr()
183 rr->rdata = handle->_msg_ptr; in ns_parserr()
184 handle->_msg_ptr += rr->rdlength; in ns_parserr()
186 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr()
187 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr()
197 ns_parserr2(ns_msg *handle, ns_sect section, int rrnum, ns_rr2 *rr) { in ns_parserr2() argument
204 if (section != handle->_sect) in ns_parserr2()
205 setsection(handle, section); in ns_parserr2()
209 rrnum = handle->_rrnum; in ns_parserr2()
210 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr2()
212 if (rrnum < handle->_rrnum) in ns_parserr2()
213 setsection(handle, section); in ns_parserr2()
214 if (rrnum > handle->_rrnum) { in ns_parserr2()
215 b = ns_skiprr(handle->_msg_ptr, handle->_eom, section, in ns_parserr2()
216 rrnum - handle->_rrnum); in ns_parserr2()
220 handle->_msg_ptr += b; in ns_parserr2()
221 handle->_rrnum = rrnum; in ns_parserr2()
225 b = ns_name_unpack2(handle->_msg, handle->_eom, handle->_msg_ptr, in ns_parserr2()
229 handle->_msg_ptr += b; in ns_parserr2()
230 if (handle->_msg_ptr + NS_INT16SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
232 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr2()
233 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr2()
239 if (handle->_msg_ptr + NS_INT32SZ + NS_INT16SZ > handle->_eom) in ns_parserr2()
241 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr2()
242 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr2()
243 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr2()
245 rr->rdata = handle->_msg_ptr; in ns_parserr2()
246 handle->_msg_ptr += rr->rdlength; in ns_parserr2()
248 if (++handle->_rrnum > handle->_counts[(int)section]) in ns_parserr2()
249 setsection(handle, (ns_sect)((int)section + 1)); in ns_parserr2()