50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/****************************************************************************
 | 
						|
 | 
						|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
 | 
						|
 | 
						|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
 | 
						|
be copied by any method or incorporated into another program without
 | 
						|
the express written consent of Aerospace C.Power. This Information or any portion
 | 
						|
thereof remains the property of Aerospace C.Power. The Information contained herein
 | 
						|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
 | 
						|
liability for its use in any way and conveys no license or title under
 | 
						|
any patent or copyright and makes no representation or warranty that this
 | 
						|
Information is free from patent or copyright infringement.
 | 
						|
 | 
						|
****************************************************************************/
 | 
						|
 | 
						|
#ifndef MAC_CRYPTO_H
 | 
						|
#define MAC_CRYPTO_H
 | 
						|
 | 
						|
#include "iot_pkt_api.h"
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief mac_crypto_check_msdu_buf     check if the pkt is big enough for
 | 
						|
    fill zero
 | 
						|
 *
 | 
						|
 * @param vdev:                   vdev pointer
 | 
						|
 * @param p_data_buf :            point to input msdu pkt
 | 
						|
 * @param proto:                  see PLC_PROTO_TYPE_XX
 | 
						|
 | 
						|
 * @retval:                       the msdu pkt with fill data
 | 
						|
 */
 | 
						|
uint32_t mac_crypto_check_msdu_buf(mac_vdev_t *vdev,
 | 
						|
    iot_pkt_t **p_data_buf, uint32_t proto);
 | 
						|
 | 
						|
/**
 | 
						|
 * @brief mac_encrypt_msdu_handle encrypt msdu data
 | 
						|
    fill zero
 | 
						|
 *
 | 
						|
 * @param data_buf:               input msdu pkt
 | 
						|
 * @param iv:                     input iv buffer
 | 
						|
 * @param proto:                  see PLC_PROTO_TYPE_XX
 | 
						|
 * @param key_idx:                use witch key to encrypt
 | 
						|
 *
 | 
						|
 * @retval:                       error code. see CRYPTO_RET_XXX
 | 
						|
 */
 | 
						|
uint32_t mac_encrypt_msdu_handle(iot_pkt_t *data_buf,
 | 
						|
    uint8_t *iv, uint32_t proto, uint8_t key_idx);
 | 
						|
 | 
						|
#endif // MAC_CRYPTO_H
 | 
						|
 |