Merged,
Maxim.
On 08/10/16 15:46, Bill Fischofer wrote:
On Wed, Aug 10, 2016 at 5:06 AM, Savolainen, Petri (Nokia - FI/Espoo) <
[email protected]> wrote:
I guess v2 is the latest version of this patch.
Yes, it is. Thanks.
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