X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fopenvswitch%2Ftypes.h;h=ad05757c12bcf3aec8b9bff9c13191acb934fa70;hb=28debff598c34799df058f651ed8eb09f56ef00d;hp=4d2a1e9a2f3a885a36dc406273a92b2d5048942c;hpb=805e8f4e2723cc0849bdb17fb81665ea4515fa45;p=openvswitch diff --git a/include/openvswitch/types.h b/include/openvswitch/types.h index 4d2a1e9a..ad05757c 100644 --- a/include/openvswitch/types.h +++ b/include/openvswitch/types.h @@ -17,6 +17,7 @@ #ifndef OPENVSWITCH_TYPES_H #define OPENVSWITCH_TYPES_H 1 +#include #include #include @@ -31,11 +32,12 @@ /* The ovs_be types indicate that an object is in big-endian, not * native-endian, byte order. They are otherwise equivalent to uint_t. * - * The OVS_BITWISE annotation allows the sparse checker to issue warnings - * for incorrect use of values in network byte order. */ -typedef uint16_t OVS_BITWISE ovs_be16; -typedef uint32_t OVS_BITWISE ovs_be32; -typedef uint64_t OVS_BITWISE ovs_be64; + * We bootstrap these from the Linux __be types. If we instead define our + * own independently then __be and ovs_be become mutually + * incompatible. */ +typedef __be16 ovs_be16; +typedef __be32 ovs_be32; +typedef __be64 ovs_be64; /* Netlink and OpenFlow both contain 64-bit values that are only guaranteed to * be aligned on 32-bit boundaries. These types help. @@ -46,16 +48,16 @@ typedef uint64_t OVS_BITWISE ovs_be64; * boundary. */ typedef struct { #ifdef WORDS_BIGENDIAN - uint32_t hi, lo; + uint32_t hi, lo; #else - uint32_t lo, hi; + uint32_t lo, hi; #endif } ovs_32aligned_u64; /* A 64-bit value, in network byte order, that is only aligned on a 32-bit * boundary. */ typedef struct { - ovs_be32 hi, lo; + ovs_be32 hi, lo; } ovs_32aligned_be64; #endif /* openvswitch/types.h */