summaryrefslogtreecommitdiffstats
path: root/contrib/isc-dhcp/includes/netinet/ip.h
diff options
context:
space:
mode:
authormurray <murray@FreeBSD.org>2002-02-19 11:04:34 +0000
committermurray <murray@FreeBSD.org>2002-02-19 11:04:34 +0000
commit57b30d23e7c11fa1a8c8c23f27de40971872952f (patch)
tree229464d9b3244ab78e2784c9a0a1f78de317089a /contrib/isc-dhcp/includes/netinet/ip.h
parent7acb11388cf5d680b16902b8ed6f46c46dc4d47b (diff)
downloadFreeBSD-src-57b30d23e7c11fa1a8c8c23f27de40971872952f.zip
FreeBSD-src-57b30d23e7c11fa1a8c8c23f27de40971872952f.tar.gz
Import ISC DHCP 3.0.1 RC6 client.
Diffstat (limited to 'contrib/isc-dhcp/includes/netinet/ip.h')
-rw-r--r--contrib/isc-dhcp/includes/netinet/ip.h24
1 files changed, 8 insertions, 16 deletions
diff --git a/contrib/isc-dhcp/includes/netinet/ip.h b/contrib/isc-dhcp/includes/netinet/ip.h
index 233abd6..0a1e358 100644
--- a/contrib/isc-dhcp/includes/netinet/ip.h
+++ b/contrib/isc-dhcp/includes/netinet/ip.h
@@ -49,14 +49,7 @@
* against negative integers quite easily, and fail in subtle ways.
*/
struct ip {
-#if BYTE_ORDER == LITTLE_ENDIAN
- u_int8_t ip_hl:4, /* header length */
- ip_v:4; /* version */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- u_int8_t ip_v:4, /* version */
- ip_hl:4; /* header length */
-#endif
+ u_int8_t ip_fvhl; /* header length, version */
u_int8_t ip_tos; /* type of service */
int16_t ip_len; /* total length */
u_int16_t ip_id; /* identification */
@@ -70,6 +63,12 @@ struct ip {
struct in_addr ip_src, ip_dst; /* source and dest address */
};
+#define IP_V(iph) ((iph)->ip_fvhl >> 4)
+#define IP_HL(iph) (((iph)->ip_fvhl & 0x0F) << 2)
+#define IP_V_SET(iph,x) ((iph)->ip_fvhl = ((iph)->ip_fvhl & 0x0F) | ((x) << 4))
+#define IP_HL_SET(iph,x) ((iph)->ip_fvhl = \
+ ((iph)->ip_fvhl & 0xF0) | (((x) >> 2) & 0x0F))
+
#define IP_MAXPACKET 65535 /* maximum packet size */
/*
@@ -129,14 +128,7 @@ struct ip_timestamp {
u_int8_t ipt_code; /* IPOPT_TS */
u_int8_t ipt_len; /* size of structure (variable) */
u_int8_t ipt_ptr; /* index of current entry */
-#if BYTE_ORDER == LITTLE_ENDIAN
- u_int8_t ipt_flg:4, /* flags, see below */
- ipt_oflw:4; /* overflow counter */
-#endif
-#if BYTE_ORDER == BIG_ENDIAN
- u_int8_t ipt_oflw:4, /* overflow counter */
- ipt_flg:4; /* flags, see below */
-#endif
+ u_int8_t ipt_flg_oflw; /* flags, see below, overflow counter */
union ipt_timestamp {
u_int32_t ipt_time[1];
struct ipt_ta {
OpenPOWER on IntegriCloud