Ping. This is so trivial addition that it could go to v1.7.

For example, OFP code base uses memcmp almost as much as memcpy and memset.

-Petri

From: EXT Bill Fischofer [mailto:[email protected]]
Sent: Saturday, January 30, 2016 3:44 PM
To: Savolainen, Petri (Nokia - FI/Espoo)
Cc: LNG ODP Mailman List
Subject: Re: [lng-odp] [API-NEXT PATCH 1/2] api: stdlib: added odp_memcmp

For this series:

Reviewed-and-tested-by: Bill Fischofer 
<[email protected]<mailto:[email protected]>>

On Fri, Jan 29, 2016 at 7:59 AM, Petri Savolainen 
<[email protected]<mailto:[email protected]>> wrote:
Memory compare is a commonly used C library function on
data plane applications. This enables using HW offload
(e.g. vector unit) for compare operations.

Signed-off-by: Petri Savolainen 
<[email protected]<mailto:[email protected]>>
---
 include/odp/api/std_clib.h                    | 18 ++++++++++++++++++
 platform/linux-generic/include/odp/std_clib.h |  5 +++++
 2 files changed, 23 insertions(+)

diff --git a/include/odp/api/std_clib.h b/include/odp/api/std_clib.h
index 2119ec4..791b72f 100644
--- a/include/odp/api/std_clib.h
+++ b/include/odp/api/std_clib.h
@@ -54,6 +54,24 @@ void *odp_memcpy(void *dst, const void *src, size_t num);
 void *odp_memset(void *ptr, int value, size_t num);

 /**
+ * Memcmp
+ *
+ * ODP version of C library memcmp function. It compares first 'num' bytes of
+ * memory blocks pointed by 'ptr1' and 'ptr2'.
+ *
+ * @param ptr1   Pointer to a memory block
+ * @param ptr2   Pointer to a memory block
+ * @param num    Number of bytes to compare
+ *
+ * @retval 0  when the contents of memory blocks match
+ * @retval <0 when the contents of memory blocks do not match, and
+ *            block 'ptr1' is less than block 'ptr2'
+ * @retval >0 when the contents of memory blocks do not match, and
+ *            block 'ptr1' is greater than block 'ptr2'
+ */
+int odp_memcmp(const void *ptr1, const void *ptr2, size_t num);
+
+/**
  * @}
  */

diff --git a/platform/linux-generic/include/odp/std_clib.h 
b/platform/linux-generic/include/odp/std_clib.h
index c939c48..11c59be 100644
--- a/platform/linux-generic/include/odp/std_clib.h
+++ b/platform/linux-generic/include/odp/std_clib.h
@@ -23,6 +23,11 @@ static inline void *odp_memset(void *ptr, int value, size_t 
num)
        return memset(ptr, value, num);
 }

+static inline int odp_memcmp(const void *ptr1, const void *ptr2, size_t num)
+{
+       return memcmp(ptr1, ptr2, num);
+}
+
 #ifdef __cplusplus
 }
 #endif
--
2.6.3

_______________________________________________
lng-odp mailing list
[email protected]<mailto:[email protected]>
https://lists.linaro.org/mailman/listinfo/lng-odp

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to