Lines Matching +full:- +full:p

7  * This is a simple DNS implementation for U-Boot. It will use the first IP
17 * Copyright (c) 2004-2005 Sergey Lyubka <valenok@gmail.com>
19 * "THE BEER-WARE LICENSE" (Revision 42):
41 uchar *p, *pkt; in dns_send() local
48 p = pkt; in dns_send()
52 header->tid = 1; in dns_send()
53 header->flags = htons(0x100); /* standard query */ in dns_send()
54 header->nqueries = htons(1); /* Just one query */ in dns_send()
55 header->nanswers = 0; in dns_send()
56 header->nauth = 0; in dns_send()
57 header->nother = 0; in dns_send()
61 p = (uchar *)&header->data; /* For encoding host name into packet */ in dns_send()
68 n = s - name; /* Chunk length */ in dns_send()
69 *p++ = n; /* Copy length */ in dns_send()
70 memcpy(p, name, n); /* Copy chunk */ in dns_send()
71 p += n; in dns_send()
77 name_len -= n; in dns_send()
80 *p++ = 0; /* Mark end of host name */ in dns_send()
81 *p++ = 0; /* Some servers require double null */ in dns_send()
82 *p++ = (unsigned char) qtype; /* Query Type */ in dns_send()
84 *p++ = 0; in dns_send()
85 *p++ = 1; /* Class: inet, 0x0001 */ in dns_send()
87 n = p - pkt; /* Total packet length */ in dns_send()
107 const unsigned char *p, *e, *s; in dns_handler() local
119 debug("0x%p - 0x%.2x 0x%.2x 0x%.2x 0x%.2x\n", in dns_handler()
124 if (ntohs(header->nqueries) != 1) in dns_handler()
128 if (header->nanswers == 0) { in dns_handler()
135 s = &header->data[0]; in dns_handler()
137 for (p = s; p < e && *p != '\0'; p++) in dns_handler()
141 if (&p[5] > e || get_unaligned_be16(p+1) != DNS_A_RECORD) { in dns_handler()
148 p += 5; in dns_handler()
151 for (found = stop = 0; !stop && &p[12] < e; ) { in dns_handler()
153 if (*p != 0xc0) { in dns_handler()
154 while (*p && &p[12] < e) in dns_handler()
155 p++; in dns_handler()
156 p--; in dns_handler()
158 debug("Name (Offset in header): %d\n", p[1]); in dns_handler()
160 type = get_unaligned_be16(p+2); in dns_handler()
165 dlen = get_unaligned_be16(p+10); in dns_handler()
167 p += 12 + dlen; in dns_handler()
169 debug("Found A-record\n"); in dns_handler()
178 if (found && &p[12] < e) { in dns_handler()
179 dlen = get_unaligned_be16(p+10); in dns_handler()
180 p += 12; in dns_handler()
181 memcpy(&ip_addr, p, 4); in dns_handler()
183 if (p + dlen <= e) { in dns_handler()