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