summaryrefslogtreecommitdiff
path: root/common/netd/aidl_api/netd_aidl_interface/3/android/net/INetd.aidl
blob: 135b7385088d799d7da17addfa8ec0a80001927b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
///////////////////////////////////////////////////////////////////////////////
// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
///////////////////////////////////////////////////////////////////////////////

// This file is a snapshot of an AIDL interface (or parcelable). Do not try to
// edit this file. It looks like you are doing that because you have modified
// an AIDL interface in a backward-incompatible way, e.g., deleting a function
// from an interface or a field from a parcelable and it broke the build. That
// breakage is intended.
//
// You must not make a backward incompatible changes to the AIDL files built
// with the aidl_interface module type with versions property set. The module
// type is used to build AIDL files in a way that they can be used across
// independently updatable components of the system. If a device is shipped
// with such a backward incompatible change, it has a high risk of breaking
// later when a module using the interface is updated, e.g., Mainline modules.

package android.net;
/* @hide */
interface INetd {
  boolean isAlive();
  boolean firewallReplaceUidChain(in @utf8InCpp String chainName, boolean isWhitelist, in int[] uids);
  boolean bandwidthEnableDataSaver(boolean enable);
  void networkCreatePhysical(int netId, int permission);
  void networkCreateVpn(int netId, boolean secure);
  void networkDestroy(int netId);
  void networkAddInterface(int netId, in @utf8InCpp String iface);
  void networkRemoveInterface(int netId, in @utf8InCpp String iface);
  void networkAddUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
  void networkRemoveUidRanges(int netId, in android.net.UidRangeParcel[] uidRanges);
  void networkRejectNonSecureVpn(boolean add, in android.net.UidRangeParcel[] uidRanges);
  void socketDestroy(in android.net.UidRangeParcel[] uidRanges, in int[] exemptUids);
  boolean tetherApplyDnsInterfaces();
  android.net.TetherStatsParcel[] tetherGetStats();
  void interfaceAddAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
  void interfaceDelAddress(in @utf8InCpp String ifName, in @utf8InCpp String addrString, int prefixLength);
  @utf8InCpp String getProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter);
  void setProcSysNet(int ipversion, int which, in @utf8InCpp String ifname, in @utf8InCpp String parameter, in @utf8InCpp String value);
  void ipSecSetEncapSocketOwner(in ParcelFileDescriptor socket, int newUid);
  int ipSecAllocateSpi(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
  void ipSecAddSecurityAssociation(int transformId, int mode, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int underlyingNetId, int spi, int markValue, int markMask, in @utf8InCpp String authAlgo, in byte[] authKey, in int authTruncBits, in @utf8InCpp String cryptAlgo, in byte[] cryptKey, in int cryptTruncBits, in @utf8InCpp String aeadAlgo, in byte[] aeadKey, in int aeadIcvBits, int encapType, int encapLocalPort, int encapRemotePort, int interfaceId);
  void ipSecDeleteSecurityAssociation(int transformId, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi, int markValue, int markMask, int interfaceId);
  void ipSecApplyTransportModeTransform(in ParcelFileDescriptor socket, int transformId, int direction, in @utf8InCpp String sourceAddress, in @utf8InCpp String destinationAddress, int spi);
  void ipSecRemoveTransportModeTransform(in ParcelFileDescriptor socket);
  void ipSecAddSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
  void ipSecUpdateSecurityPolicy(int transformId, int selAddrFamily, int direction, in @utf8InCpp String tmplSrcAddress, in @utf8InCpp String tmplDstAddress, int spi, int markValue, int markMask, int interfaceId);
  void ipSecDeleteSecurityPolicy(int transformId, int selAddrFamily, int direction, int markValue, int markMask, int interfaceId);
  void ipSecAddTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
  void ipSecUpdateTunnelInterface(in @utf8InCpp String deviceName, in @utf8InCpp String localAddress, in @utf8InCpp String remoteAddress, int iKey, int oKey, int interfaceId);
  void ipSecRemoveTunnelInterface(in @utf8InCpp String deviceName);
  void wakeupAddInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
  void wakeupDelInterface(in @utf8InCpp String ifName, in @utf8InCpp String prefix, int mark, int mask);
  void setIPv6AddrGenMode(in @utf8InCpp String ifName, int mode);
  void idletimerAddInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
  void idletimerRemoveInterface(in @utf8InCpp String ifName, int timeout, in @utf8InCpp String classLabel);
  void strictUidCleartextPenalty(int uid, int policyPenalty);
  @utf8InCpp String clatdStart(in @utf8InCpp String ifName, in @utf8InCpp String nat64Prefix);
  void clatdStop(in @utf8InCpp String ifName);
  boolean ipfwdEnabled();
  @utf8InCpp String[] ipfwdGetRequesterList();
  void ipfwdEnableForwarding(in @utf8InCpp String requester);
  void ipfwdDisableForwarding(in @utf8InCpp String requester);
  void ipfwdAddInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
  void ipfwdRemoveInterfaceForward(in @utf8InCpp String fromIface, in @utf8InCpp String toIface);
  void bandwidthSetInterfaceQuota(in @utf8InCpp String ifName, long bytes);
  void bandwidthRemoveInterfaceQuota(in @utf8InCpp String ifName);
  void bandwidthSetInterfaceAlert(in @utf8InCpp String ifName, long bytes);
  void bandwidthRemoveInterfaceAlert(in @utf8InCpp String ifName);
  void bandwidthSetGlobalAlert(long bytes);
  void bandwidthAddNaughtyApp(int uid);
  void bandwidthRemoveNaughtyApp(int uid);
  void bandwidthAddNiceApp(int uid);
  void bandwidthRemoveNiceApp(int uid);
  void tetherStart(in @utf8InCpp String[] dhcpRanges);
  void tetherStop();
  boolean tetherIsEnabled();
  void tetherInterfaceAdd(in @utf8InCpp String ifName);
  void tetherInterfaceRemove(in @utf8InCpp String ifName);
  @utf8InCpp String[] tetherInterfaceList();
  void tetherDnsSet(int netId, in @utf8InCpp String[] dnsAddrs);
  @utf8InCpp String[] tetherDnsList();
  void networkAddRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
  void networkRemoveRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop);
  void networkAddLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
  void networkRemoveLegacyRoute(int netId, in @utf8InCpp String ifName, in @utf8InCpp String destination, in @utf8InCpp String nextHop, int uid);
  int networkGetDefault();
  void networkSetDefault(int netId);
  void networkClearDefault();
  void networkSetPermissionForNetwork(int netId, int permission);
  void networkSetPermissionForUser(int permission, in int[] uids);
  void networkClearPermissionForUser(in int[] uids);
  void trafficSetNetPermForUids(int permission, in int[] uids);
  void networkSetProtectAllow(int uid);
  void networkSetProtectDeny(int uid);
  boolean networkCanProtect(int uid);
  void firewallSetFirewallType(int firewalltype);
  void firewallSetInterfaceRule(in @utf8InCpp String ifName, int firewallRule);
  void firewallSetUidRule(int childChain, int uid, int firewallRule);
  void firewallEnableChildChain(int childChain, boolean enable);
  @utf8InCpp String[] interfaceGetList();
  android.net.InterfaceConfigurationParcel interfaceGetCfg(in @utf8InCpp String ifName);
  void interfaceSetCfg(in android.net.InterfaceConfigurationParcel cfg);
  void interfaceSetIPv6PrivacyExtensions(in @utf8InCpp String ifName, boolean enable);
  void interfaceClearAddrs(in @utf8InCpp String ifName);
  void interfaceSetEnableIPv6(in @utf8InCpp String ifName, boolean enable);
  void interfaceSetMtu(in @utf8InCpp String ifName, int mtu);
  void tetherAddForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
  void tetherRemoveForward(in @utf8InCpp String intIface, in @utf8InCpp String extIface);
  void setTcpRWmemorySize(in @utf8InCpp String rmemValues, in @utf8InCpp String wmemValues);
  void registerUnsolicitedEventListener(android.net.INetdUnsolicitedEventListener listener);
  void firewallAddUidInterfaceRules(in @utf8InCpp String ifName, in int[] uids);
  void firewallRemoveUidInterfaceRules(in int[] uids);
  void trafficSwapActiveStatsMap();
  IBinder getOemNetd();
  void tetherStartWithConfiguration(in android.net.TetherConfigParcel config);
  android.net.MarkMaskParcel getFwmarkForNetwork(int netId);
  void networkAddRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
  void networkUpdateRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
  void networkRemoveRouteParcel(int netId, in android.net.RouteInfoParcel routeInfo);
  void tetherOffloadRuleAdd(in android.net.TetherOffloadRuleParcel rule);
  void tetherOffloadRuleRemove(in android.net.TetherOffloadRuleParcel rule);
  const int IPV4 = 4;
  const int IPV6 = 6;
  const int CONF = 1;
  const int NEIGH = 2;
  const String IPSEC_INTERFACE_PREFIX = "ipsec";
  const int IPV6_ADDR_GEN_MODE_EUI64 = 0;
  const int IPV6_ADDR_GEN_MODE_NONE = 1;
  const int IPV6_ADDR_GEN_MODE_STABLE_PRIVACY = 2;
  const int IPV6_ADDR_GEN_MODE_RANDOM = 3;
  const int IPV6_ADDR_GEN_MODE_DEFAULT = 0;
  const int PENALTY_POLICY_ACCEPT = 1;
  const int PENALTY_POLICY_LOG = 2;
  const int PENALTY_POLICY_REJECT = 3;
  const int LOCAL_NET_ID = 99;
  const String NEXTHOP_NONE = "";
  const String NEXTHOP_UNREACHABLE = "unreachable";
  const String NEXTHOP_THROW = "throw";
  const int PERMISSION_NONE = 0;
  const int PERMISSION_NETWORK = 1;
  const int PERMISSION_SYSTEM = 2;
  const int NO_PERMISSIONS = 0;
  const int PERMISSION_INTERNET = 4;
  const int PERMISSION_UPDATE_DEVICE_STATS = 8;
  const int PERMISSION_UNINSTALLED = -1;
  const int FIREWALL_WHITELIST = 0;
  const int FIREWALL_BLACKLIST = 1;
  const int FIREWALL_RULE_ALLOW = 1;
  const int FIREWALL_RULE_DENY = 2;
  const int FIREWALL_CHAIN_NONE = 0;
  const int FIREWALL_CHAIN_DOZABLE = 1;
  const int FIREWALL_CHAIN_STANDBY = 2;
  const int FIREWALL_CHAIN_POWERSAVE = 3;
  const String IF_STATE_UP = "up";
  const String IF_STATE_DOWN = "down";
  const String IF_FLAG_BROADCAST = "broadcast";
  const String IF_FLAG_LOOPBACK = "loopback";
  const String IF_FLAG_POINTOPOINT = "point-to-point";
  const String IF_FLAG_RUNNING = "running";
  const String IF_FLAG_MULTICAST = "multicast";
}