Module Name: src
Committed By: christos
Date: Sat Jun 30 15:08:04 UTC 2018
Modified Files:
src/sys/net: if_arp.h
Log Message:
Provide an inline to return the data part of the arp packet instead of
open-coding it in multiple places.
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/net/if_arp.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/if_arp.h
diff -u src/sys/net/if_arp.h:1.32 src/sys/net/if_arp.h:1.33
--- src/sys/net/if_arp.h:1.32 Thu Apr 19 17:20:43 2018
+++ src/sys/net/if_arp.h Sat Jun 30 11:08:04 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: if_arp.h,v 1.32 2018/04/19 21:20:43 christos Exp $ */
+/* $NetBSD: if_arp.h,v 1.33 2018/06/30 15:08:04 christos Exp $ */
/*
* Copyright (c) 1986, 1993
@@ -74,15 +74,21 @@ struct arphdr {
} __packed;
static __inline uint8_t *
+ar_data(struct arphdr *ap)
+{
+ return (uint8_t *)(void *)(ap + 1);
+}
+
+static __inline uint8_t *
ar_sha(struct arphdr *ap)
{
- return ((uint8_t *)(ap + 1)) + 0;
+ return ar_data(ap) + 0;
}
static __inline uint8_t *
ar_spa(struct arphdr *ap)
{
- return ((uint8_t *)(ap + 1)) + ap->ar_hln;
+ return ar_data(ap) + ap->ar_hln;
}
static __inline uint8_t *
@@ -91,7 +97,7 @@ ar_tha(struct arphdr *ap)
if (ntohs(ap->ar_hrd) == ARPHRD_IEEE1394) {
return NULL;
} else {
- return ((uint8_t *)(ap + 1)) + ap->ar_hln + ap->ar_pln;
+ return ar_data(ap) + ap->ar_hln + ap->ar_pln;
}
}
@@ -99,10 +105,9 @@ static __inline uint8_t *
ar_tpa(struct arphdr *ap)
{
if (ntohs(ap->ar_hrd) == ARPHRD_IEEE1394) {
- return ((uint8_t *)(ap + 1)) + ap->ar_hln + ap->ar_pln;
+ return ar_data(ap) + ap->ar_hln + ap->ar_pln;
} else {
- return ((uint8_t *)(ap + 1)) + ap->ar_hln + ap->ar_pln +
- ap->ar_hln;
+ return ar_data(ap) + ap->ar_hln + ap->ar_pln + ap->ar_hln;
}
}