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 NETSYS_IPC_INTERFACE_CODE_H
17 #define NETSYS_IPC_INTERFACE_CODE_H
18 
19 /* SAID: 1158 */
20 namespace OHOS {
21 namespace NetsysNative {
22 enum class NetsysInterfaceCode {
23     NETSYS_SET_RESOLVER_CONFIG_PARCEL,
24     NETSYS_SET_RESOLVER_CONFIG,
25     NETSYS_GET_RESOLVER_CONFIG,
26     NETSYS_CREATE_NETWORK_CACHE,
27     NETSYS_FLUSH_NETWORK_CACHE,
28     NETSYS_DESTROY_NETWORK_CACHE,
29     NETSYS_GET_ADDR_INFO,
30     NETSYS_INTERFACE_SET_MTU,
31     NETSYS_INTERFACE_GET_MTU,
32     NETSYS_SET_TCP_BUFFER_SIZES,
33     NETSYS_REGISTER_NOTIFY_CALLBACK,
34     NETSYS_UNREGISTER_NOTIFY_CALLBACK,
35     NETSYS_NETWORK_ADD_ROUTE,
36     NETSYS_NETWORK_REMOVE_ROUTE,
37     NETSYS_NETWORK_ADD_ROUTE_PARCEL,
38     NETSYS_NETWORK_REMOVE_ROUTE_PARCEL,
39     NETSYS_NETWORK_SET_DEFAULT,
40     NETSYS_NETWORK_GET_DEFAULT,
41     NETSYS_NETWORK_CLEAR_DEFAULT,
42     NETSYS_GET_PROC_SYS_NET,
43     NETSYS_SET_PROC_SYS_NET,
44     NETSYS_NETWORK_CREATE_PHYSICAL,
45     NETSYS_INTERFACE_ADD_ADDRESS,
46     NETSYS_INTERFACE_DEL_ADDRESS,
47     NETSYS_INTERFACE_SET_IP_ADDRESS,
48     NETSYS_INTERFACE_SET_IFF_UP,
49     NETSYS_NETWORK_ADD_INTERFACE,
50     NETSYS_NETWORK_REMOVE_INTERFACE,
51     NETSYS_NETWORK_DESTROY,
52     NETSYS_GET_FWMARK_FOR_NETWORK,
53     NETSYS_INTERFACE_SET_CONFIG,
54     NETSYS_INTERFACE_GET_CONFIG,
55     NETSYS_INTERFACE_GET_LIST,
56     NETSYS_START_DHCP_CLIENT,
57     NETSYS_STOP_DHCP_CLIENT,
58     NETSYS_START_DHCP_SERVICE,
59     NETSYS_STOP_DHCP_SERVICE,
60     NETSYS_IPENABLE_FORWARDING,
61     NETSYS_IPDISABLE_FORWARDING,
62     NETSYS_ENABLE_NAT,
63     NETSYS_DISABLE_NAT,
64     NETSYS_IPFWD_ADD_INTERFACE_FORWARD,
65     NETSYS_IPFWD_REMOVE_INTERFACE_FORWARD,
66     NETSYS_BANDWIDTH_ENABLE_DATA_SAVER,
67     NETSYS_BANDWIDTH_SET_IFACE_QUOTA,
68     NETSYS_BANDWIDTH_REMOVE_IFACE_QUOTA,
69     NETSYS_BANDWIDTH_ADD_DENIED_LIST,
70     NETSYS_BANDWIDTH_REMOVE_DENIED_LIST,
71     NETSYS_BANDWIDTH_ADD_ALLOWED_LIST,
72     NETSYS_BANDWIDTH_REMOVE_ALLOWED_LIST,
73     NETSYS_FIREWALL_SET_UID_ALLOWED_LIST_CHAIN,
74     NETSYS_FIREWALL_SET_UID_DENIED_LIST_CHAIN,
75     NETSYS_FIREWALL_ENABLE_CHAIN,
76     NETSYS_FIREWALL_SET_UID_RULE,
77     NETSYS_TETHER_DNS_SET,
78     NETSYS_START_DNS_PROXY_LISTEN,
79     NETSYS_STOP_DNS_PROXY_LISTEN,
80     NETSYS_GET_SHARING_NETWORK_TRAFFIC,
81     NETSYS_GET_TOTAL_STATS,
82     NETSYS_GET_UID_STATS,
83     NETSYS_GET_IFACE_STATS,
84     NETSYS_GET_ALL_STATS_INFO,
85     NETSYS_DISALLOW_INTERNET,
86     NETSYS_SET_IPTABLES_CMD_FOR_RES,
87     NETSYS_SET_INTERNET_PERMISSION,
88     NETSYS_NETWORK_CREATE_VIRTUAL,
89     NETSYS_NETWORK_ADD_UIDS,
90     NETSYS_NETWORK_DEL_UIDS,
91     NETSYS_NETDIAG_PING_HOST,
92     NETSYS_NETDIAG_GET_ROUTE_TABLE,
93     NETSYS_NETDIAG_GET_SOCKETS_INFO,
94     NETSYS_NETDIAG_GET_IFACE_CONFIG,
95     NETSYS_NETDIAG_UPDATE_IFACE_CONFIG,
96     NETSYS_NETDIAG_SET_IFACE_ACTIVE_STATE,
97     NETSYS_ADD_STATIC_ARP,
98     NETSYS_DEL_STATIC_ARP,
99     NETSYS_REGISTER_DNS_RESULT_LISTENER,
100     NETSYS_UNREGISTER_DNS_RESULT_LISTENER,
101     NETSYS_REGISTER_DNS_HEALTH_LISTENER,
102     NETSYS_UNREGISTER_DNS_HEALTH_LISTENER,
103     NETSYS_GET_COOKIE_STATS,
104     NETSYS_GET_NETWORK_SHARING_TYPE,
105     NETSYS_UPDATE_NETWORK_SHARING_TYPE,
106 #ifdef FEATURE_NET_FIREWALL_ENABLE
107     NETSYS_NET_FIREWALL_SET_DEFAULT_ACTION,
108     NETSYS_NET_FIREWALL_SET_USER_ID,
109     NETSYS_NET_FIREWALL_SET_RULES,
110     NETSYS_NET_FIREWALL_CLEAR_RULES,
111     NETSYS_NET_FIREWALL_REGISTER,
112     NETSYS_NET_FIREWALL_UNREGISTER,
113 #endif
114     NETSYS_NETWORK_SET_IPV6_PRIVCAY_EXTENSION,
115     NETSYS_NETWORK_ENABLE_IPV6,
116     NETSYS_GET_ALL_SIM_STATS_INFO,
117     NETSYS_SET_NETWORK_ACCESS_POLICY,
118     NETSYS_DEL_NETWORK_ACCESS_POLICY,
119     NETSYS_NOTIFY_NETWORK_BEARER_TYPE_CHANGE,
120     NETSYS_NETWORK_START_CLAT,
121     NETSYS_NETWORK_STOP_CLAT,
122     NETSYS_CLEAR_FIREWALL_RULE,
123     NETSYS_DELETE_STATS_INFO,
124     NETSYS_DELETE_SIM_STATS_INFO,
125     NETSYS_VNIC_CREATE,
126     NETSYS_VNIC_DESTROY,
127     NETSYS_SET_NIC_TRAFFIC_ALLOWED,
128 };
129 
130 enum class NotifyInterfaceCode {
131     ON_INTERFACE_ADDRESS_UPDATED = 0,
132     ON_INTERFACE_ADDRESS_REMOVED,
133     ON_INTERFACE_ADDED,
134     ON_INTERFACE_REMOVED,
135     ON_INTERFACE_CHANGED,
136     ON_INTERFACE_LINK_STATE_CHANGED,
137     ON_ROUTE_CHANGED,
138     ON_DHCP_SUCCESS,
139     ON_BANDWIDTH_REACHED_LIMIT,
140 };
141 
142 enum class NetDiagInterfaceCode {
143     ON_NOTIFY_PING_RESULT = 0,
144 };
145 
146 enum class NetDnsResultInterfaceCode {
147     ON_DNS_RESULT_REPORT = 0,
148 };
149 
150 enum class NetDnsHealthInterfaceCode {
151     ON_DNS_HEALTH_REPORT = 0,
152 };
153 
154 #ifdef FEATURE_NET_FIREWALL_ENABLE
155 enum class NetFirewallfaceCode {
156     ON_INTERCEPT = 0,
157 };
158 #endif
159 
160 } // namespace NetsysNative
161 } // namespace OHOS
162 #endif // NETSYS_IPC_INTERFACE_CODE_H
163