• 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_bus_center.h"
23 #include "softbus_common.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #define LNN_DEFAULT_PKG_NAME "MODULE_LNN"
30 #define DEVICE_TYPE_SIZE_LEN 3
31 #define HB_SHORT_UDID_HASH_HEX_LEN 16
32 
33 typedef enum {
34     EVENT_SCENE_LNN = 1,
35     EVENT_SCENE_JOIN_LNN = 2,
36     EVENT_SCENE_LEAVE_LNN = 3,
37 } LnnEventScene;
38 
39 typedef enum {
40     EVENT_STAGE_LNN_DISC_SDK = 1,
41     EVENT_STAGE_LNN_DISC_SERVICE = 2,
42     EVENT_STAGE_LNN_JOIN_SDK = 3,
43     EVENT_STAGE_LNN_LEAVE_SDK = 4,
44     EVENT_STAGE_LNN_REG_NODE = 5,
45     EVENT_STAGE_LNN_SHIFT_GEAR = 6,
46     EVENT_STAGE_LNN_LANE_SELECT_START = 7,
47     EVENT_STAGE_LNN_LANE_SELECT_END = 8,
48     EVENT_STAGE_LNN_CTRL_BLE = 9,
49 } LnnEventLnnStage;
50 
51 typedef enum {
52     EVENT_STAGE_JOIN_LNN_START = 1,
53     EVENT_STAGE_AUTH = 2,
54     EVENT_STAGE_AUTH_CONNECTION = 3,
55     EVENT_STAGE_AUTH_DEVICE_ID_POST = 4,
56     EVENT_STAGE_AUTH_DEVICE_ID_PROCESS = 5,
57     EVENT_STAGE_AUTH_HICHAIN_START = 6,
58     EVENT_STAGE_AUTH_HICHAIN_END = 7,
59     EVENT_STAGE_AUTH_EXCHANGE_CIPHER = 8,
60     EVENT_STAGE_AUTH_DEVICE_INFO_POST = 9,
61     EVENT_STAGE_AUTH_DEVICE_INFO_PROCESS = 10,
62     EVENT_STAGE_JOIN_LNN_END = 11,
63 } LnnEventJoinLnnStage;
64 
65 typedef enum {
66     EVENT_STAGE_LEAVE_LNN = 1,
67 } LnnEventLeaveLnnStage;
68 
69 typedef enum {
70     DISC_SERVER_PUBLISH = 1,
71     DISC_SERVER_STOP_PUBLISH = 2,
72     DISC_SERVER_DISCOVERY = 3,
73     DISC_SERVER_STOP_DISCOVERY = 4,
74 } LnnDiscServerType;
75 
76 typedef enum {
77     LNN_TYPE_BLE_BROADCAST_ONLINE = 1,   // ble online by broadcast
78     LNN_TYPE_BLE_CONNECT_ONLINE = 2,   // ble online by connection
79     LNN_TYPE_WIFI_CONNECT_ONLINE = 101,  // wifi online by connection
80     LNN_TYPE_BR_CONNECT_ONLINE = 201,    // br online by connection
81     LNN_TYPE_OTHER_CONNECT_ONLINE = 301, // device online by other type connection
82 } LnnType;
83 
84 typedef enum {
85     CONNECT_INITIAL_VALUE = 0,
86     BLE_FIRST_CONNECT = 1,
87     LOCAL_STATE_VERSION_CHANGED = 2,
88     PEER_STATE_VERSION_CHANGED = 4,
89     DEVICEKEY_NOT_EXISTED = 8,
90     UPDATE_REMOTE_DEVICE_INFO_FAILED = 16,
91     FIND_REMOTE_CIPHERKEY_FAILED = 32,
92 } ConnectOnlineReason;
93 
94 typedef struct {
95     int32_t result;             // STAGE_RES
96     int32_t errcode;            // ERROR_CODE
97     int32_t authId;             // AUTH_ID
98     int32_t discServerType;     // DISC_SERVER_TYPE
99     int32_t gearCycle;          // GEAR_CYCLE
100     int32_t gearDuration;       // GEAR_DURATION
101     int32_t connectionId;       // CONN_ID
102     int32_t authLinkType;       // AUTH_LINK_TYPE
103     int32_t authRequestId;      // AUTH_REQUEST_ID
104     int32_t authCostTime;       // AUTH_COST_TIME
105     int32_t lnnType;            // LNN_TYPE
106     int32_t onlineNum;          // ONLINE_NUM
107     int32_t peerDeviceAbility;  // PEER_DEV_ABILITY
108     int32_t onlineType;         // ONLINE_TYPE
109     int32_t osType;             // OS_TYPE
110     uint32_t connOnlineReason;  // CONN_ONLINE_REASON
111     int32_t laneId;             // LANE_ID
112     int32_t chanReqId;          // CHAN_REQ_ID
113     int32_t connReqId;          // CONN_REQ_ID
114     int32_t strategy;           // STRATEGY_FOR_LNN_BLE
115     const char *peerDeviceInfo; // PEER_DEV_INFO
116     const char *peerIp;         // PEER_IP
117     const char *peerBrMac;      // PEER_BR_MAC
118     const char *peerBleMac;     // PEER_BLE_MAC
119     const char *peerWifiMac;    // PEER_WIFI_MAC
120     const char *peerPort;       // PEER_PORT
121     const char *peerUdid;       // PEER_UDID
122     const char *peerNetworkId;  // PEER_NET_ID
123     const char *localDeviceType; // LOCAL_DEV_TYPE
124     const char *peerDeviceType; // PEER_DEV_TYPE
125     const char *localUdidHash;  // LOCAL_UDID_HASH
126     const char *peerUdidHash;   // PEER_UDID_HASH
127     const char *callerPkg;      // HOST_PKG
128     const char *calleePkg;      // TO_CALL_PKG
129 } LnnEventExtra;
130 
131 typedef struct {
132     int32_t result;                                           // STAGE_RES
133     int32_t errcode;                                          // ERROR_CODE
134     int32_t lnnType;                                          // LNN_TYPE
135     int32_t onlineNum;                                        // ONLINE_NUM
136     int32_t onlineType;                                       // ONLINE_TYPE
137     int32_t osType;                                           // OS_TYPE
138     uint32_t connOnlineReason;                                // CONN_ONLINE_REASON
139     char peerBleMac[BT_MAC_LEN];                              // PEER_BLE_MAC
140     char peerUdid[UDID_BUF_LEN];                              // PEER_UDID
141     char peerNetworkId[NETWORK_ID_BUF_LEN];                   // PEER_NET_ID
142     char localDeviceType[DEVICE_TYPE_SIZE_LEN + 1];           // LOCAL_DEV_TYPE
143     char peerDeviceType[DEVICE_TYPE_SIZE_LEN + 1];            // PEER_DEV_TYPE
144     char localUdidHash[HB_SHORT_UDID_HASH_HEX_LEN + 1];       // LOCAL_UDID_HASH
145     char peerUdidHash[HB_SHORT_UDID_HASH_HEX_LEN + 1];        // PEER_UDID_HASH
146 } LnnReportEventExtra;
147 
148 typedef struct {
149     DeviceType type;
150     int32_t osType;
151     ConnectOnlineReason bleConnectReason;
152 } LnnDfxDeviceInfoReport;
153 
154 typedef enum {
155     BLE_REPORT_EVENT_INIT = 1,
156     BLE_REPORT_EVENT_FAIL = 2,
157     BLE_REPORT_EVENT_SUCCESS = 3,
158 } ReportStatus;
159 
160 typedef struct {
161     LnnReportEventExtra extra;
162     ReportStatus status;
163 } LnnBleReportExtra;
164 
165 typedef enum {
166     ALARM_SCENE_LNN_RESERVED = 1,
167 } LnnAlarmScene;
168 
169 typedef struct {
170     int32_t errcode;
171     int32_t result;
172 } LnnAlarmExtra;
173 
174 typedef enum {
175     STATS_SCENE_LNN_RESERVED = 1,
176 } LnnStatsScene;
177 
178 typedef struct {
179     int32_t reserved;
180 } LnnStatsExtra;
181 
182 typedef enum {
183     AUDIT_SCENE_DECRYPT_CONN_DATA = 1,
184     AUDIT_SCENE_DECRYPT_DEV_INFO_MSG = 2,
185     AUDIT_SCENE_HANDLE_MSG_DEV_ID = 3,
186     AUDIT_SCENE_HANDLE_MSG_DEV_INFO = 4,
187     AUDIT_SCENE_HANDLE_MSG_AUTH_DATA = 5,
188     AUDIT_SCENE_HEARTBEAT_FREQ = 6,
189     AUDIT_SCENE_HEARTBEAT_MSG = 7,
190 } LnnAuditScene;
191 
192 typedef enum {
193     AUDIT_DECRYPT_FAIL_END_AUTH = 1,
194     AUDIT_HANDLE_MSG_FAIL_END_AUTH = 2,
195 } LnnAuditProcessResult;
196 
197 typedef struct {
198     int32_t result;               // RESULT
199     int32_t errCode;              // ERROR_CODE
200     SoftbusAuditType auditType;   // AUDIT_TYPE
201     uint64_t connId;              // CONN_ID
202     int32_t authLinkType;         // AUTH_LINK_TYPE
203     uint32_t authRequestId;       // AUTH_REQUEST_ID
204     int32_t onlineNum;            // ONLINE_NUM
205     const char hostPkg[DISC_MAX_DEVICE_NAME_LEN];  // HOST_PKG
206     const char localIp[IP_STR_MAX_LEN];            // LOCAL_IP
207     const char localBrMac[BT_MAC_LEN];             // LOCAL_BR_MAC
208     const char localBleMac[BT_MAC_LEN];            // LOCAL_BLE_MAC
209     const char localUdid[UDID_BUF_LEN];            // LOCAL_UDID
210     const char localNetworkId[NETWORK_ID_BUF_LEN]; // LOCAL_NETWORK_ID
211     const char localDevName[DEVICE_NAME_BUF_LEN];  // LOCAL_DEV_NAME
212     const char peerIp[IP_STR_MAX_LEN];             // PEER_IP
213     const char peerBrMac[BT_MAC_LEN];              // PEER_BR_MAC
214     const char peerBleMac[BT_MAC_LEN];             // PEER_BLE_MAC
215     const char peerUdid[UDID_BUF_LEN];             // PEER_UDID
216     const char peerNetworkId[NETWORK_ID_BUF_LEN];  // PEER_NETWORK_ID
217     const char peerDevName[DEVICE_NAME_BUF_LEN];   // PEER_DEV_NAME
218     int32_t localAuthPort;       // LOCAL_AUTH_PORT
219     int32_t localProxyPort;      // LOCAL_PROXY_PORT
220     int32_t localSessionPort;    // LOCAL_SESSION_PORT
221     int32_t localDevType;        // LOCAL_DEV_TYPE
222     int32_t peerAuthPort;        // PEER_AUTH_PORT
223     int32_t peerProxyPort;       // PEER_PROXY_PORT
224     int32_t peerSessionPort;     // PEER_SESSION_PORT
225     int32_t peerDevType;         // PEER_DEV_TYPE
226     int32_t attackTimes;         // ATTACK_TIMES
227     int32_t beAttackedPort;      // BE_ATTACKED_PORT
228     int32_t hbEventType;         // HEARTBEAT_EVENT_TYPE
229 } LnnAuditExtra;
230 
231 #ifdef __cplusplus
232 }
233 #endif /* __cplusplus */
234 #endif // LNN_EVENT_FORM_H
235