On Thu, Jul 7, 2016 at 2:46 AM, Savolainen, Petri (Nokia - FI/Espoo) < [email protected]> wrote:
> I'm OK with the change, but didn't do it as part of my patch set since > it's an API change. I think the change is not a big deal and should be done > to align the usage of byte/bitfield defines. The patch should be tagged > with api: prefix and go through api-next. > > Also, API spec could be more explicit about the byte/bitfield defines and > how application should use/test those. I think bitfield defines should work > the same way as the current byte order defines. > > #if (ODP_BYTE_ORDER == ODP_BIG_ENDIAN) > // big endian byte order > #else > // little endian byte order > #endif > > > -Petri > Not making an API change was the reason I did this change this way. This is now an implementation change only. The change that would involve an API change would have been to define an ODP_BITFIELD_ORDER variable to mirror the ODP_BYTE_ORDER variable and set that to either ODP_LITTLE_ENDIAN_BITFIELD or ODP_BIG_ENDIAN_BITFIELD as needed. > > > > -----Original Message----- > > From: lng-odp [mailto:[email protected]] On Behalf Of > Bill > > Fischofer > > Sent: Thursday, July 07, 2016 4:28 AM > > To: [email protected] > > Subject: [lng-odp] [PATCH] linux-generic: 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. > > > > 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 ++-- > > platform/linux-generic/include/odp/api/plat/byteorder_types.h | 6 ++++-- > > platform/linux-generic/include/protocols/tcp.h | 4 ++-- > > 3 files changed, 8 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/platform/linux-generic/include/odp/api/plat/byteorder_types.h > > b/platform/linux-generic/include/odp/api/plat/byteorder_types.h > > index 679d4cf..acc899a 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,14 @@ 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 > > #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 > > #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 > >
