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 TRANS_EVENT_ATOM_FORM_H
17 #define TRANS_EVENT_ATOM_FORM_H
18 
19 #include <stdint.h>
20 
21 #include "event_form_enum.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 typedef enum {
28     EVENT_SCENE_OPEN_CHANNEL = 1,
29     EVENT_SCENE_CLOSE_CHANNEL_ACTIVE = 2,
30     EVENT_SCENE_CLOSE_CHANNEL_PASSIVE = 3,
31     EVENT_SCENE_CLOSE_CHANNEL_TIMEOUT = 4,
32     EVENT_SCENE_BT_FLOW = 5,
33     EVENT_SCENE_LANE_SCORE = 6,
34     EVENT_SCENE_ACTIVATION = 7,
35     EVENT_SCENE_DETECTION = 8,
36     EVENT_SCENE_OPEN_CHANNEL_SERVER = 9,
37     EVENT_SCENE_TRANS_CREATE_SESS_SERVER = 10,
38     EVENT_SCENE_TRANS_REMOVE_SESS_SERVER = 11,
39     EVENT_SCENE_TRANS_PROXY_RESET_PEER = 12,
40     EVENT_SCENE_TRANS_CHANNEL_STATISTICS = 13,
41     EVENT_SCENE_TRANS_CHANNEL_INSTANT = 14,
42 } TransEventScene;
43 
44 typedef enum {
45     EVENT_STAGE_OPEN_CHANNEL_START = 1,
46     EVENT_STAGE_SELECT_LANE = 2,
47     EVENT_STAGE_START_CONNECT = 3,
48     EVENT_STAGE_HANDSHAKE_START = 4,
49     EVENT_STAGE_HANDSHAKE_REPLY = 5,
50     EVENT_STAGE_OPEN_CHANNEL_END = 6,
51 } TransEventOpenChannelStage;
52 
53 typedef enum {
54     EVENT_STAGE_CLOSE_CHANNEL = 1,
55 } TransEventCloseChannelStage;
56 
57 typedef enum {
58     EVENT_STAGE_TRANS_COMMON_ONE = 1,
59 } TransEventCommonStage;
60 
61 typedef enum {
62     DEVICE_STATE_INVALID = 1,
63     DEVICE_STATE_LOCAL_BT_HALF_OFF,
64     DEVICE_STATE_REMOTE_BT_HALF_OFF,
65     DEVICE_STATE_LOCAL_WIFI_HALF_OFF,
66     DEVICE_STATE_REMOTE_WIFI_HALF_OFF,
67     DEVICE_STATE_NOT_CARE,
68     DEVICE_STATE_BUTT,
69 } TransDeviceState;
70 
71 typedef struct {
72     int32_t result;            // STAGE_RES
73     int32_t errcode;           // ERROR_CODE
74     const char *socketName;    // SESSION_NAME
75     int32_t dataType;          // DATA_TYPE
76     int32_t channelType;       // LOGIC_CHAN_TYPE
77     int32_t laneId;            // LANE_ID
78     int32_t preferLinkType;    // PREFER_LINK_TYPE
79     int32_t laneTransType;     // LANE_TRANS_TYPE
80     int32_t channelId;         // CHAN_ID
81     int32_t requestId;         // REQ_ID
82     int32_t connectionId;      // CONN_ID
83     int32_t linkType;          // LINK_TYPE
84     int32_t authId;            // AUTH_ID
85     int32_t socketFd;          // SOCKET_FD
86     int32_t costTime;          // TIME_CONSUMING
87     int32_t channelScore;      // CHAN_SCORE
88     int32_t peerChannelId;     // PEER_CHAN_ID
89     int32_t btFlow;            // BT_FLOW
90     const char *peerNetworkId; // PEER_NET_ID
91     const char *peerUdid;      // PEER_UDID
92     const char *peerDevVer;    // PEER_DEV_VER
93     const char *localUdid;     // LOCAL_UDID
94     const char *callerPkg;     // HOST_PKG
95     const char *calleePkg;     // TO_CALL_PKG
96     const char *firstTokenName; // FIRST_TOKEN_NAME
97     uint32_t firstTokenId;     // FIRST_TOKEN_ID
98     int32_t  firstTokenType;   // FIRST_TOKEN_TYPE
99     const char *trafficStats;  // TRAFFIC_STATS
100     int32_t  osType;           // OS_TYPE
101     int32_t  deviceState;      // DEVICE_STATE
102     int32_t businessId;        // BUSSINESS_ID
103     int32_t businessType;      // BUSINESS_TYPE
104 } TransEventExtra;
105 
106 typedef enum {
107     ALARM_SCENE_TRANS_RESERVED = 1,
108 } TransAlarmScene;
109 
110 typedef struct {
111     int32_t errcode;
112     int32_t result;
113     int32_t callerPid;
114     int32_t linkType;
115     int32_t minBw;
116     int32_t methodId;
117     int32_t duration;
118     int32_t curFlow;
119     int32_t limitFlow;
120     int32_t limitTime;
121     int32_t occupyRes;
122     int32_t syncType;
123     int32_t syncData;
124     int32_t retryCount;
125     int32_t retryReason;
126     const char *conflictName;
127     const char *conflictedName;
128     const char *occupyedName;
129     const char *permissionName;
130     const char *sessionName;
131 } TransAlarmExtra;
132 
133 typedef enum {
134     STATS_SCENE_TRANS_RESERVED = 1,
135 } TransStatsScene;
136 
137 typedef struct {
138     int32_t reserved;
139 } TransStatsExtra;
140 
141 typedef enum {
142     AUDIT_SCENE_OPEN_SESSION = 1,
143     AUDIT_SCENE_SEND_FILE,
144     AUDIT_SCENE_SEND_BYTES,
145     AUDIT_SCENE_SEND_MSG,
146     AUDIT_SCENE_SEND_STREAM,
147 } TransAuditScene;
148 
149 typedef enum {
150     TRANS_AUDIT_CONTINUE = 1,
151     TRANS_AUDIT_DISCONTINUE,
152     TRANS_AUDIT_TRY_AGAIN,
153 } TransAuditResult;
154 
155 typedef struct {
156     const char *hostPkg;         // HOST_PKG
157     int32_t result;              // RESULT
158     int32_t errcode;             // ERROR_CODE
159     SoftbusAuditType auditType;  // AUDIT_TYPE
160     const char *localIp;         // LOCAL_IP
161     const char *localPort;       // LOCAL_PORT
162     const char *localDevId;      // LOCAL_DEV_ID
163     int32_t localDevType;        // LOCAL_DEV_TYPE
164     const char *localSessName;   // LOCAL_SESS_NAME
165     int32_t localChannelId;      // LOCAL_CHANNEL_ID
166     const char *peerIp;          // PEER_IP
167     const char *peerPort;        // PEER_PORT
168     const char *peerDevId;       // PEER_DEV_ID
169     int32_t peerDevType;         // PEER_DEV_TYPE
170     const char *peerSessName;    // PEER_SESS_NAME
171     int32_t peerChannelId;       // PEER_CHANNEL_ID
172     int32_t channelType;         // LOGIC_CHAN_TYPE
173     int32_t authId;              // AUTH_ID
174     int32_t reqId;               // REQ_ID
175     int32_t linkType;            // LINK_TYPE
176     int32_t connId;              // CONN_ID
177     int32_t socketFd;            // SOCKET_FD
178     int32_t dataType;            // DATA_TYPE
179     int32_t dataLen;             // DATA_LENGTH
180     int32_t dataSeq;             // DATA_SEQ
181     int32_t costTime;            // TIME_CONSUMING
182     int32_t dataTraffic;         // DATA_TRAFFIC
183     int32_t reqCount;            // REQ_COUNT
184 } TransAuditExtra;
185 
186 #ifdef __cplusplus
187 }
188 #endif /* __cplusplus */
189 #endif // TRANS_EVENT_ATOM_FORM_H
190