WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_sdp.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: Function related to wifi aware(NAN) feature.
4 */
5
6#ifndef __HMAC_SDP_H__
7#define __HMAC_SDP_H__
8
9#include "hmac_vap.h"
10#include "frw_hmac.h"
11
12#ifdef __cplusplus
13#if __cplusplus
14extern "C" {
15#endif
16#endif
17
18#define NAN_INTERVAL_VALUE 512
19#define NAN_IE_ID 0xDD /* NAN同步帧IE id */
20#define NAN_PERIOD_SMALL 128 /* 最小值用于建立同步窗口 */
21
22#define SDP_TYPE_PUBLISH 0
23#define SDP_TYPE_SUBSCRIBE 1
24#define SDP_TYPE_FOLLOWUP 2
25#define SDP_TYPE_MASK 0x03
26#define SDP_HAS_DATA_MASK 0x10
27#define SDP_SRV_ATTR_HDR_LEN 3
28#define SDP_SRV_DESC_ATTR_ID 0x03 /* SDP 服务属性ID */
29#define SDP_SRV_CTRL_OFFSET 11
30
31#define NAN_DW_ADJ_DLY_CNT 2
32#define NAN_DW_ADJ_START 20
33#define NAN_DW_ADJ_MAX 60
34#define NAN_DW_ADJ_STEP 20
35
36#define SDP_PRI_INFO_TYPE_DW 1
37#define SDP_PRI_INFO_TYPE_SLEEP 2
38#define SDP_PRI_INFO_TYPE_LEN 4
39#define SDP_PRI_INFO_LEN 19
40
41#define SDP_LOW_POWER_RETRIES 200
42
43#define HMAC_SDP_EN_SC 2 /* enable sdp and switch channel test */
44#define HMAC_SDP_ENABLE 1 /* enable sdp */
45
46#define SERVICE_DESCRIPTOR_ATTR_ID 0x03
47#define COUNTRY_CODE_ATTR_ID 0x0B
48#define SERVICE_DESCRIPTOR_EXT_ATTR_ID 0x0E
49#define DEVICE_CAP_ATTR_ID 0x0F
50#define NAN_AVAILABILITY_ATTR_ID 0x12
51#define RANGING_INFO_ATTR_ID 0x1A
52#define VENDOR_SPECIFIC_ATTR_ID 0xDD
53#define HMAC_MAX_SUBSCRIBE_NUM 1
54#define HMAC_MAX_PUBLISH_NUM 0
55#define HMAC_MAX_BUFFER_NUM 8
56#define HMAC_SDP_TYPE_PUBLISH 0
57#define HMAC_SDP_TYPE_SUBSCRIBE 1
58#define HMAC_SDP_TYPE_FOLLOWUP 2
59#define HMAC_SDP_TYPE_SWITCH_LENGTH 4
60#define HMAC_SDP_TYPE_MASK 0x03
61#define HMAC_SDP_HAS_DATA_MASK 0x10
62#define MAC_ATTR_HDR_LEN 3
63#define HMAC_SDP_NO_DATA_LEN 10
64#define HMAC_SDP_TX_UESR_ID 0xF
65#define HMAC_PUBLISH_TIMEOUT 400 /* publish报文发送间隔时间*ms */
66
67#define SDP_SERVICE_NAME_LEN 6
68
69#define SDP_HASH_SERVICE_NAME_LEN 6
70#define WAL_SDP_EN_SC 2 /* enable sdp and switch channel test */
71#define WAL_SDP_ENABLE 1 /* enable sdp */
72#define WAL_SDP_DISABLE 0 /* disable sdp */
73
74#define WAL_SDP_BEACON_SWITCH_ENABLE 1 /* enable beacon switch */
75#define WAL_SDP_BEACON_SWITCH_DISABLE 0 /* disable beacon switch */
76
78 OAL_SDP_SERVICE_TYPE_DEFAULT = 0, /* 默认值 */
79 OAL_SDP_SERVICE_TYPE_PUBLISH = 1, /* 对外发布服务 */
80 OAL_SDP_SERVICE_TYPE_SUBSCRIBE = 2, /* 订阅外部服务 */
81 OAL_SDP_SERVICE_TYPE_GET_PUBLISH = 4 /* 收到外部发布服务消息 */
82};
83
93
99
106
121
131
138
145
156
161
167
171
176osal_u32 hmac_sdp_init(hmac_vap_stru *hmac_vap, osal_bool switch_channel, osal_u16 peroid, osal_u8 *input_ratio);
182
188 osal_u8 len);
189
193 oal_bool_enum_uint8 *reported_host);
194
197
198static osal_u32 hmac_sdp_init_weakref(osal_void) __attribute__ ((weakref("hmac_sdp_msg_init"), used));
199static osal_void hmac_sdp_deinit_weakref(osal_void) __attribute__ ((weakref("hmac_sdp_msg_deinit"), used));
200
201#ifdef __cplusplus
202#if __cplusplus
203 }
204#endif
205#endif
206
207#endif /* end of hmac_sdp.h */
208
osal_u32 hmac_sdp_send_followup_to_host(const hmac_vap_stru *hmac_vap, oal_sdp_info *sdp_info, osal_u8 *data, osal_u8 len)
Definition hmac_sdp.c:521
osal_s32 hmac_sdp_init_enable(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:256
hmac_sdp_pos
Definition hmac_sdp.h:132
@ HMAC_SDP_POS_PEER_HANDLE
Definition hmac_sdp.h:133
@ HMAC_SDP_POS_TYPE
Definition hmac_sdp.h:135
@ HMAC_SDP_POS_LOCAL_HANDLE
Definition hmac_sdp.h:134
@ HMAC_SDP_POS_DATA_LEN
Definition hmac_sdp.h:136
#define SDP_SERVICE_NAME_LEN
Definition hmac_sdp.h:67
osal_s32 hmac_sdp_dw_prd_time_cfg(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:182
osal_u8 hmac_is_sdp_frame(oal_netbuf_stru *netbuf)
Definition hmac_sdp.c:662
osal_void hmac_sdp_feature_hook_register(osal_void)
Definition hmac_sdp.c:946
osal_s32 hmac_sdp_test(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp_test.c:525
osal_s32 hmac_sdp_cancel_subscribe(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:163
#define HMAC_MAX_SUBSCRIBE_NUM
Definition hmac_sdp.h:53
osal_u32 hmac_sdp_proc_rx_mgmt(hmac_vap_stru *hmac_vap, oal_netbuf_stru *netbuf, oal_bool_enum_uint8 *reported_host)
Definition hmac_sdp_test.c:552
osal_u32 hmac_sdp_deinit(hmac_vap_stru *hmac_vap)
Definition hmac_sdp.c:320
osal_u32 hmac_sdp_init(hmac_vap_stru *hmac_vap, osal_bool switch_channel, osal_u16 peroid, osal_u8 *input_ratio)
Definition hmac_sdp.c:282
#define SDP_HASH_SERVICE_NAME_LEN
Definition hmac_sdp.h:69
osal_u8(* hmac_is_sdp_frame_cb)(oal_netbuf_stru *netbuf)
Definition hmac_sdp.h:191
oal_bool_enum hmac_sdp_is_init(osal_void)
Definition hmac_sdp.c:276
const hmac_sdp_service_info * hmac_sdp_get_service_info(osal_void)
Definition hmac_sdp.c:696
osal_u8 * hmac_sdp_parse_rx(oal_netbuf_stru *netbuf, oal_sdp_info *sdp_param)
Definition hmac_sdp.c:554
osal_s32 hmac_sdp_send_data(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:608
static osal_u32 used
Definition hmac_sdp.h:198
osal_u32(* hmac_sdp_proc_rx_mgmt_cb)(hmac_vap_stru *hmac_vap, oal_netbuf_stru *netbuf, oal_bool_enum_uint8 *reported_host)
Definition hmac_sdp.h:192
OAL_SDP_SERVICE_TYPE
Definition hmac_sdp.h:77
@ OAL_SDP_SERVICE_TYPE_GET_PUBLISH
Definition hmac_sdp.h:81
@ OAL_SDP_SERVICE_TYPE_PUBLISH
Definition hmac_sdp.h:79
@ OAL_SDP_SERVICE_TYPE_DEFAULT
Definition hmac_sdp.h:78
@ OAL_SDP_SERVICE_TYPE_SUBSCRIBE
Definition hmac_sdp.h:80
osal_void hmac_sdp_feature_hook_unregister(osal_void)
Definition hmac_sdp.c:955
#define HMAC_MAX_PUBLISH_NUM
Definition hmac_sdp.h:54
osal_s32 hmac_sdp_add_peer_mac(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:200
oal_bool_enum(* hmac_sdp_is_init_cb)(osal_void)
Definition hmac_sdp.h:190
osal_s32 hmac_sdp_start_subscribe(hmac_vap_stru *hmac_vap, frw_msg *msg)
Definition hmac_sdp.c:118
#define MAC_OUI_LEN
Definition mac_frame.h:160
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
oal_bool_enum
Definition oal_types_device_rom.h:40
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Log message information header.
Definition log_oam_logger.h:564
Definition frw_msg_rom.h:74
Definition hmac_sdp.h:146
osal_u8 svc_ctrl
Definition hmac_sdp.h:153
osal_u8 info_len
Definition hmac_sdp.h:154
osal_u8 attr_len_high
Definition hmac_sdp.h:149
osal_u8 peer_handle
Definition hmac_sdp.h:152
osal_u8 attr_id
Definition hmac_sdp.h:147
osal_u8 attr_len_low
Definition hmac_sdp.h:148
osal_u8 local_handle
Definition hmac_sdp.h:151
Definition hmac_sdp.h:157
hmac_vap_stru * mac_vap
Definition hmac_sdp.h:159
Definition hmac_sdp.h:168
oal_netbuf_stru * netbuf
Definition hmac_sdp.h:169
Definition mac_vap_ext.h:2019
Definition hmac_sdp.h:100
osal_u16 dw_time
Definition hmac_sdp.h:101
osal_u16 prd_time
Definition hmac_sdp.h:102
osal_u16 prd_pre_time
Definition hmac_sdp.h:103
Definition hmac_sdp.h:84
osal_u8 peer_handle
Definition hmac_sdp.h:90
osal_u8 len
Definition hmac_sdp.h:88
osal_u8 rsv_id
Definition hmac_sdp.h:91
osal_u8 local_handle
Definition hmac_sdp.h:89
osal_u8 * data
Definition hmac_sdp.h:87
osal_u16 rsv
Definition hmac_sdp.h:86
Definition hmac_sdp.h:94
osal_u8 local_handle
Definition hmac_sdp.h:96
osal_u8 type
Definition hmac_sdp.h:97
Definition hmac_sdp.h:122
osal_u8 attr_len
Definition hmac_sdp.h:123
osal_u8 type
Definition hmac_sdp.h:126
osal_u8 total_type
Definition hmac_sdp.h:124
osal_u8 total_len
Definition hmac_sdp.h:125
osal_u8 local_handle
Definition hmac_sdp.h:128
Definition hmac_sdp.h:107
osal_u8 total_len
Definition hmac_sdp.h:110
osal_u8 type
Definition hmac_sdp.h:111
osal_u32 wake_period
Definition hmac_sdp.h:116
osal_u8 is_connected
Definition hmac_sdp.h:117
osal_u8 total_type
Definition hmac_sdp.h:109
osal_u8 wake_len
Definition hmac_sdp.h:114
osal_u8 ratio
Definition hmac_sdp.h:118
osal_u16 wake_rsv
Definition hmac_sdp.h:115
osal_u8 attr_len
Definition hmac_sdp.h:108
osal_u32 total_period
Definition hmac_sdp.h:112
osal_u8 wake_type
Definition hmac_sdp.h:113
Definition hmac_sdp.h:139
osal_u8 type
Definition hmac_sdp.h:143
osal_u8 action_code
Definition hmac_sdp.h:141
osal_u8 category
Definition hmac_sdp.h:140
Definition hmac_sdp.h:162
osal_u8 handle
Definition hmac_sdp.h:164
osal_u8 rsv
Definition hmac_sdp.h:165
Definition oal_skbuff.h:82
Definition hal_uart_v151_regs_def.h:38