/**************************************************************************** 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