I guess v2 is the latest version of this patch. Reviewed-by: Petri Savolainen <[email protected]>
> -----Original Message----- > From: lng-odp [mailto:[email protected]] On Behalf Of Bill > Fischofer > Sent: Wednesday, July 13, 2016 5:27 AM > To: [email protected] > Subject: [lng-odp] [API-NEXT PATCHv2] api: byteorder: avoid bitfield order > doxygen omissions > > Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2402 by assigning > explicit values to ODP_LITTLE_ENDIAN_BITFIELD and ODP_BIT_ENDIAN_BITFIELD > to avoid Doxygen warnings. This makes these consistent with the usage for > ODP_BIG_ENDIAN and ODP_LITTLE_ENDIAN. Also define the summary variable > ODP_BITFIELD_ORDER which can be used similar to ODP_BYTE_ORDER for an > explicit test of bitfield endianness. > > Note that this requires tests of these fields to change from #ifdef to > #if. > > Signed-off-by: Bill Fischofer <[email protected]> > --- > helper/include/odp/helper/tcp.h | 4 ++-- > include/odp/api/spec/byteorder.h | 3 +++ > platform/linux-generic/include/odp/api/plat/byteorder_types.h | 8 ++++++- > - > platform/linux-generic/include/protocols/tcp.h | 4 ++-- > 4 files changed, 13 insertions(+), 6 deletions(-) > > diff --git a/helper/include/odp/helper/tcp.h > b/helper/include/odp/helper/tcp.h > index cabef90..fd234e5 100644 > --- a/helper/include/odp/helper/tcp.h > +++ b/helper/include/odp/helper/tcp.h > @@ -34,7 +34,7 @@ typedef struct ODP_PACKED { > odp_u32be_t ack_no; /**< Acknowledgment number */ > union { > odp_u16be_t doffset_flags; > -#if defined(ODP_BIG_ENDIAN_BITFIELD) > +#if ODP_BIG_ENDIAN_BITFIELD > struct { > odp_u16be_t rsvd1:8; > odp_u16be_t flags:8; /**< TCP flags as a byte */ > @@ -51,7 +51,7 @@ typedef struct ODP_PACKED { > odp_u16be_t syn:1; > odp_u16be_t fin:1; > }; > -#elif defined(ODP_LITTLE_ENDIAN_BITFIELD) > +#elif ODP_LITTLE_ENDIAN_BITFIELD > struct { > odp_u16be_t flags:8; > odp_u16be_t rsvd1:8; /**< TCP flags as a byte */ > diff --git a/include/odp/api/spec/byteorder.h > b/include/odp/api/spec/byteorder.h > index 1018997..e16a0d5 100644 > --- a/include/odp/api/spec/byteorder.h > +++ b/include/odp/api/spec/byteorder.h > @@ -39,6 +39,9 @@ extern "C" { > * > * @def ODP_BYTE_ORDER > * Selected byte order > + * > + * @def ODP_BITFIELD_ORDER > + * Selected bitfield order > */ > > /** > diff --git a/platform/linux-generic/include/odp/api/plat/byteorder_types.h > b/platform/linux-generic/include/odp/api/plat/byteorder_types.h > index 679d4cf..09235b5 100644 > --- a/platform/linux-generic/include/odp/api/plat/byteorder_types.h > +++ b/platform/linux-generic/include/odp/api/plat/byteorder_types.h > @@ -52,12 +52,16 @@ extern "C" { > #define ODP_LITTLE_ENDIAN 1 > #define ODP_BIG_ENDIAN 0 > #define ODP_BYTE_ORDER ODP_LITTLE_ENDIAN > - #define ODP_LITTLE_ENDIAN_BITFIELD > + #define ODP_LITTLE_ENDIAN_BITFIELD 1 > + #define ODP_BIG_ENDIAN_BITFIELD 0 > + #define ODP_BITFIELD_ORDER ODP_LITTLE_ENDIAN_BITFIELD > #else > #define ODP_LITTLE_ENDIAN 0 > #define ODP_BIG_ENDIAN 1 > #define ODP_BYTE_ORDER ODP_BIG_ENDIAN > - #define ODP_BIG_ENDIAN_BITFIELD > + #define ODP_LITTLE_ENDIAN_BITFIELD 0 > + #define ODP_BIG_ENDIAN_BITFIELD 1 > + #define ODP_BITFIELD_ORDER ODP_BIG_ENDIAN_BITFIELD > #endif > > typedef uint16_t __odp_bitwise odp_u16le_t; > diff --git a/platform/linux-generic/include/protocols/tcp.h > b/platform/linux-generic/include/protocols/tcp.h > index 4e92e4b..114262e 100644 > --- a/platform/linux-generic/include/protocols/tcp.h > +++ b/platform/linux-generic/include/protocols/tcp.h > @@ -34,7 +34,7 @@ typedef struct ODP_PACKED { > odp_u32be_t ack_no; /**< Acknowledgment number */ > union { > odp_u16be_t doffset_flags; > -#if defined(ODP_BIG_ENDIAN_BITFIELD) > +#if ODP_BIG_ENDIAN_BITFIELD > struct { > odp_u16be_t rsvd1:8; > odp_u16be_t flags:8; /**< TCP flags as a byte */ > @@ -51,7 +51,7 @@ typedef struct ODP_PACKED { > odp_u16be_t syn:1; > odp_u16be_t fin:1; > }; > -#elif defined(ODP_LITTLE_ENDIAN_BITFIELD) > +#elif ODP_LITTLE_ENDIAN_BITFIELD > struct { > odp_u16be_t flags:8; > odp_u16be_t rsvd1:8; /**< TCP flags as a byte */ > -- > 2.7.4
