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