pci: merge mapping functions for linux and bsd
[dpdk.git] / lib / librte_acl / rte_acl.h
index 652a234..bd8f892 100644 (file)
@@ -94,6 +94,8 @@ struct rte_acl_config {
        uint32_t num_fields;     /**< Number of field definitions. */
        struct rte_acl_field_def defs[RTE_ACL_MAX_FIELDS];
        /**< array of field definitions. */
+       size_t max_size;
+       /**< max memory limit for internal run-time structures. */
 };
 
 /**
@@ -113,13 +115,16 @@ struct rte_acl_field {
 
 enum {
        RTE_ACL_TYPE_SHIFT = 29,
-       RTE_ACL_MAX_INDEX = LEN2MASK(RTE_ACL_TYPE_SHIFT),
+       RTE_ACL_MAX_INDEX = RTE_LEN2MASK(RTE_ACL_TYPE_SHIFT, uint32_t),
        RTE_ACL_MAX_PRIORITY = RTE_ACL_MAX_INDEX,
        RTE_ACL_MIN_PRIORITY = 0,
 };
 
 #define        RTE_ACL_INVALID_USERDATA        0
 
+#define        RTE_ACL_MASKLEN_TO_BITMASK(v, s)        \
+((v) == 0 ? (v) : (typeof(v))((uint64_t)-1 << ((s) * CHAR_BIT - (v))))
+
 /**
  * Miscellaneous data for ACL rule.
  */
@@ -168,7 +173,6 @@ struct rte_acl_param {
  *   Pointer to ACL context structure that is used in future ACL
  *   operations, or NULL on error, with error code set in rte_errno.
  *   Possible rte_errno errors include:
- *   - E_RTE_NO_TAILQ - no tailq list could be got for the ACL context list
  *   - EINVAL - invalid parameter passed to function
  */
 struct rte_acl_ctx *