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