1 /* SPDX-License-Identifier: BSD-3-Clause */ 2 /* Copyright(c) 2007-2022 Intel Corporation */ 3 /* $FreeBSD$ */ 4 5 /** 6 *************************************************************************** 7 * @file lac_sym_cb.h 8 * 9 * @defgroup LacSymCb Symmetric callback functions 10 * 11 * @ingroup LacSym 12 * 13 * Functions to assist with callback processing for the symmetric component 14 ***************************************************************************/ 15 16 #ifndef LAC_SYM_CB_H 17 #define LAC_SYM_CB_H 18 19 /** 20 ***************************************************************************** 21 * @ingroup LacSym 22 * Dequeue pending requests 23 * @description 24 * This function is called by a callback function of a blocking 25 * operation (either a partial packet or a hash precompute operaion) 26 * in softIRQ context. It dequeues requests for the following reasons: 27 * 1. All pre-computes that happened when initialising a session 28 * have completed. Dequeue any requests that were queued on the 29 * session while waiting for the precompute operations to complete. 30 * 2. A partial packet request has completed. Dequeue any partials 31 * that were queued for this session while waiting for a previous 32 * partial to complete. 33 * 34 * @param[in] pSessionDesc Pointer to the session descriptor 35 * 36 * @return CpaStatus 37 * 38 ****************************************************************************/ 39 CpaStatus LacSymCb_PendingReqsDequeue(lac_session_desc_t *pSessionDesc); 40 41 /** 42 ***************************************************************************** 43 * @ingroup LacSym 44 * Register symmetric callback funcion handlers 45 * 46 * @description 47 * This function registers the symmetric callback handler functions with 48 * the main symmetric callback handler function 49 * 50 * @return None 51 * 52 ****************************************************************************/ 53 void LacSymCb_CallbacksRegister(void); 54 55 #endif /* LAC_SYM_CB_H */ 56