1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright(c) 2007-2022 Intel Corporation */
3 /* $FreeBSD$ */
4 /*****************************************************************************
5  * @file icp_adf_poll.h
6  *
7  * @description
8  *      File contains Public API Definitions for the polling method.
9  *
10  *****************************************************************************/
11 #ifndef ICP_ADF_POLL_H
12 #define ICP_ADF_POLL_H
13 
14 #include "cpa.h"
15 /*
16  * icp_adf_pollInstance
17  *
18  * Description:
19  * Poll an instance. In order to poll an instance
20  * sal will pass in a table of trans handles from which
21  * the ring to be polled can be obtained and subsequently
22  * polled.
23  *
24  * Returns:
25  *   CPA_STATUS_SUCCESS   on polling a ring with data
26  *   CPA_STATUS_FAIL      on failure
27  *   CPA_STATUS_RETRY     if ring has no data on it
28  *                        or ring is already being polled.
29  */
30 CpaStatus icp_adf_pollInstance(icp_comms_trans_handle *trans_hnd,
31 			       Cpa32U num_transHandles,
32 			       Cpa32U response_quota);
33 
34 /*
35  * icp_adf_check_RespInstance
36  *
37  * Description:
38  * Check whether an instance is empty or has remaining responses on it. In
39  * order to check an instance for the remaining responses, sal will pass in
40  * a table of trans handles from which the instance to be checked can be
41  * obtained and subsequently checked.
42  *
43  * Returns:
44  *   CPA_STATUS_SUCCESS         if response ring is empty
45  *   CPA_STATUS_FAIL            on failure
46  *   CPA_STATUS_RETRY           if response ring is not empty
47  *   CPA_STATUS_INVALID_PARAM   Invalid parameter passed in
48  */
49 CpaStatus icp_adf_check_RespInstance(icp_comms_trans_handle *trans_hnd,
50 				     Cpa32U num_transHandles);
51 
52 #endif /* ICP_ADF_POLL_H */
53