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

Reply via email to