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