1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 1 --hash df6b978ed394ebbb7970a8d4110e4b29c9b8736b -t --stability vintf --min_sdk_version current --ninja -d out/soong/.intermediates/system/hardware/interfaces/net/netd/aidl/android.system.net.netd-V1-ndk-source/gen/staging/android/system/net/netd/INetd.cpp.d -h out/soong/.intermediates/system/hardware/interfaces/net/netd/aidl/android.system.net.netd-V1-ndk-source/gen/include/staging -o out/soong/.intermediates/system/hardware/interfaces/net/netd/aidl/android.system.net.netd-V1-ndk-source/gen/staging -Nsystem/hardware/interfaces/net/netd/aidl/aidl_api/android.system.net.netd/1 system/hardware/interfaces/net/netd/aidl/aidl_api/android.system.net.netd/1/android/system/net/netd/INetd.aidl
4  *
5  * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6  * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7  * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8  */
9 #pragma once
10 
11 #include <cstdint>
12 #include <memory>
13 #include <optional>
14 #include <string>
15 #include <vector>
16 #include <android/binder_interface_utils.h>
17 #include <android/binder_parcelable_utils.h>
18 #include <android/binder_to_string.h>
19 #include <aidl/android/system/net/netd/INetd.h>
20 #ifdef BINDER_STABILITY_SUPPORT
21 #include <android/binder_stability.h>
22 #endif  // BINDER_STABILITY_SUPPORT
23 
24 namespace aidl {
25 namespace android {
26 namespace system {
27 namespace net {
28 namespace netd {
29 class INetdDelegator;
30 
31 class INetd : public ::ndk::ICInterface {
32 public:
33   typedef INetdDelegator DefaultDelegator;
34   static const char* descriptor;
35   INetd();
36   virtual ~INetd();
37 
38   class OemNetwork {
39   public:
40     typedef std::false_type fixed_size;
41     static const char* descriptor;
42 
43     int64_t networkHandle = 0L;
44     int32_t packetMark = 0;
45 
46     binder_status_t readFromParcel(const AParcel* parcel);
47     binder_status_t writeToParcel(AParcel* parcel) const;
48 
49     inline bool operator==(const OemNetwork& _rhs) const {
50       return std::tie(networkHandle, packetMark) == std::tie(_rhs.networkHandle, _rhs.packetMark);
51     }
52     inline bool operator<(const OemNetwork& _rhs) const {
53       return std::tie(networkHandle, packetMark) < std::tie(_rhs.networkHandle, _rhs.packetMark);
54     }
55     inline bool operator!=(const OemNetwork& _rhs) const {
56       return !(*this == _rhs);
57     }
58     inline bool operator>(const OemNetwork& _rhs) const {
59       return _rhs < *this;
60     }
61     inline bool operator>=(const OemNetwork& _rhs) const {
62       return !(*this < _rhs);
63     }
64     inline bool operator<=(const OemNetwork& _rhs) const {
65       return !(_rhs < *this);
66     }
67 
68     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()69     inline std::string toString() const {
70       std::ostringstream _aidl_os;
71       _aidl_os << "OemNetwork{";
72       _aidl_os << "networkHandle: " << ::android::internal::ToString(networkHandle);
73       _aidl_os << ", packetMark: " << ::android::internal::ToString(packetMark);
74       _aidl_os << "}";
75       return _aidl_os.str();
76     }
77   };
78   enum : int32_t { STATUS_INVALID_ARGUMENTS = 1 };
79   enum : int32_t { STATUS_NO_NETWORK = 2 };
80   enum : int32_t { STATUS_ALREADY_EXISTS = 3 };
81   enum : int32_t { STATUS_PERMISSION_DENIED = 4 };
82   enum : int32_t { STATUS_UNKNOWN_ERROR = 5 };
83   static inline const int32_t version = 1;
84   static inline const std::string hash = "df6b978ed394ebbb7970a8d4110e4b29c9b8736b";
85   static constexpr uint32_t TRANSACTION_addInterfaceToOemNetwork = FIRST_CALL_TRANSACTION + 0;
86   static constexpr uint32_t TRANSACTION_addRouteToOemNetwork = FIRST_CALL_TRANSACTION + 1;
87   static constexpr uint32_t TRANSACTION_createOemNetwork = FIRST_CALL_TRANSACTION + 2;
88   static constexpr uint32_t TRANSACTION_destroyOemNetwork = FIRST_CALL_TRANSACTION + 3;
89   static constexpr uint32_t TRANSACTION_removeInterfaceFromOemNetwork = FIRST_CALL_TRANSACTION + 4;
90   static constexpr uint32_t TRANSACTION_removeRouteFromOemNetwork = FIRST_CALL_TRANSACTION + 5;
91   static constexpr uint32_t TRANSACTION_setForwardingBetweenInterfaces = FIRST_CALL_TRANSACTION + 6;
92   static constexpr uint32_t TRANSACTION_setIpForwardEnable = FIRST_CALL_TRANSACTION + 7;
93 
94   static std::shared_ptr<INetd> fromBinder(const ::ndk::SpAIBinder& binder);
95   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<INetd>& instance);
96   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<INetd>* instance);
97   static bool setDefaultImpl(const std::shared_ptr<INetd>& impl);
98   static const std::shared_ptr<INetd>& getDefaultImpl();
99   virtual ::ndk::ScopedAStatus addInterfaceToOemNetwork(int64_t in_networkHandle, const std::string& in_ifname) = 0;
100   virtual ::ndk::ScopedAStatus addRouteToOemNetwork(int64_t in_networkHandle, const std::string& in_ifname, const std::string& in_destination, const std::string& in_nexthop) = 0;
101   virtual ::ndk::ScopedAStatus createOemNetwork(::aidl::android::system::net::netd::INetd::OemNetwork* _aidl_return) = 0;
102   virtual ::ndk::ScopedAStatus destroyOemNetwork(int64_t in_networkHandle) = 0;
103   virtual ::ndk::ScopedAStatus removeInterfaceFromOemNetwork(int64_t in_networkHandle, const std::string& in_ifname) = 0;
104   virtual ::ndk::ScopedAStatus removeRouteFromOemNetwork(int64_t in_networkHandle, const std::string& in_ifname, const std::string& in_destination, const std::string& in_nexthop) = 0;
105   virtual ::ndk::ScopedAStatus setForwardingBetweenInterfaces(const std::string& in_inputIfName, const std::string& in_outputIfName, bool in_enable) = 0;
106   virtual ::ndk::ScopedAStatus setIpForwardEnable(bool in_enable) = 0;
107   virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
108   virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
109 private:
110   static std::shared_ptr<INetd> default_impl;
111 };
112 class INetdDefault : public INetd {
113 public:
114   ::ndk::ScopedAStatus addInterfaceToOemNetwork(int64_t in_networkHandle, const std::string& in_ifname) override;
115   ::ndk::ScopedAStatus addRouteToOemNetwork(int64_t in_networkHandle, const std::string& in_ifname, const std::string& in_destination, const std::string& in_nexthop) override;
116   ::ndk::ScopedAStatus createOemNetwork(::aidl::android::system::net::netd::INetd::OemNetwork* _aidl_return) override;
117   ::ndk::ScopedAStatus destroyOemNetwork(int64_t in_networkHandle) override;
118   ::ndk::ScopedAStatus removeInterfaceFromOemNetwork(int64_t in_networkHandle, const std::string& in_ifname) override;
119   ::ndk::ScopedAStatus removeRouteFromOemNetwork(int64_t in_networkHandle, const std::string& in_ifname, const std::string& in_destination, const std::string& in_nexthop) override;
120   ::ndk::ScopedAStatus setForwardingBetweenInterfaces(const std::string& in_inputIfName, const std::string& in_outputIfName, bool in_enable) override;
121   ::ndk::ScopedAStatus setIpForwardEnable(bool in_enable) override;
122   ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
123   ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
124   ::ndk::SpAIBinder asBinder() override;
125   bool isRemote() override;
126 };
127 }  // namespace netd
128 }  // namespace net
129 }  // namespace system
130 }  // namespace android
131 }  // namespace aidl
132