• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef LNN_EVENT_FORM_H
17 #define LNN_EVENT_FORM_H
18 
19 #include <stdint.h>
20 
21 #include "event_form_enum.h"
22 #include "softbus_common.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #define LNN_DEFAULT_PKG_NAME "MODULE_LNN"
29 #define DEVICE_TYPE_SIZE_LEN 3
30 #define HB_SHORT_UDID_HASH_HEX_LEN 16
31 #define BROADCAST_INTERVAL_DEFAULT 50
32 #define MAX_TIME_LATENCY 30000
33 #define DEVICE_NAME_BUF_LEN 128
34 
35 typedef enum {
36     EVENT_SCENE_LNN = 1,
37     EVENT_SCENE_JOIN_LNN = 2,
38     EVENT_SCENE_LEAVE_LNN = 3,
39     EVENT_SCENE_LANE = 4,
40     EVENT_SCENE_DDOS = 5,
41 } LnnEventScene;
42 
43 typedef enum {
44     EVENT_STAGE_LNN_DISC_SDK = 1,
45     EVENT_STAGE_LNN_DISC_SERVICE = 2,
46     EVENT_STAGE_LNN_JOIN_SDK = 3,
47     EVENT_STAGE_LNN_LEAVE_SDK = 4,
48     EVENT_STAGE_LNN_REG_NODE = 5,
49     EVENT_STAGE_LNN_SHIFT_GEAR = 6,
50     EVENT_STAGE_LNN_LANE_SELECT_START = 7,
51     EVENT_STAGE_LNN_LANE_SELECT_END = 8,
52     EVENT_STAGE_LNN_CTRL_BLE = 9,
53     EVENT_STAGE_LNN_DATA_LEVEL = 10,
54     EVENT_STAGE_LNN_BLE_TRIGGER = 11,
55     EVENT_STAGE_LNN_WIFI_TRIGGER = 12,
56     EVENT_STAGE_LNN_SCREEN_STATE_CHANGED = 13,
57     EVENT_STAGE_LNN_USER_SWITCHED = 14,
58     EVENT_STAGE_LNN_UPDATE_ACCOUNT = 15,
59 } LnnEventLnnStage;
60 
61 typedef enum {
62     EVENT_STAGE_JOIN_LNN_START = 1,
63     EVENT_STAGE_AUTH = 2,
64     EVENT_STAGE_AUTH_CONNECTION = 3,
65     EVENT_STAGE_AUTH_DEVICE_ID_POST = 4,
66     EVENT_STAGE_AUTH_DEVICE_ID_PROCESS = 5,
67     EVENT_STAGE_AUTH_HICHAIN_START = 6,
68     EVENT_STAGE_AUTH_HICHAIN_END = 7,
69     EVENT_STAGE_AUTH_EXCHANGE_CIPHER = 8,
70     EVENT_STAGE_AUTH_DEVICE_INFO_POST = 9,
71     EVENT_STAGE_AUTH_DEVICE_INFO_PROCESS = 10,
72     EVENT_STAGE_JOIN_LNN_END = 11,
73     EVENT_STAGE_JOIN_LNN_RECEIVE_BROADCAST = 12,
74     EVENT_STAGE_JOIN_LNN_DEVICE_FOUND = 13,
75 } LnnEventJoinLnnStage;
76 
77 typedef enum {
78     EVENT_STAGE_LEAVE_LNN = 1,
79 } LnnEventLeaveLnnStage;
80 
81 typedef enum {
82     EVENT_STAGE_LANE_CONFLICT = 1,
83     EVENT_STAGE_LANE_DECIDE_FAIL,
84     EVENT_STAGE_LANE_BUILD_SUCC,
85     EVENT_STAGE_LANE_BUILD_FAIL,
86     EVENT_STAGE_LANE_FREE_SUCC,
87     EVENT_STAGE_LANE_FREE_FAIL,
88 } LnnEventLaneStage;
89 
90 typedef enum {
91     EVENT_STAGE_DDOS_THRESHOLD = 1,
92 } LnnEventDdosStage;
93 
94 typedef enum {
95     DB_TRIGGER = 0,
96     DM_TRIGGER = 1,
97     UPDATE_ACCOUNT = 2,
98     SCREEN_ON = 3,
99     SCREEN_OFF = 4,
100     BLE_TURN_ON = 5,
101     BLE_TURN_OFF = 6,
102     BLE_MULTISCREEN_COLLABORATION = 7,
103     BLE_LANE_VAP_CHANGED = 8,
104     USER_SWITCHED = 9,
105     MSDP_MOVEMENT_AND_STATIONARY = 10,
106     TRIGGER_CLOUD_SYNC_HEARTBEAT = 11,
107     WIFI_STATE_CHANGED = 12,
108     WIFI_USER_FOREGROUND = 13,
109     WIFI_NET_LOCK_STATE_CHANGED = 14,
110     WIFI_FACK_OOBE = 15,
111     WIFI_NIGHT_MODE_CHANGED = 16,
112     WIFI_NET_ACCOUNT_STATE_CHANGED = 17,
113     WIFI_IP_ADDR_CHANGED = 18,
114     WIFI_GROUP_CREATED = 19,
115     WIFI_DEVICE_BOUND = 20,
116     OTHER,
117 }LnnTriggerReason;
118 
119 typedef struct {
120     uint64_t triggerTime;        // TRIGGER_LNN_TIME
121     int32_t deviceCnt;           // DEVICE_CNT
122     int32_t triggerReason;       // TRIGGER_REASON
123 }LnnTriggerInfo;
124 
125 typedef enum {
126     DISC_SERVER_PUBLISH = 1,
127     DISC_SERVER_STOP_PUBLISH = 2,
128     DISC_SERVER_DISCOVERY = 3,
129     DISC_SERVER_STOP_DISCOVERY = 4,
130 } LnnDiscServerType;
131 
132 typedef enum {
133     LNN_TYPE_BLE_BROADCAST_ONLINE = 1,   // ble online by broadcast
134     LNN_TYPE_BLE_CONNECT_ONLINE = 2,   // ble online by connection
135     LNN_TYPE_WIFI_CONNECT_ONLINE = 101,  // wifi online by connection
136     LNN_TYPE_BR_CONNECT_ONLINE = 201,    // br online by connection
137     LNN_TYPE_OTHER_CONNECT_ONLINE = 301, // device online by other type connection
138 } LnnType;
139 
140 typedef enum {
141     CONNECT_INITIAL_VALUE = 0,
142     BLE_FIRST_CONNECT = 1,
143     LOCAL_STATE_VERSION_CHANGED = 2,
144     PEER_STATE_VERSION_CHANGED = 4,
145     DEVICEKEY_NOT_EXISTED = 8,
146     UPDATE_REMOTE_DEVICE_INFO_FAILED = 16,
147     FIND_REMOTE_CIPHERKEY_FAILED = 32,
148 } ConnectOnlineReason;
149 
150 typedef struct {
151     int32_t result;             // STAGE_RES
152     int32_t errcode;            // ERROR_CODE
153     int32_t authId;             // AUTH_ID
154     int32_t discServerType;     // DISC_SERVER_TYPE
155     int32_t gearCycle;          // GEAR_CYCLE
156     int32_t gearDuration;       // GEAR_DURATION
157     int32_t connectionId;       // CONN_ID
158     int32_t authLinkType;       // AUTH_LINK_TYPE
159     int32_t authRequestId;      // AUTH_REQUEST_ID
160     int32_t authCostTime;       // AUTH_COST_TIME
161     int32_t lnnType;            // LNN_TYPE
162     int32_t onlineNum;          // ONLINE_NUM
163     int32_t peerDeviceAbility;  // PEER_DEV_ABILITY
164     uint32_t onlineType;         // ONLINE_TYPE
165     int32_t osType;             // OS_TYPE
166     uint32_t connOnlineReason;  // CONN_ONLINE_REASON
167     uint64_t laneId;             // LANE_ID
168     int32_t chanReqId;          // CHAN_REQ_ID
169     int32_t connReqId;          // CONN_REQ_ID
170     int32_t strategy;           // STRATEGY_FOR_LNN_BLE
171     uint64_t timeLatency;       // TIME_LATENCY
172     int32_t triggerReason;      // TRIGGER_REASON
173     int64_t authSeq;            // AUTH_SEQ
174     int32_t onlineDevCnt;       // ONLINE_DEV_CNT_FOR_LNN_TIME_LATENCY
175     int32_t interval;           // BROADCAST_INTERVAL
176     int32_t laneLinkType;       // LANE_LINK_TYPE
177     int32_t hmlChannelId;       // HML_CHANNEL_ID
178     int32_t p2pChannelId;       // P2P_CHANNEL_ID
179     int32_t staChannelId;       // STA_CHANNEL_ID
180     int32_t apChannelId;        // AP_CHANNEL_ID
181     uint32_t laneReqId;          // LANE_REQ_ID
182     uint32_t minBW;              // MIN_BW
183     uint32_t maxLaneLatency;     // MAX_LANE_LATENCY
184     uint32_t minLaneLatency;     // MIN_LANE_LATENCY
185     int32_t isWifiDirectReuse;  // IS_WIFI_DIRECT_REUSE
186     int32_t bandWidth;          // BAND_WIDTH
187     int32_t guideType;          // GUIDE_TYPE
188     int32_t funcId;             // FUNC_ID
189     int32_t recordCnt;          // RECORD_CNT
190     int32_t idCount;            // ID_COUNT
191     int32_t userCount;          // UESR_COUNT
192     int32_t totalCount;         // TOTAL_COUNT
193     uint32_t laneStage;          // LANE_STAGE
194     uint32_t laneHandle;         // LANE_HANDLE
195     uint32_t rttLevel;           // RTT_LEVEL
196     uint32_t transType;          // TRANS_TYPE
197     uint32_t localDynamicCap;    // LOCAL_DYNAMIC_CAP
198     uint32_t remoteDynamicCap;   // REMOTE_DYNAMIC_CAP
199     uint32_t isGuideRetry;       // IS_GUIDE_RETRY
200     uint32_t wifiDetectState;    // WIFI_DETECT_STATE
201     uint64_t wifiDetectTime;     // WIFI_DETECT_TIME
202     uint64_t buildLinkTime;      // BUILD_LINK_TIME
203     uint32_t isHmlReuse;         // IS_HML_REUSE
204     uint32_t isDelayFree;        // IS_DELAY_FREE
205     uint64_t freeLinkTime;       // FREE_LINK_TIME
206     const char *peerDeviceInfo; // PEER_DEV_INFO
207     const char *peerIp;         // PEER_IP
208     const char *peerBrMac;      // PEER_BR_MAC
209     const char *peerBleMac;     // PEER_BLE_MAC
210     const char *peerWifiMac;    // PEER_WIFI_MAC
211     const char *peerPort;       // PEER_PORT
212     const char *peerUdid;       // PEER_UDID
213     const char *peerNetworkId;  // PEER_NET_ID
214     const char *localDeviceType; // LOCAL_DEV_TYPE
215     const char *peerDeviceType; // PEER_DEV_TYPE
216     const char *localUdidHash;  // LOCAL_UDID_HASH
217     const char *peerUdidHash;   // PEER_UDID_HASH
218     const char *callerPkg;      // HOST_PKG
219     const char *calleePkg;      // TO_CALL_PKG
220 } LnnEventExtra;
221 
222 typedef struct {
223     int32_t result;                                           // STAGE_RES
224     int32_t errcode;                                          // ERROR_CODE
225     int32_t lnnType;                                          // LNN_TYPE
226     int32_t onlineNum;                                        // ONLINE_NUM
227     int32_t onlineType;                                       // ONLINE_TYPE
228     int32_t osType;                                           // OS_TYPE
229     uint32_t connOnlineReason;                                // CONN_ONLINE_REASON
230     char peerBleMac[BT_MAC_LEN];                              // PEER_BLE_MAC
231     char peerUdid[UDID_BUF_LEN];                              // PEER_UDID
232     char peerNetworkId[NETWORK_ID_BUF_LEN];                   // PEER_NET_ID
233     char localDeviceType[DEVICE_TYPE_SIZE_LEN + 1];           // LOCAL_DEV_TYPE
234     char peerDeviceType[DEVICE_TYPE_SIZE_LEN + 1];            // PEER_DEV_TYPE
235     char localUdidHash[HB_SHORT_UDID_HASH_HEX_LEN + 1];       // LOCAL_UDID_HASH
236     char peerUdidHash[HB_SHORT_UDID_HASH_HEX_LEN + 1];        // PEER_UDID_HASH
237 } LnnReportEventExtra;
238 
239 typedef struct {
240     DeviceType type;
241     int32_t osType;
242     ConnectOnlineReason bleConnectReason;
243 } LnnDfxDeviceInfoReport;
244 
245 typedef enum {
246     BLE_REPORT_EVENT_INIT = 1,
247     BLE_REPORT_EVENT_FAIL = 2,
248     BLE_REPORT_EVENT_SUCCESS = 3,
249 } ReportStatus;
250 
251 typedef struct {
252     LnnReportEventExtra extra;
253     ReportStatus status;
254 } LnnBleReportExtra;
255 
256 typedef enum {
257     ALARM_SCENE_LNN_RESERVED = 1,
258 } LnnAlarmScene;
259 
260 typedef struct {
261     int32_t errcode;
262     int32_t result;
263 } LnnAlarmExtra;
264 
265 typedef enum {
266     STATS_SCENE_LNN_RESERVED = 1,
267 } LnnStatsScene;
268 
269 typedef struct {
270     int32_t reserved;
271 } LnnStatsExtra;
272 
273 typedef enum {
274     AUDIT_SCENE_DECRYPT_CONN_DATA = 1,
275     AUDIT_SCENE_DECRYPT_DEV_INFO_MSG = 2,
276     AUDIT_SCENE_HANDLE_MSG_DEV_ID = 3,
277     AUDIT_SCENE_HANDLE_MSG_DEV_INFO = 4,
278     AUDIT_SCENE_HANDLE_MSG_AUTH_DATA = 5,
279     AUDIT_SCENE_HEARTBEAT_FREQ = 6,
280     AUDIT_SCENE_HEARTBEAT_MSG = 7,
281 } LnnAuditScene;
282 
283 typedef enum {
284     AUDIT_DECRYPT_FAIL_END_AUTH = 1,
285     AUDIT_HANDLE_MSG_FAIL_END_AUTH = 2,
286 } LnnAuditProcessResult;
287 
288 typedef struct {
289     int32_t result;               // RESULT
290     int32_t errCode;              // ERROR_CODE
291     SoftbusAuditType auditType;   // AUDIT_TYPE
292     uint64_t connId;              // CONN_ID
293     int32_t authLinkType;         // AUTH_LINK_TYPE
294     uint32_t authRequestId;       // AUTH_REQUEST_ID
295     int32_t onlineNum;            // ONLINE_NUM
296     const char hostPkg[DISC_MAX_DEVICE_NAME_LEN];  // HOST_PKG
297     const char localIp[IP_STR_MAX_LEN];            // LOCAL_IP
298     const char localBrMac[BT_MAC_LEN];             // LOCAL_BR_MAC
299     const char localBleMac[BT_MAC_LEN];            // LOCAL_BLE_MAC
300     const char localUdid[UDID_BUF_LEN];            // LOCAL_UDID
301     const char localNetworkId[NETWORK_ID_BUF_LEN]; // LOCAL_NETWORK_ID
302     const char localDevName[DEVICE_NAME_BUF_LEN];  // LOCAL_DEV_NAME
303     const char peerIp[IP_STR_MAX_LEN];             // PEER_IP
304     const char peerBrMac[BT_MAC_LEN];              // PEER_BR_MAC
305     const char peerBleMac[BT_MAC_LEN];             // PEER_BLE_MAC
306     const char peerSleMac[BT_MAC_LEN];             // PEER_SLE_MAC
307     const char peerUdid[UDID_BUF_LEN];             // PEER_UDID
308     const char peerNetworkId[NETWORK_ID_BUF_LEN];  // PEER_NETWORK_ID
309     const char peerDevName[DEVICE_NAME_BUF_LEN];   // PEER_DEV_NAME
310     int32_t localAuthPort;       // LOCAL_AUTH_PORT
311     int32_t localProxyPort;      // LOCAL_PROXY_PORT
312     int32_t localSessionPort;    // LOCAL_SESSION_PORT
313     int32_t localDevType;        // LOCAL_DEV_TYPE
314     int32_t peerAuthPort;        // PEER_AUTH_PORT
315     int32_t peerProxyPort;       // PEER_PROXY_PORT
316     int32_t peerSessionPort;     // PEER_SESSION_PORT
317     int32_t peerDevType;         // PEER_DEV_TYPE
318     int32_t attackTimes;         // ATTACK_TIMES
319     int32_t beAttackedPort;      // BE_ATTACKED_PORT
320     int32_t hbEventType;         // HEARTBEAT_EVENT_TYPE
321 } LnnAuditExtra;
322 
323 #ifdef __cplusplus
324 }
325 #endif /* __cplusplus */
326 #endif // LNN_EVENT_FORM_H
327