1 /* SPDX-License-Identifier: BSD-3-Clause */ 2 /* Copyright(c) 2007-2022 Intel Corporation */ 3 4 /** 5 ****************************************************************************** 6 * @file lac_sym_queue.h 7 * 8 * @defgroup LacSymQueue Symmetric request queueing functions 9 * 10 * @ingroup LacSym 11 * 12 * Function prototypes for sending/queuing symmetric requests 13 *****************************************************************************/ 14 15 #ifndef LAC_SYM_QUEUE_H 16 #define LAC_SYM_QUEUE_H 17 18 #include "cpa.h" 19 #include "lac_session.h" 20 #include "lac_sym.h" 21 22 /** 23 ******************************************************************************* 24 * @ingroup LacSymQueue 25 * Send a request message to the QAT, or queue it if necessary 26 * 27 * @description 28 * This function will send a request message to the QAT. However, if a 29 * blocking condition exists on the session (e.g. partial packet in flight, 30 * precompute in progress), then the message will instead be pushed on to 31 * the request queue for the session and will be sent later to the QAT 32 * once the blocking condition is cleared. 33 * 34 * @param[in] instanceHandle Handle for instance of QAT 35 * @param[in] pRequest Pointer to request cookie 36 * @param[out] pSessionDesc Pointer to session descriptor 37 * 38 * 39 * @retval CPA_STATUS_SUCCESS Success 40 * @retval CPA_STATUS_FAIL Function failed. 41 * @retval CPA_STATUS_RESOURCE Problem Acquiring system resource 42 * @retval CPA_STATUS_RETRY Failed to send message to QAT due to queue 43 * full condition 44 * 45 *****************************************************************************/ 46 CpaStatus LacSymQueue_RequestSend(const CpaInstanceHandle instanceHandle, 47 lac_sym_bulk_cookie_t *pRequest, 48 lac_session_desc_t *pSessionDesc); 49 50 #endif /* LAC_SYM_QUEUE_H */ 51