This section describes the programming interface of the DCP AES non-blocking driver. 
 | 
| status_t  | DCP_AES_EncryptEcbNonBlocking (DCP_Type *base, dcp_handle_t *handle, dcp_work_packet_t *dcpPacket, const uint8_t *plaintext, uint8_t *ciphertext, size_t size) | 
|   | Encrypts AES using the ECB block mode.  More...
  | 
|   | 
| status_t  | DCP_AES_DecryptEcbNonBlocking (DCP_Type *base, dcp_handle_t *handle, dcp_work_packet_t *dcpPacket, const uint8_t *ciphertext, uint8_t *plaintext, size_t size) | 
|   | Decrypts AES using ECB block mode.  More...
  | 
|   | 
| status_t  | DCP_AES_EncryptCbcNonBlocking (DCP_Type *base, dcp_handle_t *handle, dcp_work_packet_t *dcpPacket, const uint8_t *plaintext, uint8_t *ciphertext, size_t size, const uint8_t *iv) | 
|   | Encrypts AES using CBC block mode.  More...
  | 
|   | 
| status_t  | DCP_AES_DecryptCbcNonBlocking (DCP_Type *base, dcp_handle_t *handle, dcp_work_packet_t *dcpPacket, const uint8_t *ciphertext, uint8_t *plaintext, size_t size, const uint8_t *iv) | 
|   | Decrypts AES using CBC block mode.  More...
  | 
|   | 
Puts AES ECB encrypt work packet to DCP channel.
- Parameters
 - 
  
     | base | DCP peripheral base address  | 
     | handle | Handle used for this request.  | 
    | [out] | dcpPacket | Memory for the DCP work packet.  | 
     | plaintext | Input plain text to encrypt.  | 
    | [out] | ciphertext | Output cipher text  | 
     | size | Size of input and output data in bytes. Must be multiple of 16 bytes.  | 
  
   
- Returns
 - kStatus_Success The work packet has been scheduled at DCP channel. 
 
- 
kStatus_DCP_Again The DCP channel is busy processing previous request. 
 
 
 
Puts AES ECB decrypt dcpPacket to DCP input job ring.
- Parameters
 - 
  
     | base | DCP peripheral base address  | 
     | handle | Handle used for this request.  | 
    | [out] | dcpPacket | Memory for the DCP work packet.  | 
     | ciphertext | Input cipher text to decrypt  | 
    | [out] | plaintext | Output plain text  | 
     | size | Size of input and output data in bytes. Must be multiple of 16 bytes.  | 
  
   
- Returns
 - kStatus_Success The work packet has been scheduled at DCP channel. 
 
- 
kStatus_DCP_Again The DCP channel is busy processing previous request. 
 
 
 
      
        
          | status_t DCP_AES_EncryptCbcNonBlocking  | 
          ( | 
          DCP_Type *  | 
          base,  | 
        
        
           | 
           | 
          dcp_handle_t *  | 
          handle,  | 
        
        
           | 
           | 
          dcp_work_packet_t *  | 
          dcpPacket,  | 
        
        
           | 
           | 
          const uint8_t *  | 
          plaintext,  | 
        
        
           | 
           | 
          uint8_t *  | 
          ciphertext,  | 
        
        
           | 
           | 
          size_t  | 
          size,  | 
        
        
           | 
           | 
          const uint8_t *  | 
          iv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Puts AES CBC encrypt dcpPacket to DCP input job ring.
- Parameters
 - 
  
     | base | DCP peripheral base address  | 
     | handle | Handle used for this request. Specifies jobRing.  | 
    | [out] | dcpPacket | Memory for the DCP work packet.  | 
     | plaintext | Input plain text to encrypt  | 
    | [out] | ciphertext | Output cipher text  | 
     | size | Size of input and output data in bytes. Must be multiple of 16 bytes.  | 
     | iv | Input initial vector to combine with the first input block.  | 
  
   
- Returns
 - kStatus_Success The work packet has been scheduled at DCP channel. 
 
- 
kStatus_DCP_Again The DCP channel is busy processing previous request. 
 
 
 
      
        
          | status_t DCP_AES_DecryptCbcNonBlocking  | 
          ( | 
          DCP_Type *  | 
          base,  | 
        
        
           | 
           | 
          dcp_handle_t *  | 
          handle,  | 
        
        
           | 
           | 
          dcp_work_packet_t *  | 
          dcpPacket,  | 
        
        
           | 
           | 
          const uint8_t *  | 
          ciphertext,  | 
        
        
           | 
           | 
          uint8_t *  | 
          plaintext,  | 
        
        
           | 
           | 
          size_t  | 
          size,  | 
        
        
           | 
           | 
          const uint8_t *  | 
          iv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Puts AES CBC decrypt dcpPacket to DCP input job ring.
- Parameters
 - 
  
     | base | DCP peripheral base address  | 
     | handle | Handle used for this request. Specifies jobRing.  | 
    | [out] | dcpPacket | Memory for the DCP work packet.  | 
     | ciphertext | Input cipher text to decrypt  | 
    | [out] | plaintext | Output plain text  | 
     | size | Size of input and output data in bytes. Must be multiple of 16 bytes.  | 
     | iv | Input initial vector to combine with the first input block.  | 
  
   
- Returns
 - kStatus_Success The work packet has been scheduled at DCP channel. 
 
- 
kStatus_DCP_Again The DCP channel is busy processing previous request.