uint8_t reserved[ROC_NPC_MEM_SZ];
} __plt_cache_aligned;
+int __roc_api roc_npc_init(struct roc_npc *roc_npc);
+int __roc_api roc_npc_fini(struct roc_npc *roc_npc);
+const char *__roc_api roc_npc_profile_name_get(struct roc_npc *roc_npc);
+
+struct roc_npc_flow *__roc_api
+roc_npc_flow_create(struct roc_npc *roc_npc, const struct roc_npc_attr *attr,
+ const struct roc_npc_item_info pattern[],
+ const struct roc_npc_action actions[], int *errcode);
+int __roc_api roc_npc_flow_destroy(struct roc_npc *roc_npc,
+ struct roc_npc_flow *flow);
+int __roc_api roc_npc_mcam_free_entry(struct roc_npc *roc_npc, uint32_t entry);
+int __roc_api roc_npc_mcam_alloc_entry(struct roc_npc *roc_npc,
+ struct roc_npc_flow *mcam,
+ struct roc_npc_flow *ref_mcam, int prio,
+ int *resp_count);
+int __roc_api roc_npc_mcam_alloc_entries(struct roc_npc *roc_npc, int ref_entry,
+ int *alloc_entry, int req_count,
+ int priority, int *resp_count);
+int __roc_api roc_npc_mcam_ena_dis_entry(struct roc_npc *roc_npc,
+ struct roc_npc_flow *mcam,
+ bool enable);
+int __roc_api roc_npc_mcam_write_entry(struct roc_npc *roc_npc,
+ struct roc_npc_flow *mcam);
+int __roc_api roc_npc_flow_parse(struct roc_npc *roc_npc,
+ const struct roc_npc_attr *attr,
+ const struct roc_npc_item_info pattern[],
+ const struct roc_npc_action actions[],
+ struct roc_npc_flow *flow);
+int __roc_api roc_npc_get_low_priority_mcam(struct roc_npc *roc_npc);
+
+int __roc_api roc_npc_mcam_free_counter(struct roc_npc *roc_npc,
+ uint16_t ctr_id);
+
+int __roc_api roc_npc_mcam_read_counter(struct roc_npc *roc_npc,
+ uint32_t ctr_id, uint64_t *count);
+int __roc_api roc_npc_mcam_clear_counter(struct roc_npc *roc_npc,
+ uint32_t ctr_id);
+
+int __roc_api roc_npc_mcam_free_all_resources(struct roc_npc *roc_npc);
+
#endif /* _ROC_NPC_H_ */