1*2d9fd380Sjfb8856606 /* SPDX-License-Identifier: BSD-3-Clause 2*2d9fd380Sjfb8856606 * Copyright 2020 Mellanox Technologies, Ltd 3*2d9fd380Sjfb8856606 */ 4*2d9fd380Sjfb8856606 5*2d9fd380Sjfb8856606 #ifndef _RTE_REGEXDEV_DRIVER_H_ 6*2d9fd380Sjfb8856606 #define _RTE_REGEXDEV_DRIVER_H_ 7*2d9fd380Sjfb8856606 8*2d9fd380Sjfb8856606 /** 9*2d9fd380Sjfb8856606 * @file 10*2d9fd380Sjfb8856606 * 11*2d9fd380Sjfb8856606 * RTE RegEx Device PMD API 12*2d9fd380Sjfb8856606 * 13*2d9fd380Sjfb8856606 * APIs that are used by the RegEx drivers, to communicate with the 14*2d9fd380Sjfb8856606 * RegEx lib. 15*2d9fd380Sjfb8856606 */ 16*2d9fd380Sjfb8856606 17*2d9fd380Sjfb8856606 #include "rte_regexdev.h" 18*2d9fd380Sjfb8856606 19*2d9fd380Sjfb8856606 #ifdef __cplusplus 20*2d9fd380Sjfb8856606 extern "C" { 21*2d9fd380Sjfb8856606 #endif 22*2d9fd380Sjfb8856606 23*2d9fd380Sjfb8856606 /** 24*2d9fd380Sjfb8856606 * @internal 25*2d9fd380Sjfb8856606 * Register a RegEx device slot for a RegEx device and return the 26*2d9fd380Sjfb8856606 * pointer to that slot. 27*2d9fd380Sjfb8856606 * 28*2d9fd380Sjfb8856606 * @param name 29*2d9fd380Sjfb8856606 * RegEx device name. 30*2d9fd380Sjfb8856606 * 31*2d9fd380Sjfb8856606 * @return 32*2d9fd380Sjfb8856606 * A pointer to the RegEx device slot case of success, 33*2d9fd380Sjfb8856606 * NULL otherwise. 34*2d9fd380Sjfb8856606 */ 35*2d9fd380Sjfb8856606 struct rte_regexdev *rte_regexdev_register(const char *name); 36*2d9fd380Sjfb8856606 37*2d9fd380Sjfb8856606 /** 38*2d9fd380Sjfb8856606 * @internal 39*2d9fd380Sjfb8856606 * Unregister the specified regexdev port. 40*2d9fd380Sjfb8856606 * 41*2d9fd380Sjfb8856606 * @param dev 42*2d9fd380Sjfb8856606 * Device to be released. 43*2d9fd380Sjfb8856606 */ 44*2d9fd380Sjfb8856606 void rte_regexdev_unregister(struct rte_regexdev *dev); 45*2d9fd380Sjfb8856606 46*2d9fd380Sjfb8856606 /** 47*2d9fd380Sjfb8856606 * @internal 48*2d9fd380Sjfb8856606 * Return the RegEx device based on the device name. 49*2d9fd380Sjfb8856606 * 50*2d9fd380Sjfb8856606 * @param name 51*2d9fd380Sjfb8856606 * The device name. 52*2d9fd380Sjfb8856606 */ 53*2d9fd380Sjfb8856606 struct rte_regexdev *rte_regexdev_get_device_by_name(const char *name); 54*2d9fd380Sjfb8856606 55*2d9fd380Sjfb8856606 #ifdef __cplusplus 56*2d9fd380Sjfb8856606 } 57*2d9fd380Sjfb8856606 #endif 58*2d9fd380Sjfb8856606 59*2d9fd380Sjfb8856606 #endif /* _RTE_REGEXDEV_DRIVER_H_ */ 60