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