[API-NEXT] api: ipsec: factor out definitions for feature support levels

Message ID 20170414152900.1289-1-dmitry.ereminsolenikov@linaro.org
State New
Headers show

Commit Message

Dmitry Eremin-Solenikov April 14, 2017, 3:29 p.m.
Instead of having magic 0-1-2 numbers, let's have the special enum for
feature support levels (unsupported/supported/preferred).

Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>

---
 include/odp/api/spec/ipsec.h | 56 +++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 27 deletions(-)

-- 
2.11.0

Patch hide | download patch | download mbox

diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h
index a0ceb11a..7011e3cf 100644
--- a/include/odp/api/spec/ipsec.h
+++ b/include/odp/api/spec/ipsec.h
@@ -224,44 +224,46 @@  typedef struct odp_ipsec_outbound_config_t {
 } odp_ipsec_outbound_config_t;
 
 /**
+ * IPSEC operation mode support
+ */
+typedef enum odp_ipsec_op_mode_support_t {
+	/**
+	 * Mode is not supported
+	 */
+	ODP_IPSEC_OP_MODE_UNSUPPORTED = 0,
+	/**
+	 * Mode is supported
+	 */
+	ODP_IPSEC_OP_MODE_SUPPORTED,
+	/**
+	 * Mode is supported and preferred
+	 */
+	ODP_IPSEC_OP_MODE_PREFERRED,
+} odp_ipsec_op_mode_support_t;
+
+/**
  * IPSEC capability
  */
 typedef struct odp_ipsec_capability_t {
 	/** Maximum number of IPSEC SAs */
 	uint32_t max_num_sa;
 
-	/** Synchronous IPSEC operation mode (ODP_IPSEC_OP_MODE_SYNC) support
-	 *
-	 *  0: Synchronous mode is not supported
-	 *  1: Synchronous mode is supported
-	 *  2: Synchronous mode is supported and preferred
-	 */
-	uint8_t op_mode_sync;
+	/** Synchronous IPSEC operation mode (ODP_IPSEC_OP_MODE_SYNC) support */
+	odp_ipsec_op_mode_support_t op_mode_sync;
 
-	/** Asynchronous IPSEC operation mode (ODP_IPSEC_OP_MODE_ASYNC) support
-	 *
-	 *  0: Asynchronous mode is not supported
-	 *  1: Asynchronous mode is supported
-	 *  2: Asynchronous mode is supported and preferred
+	/**
+	 * Asynchronous IPSEC operation mode (ODP_IPSEC_OP_MODE_ASYNC) support
 	 */
-	uint8_t op_mode_async;
+	odp_ipsec_op_mode_support_t op_mode_async;
 
-	/** Inline IPSEC operation mode (ODP_IPSEC_OP_MODE_INLINE) support
-	 *
-	 *  0: Inline IPSEC operation is not supported
-	 *  1: Inline IPSEC operation is supported
-	 *  2: Inline IPSEC operation is supported and preferred
-	 */
-	uint8_t op_mode_inline;
+	/** Inline IPSEC operation mode (ODP_IPSEC_OP_MODE_INLINE) support */
+	odp_ipsec_op_mode_support_t op_mode_inline;
 
-	/** Support of pipelined classification (ODP_IPSEC_PIPELINE_CLS) of
-	 *  resulting inbound packets.
-	 *
-	 *  0: Classification of resulting packets is not supported
-	 *  1: Classification of resulting packets is supported
-	 *  2: Classification of resulting packets is supported and preferred
+	/**
+	 * Support of pipelined classification (ODP_IPSEC_PIPELINE_CLS) of
+	 *  resulting inbound packets
 	 */
-	uint8_t pipeline_cls;
+	odp_ipsec_op_mode_support_t pipeline_cls;
 
 	/** Soft expiry limit in seconds support
 	 *