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