Lines Matching defs:ah
98 struct arphdr *ah = (struct arphdr*)buf;
99 unsigned char *p = (unsigned char *)(ah+1);
101 ah->ar_hrd = htons(ME->sll_hatype);
102 if (ah->ar_hrd == htons(ARPHRD_FDDI))
103 ah->ar_hrd = htons(ARPHRD_ETHER);
104 ah->ar_pro = htons(ETH_P_IP);
105 ah->ar_hln = ME->sll_halen;
106 ah->ar_pln = 4;
107 ah->ar_op = advert ? htons(ARPOP_REPLY) : htons(ARPOP_REQUEST);
109 memcpy(p, &ME->sll_addr, ah->ar_hln);
116 memcpy(p, &ME->sll_addr, ah->ar_hln);
118 memcpy(p, &HE->sll_addr, ah->ar_hln);
119 p+=ah->ar_hln;
193 struct arphdr *ah = (struct arphdr*)buf;
194 unsigned char *p = (unsigned char *)(ah+1);
206 if (ah->ar_op != htons(ARPOP_REQUEST) &&
207 ah->ar_op != htons(ARPOP_REPLY))
211 if (ah->ar_hrd != htons(FROM->sll_hatype) &&
212 (FROM->sll_hatype != ARPHRD_FDDI || ah->ar_hrd != htons(ARPHRD_ETHER)))
216 if (ah->ar_pro != htons(ETH_P_IP))
218 if (ah->ar_pln != 4)
220 if (ah->ar_hln != me.sll_halen)
222 if (len < sizeof(*ah) + 2*(4 + ah->ar_hln))
224 memcpy(&src_ip, p+ah->ar_hln, 4);
225 memcpy(&dst_ip, p+ah->ar_hln+4+ah->ar_hln, 4);
231 if (memcmp(p+ah->ar_hln+4, &me.sll_addr, ah->ar_hln))
257 printf("%s from ", ah->ar_op == htons(ARPOP_REPLY) ? "reply" : "request");
259 print_hex(p, ah->ar_hln);
265 if (memcmp(p+ah->ar_hln+4, me.sll_addr, ah->ar_hln)) {
269 print_hex(p+ah->ar_hln+4, ah->ar_hln);
286 if (ah->ar_op == htons(ARPOP_REQUEST))