• Home
  • Raw
  • Download

Lines Matching refs:handle

123 ns_initparse(const u_char *msg, int msglen, ns_msg *handle) {  in ns_initparse()  argument
127 memset(handle, 0x5e, sizeof *handle); in ns_initparse()
128 handle->_msg = msg; in ns_initparse()
129 handle->_eom = eom; in ns_initparse()
132 NS_GET16(handle->_id, msg); in ns_initparse()
135 NS_GET16(handle->_flags, msg); in ns_initparse()
139 NS_GET16(handle->_counts[i], msg); in ns_initparse()
142 if (handle->_counts[i] == 0) in ns_initparse()
143 handle->_sections[i] = NULL; in ns_initparse()
146 handle->_counts[i]); in ns_initparse()
150 handle->_sections[i] = msg; in ns_initparse()
155 handle->_sect = ns_s_max; in ns_initparse()
156 handle->_rrnum = -1; in ns_initparse()
157 handle->_msg_ptr = NULL; in ns_initparse()
165 ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { in ns_parserr() argument
171 if ((int)section != (int)handle->_sect) { in ns_parserr()
172 handle->_sect = section; in ns_parserr()
173 handle->_rrnum = 0; in ns_parserr()
174 handle->_msg_ptr = handle->_sections[(int)section]; in ns_parserr()
179 rrnum = handle->_rrnum; in ns_parserr()
180 if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) in ns_parserr()
182 if (rrnum < handle->_rrnum) { in ns_parserr()
183 handle->_rrnum = 0; in ns_parserr()
184 handle->_msg_ptr = handle->_sections[(int)section]; in ns_parserr()
187 b = skiprr(handle->_msg, handle->_eom, section, in ns_parserr()
188 rrnum - handle->_rrnum); in ns_parserr()
191 handle->_msg_ptr += b; in ns_parserr()
192 handle->_rrnum = rrnum; in ns_parserr()
195 b = dn_expand(handle->_msg, handle->_eom, in ns_parserr()
196 handle->_msg_ptr, rr->name, NS_MAXDNAME); in ns_parserr()
199 handle->_msg_ptr += b; in ns_parserr()
200 if (handle->_msg_ptr + NS_INT16SZ > handle->_eom) in ns_parserr()
202 NS_GET16(rr->type, handle->_msg_ptr); in ns_parserr()
203 if (handle->_msg_ptr + NS_INT16SZ > handle->_eom) in ns_parserr()
205 NS_GET16(rr->rr_class, handle->_msg_ptr); in ns_parserr()
211 if (handle->_msg_ptr + NS_INT32SZ > handle->_eom) in ns_parserr()
213 NS_GET32(rr->ttl, handle->_msg_ptr); in ns_parserr()
214 if (handle->_msg_ptr + NS_INT16SZ > handle->_eom) in ns_parserr()
216 NS_GET16(rr->rdlength, handle->_msg_ptr); in ns_parserr()
217 if (handle->_msg_ptr + rr->rdlength > handle->_eom) in ns_parserr()
219 rr->rdata = handle->_msg_ptr; in ns_parserr()
220 handle->_msg_ptr += rr->rdlength; in ns_parserr()
222 handle->_rrnum++; in ns_parserr()