1bd9b67a1SFan Zhang /* SPDX-License-Identifier: BSD-3-Clause 2bd9b67a1SFan Zhang * Copyright(c) 2018 Intel Corporation 3bd9b67a1SFan Zhang */ 4bd9b67a1SFan Zhang 5bd9b67a1SFan Zhang #ifndef _INCLUDE_SYM_C_H_ 6bd9b67a1SFan Zhang #define _INCLUDE_SYM_C_H_ 7bd9b67a1SFan Zhang 8bd9b67a1SFan Zhang #include <stdint.h> 9bd9b67a1SFan Zhang #include <sys/queue.h> 10bd9b67a1SFan Zhang 11bd9b67a1SFan Zhang #include <rte_cryptodev.h> 12bd9b67a1SFan Zhang 13bd9b67a1SFan Zhang #include "common.h" 14bd9b67a1SFan Zhang 15bd9b67a1SFan Zhang struct cryptodev { 16bd9b67a1SFan Zhang TAILQ_ENTRY(cryptodev) node; 17bd9b67a1SFan Zhang char name[NAME_SIZE]; 18bd9b67a1SFan Zhang uint16_t dev_id; 19bd9b67a1SFan Zhang uint32_t n_queues; 20*261bbff7SFan Zhang struct rte_mempool *mp_create; 21*261bbff7SFan Zhang struct rte_mempool *mp_init; 22bd9b67a1SFan Zhang }; 23bd9b67a1SFan Zhang 24bd9b67a1SFan Zhang TAILQ_HEAD(cryptodev_list, cryptodev); 25bd9b67a1SFan Zhang 26bd9b67a1SFan Zhang int 27bd9b67a1SFan Zhang cryptodev_init(void); 28bd9b67a1SFan Zhang 29bd9b67a1SFan Zhang struct cryptodev * 30bd9b67a1SFan Zhang cryptodev_find(const char *name); 31bd9b67a1SFan Zhang 32bd9b67a1SFan Zhang struct cryptodev * 33bd9b67a1SFan Zhang cryptodev_next(struct cryptodev *cryptodev); 34bd9b67a1SFan Zhang 35bd9b67a1SFan Zhang struct cryptodev_params { 36bd9b67a1SFan Zhang const char *dev_name; 37bd9b67a1SFan Zhang uint32_t dev_id; /**< Valid only when *dev_name* is NULL. */ 38bd9b67a1SFan Zhang uint32_t n_queues; 39bd9b67a1SFan Zhang uint32_t queue_size; 40*261bbff7SFan Zhang uint32_t session_pool_size; 41bd9b67a1SFan Zhang }; 42bd9b67a1SFan Zhang 43bd9b67a1SFan Zhang struct cryptodev * 44bd9b67a1SFan Zhang cryptodev_create(const char *name, struct cryptodev_params *params); 45bd9b67a1SFan Zhang 46bd9b67a1SFan Zhang #endif 47