mcu_hi3321_watch/include/middleware/services/bts/sle/sle_common.h
2025-05-26 20:15:20 +08:00

95 lines
1.8 KiB
C

/**
* Copyright (c) @CompanyNameMagicTag 2022. All rights reserved.
*
* Description: SLE PUBLIC API module.
*/
/**
* @defgroup sle_common PUBLIC API
* @ingroup SLE
* @{
*/
#ifndef SLE_COMMON_H
#define SLE_COMMON_H
#include <stdint.h>
#include "errcode.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @if Eng
* @brief SLE version 1.0.
* @else
* @brief SLE版本1.0。
* @endif
*/
#define SLE_VERSION 0x10
/**
* @if Eng
* @brief SLE address length.
* @else
* @brief SLE地址长度。
* @endif
*/
#define SLE_ADDR_LEN 6
/**
* @if Eng
* @brief SLE device name max length.
* @else
* @brief SLE设备名称最大长度。
* @endif
*/
#define SLE_NAME_MAX_LEN 31
/**
* @if Eng
* @brief SLE link key length.
* @else
* @brief SLE 链路密钥长度。
* @endif
*/
#define SLE_LINK_KEY_LEN 16
/**
* @if Eng
* @brief SLE address type.
* @else
* @brief SLE地址类型。
* @endif
*/
typedef enum {
SLE_ADDRESS_TYPE_PUBLIC = 0, /*!< @if Eng public address
@else 公有地址 @endif */
SLE_ADDRESS_TYPE_RANDOM = 6, /*!< @if Eng random address
@else 随机地址 @endif */
} sle_addr_type_t;
/**
* @if Eng
* @brief Struct of device address.
* @else
* @brief 设备地址。
* @endif
*/
typedef struct {
uint8_t type; /*!< @if Eng SLE device address type { @ref @ref sle_addr_type_t }
@else SLE设备地址类型 { @ref @ref sle_addr_type_t } @endif */
unsigned char addr[SLE_ADDR_LEN]; /*!< @if Eng SLE device address
@else SLE设备地址 @endif */
} sle_addr_t;
#ifdef __cplusplus
}
#endif
#endif /* SLE_COMMON_H */
/**
* @}
*/