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