arphdr
(sizeof(struct arphdr) + 2*(ar_hln) + 2*(ar_pln))
struct arphdr ea_hdr; /* fixed-size header */
struct arphdr *ah = data;
ifrarplen = sizeof (struct arphdr) + (2 * IPADDRL) + (2 * physaddrlen);
(void) memcpy((uchar_t *)req + sizeof (struct arphdr) + IPADDRL +
sizeof (struct arphdr) + (2 * physaddrlen) + IPADDRL,
sizeof (struct arphdr), sizeof (from));
rarp_recv(dlpi_handle_t dh, struct arphdr *ans, size_t msglen,
static int rarp_recv(dlpi_handle_t, struct arphdr *, size_t, size_t, int64_t);
struct arphdr *req, *ans;
static void rarp_request(struct rarpdev *, struct arphdr *,
static void arp_request(struct rarpdev *, struct arphdr *, uchar_t *);
rdev->ifrarplen = sizeof (struct arphdr) + (2 * sizeof (ipaddr_t)) +
struct arphdr *ans;
rarp_request(struct rarpdev *rdev, struct arphdr *rp, uchar_t *shost)
shap = (uchar_t *)rp + sizeof (struct arphdr);
arp_request(struct rarpdev *rdev, struct arphdr *rp, uchar_t *shost)
shap = (uchar_t *)rp + sizeof (struct arphdr);
extern void interpret_arp(int, struct arphdr *, int);
interpret_arp(int flags, struct arphdr *ap, int alen)
if (sizeof (struct arphdr) > alen)
interpret_arp(flags, (struct arphdr *)data, len);
interpret_arp(flags, (struct arphdr *)data, len);
interpret_arp(flags, (struct arphdr *)data, len);
interpret_arp(flags, (struct arphdr *)data, len);
struct arphdr ea_hdr; /* fixed-size header */
struct arphdr ea_hdr; /* fixed-size header */
struct arphdr ea_hdr; /* fixed-size header */
struct arphdr *arh;
arh = (struct arphdr *)(mp->b_rptr + sizeof (struct ether_header));