Intel
®
EP80579 Software for Security Applications on Intel
®
QuickAssist Technology
August 2009 PG
Order Number: 320183-004US 67
Using the Intel
®
QuickAssist Technology Cryptographic API—Security Software
12.7.1.3 Stop
Stop must be called prior to execution of the shutdown command. Once the
Cryptographic API module is shutdown, it will no longer respond to session creation of
perform operation requests. It will process all requests/responses still in flight. The API
is invoked by the ASD module:
icp_AsdCfgLacStop()
12.7.1.4 Shutdown
Shutdown is performed only in accordance with the following:
a. If there is an outstanding session, shutdown will be aborted.
b. If Stop has not been invoked and returned successfully, shutdown will be
aborted.
c. Otherwise shutdown will complete.
It is the responsibility of ASD to invoke the shutdown command on the Cryptographic
API module.
icp_AsdCfgLacShutdown()
12.8 Intel
®
QuickAssist Technology Cryptographic API Data
Flow
The following sections detail the basic steps involved in performing operations using the
Cryptographic API. Sample code and procedures are supplied for a subset of
operations, see [SAMPLE_CODE] for details.
12.8.1 Completion of an Operation
1. Asynchronous: A callback will be invoked upon completion of the operation
2. Synchronous: The operation perform function will return
Note: Freeing Memory: For Asychronous mode, user allocated memory may be freed once the
callback is called. For Sychronous mode, user allocated memory may be freed once the
Operation Perform API returns.
12.8.2 Symmetric Operations
A symmetric operation typically has the following cycle: session initialization, perform
one or more operations and session removal when finished.
12.8.2.1 Session Initialization
1. Define a symmetric callback function as per the API prototype, see the API manual.
If synchronous operation is preferred, instead simply pass NULL to the API for the
callback parameter.
2. Allocate memory for the session
a. Session setup data
b. Session context
— Call session context get size API to get the size