178ee8d1cSJulian Grajkowski /*************************************************************************** 278ee8d1cSJulian Grajkowski * 378ee8d1cSJulian Grajkowski * BSD LICENSE 478ee8d1cSJulian Grajkowski * 5266b0663SKrzysztof Zdziarski * Copyright(c) 2007-2023 Intel Corporation. All rights reserved. 678ee8d1cSJulian Grajkowski * All rights reserved. 778ee8d1cSJulian Grajkowski * 878ee8d1cSJulian Grajkowski * Redistribution and use in source and binary forms, with or without 978ee8d1cSJulian Grajkowski * modification, are permitted provided that the following conditions 1078ee8d1cSJulian Grajkowski * are met: 1178ee8d1cSJulian Grajkowski * 1278ee8d1cSJulian Grajkowski * * Redistributions of source code must retain the above copyright 1378ee8d1cSJulian Grajkowski * notice, this list of conditions and the following disclaimer. 1478ee8d1cSJulian Grajkowski * * Redistributions in binary form must reproduce the above copyright 1578ee8d1cSJulian Grajkowski * notice, this list of conditions and the following disclaimer in 1678ee8d1cSJulian Grajkowski * the documentation and/or other materials provided with the 1778ee8d1cSJulian Grajkowski * distribution. 1878ee8d1cSJulian Grajkowski * * Neither the name of Intel Corporation nor the names of its 1978ee8d1cSJulian Grajkowski * contributors may be used to endorse or promote products derived 2078ee8d1cSJulian Grajkowski * from this software without specific prior written permission. 2178ee8d1cSJulian Grajkowski * 2278ee8d1cSJulian Grajkowski * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2378ee8d1cSJulian Grajkowski * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2478ee8d1cSJulian Grajkowski * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2578ee8d1cSJulian Grajkowski * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2678ee8d1cSJulian Grajkowski * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2778ee8d1cSJulian Grajkowski * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2878ee8d1cSJulian Grajkowski * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2978ee8d1cSJulian Grajkowski * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 3078ee8d1cSJulian Grajkowski * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3178ee8d1cSJulian Grajkowski * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3278ee8d1cSJulian Grajkowski * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3378ee8d1cSJulian Grajkowski * 3478ee8d1cSJulian Grajkowski * 3578ee8d1cSJulian Grajkowski ***************************************************************************/ 3678ee8d1cSJulian Grajkowski 3778ee8d1cSJulian Grajkowski /* 3878ee8d1cSJulian Grajkowski ***************************************************************************** 3978ee8d1cSJulian Grajkowski * Doxygen group definitions 4078ee8d1cSJulian Grajkowski ****************************************************************************/ 4178ee8d1cSJulian Grajkowski 4278ee8d1cSJulian Grajkowski /** 4378ee8d1cSJulian Grajkowski ***************************************************************************** 4478ee8d1cSJulian Grajkowski * @file cpa_cy_im.h 4578ee8d1cSJulian Grajkowski * 4678ee8d1cSJulian Grajkowski * @defgroup cpaCyInstMaint Cryptographic Instance Management API 4778ee8d1cSJulian Grajkowski * 4878ee8d1cSJulian Grajkowski * @ingroup cpaCy 4978ee8d1cSJulian Grajkowski * 5078ee8d1cSJulian Grajkowski * @description 5178ee8d1cSJulian Grajkowski * These functions specify the Instance Management API for available 5278ee8d1cSJulian Grajkowski * Cryptographic Instances. It is expected that these functions will only be 5378ee8d1cSJulian Grajkowski * called via a single system maintenance entity, rather than individual 5478ee8d1cSJulian Grajkowski * clients. 5578ee8d1cSJulian Grajkowski * 5678ee8d1cSJulian Grajkowski *****************************************************************************/ 5778ee8d1cSJulian Grajkowski 5878ee8d1cSJulian Grajkowski #ifndef CPA_CY_IM_H_ 5978ee8d1cSJulian Grajkowski #define CPA_CY_IM_H_ 6078ee8d1cSJulian Grajkowski 6178ee8d1cSJulian Grajkowski #ifdef __cplusplus 6278ee8d1cSJulian Grajkowski extern "C" { 6378ee8d1cSJulian Grajkowski #endif 6478ee8d1cSJulian Grajkowski 6578ee8d1cSJulian Grajkowski #include "cpa_cy_common.h" 6678ee8d1cSJulian Grajkowski 6778ee8d1cSJulian Grajkowski /** 6878ee8d1cSJulian Grajkowski ***************************************************************************** 6978ee8d1cSJulian Grajkowski * @ingroup cpaCyInstMaint 7078ee8d1cSJulian Grajkowski * Cryptographic Component Initialization and Start function. 7178ee8d1cSJulian Grajkowski * 7278ee8d1cSJulian Grajkowski * @description 7378ee8d1cSJulian Grajkowski * This function will initialize and start the Cryptographic component. 7478ee8d1cSJulian Grajkowski * It MUST be called before any other crypto function is called. This 7578ee8d1cSJulian Grajkowski * function SHOULD be called only once (either for the very first time, 7678ee8d1cSJulian Grajkowski * or after an cpaCyStopInstance call which succeeded) per instance. 7778ee8d1cSJulian Grajkowski * Subsequent calls will have no effect. 7878ee8d1cSJulian Grajkowski * 7978ee8d1cSJulian Grajkowski * @context 8078ee8d1cSJulian Grajkowski * This function may sleep, and MUST NOT be called in interrupt context. 8178ee8d1cSJulian Grajkowski * @assumptions 8278ee8d1cSJulian Grajkowski * None 8378ee8d1cSJulian Grajkowski * @sideEffects 8478ee8d1cSJulian Grajkowski * None 8578ee8d1cSJulian Grajkowski * @blocking 8678ee8d1cSJulian Grajkowski * This function is synchronous and blocking. 8778ee8d1cSJulian Grajkowski * @reentrant 8878ee8d1cSJulian Grajkowski * No 8978ee8d1cSJulian Grajkowski * @threadSafe 9078ee8d1cSJulian Grajkowski * Yes 9178ee8d1cSJulian Grajkowski * @param[out] instanceHandle Handle to an instance of this API to be 9278ee8d1cSJulian Grajkowski * initialized. 9378ee8d1cSJulian Grajkowski * 9478ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Function executed successfully. 9578ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Function failed. Suggested course of action 9678ee8d1cSJulian Grajkowski * is to shutdown and restart. 9778ee8d1cSJulian Grajkowski * @retval CPA_STATUS_UNSUPPORTED Function is not supported. 9878ee8d1cSJulian Grajkowski * 9978ee8d1cSJulian Grajkowski * @pre 10078ee8d1cSJulian Grajkowski * None. 10178ee8d1cSJulian Grajkowski * @post 10278ee8d1cSJulian Grajkowski * None 10378ee8d1cSJulian Grajkowski * @note 10478ee8d1cSJulian Grajkowski * Note that this is a synchronous function and has no completion callback 10578ee8d1cSJulian Grajkowski * associated with it. 10678ee8d1cSJulian Grajkowski * 10778ee8d1cSJulian Grajkowski * @see 10878ee8d1cSJulian Grajkowski * cpaCyStopInstance() 10978ee8d1cSJulian Grajkowski * 11078ee8d1cSJulian Grajkowski *****************************************************************************/ 11178ee8d1cSJulian Grajkowski CpaStatus 11278ee8d1cSJulian Grajkowski cpaCyStartInstance(CpaInstanceHandle instanceHandle); 11378ee8d1cSJulian Grajkowski 11478ee8d1cSJulian Grajkowski /** 11578ee8d1cSJulian Grajkowski ***************************************************************************** 11678ee8d1cSJulian Grajkowski * @ingroup cpaCyInstMaint 11778ee8d1cSJulian Grajkowski * Cryptographic Component Stop function. 11878ee8d1cSJulian Grajkowski * 11978ee8d1cSJulian Grajkowski * @description 12078ee8d1cSJulian Grajkowski * This function will stop the Cryptographic component and free 12178ee8d1cSJulian Grajkowski * all system resources associated with it. The client MUST ensure that 12278ee8d1cSJulian Grajkowski * all outstanding operations have completed before calling this function. 12378ee8d1cSJulian Grajkowski * The recommended approach to ensure this is to deregister all session or 12478ee8d1cSJulian Grajkowski * callback handles before calling this function. If outstanding 12578ee8d1cSJulian Grajkowski * operations still exist when this function is invoked, the callback 12678ee8d1cSJulian Grajkowski * function for each of those operations will NOT be invoked and the 12778ee8d1cSJulian Grajkowski * shutdown will continue. If the component is to be restarted, then a 12878ee8d1cSJulian Grajkowski * call to cpaCyStartInstance is required. 12978ee8d1cSJulian Grajkowski * 13078ee8d1cSJulian Grajkowski * @context 13178ee8d1cSJulian Grajkowski * This function may sleep, and so MUST NOT be called in interrupt 13278ee8d1cSJulian Grajkowski * context. 13378ee8d1cSJulian Grajkowski * @assumptions 13478ee8d1cSJulian Grajkowski * None 13578ee8d1cSJulian Grajkowski * @sideEffects 13678ee8d1cSJulian Grajkowski * None 13778ee8d1cSJulian Grajkowski * @blocking 13878ee8d1cSJulian Grajkowski * This function is synchronous and blocking. 13978ee8d1cSJulian Grajkowski * @reentrant 14078ee8d1cSJulian Grajkowski * No 14178ee8d1cSJulian Grajkowski * @threadSafe 14278ee8d1cSJulian Grajkowski * Yes 14378ee8d1cSJulian Grajkowski * @param[in] instanceHandle Handle to an instance of this API to be 14478ee8d1cSJulian Grajkowski * shutdown. 14578ee8d1cSJulian Grajkowski * 14678ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Function executed successfully. 14778ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Function failed. Suggested course of action 14878ee8d1cSJulian Grajkowski * is to ensure requests are not still being 14978ee8d1cSJulian Grajkowski * submitted and that all sessions are 15078ee8d1cSJulian Grajkowski * deregistered. If this does not help, then 15178ee8d1cSJulian Grajkowski * forcefully remove the component from the 15278ee8d1cSJulian Grajkowski * system. 15378ee8d1cSJulian Grajkowski * @retval CPA_STATUS_UNSUPPORTED Function is not supported. 15478ee8d1cSJulian Grajkowski * 15578ee8d1cSJulian Grajkowski * @pre 15678ee8d1cSJulian Grajkowski * The component has been initialized via cpaCyStartInstance. 15778ee8d1cSJulian Grajkowski * @post 15878ee8d1cSJulian Grajkowski * None 15978ee8d1cSJulian Grajkowski * @note 16078ee8d1cSJulian Grajkowski * Note that this is a synchronous function and has no completion callback 16178ee8d1cSJulian Grajkowski * associated with it. 16278ee8d1cSJulian Grajkowski * 16378ee8d1cSJulian Grajkowski * @see 16478ee8d1cSJulian Grajkowski * cpaCyStartInstance() 16578ee8d1cSJulian Grajkowski * 16678ee8d1cSJulian Grajkowski *****************************************************************************/ 16778ee8d1cSJulian Grajkowski CpaStatus 16878ee8d1cSJulian Grajkowski cpaCyStopInstance(CpaInstanceHandle instanceHandle); 16978ee8d1cSJulian Grajkowski 17078ee8d1cSJulian Grajkowski /** 17178ee8d1cSJulian Grajkowski ***************************************************************************** 17278ee8d1cSJulian Grajkowski * @ingroup cpaCyInstMaint 17378ee8d1cSJulian Grajkowski * Cryptographic Capabilities Info 17478ee8d1cSJulian Grajkowski * 17578ee8d1cSJulian Grajkowski * @description 17678ee8d1cSJulian Grajkowski * This structure contains the capabilities that vary across API 17778ee8d1cSJulian Grajkowski * implementations. This structure is used in conjunction with 17878ee8d1cSJulian Grajkowski * @ref cpaCyQueryCapabilities() to determine the capabilities supported 17978ee8d1cSJulian Grajkowski * by a particular API implementation. 18078ee8d1cSJulian Grajkowski * 18178ee8d1cSJulian Grajkowski * The client MUST allocate memory for this structure and any members 18278ee8d1cSJulian Grajkowski * that require memory. When the structure is passed into the function 18378ee8d1cSJulian Grajkowski * ownership of the memory passes to the function. Ownership of the 18478ee8d1cSJulian Grajkowski * memory returns to the client when the function returns. 18578ee8d1cSJulian Grajkowski *****************************************************************************/ 18678ee8d1cSJulian Grajkowski typedef struct _CpaCyCapabilitiesInfo 18778ee8d1cSJulian Grajkowski { 18878ee8d1cSJulian Grajkowski CpaBoolean symSupported; 18978ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the symmetric cryptography API. 19078ee8d1cSJulian Grajkowski * See @ref cpaCySym. */ 19178ee8d1cSJulian Grajkowski CpaBoolean symDpSupported; 19278ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the symmetric cryptography 19378ee8d1cSJulian Grajkowski * data plane API. 19478ee8d1cSJulian Grajkowski * See @ref cpaCySymDp. */ 19578ee8d1cSJulian Grajkowski CpaBoolean dhSupported; 19678ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Diffie Hellman API. 19778ee8d1cSJulian Grajkowski * See @ref cpaCyDh. */ 19878ee8d1cSJulian Grajkowski CpaBoolean dsaSupported; 19978ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the DSA API. 20078ee8d1cSJulian Grajkowski * See @ref cpaCyDsa. */ 20178ee8d1cSJulian Grajkowski CpaBoolean rsaSupported; 20278ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the RSA API. 20378ee8d1cSJulian Grajkowski * See @ref cpaCyRsa. */ 20478ee8d1cSJulian Grajkowski CpaBoolean ecSupported; 20578ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Elliptic Curve API. 20678ee8d1cSJulian Grajkowski * See @ref cpaCyEc. */ 20778ee8d1cSJulian Grajkowski CpaBoolean ecdhSupported; 20878ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Elliptic Curve Diffie Hellman API. 20978ee8d1cSJulian Grajkowski * See @ref cpaCyEcdh. */ 21078ee8d1cSJulian Grajkowski CpaBoolean ecdsaSupported; 21178ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Elliptic Curve DSA API. 21278ee8d1cSJulian Grajkowski * See @ref cpaCyEcdsa. */ 21378ee8d1cSJulian Grajkowski CpaBoolean keySupported; 21478ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Key Generation API. 21578ee8d1cSJulian Grajkowski * See @ref cpaCyKeyGen. */ 21678ee8d1cSJulian Grajkowski CpaBoolean lnSupported; 21778ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Large Number API. 21878ee8d1cSJulian Grajkowski * See @ref cpaCyLn. */ 21978ee8d1cSJulian Grajkowski CpaBoolean primeSupported; 22078ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the prime number testing API. 22178ee8d1cSJulian Grajkowski * See @ref cpaCyPrime. */ 22278ee8d1cSJulian Grajkowski CpaBoolean drbgSupported; 22378ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the DRBG API. 22478ee8d1cSJulian Grajkowski * See @ref cpaCyDrbg. */ 22578ee8d1cSJulian Grajkowski CpaBoolean nrbgSupported; 22678ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the NRBG API. 22778ee8d1cSJulian Grajkowski * See @ref cpaCyNrbg. */ 22878ee8d1cSJulian Grajkowski CpaBoolean randSupported; 22978ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the random bit/number generation API. 23078ee8d1cSJulian Grajkowski * See @ref cpaCyRand. */ 23178ee8d1cSJulian Grajkowski CpaBoolean kptSupported; 23278ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Intel(R) KPT Cryptographic API. 23378ee8d1cSJulian Grajkowski * See @ref cpaCyKpt. */ 23478ee8d1cSJulian Grajkowski CpaBoolean hkdfSupported; 23578ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the HKDF components of the KeyGen API. 23678ee8d1cSJulian Grajkowski * See @ref cpaCyKeyGen. */ 23778ee8d1cSJulian Grajkowski CpaBoolean extAlgchainSupported; 23878ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports algorithm chaining for certain 23978ee8d1cSJulian Grajkowski * wireless algorithms. Please refer to implementation for details. 24078ee8d1cSJulian Grajkowski * See @ref cpaCySym. */ 24178ee8d1cSJulian Grajkowski CpaBoolean ecEdMontSupported; 24278ee8d1cSJulian Grajkowski /**< CPA_TRUE if instance supports the Edwards and Montgomery elliptic 24378ee8d1cSJulian Grajkowski * curves of the EC API. 24478ee8d1cSJulian Grajkowski * See @ref cpaCyEc */ 245266b0663SKrzysztof Zdziarski CpaBoolean ecSm2Supported; 246266b0663SKrzysztof Zdziarski /**< CPA_TRUE if instance supports the EcSM2 API. 247266b0663SKrzysztof Zdziarski * See @ref cpaCyEcsm2. */ 24878ee8d1cSJulian Grajkowski } CpaCyCapabilitiesInfo; 24978ee8d1cSJulian Grajkowski 25078ee8d1cSJulian Grajkowski /** 25178ee8d1cSJulian Grajkowski ***************************************************************************** 25278ee8d1cSJulian Grajkowski * @ingroup cpaCyInstMaint 25378ee8d1cSJulian Grajkowski * Returns capabilities of a Cryptographic API instance 25478ee8d1cSJulian Grajkowski * 25578ee8d1cSJulian Grajkowski * @description 25678ee8d1cSJulian Grajkowski * This function is used to query the instance capabilities. 25778ee8d1cSJulian Grajkowski * 25878ee8d1cSJulian Grajkowski * @context 25978ee8d1cSJulian Grajkowski * The function shall not be called in an interrupt context. 26078ee8d1cSJulian Grajkowski * @assumptions 26178ee8d1cSJulian Grajkowski * None 26278ee8d1cSJulian Grajkowski * @sideEffects 26378ee8d1cSJulian Grajkowski * None 26478ee8d1cSJulian Grajkowski * @blocking 26578ee8d1cSJulian Grajkowski * This function is synchronous and blocking. 26678ee8d1cSJulian Grajkowski * @reentrant 26778ee8d1cSJulian Grajkowski * No 26878ee8d1cSJulian Grajkowski * @threadSafe 26978ee8d1cSJulian Grajkowski * Yes 27078ee8d1cSJulian Grajkowski * 27178ee8d1cSJulian Grajkowski * @param[in] instanceHandle Handle to an instance of this API. 27278ee8d1cSJulian Grajkowski * @param[out] pCapInfo Pointer to capabilities info structure. 27378ee8d1cSJulian Grajkowski * All fields in the structure 27478ee8d1cSJulian Grajkowski * are populated by the API instance. 27578ee8d1cSJulian Grajkowski * 27678ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Function executed successfully. 27778ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Function failed. 27878ee8d1cSJulian Grajkowski * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in. 27978ee8d1cSJulian Grajkowski * @retval CPA_STATUS_UNSUPPORTED Function is not supported. 28078ee8d1cSJulian Grajkowski * 28178ee8d1cSJulian Grajkowski * @pre 28278ee8d1cSJulian Grajkowski * The instance has been initialized via the @ref cpaCyStartInstance 28378ee8d1cSJulian Grajkowski * function. 28478ee8d1cSJulian Grajkowski * @post 28578ee8d1cSJulian Grajkowski * None 28678ee8d1cSJulian Grajkowski *****************************************************************************/ 28778ee8d1cSJulian Grajkowski CpaStatus 28878ee8d1cSJulian Grajkowski cpaCyQueryCapabilities(const CpaInstanceHandle instanceHandle, 28978ee8d1cSJulian Grajkowski CpaCyCapabilitiesInfo * pCapInfo); 29078ee8d1cSJulian Grajkowski 29178ee8d1cSJulian Grajkowski /** 29278ee8d1cSJulian Grajkowski ***************************************************************************** 29378ee8d1cSJulian Grajkowski * @ingroup cpaCyInstMaint 29478ee8d1cSJulian Grajkowski * Sets the address translation function 29578ee8d1cSJulian Grajkowski * 29678ee8d1cSJulian Grajkowski * @description 29778ee8d1cSJulian Grajkowski * This function is used to set the virtual to physical address 29878ee8d1cSJulian Grajkowski * translation routine for the instance. The specified routine 29978ee8d1cSJulian Grajkowski * is used by the instance to perform any required translation of 30078ee8d1cSJulian Grajkowski * a virtual address to a physical address. If the application 30178ee8d1cSJulian Grajkowski * does not invoke this function, then the instance will use its 30278ee8d1cSJulian Grajkowski * default method, such as virt2phys, for address translation. 30378ee8d1cSJulian Grajkowski 30478ee8d1cSJulian Grajkowski * @context 30578ee8d1cSJulian Grajkowski * The function shall not be called in an interrupt context. 30678ee8d1cSJulian Grajkowski * @assumptions 30778ee8d1cSJulian Grajkowski * None 30878ee8d1cSJulian Grajkowski * @sideEffects 30978ee8d1cSJulian Grajkowski * None 31078ee8d1cSJulian Grajkowski * @blocking 31178ee8d1cSJulian Grajkowski * This function is synchronous and blocking. 31278ee8d1cSJulian Grajkowski * @reentrant 31378ee8d1cSJulian Grajkowski * No 31478ee8d1cSJulian Grajkowski * @threadSafe 31578ee8d1cSJulian Grajkowski * Yes 31678ee8d1cSJulian Grajkowski * 31778ee8d1cSJulian Grajkowski * @param[in] instanceHandle Handle to an instance of this API. 31878ee8d1cSJulian Grajkowski * @param[in] virtual2Physical Routine that performs virtual to 31978ee8d1cSJulian Grajkowski * physical address translation. 32078ee8d1cSJulian Grajkowski * 32178ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Function executed successfully. 32278ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Function failed. 32378ee8d1cSJulian Grajkowski * @retval CPA_STATUS_INVALID_PARAM Invalid parameter passed in. 32478ee8d1cSJulian Grajkowski * @retval CPA_STATUS_UNSUPPORTED Function is not supported. 32578ee8d1cSJulian Grajkowski * 32678ee8d1cSJulian Grajkowski * @pre 32778ee8d1cSJulian Grajkowski * None 32878ee8d1cSJulian Grajkowski * @post 32978ee8d1cSJulian Grajkowski * None 33078ee8d1cSJulian Grajkowski * @see 33178ee8d1cSJulian Grajkowski * None 33278ee8d1cSJulian Grajkowski * 33378ee8d1cSJulian Grajkowski *****************************************************************************/ 33478ee8d1cSJulian Grajkowski CpaStatus 33578ee8d1cSJulian Grajkowski cpaCySetAddressTranslation(const CpaInstanceHandle instanceHandle, 33678ee8d1cSJulian Grajkowski CpaVirtualToPhysical virtual2Physical); 33778ee8d1cSJulian Grajkowski 33878ee8d1cSJulian Grajkowski #ifdef __cplusplus 33978ee8d1cSJulian Grajkowski } /* close the extern "C" { */ 34078ee8d1cSJulian Grajkowski #endif 34178ee8d1cSJulian Grajkowski 34278ee8d1cSJulian Grajkowski #endif /*CPA_CY_IM_H_*/ 343